diff --git a/composer.json b/composer.json index 42fe5bf..78550c5 100644 --- a/composer.json +++ b/composer.json @@ -1,6 +1,6 @@ { "name": "fleetbase/core-api", - "version": "1.6.43", + "version": "1.6.44", "description": "Core Framework and Resources for Fleetbase API", "keywords": [ "fleetbase", diff --git a/src/Http/Requests/UpdateUserRequest.php b/src/Http/Requests/UpdateUserRequest.php index e676e2e..ad1fb77 100644 --- a/src/Http/Requests/UpdateUserRequest.php +++ b/src/Http/Requests/UpdateUserRequest.php @@ -4,6 +4,7 @@ use Fleetbase\Rules\EmailDomainExcluded; use Fleetbase\Rules\ValidPhoneNumber; +use Illuminate\Database\Eloquent\Model; use Illuminate\Validation\Rule; class UpdateUserRequest extends FleetbaseRequest @@ -30,9 +31,12 @@ public function authorize() */ public function rules() { - // Resolve the target user UUID from the route parameter so that the - // uniqueness rules can correctly ignore the user's own current value. - $userId = $this->route('id'); + // REST routes generated by the custom registrar use the singular + // resource wildcard (e.g. `/users/{user}`), while some bespoke routes + // still use `{id}`. Support both so uniqueness rules correctly ignore + // the current user's own row during updates. + $userRouteParam = $this->route('user') ?? $this->route('id'); + $userId = $userRouteParam instanceof Model ? $userRouteParam->getKey() : $userRouteParam; return [ 'name' => ['sometimes', 'required', 'string', 'min:2', 'max:100'],