lotteryAdmin(); AdminAccountScopeGuard::assertPlatformAccount($admin_user); if ((int) $actor->getKey() === (int) $admin_user->getKey()) { return ApiMessage::errorResponse($request, 'admin.user_cannot_delete_self', ErrorCode::ValidationFailed->value, null, 422); } if ($admin_user->isSuperAdmin()) { $hasOther = AdminUser::query() ->whereKeyNot($admin_user->getKey()) ->where('is_super_admin', true) ->exists(); if (! $hasOther) { return ApiMessage::errorResponse($request, 'admin.user_cannot_delete_last_super_admin', ErrorCode::ValidationFailed->value, null, 422); } } $before = AdminUserApiPresenter::listItem($admin_user); $id = (int) $admin_user->id; $admin_user->delete(); AuditLogger::recordForAdmin( $actor, $request, 'system', 'admin_user.delete', 'admin_user', (string) $id, $before, null, ); return ApiResponse::success(['deleted' => true, 'id' => $id]); } }