diff --git a/app/Http/Controllers/Api/V1/DepartmentController.php b/app/Http/Controllers/Api/V1/DepartmentController.php index c761b14..1cfe8ea 100644 --- a/app/Http/Controllers/Api/V1/DepartmentController.php +++ b/app/Http/Controllers/Api/V1/DepartmentController.php @@ -9,11 +9,13 @@ class DepartmentController extends Controller { + public function __construct(private DepartmentService $service) {} + // GET /v1/departments public function index(Request $request) { return ApiResponse::handle(function () use ($request) { - return DepartmentService::index($request->all()); + return $this->service->index($request->all()); }, '부서 목록 조회'); } @@ -21,24 +23,23 @@ public function index(Request $request) public function store(Request $request) { return ApiResponse::handle(function () use ($request) { - return DepartmentService::store($request->all()); + return $this->service->store($request->all()); }, '부서 생성'); } // GET /v1/departments/{id} - public function show(int $id, Request $request, DepartmentService $service) + public function show(int $id, Request $request) { - return \App\Helpers\ApiResponse::handle( - fn() => $service->show($id, $request->all()), - '부서 단건 조회' - ); + return ApiResponse::handle(function () use ($id, $request) { + return $this->service->show($id, $request->all()); // ✅ 실제 사용하면 경고 사라짐 + }, '부서 단건 조회'); } // PATCH /v1/departments/{id} public function update($id, Request $request) { return ApiResponse::handle(function () use ($id, $request) { - return DepartmentService::update((int)$id, $request->all()); + return $this->service->update((int)$id, $request->all()); }, '부서 수정'); } @@ -46,7 +47,7 @@ public function update($id, Request $request) public function destroy($id, Request $request) { return ApiResponse::handle(function () use ($id, $request) { - return DepartmentService::destroy((int)$id, $request->all()); + return $this->service->destroy((int)$id, $request->all()); }, '부서 삭제'); } @@ -54,7 +55,7 @@ public function destroy($id, Request $request) public function listUsers($id, Request $request) { return ApiResponse::handle(function () use ($id, $request) { - return DepartmentService::listUsers((int)$id, $request->all()); + return $this->service->listUsers((int)$id, $request->all()); }, '부서 사용자 목록'); } @@ -62,7 +63,7 @@ public function listUsers($id, Request $request) public function attachUser($id, Request $request) { return ApiResponse::handle(function () use ($id, $request) { - return DepartmentService::attachUser((int)$id, $request->all()); + return $this->service->attachUser((int)$id, $request->all()); }, '부서 사용자 배정'); } @@ -70,7 +71,7 @@ public function attachUser($id, Request $request) public function detachUser($id, $user, Request $request) { return ApiResponse::handle(function () use ($id, $user, $request) { - return DepartmentService::detachUser((int)$id, (int)$user, $request->all()); + return $this->service->detachUser((int)$id, (int)$user, $request->all()); }, '부서 사용자 제거'); } @@ -78,7 +79,7 @@ public function detachUser($id, $user, Request $request) public function setPrimary($id, $user, Request $request) { return ApiResponse::handle(function () use ($id, $user, $request) { - return DepartmentService::setPrimary((int)$id, (int)$user, $request->all()); + return $this->service->setPrimary((int)$id, (int)$user, $request->all()); }, '주 부서 설정/해제'); } @@ -86,7 +87,7 @@ public function setPrimary($id, $user, Request $request) public function listPermissions($id, Request $request) { return ApiResponse::handle(function () use ($id, $request) { - return DepartmentService::listPermissions((int)$id, $request->all()); + return $this->service->listPermissions((int)$id, $request->all()); }, '부서 권한 목록'); } @@ -94,7 +95,7 @@ public function listPermissions($id, Request $request) public function upsertPermission($id, Request $request) { return ApiResponse::handle(function () use ($id, $request) { - return DepartmentService::upsertPermission((int)$id, $request->all()); + return $this->service->upsertPermission((int)$id, $request->all()); }, '부서 권한 부여/차단'); } @@ -102,7 +103,7 @@ public function upsertPermission($id, Request $request) public function revokePermission($id, $permission, Request $request) { return ApiResponse::handle(function () use ($id, $permission, $request) { - return DepartmentService::revokePermission((int)$id, (int)$permission, $request->all()); + return $this->service->revokePermission((int)$id, (int)$permission, $request->all()); }, '부서 권한 제거'); } }