currentUser(); if ($user === null) { return service('response') ->setStatusCode(401) ->setJSON([ 'success' => false, 'message' => 'Unauthorized', 'data' => null, ]); } $roles = $user['roles'] ?? []; $codes = array_column($roles, 'role_code'); if (!in_array(Role::CODE_ADMIN, $codes, true)) { return service('response') ->setStatusCode(403) ->setJSON([ 'success' => false, 'message' => 'Forbidden: Admin only', 'data' => null, ]); } return null; } public function after(RequestInterface $request, ResponseInterface $response, $arguments = null) { return $response; } }