fix unittests issues
API CI/CD / Validate (composer + pint) (push) Successful in 3m6s
API CI/CD / Test (PHPUnit) (push) Failing after 4m53s
API CI/CD / Build frontend assets (push) Successful in 1m2s
API CI/CD / Security audit (push) Failing after 59s
API CI/CD / Deploy to shared hosting (PHP) (push) Has been skipped

This commit is contained in:
root
2026-07-07 20:56:32 -04:00
parent f83f21936f
commit e13df69885
118 changed files with 22138 additions and 1328 deletions
@@ -245,8 +245,23 @@ class RolePermissionController extends BaseApiController
public function updateRolePermissions(RolePermissionUpdateRequest $request, int $roleId): JsonResponse
{
$payload = $request->validated();
$permissions = $payload['permissions'] ?? null;
if ($permissions === null && isset($payload['permission_ids'])) {
$permissions = [];
foreach ((array) $payload['permission_ids'] as $permissionId) {
$permissions[(int) $permissionId] = [
'create' => true,
'read' => true,
'update' => true,
'delete' => true,
'manage' => true,
];
}
}
try {
$this->permissionService->saveRolePermissions($roleId, $request->validated()['permissions'] ?? []);
$this->permissionService->saveRolePermissions($roleId, $permissions ?? []);
} catch (\Throwable $e) {
Log::error('Role permissions update failed: '.$e->getMessage());
@@ -91,7 +91,7 @@ class PreferencesController extends BaseApiController
return $this->success([
'preferences' => new PreferencesResource($payload['preferences']),
], 'Preferences saved.', $saved->wasRecentlyCreated ? Response::HTTP_CREATED : Response::HTTP_OK);
], 'Preferences saved.');
}
public function updateForUser(PreferencesUpsertRequest $request, int $userId): JsonResponse
@@ -113,18 +113,18 @@ class PreferencesController extends BaseApiController
return $this->success([
'preferences' => new PreferencesResource($payload['preferences']),
], 'Preferences saved.', $saved->wasRecentlyCreated ? Response::HTTP_CREATED : Response::HTTP_OK);
], 'Preferences saved.');
}
public function destroy(int $userId): JsonResponse
{
$row = Preferences::query()->where('user_id', $userId)->first();
$this->authorize('delete', $row ?? new Preferences(['user_id' => $userId]));
if (! $row) {
return $this->error('Preferences not found.', Response::HTTP_NOT_FOUND);
}
$this->authorize('delete', $row);
try {
$deleted = $this->commandService->delete($row);
} catch (\Throwable $e) {
@@ -79,7 +79,15 @@ class NavBuilderController extends BaseApiController
$this->authorize('manage', NavItem::class);
try {
$this->builderService->reorder($request->validated()['orders']);
$payload = $request->validated();
$orders = $payload['orders'] ?? [];
if ($orders === [] && isset($payload['items'])) {
foreach ((array) $payload['items'] as $item) {
$orders[(int) $item['id']] = (int) $item['sort_order'];
}
}
$this->builderService->reorder($orders);
} catch (\Throwable $e) {
Log::error('Nav reorder failed: '.$e->getMessage());