users and institutions route, tests fixed

This commit is contained in:
Giuseppe Naponiello
2026-06-23 12:29:02 +02:00
parent fe73662903
commit 032f6a08df
23 changed files with 346 additions and 287 deletions

View File

@@ -47,8 +47,10 @@ class InstitutionCategoryController extends Controller
/**
* Aggiorna una categoria.
*/
public function update(UpdateInstitutionCategoryRequest $request, InstitutionCategory $institutionCategory): JsonResponse
{
public function update(
UpdateInstitutionCategoryRequest $request,
InstitutionCategory $institutionCategory
): JsonResponse {
$institutionCategory->update($request->validated());
return $this->updatedResponse($institutionCategory);

View File

@@ -0,0 +1,28 @@
<?php
namespace App\Http\Controllers;
use App\Http\Traits\ApiResponse;
use App\Models\Lists\UserPosition;
use Illuminate\Http\JsonResponse;
class UserPositionController extends Controller
{
use ApiResponse;
/**
* Elenco delle position.
*/
public function index(): JsonResponse
{
return $this->collectionResponse(UserPosition::all());
}
/**
* Dettaglio di una position.
*/
public function show(UserPosition $userPosition): JsonResponse
{
return $this->okResponse($userPosition);
}
}

View File

@@ -2,8 +2,6 @@
namespace App\Http\Controllers;
use App\Http\Requests\StoreUserRoleRequest;
use App\Http\Requests\UpdateUserRoleRequest;
use App\Http\Traits\ApiResponse;
use App\Models\Lists\UserRole;
use Illuminate\Http\JsonResponse;
@@ -20,16 +18,6 @@ class UserRoleController extends Controller
return $this->collectionResponse(UserRole::all());
}
/**
* Crea un nuovo ruolo.
*/
public function store(StoreUserRoleRequest $request): JsonResponse
{
$role = UserRole::create($request->validated());
return $this->createdResponse($role);
}
/**
* Dettaglio di un ruolo.
*/
@@ -39,40 +27,12 @@ class UserRoleController extends Controller
}
/**
* Aggiorna un ruolo.
*/
public function update(UpdateUserRoleRequest $request, UserRole $userRole): JsonResponse
{
$userRole->update($request->validated());
return $this->updatedResponse($userRole);
}
/**
* Elimina un ruolo (se non di sistema e non in uso).
*/
public function destroy(UserRole $userRole): JsonResponse
{
if ($userRole->isSystemRole()) {
return $this->conflictResponse('Cannot delete a system role.');
}
if ($userRole->isInUse()) {
return $this->conflictResponse('Cannot delete: role assigned to at least one user.');
}
$userRole->delete();
return $this->deletedResponse();
}
/**
* Indica se il ruolo è bloccato per l'eliminazione (di sistema o in uso).
* Numero di utenti con questo ruolo (statistica per Admin).
*/
public function usage(UserRole $userRole): JsonResponse
{
return response()->json([
'in_use' => $userRole->isSystemRole() || $userRole->isInUse(),
'user_count' => $userRole->users()->count(),
]);
}
}