lotteryAdmin(); if (! $admin instanceof AdminUser) { return ApiResponse::error( trans('admin.unauthenticated', [], $request->lotteryLocale()), ErrorCode::AdminUnauthenticated->value, null, 401, ); } $slugs = array_values(array_filter(array_map('trim', explode('|', $permissionSlugs)))); if ($slugs === []) { return $next($request); } foreach ($slugs as $slug) { if ($admin->hasAdminPermission($slug)) { return $next($request); } } return ApiResponse::error( trans('admin.permission_denied', [], $request->lotteryLocale()), ErrorCode::AdminForbidden->value, ['required_any' => $slugs], 403, ); } }