fix: 🐛 update user rules of gitlab_id and sites

This commit is contained in:
Alexis Gousseau 2026-06-18 09:49:02 +02:00
parent a399aa1eb3
commit 48154c3e9d
No known key found for this signature in database
GPG key ID: 7F3C786EE12DBB72

View file

@ -24,6 +24,7 @@ trait HasUserRequestRules
'isClient' => $role === UserRoleRegistry::get('client')->value,
'isProjectManager' => $role === UserRoleRegistry::get('project-manager')->value,
'isDevelopper' => $role === UserRoleRegistry::get('developper')->value,
'isConceptor' => $role === UserRoleRegistry::get('conceptor')->value,
];
}
@ -36,12 +37,20 @@ trait HasUserRequestRules
'isClient' => $isClient,
'isProjectManager' => $isProjectManager,
'isDevelopper' => $isDevelopper,
'isConceptor' => $isConceptor,
] = $this->resolveRoleFlags();
$userRole = auth('backend')->user()->role->value === $isConceptor;
$this->merge([
'gitlab_id' => $isProjectManager || $isDevelopper ? $this->input('gitlab_id') : null,
'sites' => $isClient ? $this->input('sites') : null,
]);
if ($userRole && ($isProjectManager || $isDevelopper)) {
$this->merge([
'gitlab_id' => $this->input('gitlab_id'),
]);
}
if ($isClient) {
$this->merge([
'sites' => $this->input('sites'),
]);
}
}
/**
@ -55,11 +64,15 @@ trait HasUserRequestRules
'isClient' => $isClient,
'isProjectManager' => $isProjectManager,
'isDevelopper' => $isDevelopper,
'isConceptor' => $isConceptor,
] = $this->resolveRoleFlags();
$userRole = auth('backend')->user()->role->value === $isConceptor;
return [
'gitlab_id' => $isProjectManager || $isDevelopper ? 'required|integer|min:1' : 'nullable|integer|min:1',
'sites' => $isClient ? 'required|array' : 'nullable|array',
'gitlab_id' => $userRole && ($isProjectManager || $isDevelopper)
? 'required|integer|min:1'
: 'nullable|integer|min:1',
'sites' => $userRole && $isClient ? 'required|array' : 'nullable|array',
'sites.*' => 'integer|exists:sites,id|distinct',
];
}