id; } public static function idOrFail(): int { $id = (int) (AdminRole::query() ->where('scope_type', AdminRole::SCOPE_SYSTEM) ->where('slug', self::SLUG) ->where('status', 1) ->value('id') ?? 0); if ($id <= 0) { throw ValidationException::withMessages([ 'role' => ['platform_site_admin_role_missing: run php artisan lottery:admin-auth-sync'], ]); } return $id; } public static function userHasSiteAdminRole(AdminUser $user): bool { if ($user->isSuperAdmin() || $user->hasPrimaryAgentBinding()) { return false; } return DB::table('admin_user_site_roles as usr') ->join('admin_roles as r', 'r.id', '=', 'usr.role_id') ->where('usr.admin_user_id', $user->id) ->where('r.slug', self::SLUG) ->exists(); } }