slug === AdminRole::ROLE_SUPER_ADMIN) { return ApiMessage::errorResponse($request, 'admin.role_cannot_delete_super_admin', ErrorCode::ValidationFailed->value, null, 422); } if ((bool) $admin_role->is_system) { return ApiMessage::errorResponse($request, 'admin.role_builtin_cannot_delete', ErrorCode::ValidationFailed->value, null, 422); } if ($admin_role->assignedUserCount() > 0) { return ApiMessage::errorResponse($request, 'admin.role_has_users_cannot_delete', ErrorCode::ValidationFailed->value, null, 422); } $before = AdminRoleApiPresenter::item($admin_role); $id = (int) $admin_role->id; $admin_role->delete(); AuditLogger::recordForAdmin( $request->lotteryAdmin(), $request, 'system', 'admin_role.delete', 'admin_role', (string) $id, $before, null, ); return ApiResponse::success(['deleted' => true, 'id' => $id]); } }