fix gitlab tests

This commit is contained in:
root
2026-06-09 02:32:58 -04:00
parent 20a0b6c4e5
commit 6def9993da
1489 changed files with 10449 additions and 11356 deletions
+3 -4
View File
@@ -17,7 +17,7 @@ class PermissionCrudService
return Permission::query()->create($data);
});
} catch (\Throwable $e) {
Log::error('Permission create failed: '.$e->getMessage());
Log::error('Permission create failed: ' . $e->getMessage());
throw $e;
}
}
@@ -30,11 +30,10 @@ class PermissionCrudService
return DB::transaction(function () use ($permission, $data) {
$permission->fill($data);
$permission->save();
return $permission;
});
} catch (\Throwable $e) {
Log::error('Permission update failed: '.$e->getMessage());
Log::error('Permission update failed: ' . $e->getMessage());
throw $e;
}
}
@@ -46,7 +45,7 @@ class PermissionCrudService
$permission->delete();
});
} catch (\Throwable $e) {
Log::error('Permission delete failed: '.$e->getMessage());
Log::error('Permission delete failed: ' . $e->getMessage());
throw $e;
}
}
+6 -3
View File
@@ -3,6 +3,7 @@
namespace App\Services\Roles;
use App\Models\Role;
use App\Models\Staff;
use App\Models\User;
use App\Models\UserRole;
use Illuminate\Support\Facades\DB;
@@ -10,7 +11,9 @@ use Illuminate\Support\Facades\Log;
class RoleAssignmentService
{
public function __construct(private RoleStaffService $staffService) {}
public function __construct(private RoleStaffService $staffService)
{
}
/** @param int[] $roleIds */
public function assignRoles(int $userId, array $roleIds, ?int $adminId = null): array
@@ -18,7 +21,7 @@ class RoleAssignmentService
$roleIds = array_values(array_unique(array_filter(array_map('intval', $roleIds), fn ($id) => $id > 0)));
$user = User::query()->find($userId);
if (! $user) {
if (!$user) {
return ['ok' => false, 'message' => 'User not found.'];
}
@@ -35,7 +38,7 @@ class RoleAssignmentService
}
});
} catch (\Throwable $e) {
Log::error('Role assignment failed: '.$e->getMessage());
Log::error('Role assignment failed: ' . $e->getMessage());
throw $e;
}
+6 -7
View File
@@ -17,7 +17,7 @@ class RoleCrudService
return Role::query()->create($data);
});
} catch (\Throwable $e) {
Log::error('Role create failed: '.$e->getMessage());
Log::error('Role create failed: ' . $e->getMessage());
throw $e;
}
}
@@ -30,11 +30,10 @@ class RoleCrudService
return DB::transaction(function () use ($role, $data) {
$role->fill($data);
$role->save();
return $role;
});
} catch (\Throwable $e) {
Log::error('Role update failed: '.$e->getMessage());
Log::error('Role update failed: ' . $e->getMessage());
throw $e;
}
}
@@ -46,7 +45,7 @@ class RoleCrudService
$role->delete();
});
} catch (\Throwable $e) {
Log::error('Role delete failed: '.$e->getMessage());
Log::error('Role delete failed: ' . $e->getMessage());
throw $e;
}
}
@@ -58,7 +57,7 @@ class RoleCrudService
$route = trim((string) ($payload['dashboard_route'] ?? ''));
$desc = trim((string) ($payload['description'] ?? ''));
$priority = (int) ($payload['priority'] ?? 0);
$isActive = ! empty($payload['is_active']) ? 1 : 0;
$isActive = !empty($payload['is_active']) ? 1 : 0;
$name = strtolower($rawName);
$dashboardRoute = strtolower($route);
@@ -93,11 +92,11 @@ class RoleCrudService
$query->where('id', '!=', $ignoreId);
}
if (! $query->exists()) {
if (!$query->exists()) {
return $slug;
}
$slug = $baseSlug.'_'.$i;
$slug = $baseSlug . '_' . $i;
$i++;
if ($i > 100000) {
+1 -1
View File
@@ -10,7 +10,7 @@ class RoleDashboardService
public function bestDashboardRouteFor(array $roleKeys): string
{
$rows = Role::findByNamesOrSlugs($roleKeys);
if (! empty($rows)) {
if (!empty($rows)) {
return $rows[0]->dashboard_route ?? '/landing_page/guest_dashboard';
}
+7 -7
View File
@@ -58,11 +58,11 @@ class RolePermissionService
}
$data = [
'can_create' => ! empty($crudValues['create']) ? 1 : 0,
'can_read' => ! empty($crudValues['read']) ? 1 : 0,
'can_update' => ! empty($crudValues['update']) ? 1 : 0,
'can_delete' => ! empty($crudValues['delete']) ? 1 : 0,
'can_manage' => ! empty($crudValues['manage']) ? 1 : 0,
'can_create' => !empty($crudValues['create']) ? 1 : 0,
'can_read' => !empty($crudValues['read']) ? 1 : 0,
'can_update' => !empty($crudValues['update']) ? 1 : 0,
'can_delete' => !empty($crudValues['delete']) ? 1 : 0,
'can_manage' => !empty($crudValues['manage']) ? 1 : 0,
];
if ($existing->has($permissionId)) {
@@ -79,7 +79,7 @@ class RolePermissionService
}
foreach ($existing as $permissionId => $row) {
if (! array_key_exists((string) $permissionId, $permissions) && ! array_key_exists((int) $permissionId, $permissions)) {
if (!array_key_exists((string) $permissionId, $permissions) && !array_key_exists((int) $permissionId, $permissions)) {
RolePermission::query()
->where('role_id', $roleId)
->where('permission_id', $permissionId)
@@ -88,7 +88,7 @@ class RolePermissionService
}
});
} catch (\Throwable $e) {
Log::error('Role permission save failed: '.$e->getMessage());
Log::error('Role permission save failed: ' . $e->getMessage());
throw $e;
}
}
+12 -12
View File
@@ -40,19 +40,19 @@ class RoleQueryService
'roles.updated_at',
]);
if (! empty($filters['search'])) {
if (!empty($filters['search'])) {
$search = trim((string) $filters['search']);
$query->where(function (Builder $q) use ($search) {
$q->where('roles.name', 'like', '%'.$search.'%')
->orWhere('roles.slug', 'like', '%'.$search.'%')
->orWhere('roles.description', 'like', '%'.$search.'%');
$q->where('roles.name', 'like', '%' . $search . '%')
->orWhere('roles.slug', 'like', '%' . $search . '%')
->orWhere('roles.description', 'like', '%' . $search . '%');
});
}
$sortBy = (string) ($filters['sort_by'] ?? 'name');
$sortDir = strtolower((string) ($filters['sort_dir'] ?? 'asc')) === 'desc' ? 'desc' : 'asc';
$allowed = ['name', 'slug', 'priority', 'is_active', 'created_at'];
if (! in_array($sortBy, $allowed, true)) {
if (!in_array($sortBy, $allowed, true)) {
$sortBy = 'name';
}
@@ -80,26 +80,26 @@ class RoleQueryService
)
->groupBy('users.id', 'users.firstname', 'users.lastname', 'users.email', 'users.account_id');
if (! empty($filters['search'])) {
if (!empty($filters['search'])) {
$search = trim((string) $filters['search']);
$query->where(function ($q) use ($search) {
$q->where('users.firstname', 'like', '%'.$search.'%')
->orWhere('users.lastname', 'like', '%'.$search.'%')
->orWhere('users.email', 'like', '%'.$search.'%')
->orWhere('users.account_id', 'like', '%'.$search.'%');
$q->where('users.firstname', 'like', '%' . $search . '%')
->orWhere('users.lastname', 'like', '%' . $search . '%')
->orWhere('users.email', 'like', '%' . $search . '%')
->orWhere('users.account_id', 'like', '%' . $search . '%');
});
}
$sortBy = (string) ($filters['sort_by'] ?? 'lastname');
$sortDir = strtolower((string) ($filters['sort_dir'] ?? 'asc')) === 'desc' ? 'desc' : 'asc';
$allowed = ['firstname', 'lastname', 'email', 'account_id'];
if (! in_array($sortBy, $allowed, true)) {
if (!in_array($sortBy, $allowed, true)) {
$sortBy = 'lastname';
}
$perPage = (int) ($filters['per_page'] ?? 20);
$perPage = $perPage > 0 ? $perPage : 20;
return $query->orderBy('users.'.$sortBy, $sortDir)->paginate($perPage);
return $query->orderBy('users.' . $sortBy, $sortDir)->paginate($perPage);
}
}
+8 -8
View File
@@ -16,9 +16,9 @@ class RoleStaffService
static fn ($role) => trim((string) $role),
$newRoleNames
),
static fn ($role) => $role !== '' && ! in_array(strtolower($role), $excludedRoles, true)
static fn ($role) => $role !== '' && !in_array(strtolower($role), $excludedRoles, true)
)));
$activeRole = ! empty($staffRoles) ? strtolower((string) $staffRoles[0]) : 'inactive';
$activeRole = !empty($staffRoles) ? strtolower((string) $staffRoles[0]) : 'inactive';
$email = $this->generateUniqueStaffEmail($user->firstname ?? '', $user->lastname ?? '', (int) $user->id);
@@ -34,7 +34,7 @@ class RoleStaffService
];
$saved = Staff::upsertStaff($payload);
if (! $saved) {
if (!$saved) {
Log::warning('Failed to upsert staff record.', ['user_id' => $user->id]);
}
}
@@ -50,7 +50,7 @@ class RoleStaffService
$out = '';
foreach ($roles as $role) {
$next = $out === '' ? $role : $out.', '.$role;
$next = $out === '' ? $role : $out . ', ' . $role;
if (strlen($next) > $maxLength) {
break;
}
@@ -73,18 +73,18 @@ class RoleStaffService
$email = '';
for ($i = $min; $i <= $max; $i++) {
$base = substr($firstname, 0, $i).$lastname;
$email = $base.$domain;
$base = substr($firstname, 0, $i) . $lastname;
$email = $base . $domain;
$exists = Staff::query()
->where('email', $email)
->where('user_id', '!=', $userId)
->exists();
if (! $exists) {
if (!$exists) {
return $email;
}
}
return $base.$userId.$domain;
return $base . $userId . $domain;
}
}
+3 -2
View File
@@ -8,12 +8,13 @@ use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
class RoleSwitchService
{
public function __construct(private RoleDashboardService $dashboardService) {}
public function __construct(private RoleDashboardService $dashboardService)
{
}
public function getUserRoleNames(int $userId): array
{
$roles = UserRole::getRolesByUserId($userId);
return array_values(array_filter(array_map(fn ($r) => (string) ($r['role_name'] ?? ''), $roles)));
}