validated(); $users = $this->listService->list($payload['sort'] ?? null, $payload['order'] ?? null); return response()->json([ 'ok' => true, 'users' => UserWithRolesResource::collection($users), ]); } public function store(UserStoreRequest $request): JsonResponse { $payload = $request->validated(); $result = $this->managementService->create($payload, (int) (auth()->id() ?? 0)); if (empty($result['ok'])) { return response()->json([ 'ok' => false, 'message' => $result['message'] ?? 'Failed to create user.', ], 422); } return response()->json([ 'ok' => true, 'user_id' => $result['user']->id ?? null, ], 201); } public function update(UserUpdateRequest $request, int $userId): JsonResponse { $payload = $request->validated(); $result = $this->managementService->update($userId, $payload); if (empty($result['ok'])) { return response()->json([ 'ok' => false, 'message' => $result['message'] ?? 'Failed to update user.', ], 422); } return response()->json([ 'ok' => true, ]); } public function destroy(int $userId): JsonResponse { $result = $this->managementService->delete($userId); if (empty($result['ok'])) { return response()->json([ 'ok' => false, 'message' => $result['message'] ?? 'Failed to delete user.', ], 404); } return response()->json([ 'ok' => true, ]); } public function loginActivity(LoginActivityRequest $request): JsonResponse { $payload = $request->validated(); $result = $this->loginActivityService->list( (int) ($payload['per_page'] ?? 25), (int) ($payload['page'] ?? 1) ); return response()->json([ 'ok' => true, 'activities' => LoginActivityResource::collection($result['activities']), 'pagination' => $result['pagination'], ]); } }