Skip to content

Commit 028682f

Browse files
authored
Merge pull request #209 from fleetbase/feature/fix-user-update-email-validation
Fix false email uniqueness errors when updating users
2 parents b8fbdec + 312b0d1 commit 028682f

2 files changed

Lines changed: 8 additions & 4 deletions

File tree

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "fleetbase/core-api",
3-
"version": "1.6.43",
3+
"version": "1.6.44",
44
"description": "Core Framework and Resources for Fleetbase API",
55
"keywords": [
66
"fleetbase",

src/Http/Requests/UpdateUserRequest.php

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
use Fleetbase\Rules\EmailDomainExcluded;
66
use Fleetbase\Rules\ValidPhoneNumber;
7+
use Illuminate\Database\Eloquent\Model;
78
use Illuminate\Validation\Rule;
89

910
class UpdateUserRequest extends FleetbaseRequest
@@ -30,9 +31,12 @@ public function authorize()
3031
*/
3132
public function rules()
3233
{
33-
// Resolve the target user UUID from the route parameter so that the
34-
// uniqueness rules can correctly ignore the user's own current value.
35-
$userId = $this->route('id');
34+
// REST routes generated by the custom registrar use the singular
35+
// resource wildcard (e.g. `/users/{user}`), while some bespoke routes
36+
// still use `{id}`. Support both so uniqueness rules correctly ignore
37+
// the current user's own row during updates.
38+
$userRouteParam = $this->route('user') ?? $this->route('id');
39+
$userId = $userRouteParam instanceof Model ? $userRouteParam->getKey() : $userRouteParam;
3640

3741
return [
3842
'name' => ['sometimes', 'required', 'string', 'min:2', 'max:100'],

0 commit comments

Comments
 (0)