diff --git a/CLAUDE.md b/CLAUDE.md index cbd29946..625ad04c 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -12,6 +12,14 @@ Design document: `/dev-docs/design-document.md` - Frontend: TypeScript, Vue 3 (Composition API), Vuexy/Vuetify, Pinia, TanStack Query - Testing: PHPUnit (backend), Vitest (frontend) +## Quality gates + +- `php artisan test` — PHPUnit feature suite. See Testing rules below. +- `./vendor/bin/pint` — code style. Runs pre-commit in scope; format before merge. +- `composer analyse` — Larastan static analysis at level 6 with + accept-all baseline. New errors beyond the baseline must be fixed + before merge. See `/dev-docs/LARASTAN.md`. + ## Repository layout - `api/` — Laravel backend diff --git a/api/.gitignore b/api/.gitignore index b71b1ea3..0dcf67c3 100644 --- a/api/.gitignore +++ b/api/.gitignore @@ -17,6 +17,7 @@ /public/hot /public/storage /storage/*.key +/storage/app/phpstan-tmp /storage/pail /vendor Homestead.json diff --git a/api/composer.json b/api/composer.json index 593ec259..54c1a17b 100644 --- a/api/composer.json +++ b/api/composer.json @@ -19,6 +19,7 @@ }, "require-dev": { "fakerphp/faker": "^1.23", + "larastan/larastan": "^3.0", "laravel/pail": "^1.2.2", "laravel/pint": "^1.24", "laravel/sail": "^1.41", @@ -55,6 +56,9 @@ "@php artisan config:clear --ansi", "@php artisan test" ], + "analyse": "vendor/bin/phpstan analyse --memory-limit=2G", + "analyse:baseline": "vendor/bin/phpstan analyse --generate-baseline --memory-limit=2G", + "analyse:clear-cache": "vendor/bin/phpstan clear-result-cache", "post-autoload-dump": [ "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump", "@php artisan package:discover --ansi" diff --git a/api/composer.lock b/api/composer.lock index 8c90425f..0e6723f1 100644 --- a/api/composer.lock +++ b/api/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "162fa15c2d2ac177259583cf0b271a30", + "content-hash": "4c61afc38c9aea624f684146a9b0719a", "packages": [ { "name": "bacon/bacon-qr-code", @@ -7765,6 +7765,137 @@ }, "time": "2025-04-30T06:54:44+00:00" }, + { + "name": "iamcal/sql-parser", + "version": "v0.7", + "source": { + "type": "git", + "url": "https://github.com/iamcal/SQLParser.git", + "reference": "610392f38de49a44dab08dc1659960a29874c4b8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/iamcal/SQLParser/zipball/610392f38de49a44dab08dc1659960a29874c4b8", + "reference": "610392f38de49a44dab08dc1659960a29874c4b8", + "shasum": "" + }, + "require-dev": { + "php-coveralls/php-coveralls": "^1.0", + "phpunit/phpunit": "^5|^6|^7|^8|^9" + }, + "type": "library", + "autoload": { + "psr-4": { + "iamcal\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Cal Henderson", + "email": "cal@iamcal.com" + } + ], + "description": "MySQL schema parser", + "support": { + "issues": "https://github.com/iamcal/SQLParser/issues", + "source": "https://github.com/iamcal/SQLParser/tree/v0.7" + }, + "time": "2026-01-28T22:20:33+00:00" + }, + { + "name": "larastan/larastan", + "version": "v3.9.6", + "source": { + "type": "git", + "url": "https://github.com/larastan/larastan.git", + "reference": "9ad17e83e96b63536cb6ac39c3d40d29ff9cf636" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/larastan/larastan/zipball/9ad17e83e96b63536cb6ac39c3d40d29ff9cf636", + "reference": "9ad17e83e96b63536cb6ac39c3d40d29ff9cf636", + "shasum": "" + }, + "require": { + "ext-json": "*", + "iamcal/sql-parser": "^0.7.0", + "illuminate/console": "^11.44.2 || ^12.4.1 || ^13", + "illuminate/container": "^11.44.2 || ^12.4.1 || ^13", + "illuminate/contracts": "^11.44.2 || ^12.4.1 || ^13", + "illuminate/database": "^11.44.2 || ^12.4.1 || ^13", + "illuminate/http": "^11.44.2 || ^12.4.1 || ^13", + "illuminate/pipeline": "^11.44.2 || ^12.4.1 || ^13", + "illuminate/support": "^11.44.2 || ^12.4.1 || ^13", + "php": "^8.2", + "phpstan/phpstan": "^2.1.44" + }, + "require-dev": { + "doctrine/coding-standard": "^13", + "laravel/framework": "^11.44.2 || ^12.7.2 || ^13", + "mockery/mockery": "^1.6.12", + "nikic/php-parser": "^5.4", + "orchestra/canvas": "^v9.2.2 || ^10.0.1 || ^11", + "orchestra/testbench-core": "^9.12.0 || ^10.1 || ^11", + "phpstan/phpstan-deprecation-rules": "^2.0.1", + "phpunit/phpunit": "^10.5.35 || ^11.5.15 || ^12.5.8" + }, + "suggest": { + "orchestra/testbench": "Using Larastan for analysing a package needs Testbench", + "phpmyadmin/sql-parser": "Install to enable Larastan's optional phpMyAdmin-based SQL parser automatically" + }, + "type": "phpstan-extension", + "extra": { + "phpstan": { + "includes": [ + "extension.neon" + ] + }, + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "psr-4": { + "Larastan\\Larastan\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Can Vural", + "email": "can9119@gmail.com" + } + ], + "description": "Larastan - Discover bugs in your code without running it. A phpstan/phpstan extension for Laravel", + "keywords": [ + "PHPStan", + "code analyse", + "code analysis", + "larastan", + "laravel", + "package", + "php", + "static analysis" + ], + "support": { + "issues": "https://github.com/larastan/larastan/issues", + "source": "https://github.com/larastan/larastan/tree/v3.9.6" + }, + "funding": [ + { + "url": "https://github.com/canvural", + "type": "github" + } + ], + "time": "2026-04-16T10:02:43+00:00" + }, { "name": "laravel/pail", "version": "v1.2.4", @@ -8334,6 +8465,59 @@ }, "time": "2022-02-21T01:04:05+00:00" }, + { + "name": "phpstan/phpstan", + "version": "2.1.51", + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/dc3b523c45e714c70de2ac5113b958223b55dc59", + "reference": "dc3b523c45e714c70de2ac5113b958223b55dc59", + "shasum": "" + }, + "require": { + "php": "^7.4|^8.0" + }, + "conflict": { + "phpstan/phpstan-shim": "*" + }, + "bin": [ + "phpstan", + "phpstan.phar" + ], + "type": "library", + "autoload": { + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "PHPStan - PHP Static Analysis Tool", + "keywords": [ + "dev", + "static analysis" + ], + "support": { + "docs": "https://phpstan.org/user-guide/getting-started", + "forum": "https://github.com/phpstan/phpstan/discussions", + "issues": "https://github.com/phpstan/phpstan/issues", + "security": "https://github.com/phpstan/phpstan/security/policy", + "source": "https://github.com/phpstan/phpstan-src" + }, + "funding": [ + { + "url": "https://github.com/ondrejmirtes", + "type": "github" + }, + { + "url": "https://github.com/phpstan", + "type": "github" + } + ], + "time": "2026-04-21T18:22:01+00:00" + }, { "name": "phpunit/php-code-coverage", "version": "11.0.12", diff --git a/api/phpstan-baseline.neon b/api/phpstan-baseline.neon new file mode 100644 index 00000000..d493bf6b --- /dev/null +++ b/api/phpstan-baseline.neon @@ -0,0 +1,7477 @@ +parameters: + ignoreErrors: + - + message: '#^Using nullsafe property access "\?\-\>id" on left side of \?\? is unnecessary\. Use \-\> instead\.$#' + identifier: nullsafe.neverNull + count: 1 + path: app/Exceptions/FormBuilder/EditLockConflictException.php + + - + message: '#^Parameter \#1 \$array \(list\\) of array_values is already a list, call has no effect\.$#' + identifier: arrayValues.list + count: 1 + path: app/FormBuilder/Purposes/PurposeRegistry.php + + - + message: '#^Instanceof between Laravel\\Sanctum\\PersonalAccessToken and Laravel\\Sanctum\\PersonalAccessToken will always evaluate to true\.$#' + identifier: instanceof.alwaysTrue + count: 1 + path: app/Http/Controllers/Api/V1/AccountController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Api/V1/Admin/AdminActivityLogController.php + + - + message: '#^Parameter \#1 \$callback of method Illuminate\\Support\\Collection\\:\:map\(\) contains unresolvable type\.$#' + identifier: argument.unresolvableType + count: 1 + path: app/Http/Controllers/Api/V1/Admin/AdminActivityLogController.php + + - + message: '#^Return type of call to method Illuminate\\Support\\Collection\\:\:map\(\) contains unresolvable type\.$#' + identifier: method.unresolvableReturnType + count: 1 + path: app/Http/Controllers/Api/V1/Admin/AdminActivityLogController.php + + - + message: '#^Access to an undefined property App\\Models\\Organisation\:\:\$total_persons\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Api/V1/Admin/AdminOrganisationController.php + + - + message: '#^Property App\\Models\\UserInvitation\:\:\$expires_at \(string\) does not accept Illuminate\\Support\\Carbon\.$#' + identifier: assign.propertyType + count: 1 + path: app/Http/Controllers/Api/V1/Admin/AdminOrganisationController.php + + - + message: '#^Cannot call method toIso8601String\(\) on string\.$#' + identifier: method.nonObject + count: 1 + path: app/Http/Controllers/Api/V1/Auth/MfaSetupController.php + + - + message: '#^Parameter \$sameSite of class Symfony\\Component\\HttpFoundation\\Cookie constructor expects ''''\|''lax''\|''none''\|''strict''\|null, ''Strict'' given\.$#' + identifier: argument.type + count: 2 + path: app/Http/Controllers/Api/V1/Auth/MfaVerifyController.php + + - + message: '#^Parameter \$sameSite of class Symfony\\Component\\HttpFoundation\\Cookie constructor expects ''''\|''lax''\|''none''\|''strict''\|null, ''Strict'' given\.$#' + identifier: argument.type + count: 2 + path: app/Http/Controllers/Api/V1/AuthRefreshController.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Relations\\HasMany\:\:ordered\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Controllers/Api/V1/CompanyController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$approved\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Api/V1/EventController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$pending\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Api/V1/EventController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$rejected\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Api/V1/EventController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$total\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Api/V1/EventController.php + + - + message: '#^Access to an undefined property Illuminate\\Support\\HigherOrderCollectionProxy\\>\:\:\$shifts\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Api/V1/EventController.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Relations\\HasMany\:\:topLevel\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Controllers/Api/V1/EventController.php + + - + message: '#^Offset ''buildup''\|''closed''\|''draft''\|''published''\|''registration_open''\|''showday''\|''teardown'' on array\{draft\: array\{''published''\}, published\: array\{''registration_open'', ''draft''\}, registration_open\: array\{''buildup'', ''published''\}, buildup\: array\{''showday''\}, showday\: array\{''teardown''\}, teardown\: array\{''closed''\}, closed\: array\{\}\} on left side of \?\? always exists and is not nullable\.$#' + identifier: nullCoalesce.offset + count: 1 + path: app/Http/Controllers/Api/V1/EventController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$name\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Api/V1/FestivalSectionController.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Model\:\:festivalSections\(\)\.$#' + identifier: method.notFound + count: 2 + path: app/Http/Controllers/Api/V1/FestivalSectionController.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Relations\\HasMany\:\:ordered\(\)\.$#' + identifier: method.notFound + count: 2 + path: app/Http/Controllers/Api/V1/FestivalSectionController.php + + - + message: '#^Method App\\Http\\Controllers\\Api\\V1\\FestivalSectionController\:\:getFestivalSections\(\) return type with generic class Illuminate\\Support\\Collection does not specify its types\: TKey, TValue$#' + identifier: missingType.generics + count: 1 + path: app/Http/Controllers/Api/V1/FestivalSectionController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$slug\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Api/V1/FormBuilder/FilterRegistryController.php + + - + message: '#^Access to an undefined property UnitEnum\:\:\$value\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Api/V1/FormBuilder/FilterRegistryController.php + + - + message: '#^Parameter \#1 \$callback of method Illuminate\\Database\\Eloquent\\Collection\\:\:map\(\) contains unresolvable type\.$#' + identifier: argument.unresolvableType + count: 1 + path: app/Http/Controllers/Api/V1/FormBuilder/FilterRegistryController.php + + - + message: '#^Parameter \#1 \$options of method App\\Services\\FormBuilder\\FormFieldOptionService\:\:toJsonShape\(\) expects Illuminate\\Support\\Collection\, Illuminate\\Database\\Eloquent\\Collection\ given\.$#' + identifier: argument.type + count: 1 + path: app/Http/Controllers/Api/V1/FormBuilder/FilterRegistryController.php + + - + message: '#^Parameter \#3 \$callback of static method Illuminate\\Cache\\Repository\:\:remember\(\) contains unresolvable type\.$#' + identifier: argument.unresolvableType + count: 1 + path: app/Http/Controllers/Api/V1/FormBuilder/FilterRegistryController.php + + - + message: '#^Return type of call to method Illuminate\\Database\\Eloquent\\Collection\\:\:map\(\) contains unresolvable type\.$#' + identifier: method.unresolvableReturnType + count: 1 + path: app/Http/Controllers/Api/V1/FormBuilder/FilterRegistryController.php + + - + message: '#^Return type of call to method Illuminate\\Support\\Collection\\>\:\:all\(\) contains unresolvable type\.$#' + identifier: method.unresolvableReturnType + count: 1 + path: app/Http/Controllers/Api/V1/FormBuilder/FilterRegistryController.php + + - + message: '#^Return type of call to method Illuminate\\Support\\Collection\\>\:\:values\(\) contains unresolvable type\.$#' + identifier: method.unresolvableReturnType + count: 1 + path: app/Http/Controllers/Api/V1/FormBuilder/FilterRegistryController.php + + - + message: '#^Return type of call to static method Illuminate\\Cache\\Repository\:\:remember\(\) contains unresolvable type\.$#' + identifier: staticMethod.unresolvableReturnType + count: 1 + path: app/Http/Controllers/Api/V1/FormBuilder/FilterRegistryController.php + + - + message: '#^Parameter \#1 \$array \(list\\>\) of array_values is already a list, call has no effect\.$#' + identifier: arrayValues.list + count: 2 + path: app/Http/Controllers/Api/V1/FormBuilder/FormFieldLibraryController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$organisation_id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Api/V1/FormBuilder/FormSubmissionController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$organisation_id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Api/V1/FormBuilder/FormSubmissionDelegationController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$organisation_id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Api/V1/FormBuilder/FormSubmissionReviewController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$organisation_id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Api/V1/FormBuilder/FormValueController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$name\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Api/V1/FormBuilder/PublicFormController.php + + - + message: '#^Using nullsafe property access "\?\-\>name" on left side of \?\? is unnecessary\. Use \-\> instead\.$#' + identifier: nullsafe.neverNull + count: 1 + path: app/Http/Controllers/Api/V1/FormBuilder/PublicFormController.php + + - + message: '#^Access to an undefined property App\\Models\\FormBuilder\\FormSubmission\:\:\$duplicate_submission_data\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Api/V1/FormBuilder/PublicFormSubmissionController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$field\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Api/V1/FormBuilder/PublicFormSubmissionController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$value\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Api/V1/FormBuilder/PublicFormSubmissionController.php + + - + message: '#^Instanceof between App\\Enums\\FormBuilder\\FormPurpose and BackedEnum will always evaluate to true\.$#' + identifier: instanceof.alwaysTrue + count: 1 + path: app/Http/Controllers/Api/V1/FormBuilder/PublicFormSubmissionController.php + + - + message: '#^Instanceof between App\\Enums\\FormBuilder\\FormSubmissionStatus and BackedEnum will always evaluate to true\.$#' + identifier: instanceof.alwaysTrue + count: 1 + path: app/Http/Controllers/Api/V1/FormBuilder/PublicFormSubmissionController.php + + - + message: '#^Parameter \$sameSite of class Symfony\\Component\\HttpFoundation\\Cookie constructor expects ''''\|''lax''\|''none''\|''strict''\|null, ''Strict'' given\.$#' + identifier: argument.type + count: 2 + path: app/Http/Controllers/Api/V1/InvitationController.php + + - + message: '#^Parameter \$sameSite of class Symfony\\Component\\HttpFoundation\\Cookie constructor expects ''''\|''lax''\|''none''\|''strict''\|null, ''Strict'' given\.$#' + identifier: argument.type + count: 2 + path: app/Http/Controllers/Api/V1/LoginController.php + + - + message: '#^Parameter \$sameSite of class Symfony\\Component\\HttpFoundation\\Cookie constructor expects ''''\|''lax''\|''none''\|''strict''\|null, ''Strict'' given\.$#' + identifier: argument.type + count: 2 + path: app/Http/Controllers/Api/V1/LogoutController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Relations\\Pivot\:\:\$role\.$#' + identifier: property.notFound + count: 2 + path: app/Http/Controllers/Api/V1/MemberController.php + + - + message: '#^Parameter \#1 \$callback of method Illuminate\\Database\\Eloquent\\Collection\\:\:map\(\) expects callable\(Illuminate\\Database\\Eloquent\\Model, int\)\: array\{id\: string, first_name\: string, last_name\: string, full_name\: string, email\: string\}, Closure\(App\\Models\\User\)\: array\{id\: string, first_name\: string, last_name\: string, full_name\: string, email\: string\} given\.$#' + identifier: argument.type + count: 1 + path: app/Http/Controllers/Api/V1/MemberController.php + + - + message: '#^Parameter \$organisation of method App\\Services\\EmailService\:\:send\(\) expects App\\Models\\Organisation\|null, \(Illuminate\\Database\\Eloquent\\Model&object\{pivot\: Illuminate\\Database\\Eloquent\\Relations\\Pivot\}\)\|null given\.$#' + identifier: argument.type + count: 1 + path: app/Http/Controllers/Api/V1/PasswordResetController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$id\.$#' + identifier: property.notFound + count: 2 + path: app/Http/Controllers/Api/V1/PersonController.php + + - + message: '#^Property App\\Http\\Controllers\\Api\\V1\\PersonController\:\:\$identityService is never read, only written\.$#' + identifier: property.onlyWritten + count: 1 + path: app/Http/Controllers/Api/V1/PersonController.php + + - + message: '#^Unable to resolve the template type TRelatedModel in call to method Illuminate\\Database\\Eloquent\\Builder\\:\:whereHas\(\)$#' + identifier: argument.templateType + count: 2 + path: app/Http/Controllers/Api/V1/PersonController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$event\.$#' + identifier: property.notFound + count: 4 + path: app/Http/Controllers/Api/V1/PersonIdentityMatchController.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Relations\\HasMany\:\:ordered\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Controllers/Api/V1/PersonTagController.php + + - + message: '#^Access to an undefined property App\\Models\\Shift\:\:\$active_assignments_count\.$#' + identifier: property.notFound + count: 3 + path: app/Http/Controllers/Api/V1/Portal/PortalShiftController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$date\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Api/V1/Portal/PortalShiftController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$end_time\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Api/V1/Portal/PortalShiftController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$event\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Api/V1/Portal/PortalShiftController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$event_id\.$#' + identifier: property.notFound + count: 2 + path: app/Http/Controllers/Api/V1/Portal/PortalShiftController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$festivalSection\.$#' + identifier: property.notFound + count: 5 + path: app/Http/Controllers/Api/V1/Portal/PortalShiftController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$icon\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Api/V1/Portal/PortalShiftController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$id\.$#' + identifier: property.notFound + count: 3 + path: app/Http/Controllers/Api/V1/Portal/PortalShiftController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$location\.$#' + identifier: property.notFound + count: 2 + path: app/Http/Controllers/Api/V1/Portal/PortalShiftController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$name\.$#' + identifier: property.notFound + count: 3 + path: app/Http/Controllers/Api/V1/Portal/PortalShiftController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$report_time\.$#' + identifier: property.notFound + count: 2 + path: app/Http/Controllers/Api/V1/Portal/PortalShiftController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$start_time\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Api/V1/Portal/PortalShiftController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$timeSlot\.$#' + identifier: property.notFound + count: 6 + path: app/Http/Controllers/Api/V1/Portal/PortalShiftController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$title\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Api/V1/Portal/PortalShiftController.php + + - + message: '#^Call to function in_array\(\) with ''approved''\|''cancelled''\|''completed''\|''pending_approval''\|''rejected'' and array\{App\\Enums\\ShiftAssignmentStatus\:\:PENDING_APPROVAL, App\\Enums\\ShiftAssignmentStatus\:\:APPROVED\} will always evaluate to false\.$#' + identifier: function.impossibleType + count: 2 + path: app/Http/Controllers/Api/V1/Portal/PortalShiftController.php + + - + message: '#^Cannot access property \$value on string\.$#' + identifier: property.nonObject + count: 3 + path: app/Http/Controllers/Api/V1/Portal/PortalShiftController.php + + - + message: '#^Parameter \#1 \$callback of method Illuminate\\Database\\Eloquent\\Collection\<\(int\|string\),Illuminate\\Database\\Eloquent\\Collection\\>\:\:map\(\) contains unresolvable type\.$#' + identifier: argument.unresolvableType + count: 1 + path: app/Http/Controllers/Api/V1/Portal/PortalShiftController.php + + - + message: '#^Parameter \#1 \$callback of method Illuminate\\Database\\Eloquent\\Collection\<\(int\|string\),Illuminate\\Database\\Eloquent\\Collection\\>\:\:map\(\) contains unresolvable type\.$#' + identifier: argument.unresolvableType + count: 1 + path: app/Http/Controllers/Api/V1/Portal/PortalShiftController.php + + - + message: '#^Parameter \#1 \$callback of method Illuminate\\Database\\Eloquent\\Collection\\:\:map\(\) contains unresolvable type\.$#' + identifier: argument.unresolvableType + count: 1 + path: app/Http/Controllers/Api/V1/Portal/PortalShiftController.php + + - + message: '#^Parameter \#1 \$callback of method Illuminate\\Database\\Eloquent\\Collection\\:\:map\(\) contains unresolvable type\.$#' + identifier: argument.unresolvableType + count: 2 + path: app/Http/Controllers/Api/V1/Portal/PortalShiftController.php + + - + message: '#^Parameter \#1 \$callback of method Illuminate\\Support\\Collection\\>\:\:filter\(\) contains unresolvable type\.$#' + identifier: argument.unresolvableType + count: 3 + path: app/Http/Controllers/Api/V1/Portal/PortalShiftController.php + + - + message: '#^Parameter \#1 \$callback of method Illuminate\\Support\\Collection\\>\:\:sortBy\(\) contains unresolvable type\.$#' + identifier: argument.unresolvableType + count: 1 + path: app/Http/Controllers/Api/V1/Portal/PortalShiftController.php + + - + message: '#^Parameter \#1 \$callback of method Illuminate\\Support\\Collection\\>\:\:sortByDesc\(\) contains unresolvable type\.$#' + identifier: argument.unresolvableType + count: 2 + path: app/Http/Controllers/Api/V1/Portal/PortalShiftController.php + + - + message: '#^Result of && is always false\.$#' + identifier: booleanAnd.alwaysFalse + count: 1 + path: app/Http/Controllers/Api/V1/Portal/PortalShiftController.php + + - + message: '#^Return type of call to method Illuminate\\Database\\Eloquent\\Collection\<\(int\|string\),Illuminate\\Database\\Eloquent\\Collection\\>\:\:map\(\) contains unresolvable type\.$#' + identifier: method.unresolvableReturnType + count: 1 + path: app/Http/Controllers/Api/V1/Portal/PortalShiftController.php + + - + message: '#^Return type of call to method Illuminate\\Database\\Eloquent\\Collection\<\(int\|string\),Illuminate\\Database\\Eloquent\\Collection\\>\:\:map\(\) contains unresolvable type\.$#' + identifier: method.unresolvableReturnType + count: 1 + path: app/Http/Controllers/Api/V1/Portal/PortalShiftController.php + + - + message: '#^Return type of call to method Illuminate\\Database\\Eloquent\\Collection\\:\:map\(\) contains unresolvable type\.$#' + identifier: method.unresolvableReturnType + count: 1 + path: app/Http/Controllers/Api/V1/Portal/PortalShiftController.php + + - + message: '#^Return type of call to method Illuminate\\Database\\Eloquent\\Collection\\:\:map\(\) contains unresolvable type\.$#' + identifier: method.unresolvableReturnType + count: 2 + path: app/Http/Controllers/Api/V1/Portal/PortalShiftController.php + + - + message: '#^Return type of call to method Illuminate\\Support\\Collection\<\(int\|string\),array\\>\|string\>\>\:\:values\(\) contains unresolvable type\.$#' + identifier: method.unresolvableReturnType + count: 1 + path: app/Http/Controllers/Api/V1/Portal/PortalShiftController.php + + - + message: '#^Return type of call to method Illuminate\\Support\\Collection\<\(int\|string\),array\\>\:\:values\(\) contains unresolvable type\.$#' + identifier: method.unresolvableReturnType + count: 1 + path: app/Http/Controllers/Api/V1/Portal/PortalShiftController.php + + - + message: '#^Return type of call to method Illuminate\\Support\\Collection\\>\|string\>\>\:\:all\(\) contains unresolvable type\.$#' + identifier: method.unresolvableReturnType + count: 1 + path: app/Http/Controllers/Api/V1/Portal/PortalShiftController.php + + - + message: '#^Return type of call to method Illuminate\\Support\\Collection\\>\:\:all\(\) contains unresolvable type\.$#' + identifier: method.unresolvableReturnType + count: 6 + path: app/Http/Controllers/Api/V1/Portal/PortalShiftController.php + + - + message: '#^Return type of call to method Illuminate\\Support\\Collection\\>\:\:values\(\) contains unresolvable type\.$#' + identifier: method.unresolvableReturnType + count: 5 + path: app/Http/Controllers/Api/V1/Portal/PortalShiftController.php + + - + message: '#^Strict comparison using \=\=\= between ''approved''\|''cancelled''\|''completed''\|''pending_approval''\|''rejected'' and App\\Enums\\ShiftAssignmentStatus\:\:APPROVED will always evaluate to false\.$#' + identifier: identical.alwaysFalse + count: 1 + path: app/Http/Controllers/Api/V1/Portal/PortalShiftController.php + + - + message: '#^Ternary operator condition is always false\.$#' + identifier: ternary.alwaysFalse + count: 1 + path: app/Http/Controllers/Api/V1/Portal/PortalShiftController.php + + - + message: '#^Unable to resolve the template type TGroupKey in call to method Illuminate\\Support\\Collection\\:\:groupBy\(\)$#' + identifier: argument.templateType + count: 1 + path: app/Http/Controllers/Api/V1/Portal/PortalShiftController.php + + - + message: '#^Unable to resolve the template type TGroupKey in call to method Illuminate\\Support\\Collection\\:\:groupBy\(\)$#' + identifier: argument.templateType + count: 2 + path: app/Http/Controllers/Api/V1/Portal/PortalShiftController.php + + - + message: '#^Unreachable statement \- code above always terminates\.$#' + identifier: deadCode.unreachable + count: 1 + path: app/Http/Controllers/Api/V1/Portal/PortalShiftController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Collection\\|Illuminate\\Database\\Eloquent\\Model\:\:\$id\.$#' + identifier: property.notFound + count: 2 + path: app/Http/Controllers/Api/V1/PortalMeController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$shift\.$#' + identifier: property.notFound + count: 4 + path: app/Http/Controllers/Api/V1/PortalMeController.php + + - + message: '#^Access to an undefined property App\\Models\\Shift\:\:\$filled_slots\.$#' + identifier: property.notFound + count: 2 + path: app/Http/Controllers/Api/V1/ShiftAssignmentController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$festivalSection\.$#' + identifier: property.notFound + count: 2 + path: app/Http/Controllers/Api/V1/ShiftAssignmentController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Api/V1/ShiftAssignmentController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$name\.$#' + identifier: property.notFound + count: 3 + path: app/Http/Controllers/Api/V1/ShiftAssignmentController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$system_type\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Api/V1/ShiftAssignmentController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$timeSlot\.$#' + identifier: property.notFound + count: 3 + path: app/Http/Controllers/Api/V1/ShiftAssignmentController.php + + - + message: '#^Cannot access property \$value on string\.$#' + identifier: property.nonObject + count: 2 + path: app/Http/Controllers/Api/V1/ShiftAssignmentController.php + + - + message: '#^Cannot call method toIso8601String\(\) on string\.$#' + identifier: method.nonObject + count: 1 + path: app/Http/Controllers/Api/V1/ShiftAssignmentController.php + + - + message: '#^Offset ''section_preferences'' on string\|null on left side of \?\? does not exist\.$#' + identifier: nullCoalesce.offset + count: 1 + path: app/Http/Controllers/Api/V1/ShiftAssignmentController.php + + - + message: '#^Parameter \#1 \$callback of method Illuminate\\Database\\Eloquent\\Collection\\:\:map\(\) contains unresolvable type\.$#' + identifier: argument.unresolvableType + count: 1 + path: app/Http/Controllers/Api/V1/ShiftAssignmentController.php + + - + message: '#^Parameter \#1 \$callback of method Illuminate\\Support\\Collection\\>\:\:sortBy\(\) contains unresolvable type\.$#' + identifier: argument.unresolvableType + count: 1 + path: app/Http/Controllers/Api/V1/ShiftAssignmentController.php + + - + message: '#^Return type of call to method Illuminate\\Database\\Eloquent\\Collection\\:\:map\(\) contains unresolvable type\.$#' + identifier: method.unresolvableReturnType + count: 1 + path: app/Http/Controllers/Api/V1/ShiftAssignmentController.php + + - + message: '#^Return type of call to method Illuminate\\Support\\Collection\\>\:\:values\(\) contains unresolvable type\.$#' + identifier: method.unresolvableReturnType + count: 1 + path: app/Http/Controllers/Api/V1/ShiftAssignmentController.php + + - + message: '#^Anonymous function has an unused use \$event\.$#' + identifier: closure.unusedUse + count: 1 + path: app/Http/Controllers/Api/V1/TimeSlotController.php + + - + message: '#^Parameter \#1 \$callback of method Illuminate\\Support\\Collection\\:\:each\(\) expects callable\(Illuminate\\Database\\Eloquent\\Model, int\)\: mixed, Closure\(App\\Models\\TimeSlot\)\: mixed given\.$#' + identifier: argument.type + count: 2 + path: app/Http/Controllers/Api/V1/TimeSlotController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model&object\{pivot\: Illuminate\\Database\\Eloquent\\Relations\\Pivot\}\:\:\$id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Api/V1/UploadController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$date\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Api/V1/VolunteerAvailabilityController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$end_time\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Api/V1/VolunteerAvailabilityController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Api/V1/VolunteerAvailabilityController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$name\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Api/V1/VolunteerAvailabilityController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$start_time\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Api/V1/VolunteerAvailabilityController.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$system_type\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Controllers/Api/V1/VolunteerAvailabilityController.php + + - + message: '#^Cannot call method toIso8601String\(\) on string\.$#' + identifier: method.nonObject + count: 1 + path: app/Http/Controllers/Api/V1/VolunteerAvailabilityController.php + + - + message: '#^Parameter \#1 \$callback of method Illuminate\\Database\\Eloquent\\Collection\\:\:map\(\) contains unresolvable type\.$#' + identifier: argument.unresolvableType + count: 1 + path: app/Http/Controllers/Api/V1/VolunteerAvailabilityController.php + + - + message: '#^Return type of call to method Illuminate\\Database\\Eloquent\\Collection\\:\:map\(\) contains unresolvable type\.$#' + identifier: method.unresolvableReturnType + count: 1 + path: app/Http/Controllers/Api/V1/VolunteerAvailabilityController.php + + - + message: '#^Unable to resolve the template type TKey in call to function collect$#' + identifier: argument.templateType + count: 3 + path: app/Http/Controllers/Api/V1/VolunteerAvailabilityController.php + + - + message: '#^Unable to resolve the template type TValue in call to function collect$#' + identifier: argument.templateType + count: 3 + path: app/Http/Controllers/Api/V1/VolunteerAvailabilityController.php + + - + message: '#^Using nullsafe method call on non\-nullable type string\. Use \-\> instead\.$#' + identifier: nullsafe.neverNull + count: 1 + path: app/Http/Controllers/Api/V1/VolunteerAvailabilityController.php + + - + message: '#^Method App\\Http\\Controllers\\Controller\:\:error\(\) has parameter \$errors with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Controllers/Controller.php + + - + message: '#^Method App\\Http\\Requests\\Api\\V1\\Auth\\MfaConfirmRequest\:\:rules\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Requests/Api/V1/Auth/MfaConfirmRequest.php + + - + message: '#^Method App\\Http\\Requests\\Api\\V1\\Auth\\MfaDisableRequest\:\:rules\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Requests/Api/V1/Auth/MfaDisableRequest.php + + - + message: '#^Method App\\Http\\Requests\\Api\\V1\\Auth\\MfaEmailSendRequest\:\:rules\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Requests/Api/V1/Auth/MfaEmailSendRequest.php + + - + message: '#^Method App\\Http\\Requests\\Api\\V1\\Auth\\MfaVerifyRequest\:\:rules\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Requests/Api/V1/Auth/MfaVerifyRequest.php + + - + message: '#^Ternary operator condition is always true\.$#' + identifier: ternary.alwaysTrue + count: 1 + path: app/Http/Requests/Api/V1/FormBuilder/StoreFormSchemaRequest.php + + - + message: '#^Method App\\Http\\Requests\\Api\\V1\\LoginRequest\:\:rules\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Requests/Api/V1/LoginRequest.php + + - + message: '#^Method App\\Http\\Requests\\Api\\V1\\StorePersonTagRequest\:\:rules\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Requests/Api/V1/StorePersonTagRequest.php + + - + message: '#^Method App\\Http\\Requests\\Api\\V1\\StoreUserOrganisationTagRequest\:\:rules\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Requests/Api/V1/StoreUserOrganisationTagRequest.php + + - + message: '#^Method App\\Http\\Requests\\Api\\V1\\SyncUserOrganisationTagsRequest\:\:rules\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Requests/Api/V1/SyncUserOrganisationTagsRequest.php + + - + message: '#^Method App\\Http\\Requests\\Api\\V1\\UpdateEmailSettingsRequest\:\:rules\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Requests/Api/V1/UpdateEmailSettingsRequest.php + + - + message: '#^Method App\\Http\\Requests\\Api\\V1\\UpdateEmailTemplateRequest\:\:rules\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Requests/Api/V1/UpdateEmailTemplateRequest.php + + - + message: '#^Method App\\Http\\Requests\\Api\\V1\\UpdatePersonTagRequest\:\:rules\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Requests/Api/V1/UpdatePersonTagRequest.php + + - + message: '#^Method App\\Http\\Requests\\Api\\V1\\UpdateProfileRequest\:\:rules\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Requests/Api/V1/UpdateProfileRequest.php + + - + message: '#^Access to an undefined property Illuminate\\Contracts\\Auth\\Authenticatable\:\:\$email\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Requests/Api/V1/VolunteerRegistrationRequest.php + + - + message: '#^Access to an undefined property Illuminate\\Contracts\\Auth\\Authenticatable\:\:\$first_name\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Requests/Api/V1/VolunteerRegistrationRequest.php + + - + message: '#^Access to an undefined property Illuminate\\Contracts\\Auth\\Authenticatable\:\:\$last_name\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Requests/Api/V1/VolunteerRegistrationRequest.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Admin\\AdminOrganisationResource\:\:\$billing_status\.$#' + identifier: property.notFound + count: 2 + path: app/Http/Resources/Admin/AdminOrganisationResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Admin\\AdminOrganisationResource\:\:\$created_at\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Admin/AdminOrganisationResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Admin\\AdminOrganisationResource\:\:\$deleted_at\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Admin/AdminOrganisationResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Admin\\AdminOrganisationResource\:\:\$id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Admin/AdminOrganisationResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Admin\\AdminOrganisationResource\:\:\$name\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Admin/AdminOrganisationResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Admin\\AdminOrganisationResource\:\:\$settings\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Admin/AdminOrganisationResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Admin\\AdminOrganisationResource\:\:\$slug\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Admin/AdminOrganisationResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Admin\\AdminOrganisationResource\:\:\$total_persons\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Admin/AdminOrganisationResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Admin\\AdminOrganisationResource\:\:\$updated_at\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Admin/AdminOrganisationResource.php + + - + message: '#^Method App\\Http\\Resources\\Admin\\AdminOrganisationResource\:\:toArray\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Resources/Admin/AdminOrganisationResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Admin\\AdminUserResource\:\:\$avatar\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Admin/AdminUserResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Admin\\AdminUserResource\:\:\$created_at\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Admin/AdminUserResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Admin\\AdminUserResource\:\:\$email\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Admin/AdminUserResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Admin\\AdminUserResource\:\:\$email_verified_at\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Admin/AdminUserResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Admin\\AdminUserResource\:\:\$first_name\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Admin/AdminUserResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Admin\\AdminUserResource\:\:\$full_name\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Admin/AdminUserResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Admin\\AdminUserResource\:\:\$id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Admin/AdminUserResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Admin\\AdminUserResource\:\:\$last_name\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Admin/AdminUserResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Admin\\AdminUserResource\:\:\$locale\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Admin/AdminUserResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Admin\\AdminUserResource\:\:\$mfa_enabled\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Admin/AdminUserResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Admin\\AdminUserResource\:\:\$organisations\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Admin/AdminUserResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Admin\\AdminUserResource\:\:\$timezone\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Admin/AdminUserResource.php + + - + message: '#^Call to an undefined method App\\Http\\Resources\\Admin\\AdminUserResource\:\:getRoleNames\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Resources/Admin/AdminUserResource.php + + - + message: '#^Call to an undefined method App\\Http\\Resources\\Admin\\AdminUserResource\:\:hasRole\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Resources/Admin/AdminUserResource.php + + - + message: '#^Method App\\Http\\Resources\\Admin\\AdminUserResource\:\:toArray\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Resources/Admin/AdminUserResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Admin\\ImpersonationSessionResource\:\:\$actions_count\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Admin/ImpersonationSessionResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Admin\\ImpersonationSessionResource\:\:\$admin_id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Admin/ImpersonationSessionResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Admin\\ImpersonationSessionResource\:\:\$end_reason\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Admin/ImpersonationSessionResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Admin\\ImpersonationSessionResource\:\:\$ended_at\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Admin/ImpersonationSessionResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Admin\\ImpersonationSessionResource\:\:\$expires_at\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Admin/ImpersonationSessionResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Admin\\ImpersonationSessionResource\:\:\$id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Admin/ImpersonationSessionResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Admin\\ImpersonationSessionResource\:\:\$mfa_method\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Admin/ImpersonationSessionResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Admin\\ImpersonationSessionResource\:\:\$reason\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Admin/ImpersonationSessionResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Admin\\ImpersonationSessionResource\:\:\$started_at\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Admin/ImpersonationSessionResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Admin\\ImpersonationSessionResource\:\:\$target_user_id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Admin/ImpersonationSessionResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\CompanyResource\:\:\$contact_email\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/CompanyResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\CompanyResource\:\:\$contact_first_name\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/CompanyResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\CompanyResource\:\:\$contact_full_name\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/CompanyResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\CompanyResource\:\:\$contact_last_name\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/CompanyResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\CompanyResource\:\:\$contact_phone\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/CompanyResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\CompanyResource\:\:\$created_at\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/CompanyResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\CompanyResource\:\:\$id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/CompanyResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\CompanyResource\:\:\$name\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/CompanyResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\CompanyResource\:\:\$organisation_id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/CompanyResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\CompanyResource\:\:\$type\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/CompanyResource.php + + - + message: '#^Method App\\Http\\Resources\\Api\\V1\\CompanyResource\:\:toArray\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Resources/Api/V1/CompanyResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\CrowdListResource\:\:\$auto_approve\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/CrowdListResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\CrowdListResource\:\:\$created_at\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/CrowdListResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\CrowdListResource\:\:\$crowd_type_id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/CrowdListResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\CrowdListResource\:\:\$event_id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/CrowdListResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\CrowdListResource\:\:\$id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/CrowdListResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\CrowdListResource\:\:\$max_persons\.$#' + identifier: property.notFound + count: 2 + path: app/Http/Resources/Api/V1/CrowdListResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\CrowdListResource\:\:\$name\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/CrowdListResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\CrowdListResource\:\:\$recipient_company_id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/CrowdListResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\CrowdListResource\:\:\$type\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/CrowdListResource.php + + - + message: '#^Method App\\Http\\Resources\\Api\\V1\\CrowdListResource\:\:toArray\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Resources/Api/V1/CrowdListResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\CrowdTypeResource\:\:\$color\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/CrowdTypeResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\CrowdTypeResource\:\:\$icon\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/CrowdTypeResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\CrowdTypeResource\:\:\$id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/CrowdTypeResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\CrowdTypeResource\:\:\$is_active\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/CrowdTypeResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\CrowdTypeResource\:\:\$name\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/CrowdTypeResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\CrowdTypeResource\:\:\$organisation_id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/CrowdTypeResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\CrowdTypeResource\:\:\$system_type\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/CrowdTypeResource.php + + - + message: '#^Method App\\Http\\Resources\\Api\\V1\\CrowdTypeResource\:\:toArray\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Resources/Api/V1/CrowdTypeResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\EmailLogResource\:\:\$created_at\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/EmailLogResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\EmailLogResource\:\:\$error_message\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/EmailLogResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\EmailLogResource\:\:\$event_id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/EmailLogResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\EmailLogResource\:\:\$failed_at\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/EmailLogResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\EmailLogResource\:\:\$id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/EmailLogResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\EmailLogResource\:\:\$person_id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/EmailLogResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\EmailLogResource\:\:\$queued_at\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/EmailLogResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\EmailLogResource\:\:\$recipient_email\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/EmailLogResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\EmailLogResource\:\:\$recipient_name\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/EmailLogResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\EmailLogResource\:\:\$sent_at\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/EmailLogResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\EmailLogResource\:\:\$status\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/EmailLogResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\EmailLogResource\:\:\$subject\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/EmailLogResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\EmailLogResource\:\:\$template_type\.$#' + identifier: property.notFound + count: 2 + path: app/Http/Resources/Api/V1/EmailLogResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\EmailLogResource\:\:\$triggeredBy\.$#' + identifier: property.notFound + count: 3 + path: app/Http/Resources/Api/V1/EmailLogResource.php + + - + message: '#^Method App\\Http\\Resources\\Api\\V1\\EmailLogResource\:\:toArray\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Resources/Api/V1/EmailLogResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\EmailSettingsResource\:\:\$created_at\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/EmailSettingsResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\EmailSettingsResource\:\:\$footer_text\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/EmailSettingsResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\EmailSettingsResource\:\:\$id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/EmailSettingsResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\EmailSettingsResource\:\:\$logo_url\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/EmailSettingsResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\EmailSettingsResource\:\:\$organisation_id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/EmailSettingsResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\EmailSettingsResource\:\:\$primary_color\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/EmailSettingsResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\EmailSettingsResource\:\:\$reply_to_email\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/EmailSettingsResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\EmailSettingsResource\:\:\$reply_to_name\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/EmailSettingsResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\EmailSettingsResource\:\:\$secondary_color\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/EmailSettingsResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\EmailSettingsResource\:\:\$updated_at\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/EmailSettingsResource.php + + - + message: '#^Method App\\Http\\Resources\\Api\\V1\\EmailSettingsResource\:\:toArray\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Resources/Api/V1/EmailSettingsResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\EmailTemplateResource\:\:\$body_text\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/EmailTemplateResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\EmailTemplateResource\:\:\$button_text\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/EmailTemplateResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\EmailTemplateResource\:\:\$created_at\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/EmailTemplateResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\EmailTemplateResource\:\:\$heading\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/EmailTemplateResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\EmailTemplateResource\:\:\$id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/EmailTemplateResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\EmailTemplateResource\:\:\$organisation_id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/EmailTemplateResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\EmailTemplateResource\:\:\$subject\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/EmailTemplateResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\EmailTemplateResource\:\:\$type\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/EmailTemplateResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\EmailTemplateResource\:\:\$updated_at\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/EmailTemplateResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\EventResource\:\:\$created_at\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/EventResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\EventResource\:\:\$end_date\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/EventResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\EventResource\:\:\$event_type\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/EventResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\EventResource\:\:\$event_type_label\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/EventResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\EventResource\:\:\$id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/EventResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\EventResource\:\:\$is_recurring\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/EventResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\EventResource\:\:\$name\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/EventResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\EventResource\:\:\$organisation_id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/EventResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\EventResource\:\:\$parent_event_id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/EventResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\EventResource\:\:\$registration_banner_url\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/EventResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\EventResource\:\:\$registration_logo_url\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/EventResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\EventResource\:\:\$registration_show_availability\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/EventResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\EventResource\:\:\$registration_show_section_preferences\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/EventResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\EventResource\:\:\$registration_welcome_text\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/EventResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\EventResource\:\:\$slug\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/EventResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\EventResource\:\:\$start_date\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/EventResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\EventResource\:\:\$status\.$#' + identifier: property.notFound + count: 2 + path: app/Http/Resources/Api/V1/EventResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\EventResource\:\:\$sub_event_label\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/EventResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\EventResource\:\:\$timezone\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/EventResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\EventResource\:\:\$updated_at\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/EventResource.php + + - + message: '#^Method App\\Http\\Resources\\Api\\V1\\EventResource\:\:toArray\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Resources/Api/V1/EventResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\FestivalSectionResource\:\:\$added_to_timeline\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/FestivalSectionResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\FestivalSectionResource\:\:\$category\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/FestivalSectionResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\FestivalSectionResource\:\:\$created_at\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/FestivalSectionResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\FestivalSectionResource\:\:\$crew_accreditation_level\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/FestivalSectionResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\FestivalSectionResource\:\:\$crew_auto_accepts\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/FestivalSectionResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\FestivalSectionResource\:\:\$crew_invited_to_events\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/FestivalSectionResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\FestivalSectionResource\:\:\$crew_need\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/FestivalSectionResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\FestivalSectionResource\:\:\$event_id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/FestivalSectionResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\FestivalSectionResource\:\:\$icon\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/FestivalSectionResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\FestivalSectionResource\:\:\$id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/FestivalSectionResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\FestivalSectionResource\:\:\$name\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/FestivalSectionResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\FestivalSectionResource\:\:\$public_form_accreditation_level\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/FestivalSectionResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\FestivalSectionResource\:\:\$registration_description\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/FestivalSectionResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\FestivalSectionResource\:\:\$responder_self_checkin\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/FestivalSectionResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\FestivalSectionResource\:\:\$show_in_registration\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/FestivalSectionResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\FestivalSectionResource\:\:\$sort_order\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/FestivalSectionResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\FestivalSectionResource\:\:\$timed_accreditations\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/FestivalSectionResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\FestivalSectionResource\:\:\$type\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/FestivalSectionResource.php + + - + message: '#^Method App\\Http\\Resources\\Api\\V1\\FestivalSectionResource\:\:toArray\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Resources/Api/V1/FestivalSectionResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\InvitationResource\:\:\$created_at\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/InvitationResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\InvitationResource\:\:\$email\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/InvitationResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\InvitationResource\:\:\$expires_at\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/InvitationResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\InvitationResource\:\:\$id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/InvitationResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\InvitationResource\:\:\$invitedBy\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/InvitationResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\InvitationResource\:\:\$organisation\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/InvitationResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\InvitationResource\:\:\$role\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/InvitationResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\InvitationResource\:\:\$status\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/InvitationResource.php + + - + message: '#^Call to an undefined method App\\Http\\Resources\\Api\\V1\\InvitationResource\:\:isExpired\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Resources/Api/V1/InvitationResource.php + + - + message: '#^Call to an undefined method App\\Http\\Resources\\Api\\V1\\InvitationResource\:\:isPending\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Resources/Api/V1/InvitationResource.php + + - + message: '#^Method App\\Http\\Resources\\Api\\V1\\InvitationResource\:\:toArray\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Resources/Api/V1/InvitationResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\LocationResource\:\:\$access_instructions\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/LocationResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\LocationResource\:\:\$address\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/LocationResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\LocationResource\:\:\$created_at\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/LocationResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\LocationResource\:\:\$description\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/LocationResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\LocationResource\:\:\$event_id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/LocationResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\LocationResource\:\:\$id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/LocationResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\LocationResource\:\:\$lat\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/LocationResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\LocationResource\:\:\$lng\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/LocationResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\LocationResource\:\:\$name\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/LocationResource.php + + - + message: '#^Method App\\Http\\Resources\\Api\\V1\\LocationResource\:\:toArray\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Resources/Api/V1/LocationResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\MeResource\:\:\$avatar\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/MeResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\MeResource\:\:\$date_of_birth\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/MeResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\MeResource\:\:\$email\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/MeResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\MeResource\:\:\$email_verified_at\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/MeResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\MeResource\:\:\$first_name\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/MeResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\MeResource\:\:\$full_name\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/MeResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\MeResource\:\:\$id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/MeResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\MeResource\:\:\$last_name\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/MeResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\MeResource\:\:\$locale\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/MeResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\MeResource\:\:\$mfa_confirmed_at\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/MeResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\MeResource\:\:\$mfa_enabled\.$#' + identifier: property.notFound + count: 2 + path: app/Http/Resources/Api/V1/MeResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\MeResource\:\:\$mfa_method\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/MeResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\MeResource\:\:\$organisations\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/MeResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\MeResource\:\:\$persons\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/MeResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\MeResource\:\:\$phone\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/MeResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\MeResource\:\:\$timezone\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/MeResource.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$end_date\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/MeResource.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$name\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/MeResource.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$organisation\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/MeResource.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$slug\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/MeResource.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$start_date\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/MeResource.php + + - + message: '#^Call to an undefined method App\\Http\\Resources\\Api\\V1\\MeResource\:\:getAllPermissions\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Resources/Api/V1/MeResource.php + + - + message: '#^Call to an undefined method App\\Http\\Resources\\Api\\V1\\MeResource\:\:getRoleNames\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Resources/Api/V1/MeResource.php + + - + message: '#^Method App\\Http\\Resources\\Api\\V1\\MeResource\:\:toArray\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Resources/Api/V1/MeResource.php + + - + message: '#^Method App\\Http\\Resources\\Api\\V1\\MemberCollection\:\:toArray\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Resources/Api/V1/MemberCollection.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\MemberResource\:\:\$avatar\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/MemberResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\MemberResource\:\:\$email\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/MemberResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\MemberResource\:\:\$events\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/MemberResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\MemberResource\:\:\$first_name\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/MemberResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\MemberResource\:\:\$full_name\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/MemberResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\MemberResource\:\:\$id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/MemberResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\MemberResource\:\:\$last_name\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/MemberResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\MemberResource\:\:\$pivot\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/MemberResource.php + + - + message: '#^Method App\\Http\\Resources\\Api\\V1\\MemberResource\:\:toArray\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Resources/Api/V1/MemberResource.php + + - + message: '#^Method App\\Http\\Resources\\Api\\V1\\OrganisationDashboardStatsResource\:\:toArray\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Resources/Api/V1/OrganisationDashboardStatsResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\OrganisationResource\:\:\$billing_status\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/OrganisationResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\OrganisationResource\:\:\$contact_email\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/OrganisationResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\OrganisationResource\:\:\$contact_name\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/OrganisationResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\OrganisationResource\:\:\$created_at\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/OrganisationResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\OrganisationResource\:\:\$email_footer_text\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/OrganisationResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\OrganisationResource\:\:\$email_logo_url\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/OrganisationResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\OrganisationResource\:\:\$email_primary_color\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/OrganisationResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\OrganisationResource\:\:\$email_reply_to\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/OrganisationResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\OrganisationResource\:\:\$email_sender_name\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/OrganisationResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\OrganisationResource\:\:\$id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/OrganisationResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\OrganisationResource\:\:\$name\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/OrganisationResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\OrganisationResource\:\:\$phone\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/OrganisationResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\OrganisationResource\:\:\$settings\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/OrganisationResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\OrganisationResource\:\:\$slug\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/OrganisationResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\OrganisationResource\:\:\$updated_at\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/OrganisationResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\OrganisationResource\:\:\$website\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/OrganisationResource.php + + - + message: '#^Method App\\Http\\Resources\\Api\\V1\\OrganisationResource\:\:toArray\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Resources/Api/V1/OrganisationResource.php + + - + message: '#^Method App\\Http\\Resources\\Api\\V1\\PersonCollection\:\:toArray\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Resources/Api/V1/PersonCollection.php + + - + message: '#^Method App\\Http\\Resources\\Api\\V1\\PersonCollection\:\:with\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Resources/Api/V1/PersonCollection.php + + - + message: '#^Unable to resolve the template type TGroupKey in call to method Illuminate\\Support\\Collection\<\(int\|string\),mixed\>\:\:groupBy\(\)$#' + identifier: argument.templateType + count: 1 + path: app/Http/Resources/Api/V1/PersonCollection.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\PersonIdentityMatchResource\:\:\$confidence\.$#' + identifier: property.notFound + count: 2 + path: app/Http/Resources/Api/V1/PersonIdentityMatchResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\PersonIdentityMatchResource\:\:\$confirmedBy\.$#' + identifier: property.notFound + count: 3 + path: app/Http/Resources/Api/V1/PersonIdentityMatchResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\PersonIdentityMatchResource\:\:\$confirmed_at\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/PersonIdentityMatchResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\PersonIdentityMatchResource\:\:\$created_at\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/PersonIdentityMatchResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\PersonIdentityMatchResource\:\:\$dismissed_at\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/PersonIdentityMatchResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\PersonIdentityMatchResource\:\:\$id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/PersonIdentityMatchResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\PersonIdentityMatchResource\:\:\$match_details\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/PersonIdentityMatchResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\PersonIdentityMatchResource\:\:\$matchedUser\.$#' + identifier: property.notFound + count: 6 + path: app/Http/Resources/Api/V1/PersonIdentityMatchResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\PersonIdentityMatchResource\:\:\$matched_on\.$#' + identifier: property.notFound + count: 2 + path: app/Http/Resources/Api/V1/PersonIdentityMatchResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\PersonIdentityMatchResource\:\:\$person\.$#' + identifier: property.notFound + count: 6 + path: app/Http/Resources/Api/V1/PersonIdentityMatchResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\PersonIdentityMatchResource\:\:\$resolvedBy\.$#' + identifier: property.notFound + count: 3 + path: app/Http/Resources/Api/V1/PersonIdentityMatchResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\PersonIdentityMatchResource\:\:\$resolved_at\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/PersonIdentityMatchResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\PersonIdentityMatchResource\:\:\$reverted_at\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/PersonIdentityMatchResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\PersonIdentityMatchResource\:\:\$status\.$#' + identifier: property.notFound + count: 2 + path: app/Http/Resources/Api/V1/PersonIdentityMatchResource.php + + - + message: '#^Method App\\Http\\Resources\\Api\\V1\\PersonIdentityMatchResource\:\:toArray\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Resources/Api/V1/PersonIdentityMatchResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\PersonResource\:\:\$admin_notes\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/PersonResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\PersonResource\:\:\$created_at\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/PersonResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\PersonResource\:\:\$custom_fields\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/PersonResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\PersonResource\:\:\$date_of_birth\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/PersonResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\PersonResource\:\:\$email\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/PersonResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\PersonResource\:\:\$event\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/PersonResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\PersonResource\:\:\$event_id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/PersonResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\PersonResource\:\:\$first_name\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/PersonResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\PersonResource\:\:\$full_name\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/PersonResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\PersonResource\:\:\$id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/PersonResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\PersonResource\:\:\$is_blacklisted\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/PersonResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\PersonResource\:\:\$last_name\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/PersonResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\PersonResource\:\:\$pendingIdentityMatch\.$#' + identifier: property.notFound + count: 2 + path: app/Http/Resources/Api/V1/PersonResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\PersonResource\:\:\$phone\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/PersonResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\PersonResource\:\:\$pivot\.$#' + identifier: property.notFound + count: 3 + path: app/Http/Resources/Api/V1/PersonResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\PersonResource\:\:\$remarks\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/PersonResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\PersonResource\:\:\$status\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/PersonResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\PersonResource\:\:\$user\.$#' + identifier: property.notFound + count: 5 + path: app/Http/Resources/Api/V1/PersonResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\PersonResource\:\:\$user_id\.$#' + identifier: property.notFound + count: 3 + path: app/Http/Resources/Api/V1/PersonResource.php + + - + message: '#^Call to an undefined method App\\Http\\Resources\\Api\\V1\\PersonResource\:\:relationLoaded\(\)\.$#' + identifier: method.notFound + count: 3 + path: app/Http/Resources/Api/V1/PersonResource.php + + - + message: '#^Method App\\Http\\Resources\\Api\\V1\\PersonResource\:\:toArray\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Resources/Api/V1/PersonResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\PersonTagResource\:\:\$category\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/PersonTagResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\PersonTagResource\:\:\$color\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/PersonTagResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\PersonTagResource\:\:\$created_at\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/PersonTagResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\PersonTagResource\:\:\$icon\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/PersonTagResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\PersonTagResource\:\:\$id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/PersonTagResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\PersonTagResource\:\:\$is_active\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/PersonTagResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\PersonTagResource\:\:\$name\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/PersonTagResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\PersonTagResource\:\:\$organisation_id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/PersonTagResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\PersonTagResource\:\:\$sort_order\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/PersonTagResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\PersonTagResource\:\:\$updated_at\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/PersonTagResource.php + + - + message: '#^Method App\\Http\\Resources\\Api\\V1\\PersonTagResource\:\:toArray\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Resources/Api/V1/PersonTagResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\PortalEventResource\:\:\$end_date\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/PortalEventResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\PortalEventResource\:\:\$event_type\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/PortalEventResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\PortalEventResource\:\:\$id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/PortalEventResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\PortalEventResource\:\:\$name\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/PortalEventResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\PortalEventResource\:\:\$slug\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/PortalEventResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\PortalEventResource\:\:\$start_date\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/PortalEventResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\PortalEventResource\:\:\$status\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/PortalEventResource.php + + - + message: '#^Method App\\Http\\Resources\\Api\\V1\\PortalEventResource\:\:toArray\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Resources/Api/V1/PortalEventResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\ShiftAssignmentResource\:\:\$approved_at\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/ShiftAssignmentResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\ShiftAssignmentResource\:\:\$approved_by\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/ShiftAssignmentResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\ShiftAssignmentResource\:\:\$assigned_at\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/ShiftAssignmentResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\ShiftAssignmentResource\:\:\$assigned_by\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/ShiftAssignmentResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\ShiftAssignmentResource\:\:\$auto_approved\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/ShiftAssignmentResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\ShiftAssignmentResource\:\:\$cancellation_source\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/ShiftAssignmentResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\ShiftAssignmentResource\:\:\$cancelled_at\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/ShiftAssignmentResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\ShiftAssignmentResource\:\:\$cancelled_by\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/ShiftAssignmentResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\ShiftAssignmentResource\:\:\$checked_in_at\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/ShiftAssignmentResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\ShiftAssignmentResource\:\:\$checked_out_at\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/ShiftAssignmentResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\ShiftAssignmentResource\:\:\$created_at\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/ShiftAssignmentResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\ShiftAssignmentResource\:\:\$hours_completed\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/ShiftAssignmentResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\ShiftAssignmentResource\:\:\$hours_expected\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/ShiftAssignmentResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\ShiftAssignmentResource\:\:\$id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/ShiftAssignmentResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\ShiftAssignmentResource\:\:\$person_id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/ShiftAssignmentResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\ShiftAssignmentResource\:\:\$rejection_reason\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/ShiftAssignmentResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\ShiftAssignmentResource\:\:\$shift_id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/ShiftAssignmentResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\ShiftAssignmentResource\:\:\$status\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/ShiftAssignmentResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\ShiftAssignmentResource\:\:\$time_slot_id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/ShiftAssignmentResource.php + + - + message: '#^Call to an undefined method App\\Http\\Resources\\Api\\V1\\ShiftAssignmentResource\:\:isApprovable\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Resources/Api/V1/ShiftAssignmentResource.php + + - + message: '#^Call to an undefined method App\\Http\\Resources\\Api\\V1\\ShiftAssignmentResource\:\:isCancellable\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Resources/Api/V1/ShiftAssignmentResource.php + + - + message: '#^Method App\\Http\\Resources\\Api\\V1\\ShiftAssignmentResource\:\:toArray\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Resources/Api/V1/ShiftAssignmentResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\ShiftResource\:\:\$actual_end_time\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/ShiftResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\ShiftResource\:\:\$actual_start_time\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/ShiftResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\ShiftResource\:\:\$allow_overlap\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/ShiftResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\ShiftResource\:\:\$assigned_crew_id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/ShiftResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\ShiftResource\:\:\$coordinator_notes\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/ShiftResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\ShiftResource\:\:\$created_at\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/ShiftResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\ShiftResource\:\:\$description\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/ShiftResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\ShiftResource\:\:\$effective_end_time\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/ShiftResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\ShiftResource\:\:\$effective_start_time\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/ShiftResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\ShiftResource\:\:\$end_date\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/ShiftResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\ShiftResource\:\:\$events_during_shift\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/ShiftResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\ShiftResource\:\:\$festival_section_id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/ShiftResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\ShiftResource\:\:\$fill_rate\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/ShiftResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\ShiftResource\:\:\$filled_slots\.$#' + identifier: property.notFound + count: 3 + path: app/Http/Resources/Api/V1/ShiftResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\ShiftResource\:\:\$id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/ShiftResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\ShiftResource\:\:\$instructions\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/ShiftResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\ShiftResource\:\:\$is_lead_role\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/ShiftResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\ShiftResource\:\:\$location_id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/ShiftResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\ShiftResource\:\:\$report_time\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/ShiftResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\ShiftResource\:\:\$slots_open_for_claiming\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/ShiftResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\ShiftResource\:\:\$slots_total\.$#' + identifier: property.notFound + count: 3 + path: app/Http/Resources/Api/V1/ShiftResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\ShiftResource\:\:\$status\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/ShiftResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\ShiftResource\:\:\$time_slot_id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/ShiftResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\ShiftResource\:\:\$title\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/ShiftResource.php + + - + message: '#^Method App\\Http\\Resources\\Api\\V1\\ShiftResource\:\:toArray\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Resources/Api/V1/ShiftResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\TimeSlotResource\:\:\$created_at\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/TimeSlotResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\TimeSlotResource\:\:\$date\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/TimeSlotResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\TimeSlotResource\:\:\$duration_hours\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/TimeSlotResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\TimeSlotResource\:\:\$end_time\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/TimeSlotResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\TimeSlotResource\:\:\$event\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/TimeSlotResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\TimeSlotResource\:\:\$event_id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/TimeSlotResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\TimeSlotResource\:\:\$id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/TimeSlotResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\TimeSlotResource\:\:\$name\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/TimeSlotResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\TimeSlotResource\:\:\$person_type\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/TimeSlotResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\TimeSlotResource\:\:\$shifts\.$#' + identifier: property.notFound + count: 3 + path: app/Http/Resources/Api/V1/TimeSlotResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\TimeSlotResource\:\:\$start_time\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/TimeSlotResource.php + + - + message: '#^Call to an undefined method App\\Http\\Resources\\Api\\V1\\TimeSlotResource\:\:relationLoaded\(\)\.$#' + identifier: method.notFound + count: 3 + path: app/Http/Resources/Api/V1/TimeSlotResource.php + + - + message: '#^Method App\\Http\\Resources\\Api\\V1\\TimeSlotResource\:\:toArray\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Resources/Api/V1/TimeSlotResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\TrustedDeviceResource\:\:\$created_at\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/TrustedDeviceResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\TrustedDeviceResource\:\:\$device_name\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/TrustedDeviceResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\TrustedDeviceResource\:\:\$id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/TrustedDeviceResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\TrustedDeviceResource\:\:\$ip_address\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/TrustedDeviceResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\TrustedDeviceResource\:\:\$last_used_at\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/TrustedDeviceResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\TrustedDeviceResource\:\:\$trusted_until\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/TrustedDeviceResource.php + + - + message: '#^Method App\\Http\\Resources\\Api\\V1\\TrustedDeviceResource\:\:toArray\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Resources/Api/V1/TrustedDeviceResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\UserOrganisationTagResource\:\:\$assignedBy\.$#' + identifier: property.notFound + count: 3 + path: app/Http/Resources/Api/V1/UserOrganisationTagResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\UserOrganisationTagResource\:\:\$assigned_at\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/UserOrganisationTagResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\UserOrganisationTagResource\:\:\$id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/UserOrganisationTagResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\UserOrganisationTagResource\:\:\$notes\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/UserOrganisationTagResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\UserOrganisationTagResource\:\:\$personTag\.$#' + identifier: property.notFound + count: 5 + path: app/Http/Resources/Api/V1/UserOrganisationTagResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\UserOrganisationTagResource\:\:\$proficiency\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/UserOrganisationTagResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\UserOrganisationTagResource\:\:\$source\.$#' + identifier: property.notFound + count: 2 + path: app/Http/Resources/Api/V1/UserOrganisationTagResource.php + + - + message: '#^Call to an undefined method App\\Http\\Resources\\Api\\V1\\UserOrganisationTagResource\:\:relationLoaded\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Resources/Api/V1/UserOrganisationTagResource.php + + - + message: '#^Method App\\Http\\Resources\\Api\\V1\\UserOrganisationTagResource\:\:toArray\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Resources/Api/V1/UserOrganisationTagResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\UserResource\:\:\$avatar\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/UserResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\UserResource\:\:\$created_at\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/UserResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\UserResource\:\:\$date_of_birth\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/UserResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\UserResource\:\:\$email\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/UserResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\UserResource\:\:\$email_verified_at\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/UserResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\UserResource\:\:\$events\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/UserResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\UserResource\:\:\$first_name\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/UserResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\UserResource\:\:\$full_name\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/UserResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\UserResource\:\:\$id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/UserResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\UserResource\:\:\$last_name\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/UserResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\UserResource\:\:\$locale\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/UserResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\UserResource\:\:\$organisations\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/UserResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\UserResource\:\:\$timezone\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/UserResource.php + + - + message: '#^Access to an undefined property App\\Http\\Resources\\Api\\V1\\UserResource\:\:\$updated_at\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/Api/V1/UserResource.php + + - + message: '#^Call to an undefined method App\\Http\\Resources\\Api\\V1\\UserResource\:\:getRoleNames\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Http/Resources/Api/V1/UserResource.php + + - + message: '#^Method App\\Http\\Resources\\Api\\V1\\UserResource\:\:toArray\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Http/Resources/Api/V1/UserResource.php + + - + message: '#^Instanceof between App\\Enums\\FormBuilder\\FormFieldDisplayWidth and BackedEnum will always evaluate to true\.$#' + identifier: instanceof.alwaysTrue + count: 1 + path: app/Http/Resources/FormBuilder/FormFieldResource.php + + - + message: '#^Instanceof between App\\Enums\\FormBuilder\\FormValueStorageHint and BackedEnum will always evaluate to true\.$#' + identifier: instanceof.alwaysTrue + count: 1 + path: app/Http/Resources/FormBuilder/FormFieldResource.php + + - + message: '#^Instanceof between App\\Enums\\FormBuilder\\FormPurpose and BackedEnum will always evaluate to true\.$#' + identifier: instanceof.alwaysTrue + count: 1 + path: app/Http/Resources/FormBuilder/FormSchemaResource.php + + - + message: '#^Instanceof between App\\Enums\\FormBuilder\\FormSchemaSnapshotMode and BackedEnum will always evaluate to true\.$#' + identifier: instanceof.alwaysTrue + count: 1 + path: app/Http/Resources/FormBuilder/FormSchemaResource.php + + - + message: '#^Instanceof between App\\Enums\\FormBuilder\\FormSubmissionMode and BackedEnum will always evaluate to true\.$#' + identifier: instanceof.alwaysTrue + count: 1 + path: app/Http/Resources/FormBuilder/FormSchemaResource.php + + - + message: '#^Parameter \#2 \$fields of method App\\Services\\FormBuilder\\FieldAccessService\:\:filterVisibleFields\(\) expects Illuminate\\Support\\Collection\, Illuminate\\Database\\Eloquent\\Collection\ given\.$#' + identifier: argument.type + count: 1 + path: app/Http/Resources/FormBuilder/FormSchemaResource.php + + - + message: '#^Instanceof between App\\Enums\\FormBuilder\\FormPurpose and BackedEnum will always evaluate to true\.$#' + identifier: instanceof.alwaysTrue + count: 1 + path: app/Http/Resources/FormBuilder/FormSchemaSummaryResource.php + + - + message: '#^Instanceof between App\\Enums\\FormBuilder\\FormSubmissionMode and BackedEnum will always evaluate to true\.$#' + identifier: instanceof.alwaysTrue + count: 1 + path: app/Http/Resources/FormBuilder/FormSchemaSummaryResource.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$delegated_by_user_id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/FormBuilder/FormSubmissionResource.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$delegated_to_user_id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/FormBuilder/FormSubmissionResource.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$field\.$#' + identifier: property.notFound + count: 2 + path: app/Http/Resources/FormBuilder/FormSubmissionResource.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$form_schema_section_id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/FormBuilder/FormSubmissionResource.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$granted_at\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/FormBuilder/FormSubmissionResource.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/FormBuilder/FormSubmissionResource.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$message\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/FormBuilder/FormSubmissionResource.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$reviewed_at\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/FormBuilder/FormSubmissionResource.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$revoked_at\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/FormBuilder/FormSubmissionResource.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$status\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/FormBuilder/FormSubmissionResource.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$submitted_at\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/FormBuilder/FormSubmissionResource.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$value\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/FormBuilder/FormSubmissionResource.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$value_anonymised\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/FormBuilder/FormSubmissionResource.php + + - + message: '#^Instanceof between App\\Enums\\FormBuilder\\FormSubmissionStatus and BackedEnum will always evaluate to true\.$#' + identifier: instanceof.alwaysTrue + count: 1 + path: app/Http/Resources/FormBuilder/FormSubmissionResource.php + + - + message: '#^Instanceof between string and BackedEnum will always evaluate to false\.$#' + identifier: instanceof.alwaysFalse + count: 1 + path: app/Http/Resources/FormBuilder/FormSubmissionResource.php + + - + message: '#^Parameter \#1 \$callback of method Illuminate\\Database\\Eloquent\\Collection\\:\:map\(\) contains unresolvable type\.$#' + identifier: argument.unresolvableType + count: 2 + path: app/Http/Resources/FormBuilder/FormSubmissionResource.php + + - + message: '#^Return type of call to method Illuminate\\Database\\Eloquent\\Collection\\:\:map\(\) contains unresolvable type\.$#' + identifier: method.unresolvableReturnType + count: 2 + path: app/Http/Resources/FormBuilder/FormSubmissionResource.php + + - + message: '#^Unable to resolve the template type TMapValue in call to method Illuminate\\Database\\Eloquent\\Collection\\:\:map\(\)$#' + identifier: argument.templateType + count: 1 + path: app/Http/Resources/FormBuilder/FormSubmissionResource.php + + - + message: '#^Instanceof between App\\Enums\\FormBuilder\\FormSubmissionStatus and BackedEnum will always evaluate to true\.$#' + identifier: instanceof.alwaysTrue + count: 1 + path: app/Http/Resources/FormBuilder/FormSubmissionSummaryResource.php + + - + message: '#^Instanceof between App\\Enums\\FormBuilder\\FormPurpose and BackedEnum will always evaluate to true\.$#' + identifier: instanceof.alwaysTrue + count: 1 + path: app/Http/Resources/FormBuilder/FormTemplateResource.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$description\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/FormBuilder/PublicFormSchemaResource.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$id\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/FormBuilder/PublicFormSchemaResource.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$is_admin_only\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/FormBuilder/PublicFormSchemaResource.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$is_portal_visible\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/FormBuilder/PublicFormSchemaResource.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$name\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/FormBuilder/PublicFormSchemaResource.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$slug\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/FormBuilder/PublicFormSchemaResource.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$sort_order\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/FormBuilder/PublicFormSchemaResource.php + + - + message: '#^Instanceof between App\\Enums\\FormBuilder\\FormFieldDisplayWidth and BackedEnum will always evaluate to true\.$#' + identifier: instanceof.alwaysTrue + count: 1 + path: app/Http/Resources/FormBuilder/PublicFormSchemaResource.php + + - + message: '#^Instanceof between App\\Enums\\FormBuilder\\FormPurpose and BackedEnum will always evaluate to true\.$#' + identifier: instanceof.alwaysTrue + count: 1 + path: app/Http/Resources/FormBuilder/PublicFormSchemaResource.php + + - + message: '#^Parameter \#1 \$callback of method Illuminate\\Database\\Eloquent\\Collection\\:\:map\(\) contains unresolvable type\.$#' + identifier: argument.unresolvableType + count: 1 + path: app/Http/Resources/FormBuilder/PublicFormSchemaResource.php + + - + message: '#^Parameter \#1 \$callback of method Illuminate\\Database\\Eloquent\\Collection\\:\:map\(\) expects callable\(Illuminate\\Database\\Eloquent\\Model, int\)\: array\{id\: string, slug\: string, field_type\: string, label\: string, help_text\: string\|null, options\: list\\}\>\|null, available_tags\: array\\>\|null, validation_rules\: array\\|null, configs\: array\\>\|null, is_required\: bool, display_width\: ''full''\|''half'', conditional_logic\: array\|null, sort_order\: int, form_schema_section_id\: string\|null\}, Closure\(App\\Models\\FormBuilder\\FormField\)\: array\{id\: string, slug\: string, field_type\: string, label\: string, help_text\: string\|null, options\: list\\}\>\|null, available_tags\: array\\>\|null, validation_rules\: array\\|null, configs\: array\\>\|null, is_required\: bool, display_width\: ''full''\|''half'', conditional_logic\: array\|null, sort_order\: int, form_schema_section_id\: string\|null\} given\.$#' + identifier: argument.type + count: 1 + path: app/Http/Resources/FormBuilder/PublicFormSchemaResource.php + + - + message: '#^Parameter \#1 \$configs of method App\\Services\\FormBuilder\\FormFieldConfigService\:\:toJsonShape\(\) expects Illuminate\\Support\\Collection\, Illuminate\\Database\\Eloquent\\Collection\ given\.$#' + identifier: argument.type + count: 2 + path: app/Http/Resources/FormBuilder/PublicFormSchemaResource.php + + - + message: '#^Parameter \#1 \$options of method App\\Services\\FormBuilder\\FormFieldOptionService\:\:toJsonShape\(\) expects Illuminate\\Support\\Collection\, Illuminate\\Database\\Eloquent\\Collection\ given\.$#' + identifier: argument.type + count: 1 + path: app/Http/Resources/FormBuilder/PublicFormSchemaResource.php + + - + message: '#^Parameter \#1 \$rules of method App\\Services\\FormBuilder\\FormFieldValidationRuleService\:\:toJsonShape\(\) expects Illuminate\\Support\\Collection\, Illuminate\\Database\\Eloquent\\Collection\ given\.$#' + identifier: argument.type + count: 1 + path: app/Http/Resources/FormBuilder/PublicFormSchemaResource.php + + - + message: '#^Parameter \#2 \$visibleFields of method App\\Http\\Resources\\FormBuilder\\PublicFormSchemaResource\:\:availableTagsByCategory\(\) expects Illuminate\\Support\\Collection\, Illuminate\\Database\\Eloquent\\Collection\ given\.$#' + identifier: argument.type + count: 1 + path: app/Http/Resources/FormBuilder/PublicFormSchemaResource.php + + - + message: '#^Return type of call to method Illuminate\\Database\\Eloquent\\Collection\\:\:map\(\) contains unresolvable type\.$#' + identifier: method.unresolvableReturnType + count: 1 + path: app/Http/Resources/FormBuilder/PublicFormSchemaResource.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$field\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/FormBuilder/PublicFormSubmissionResource.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$value\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/FormBuilder/PublicFormSubmissionResource.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$value_anonymised\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/FormBuilder/PublicFormSubmissionResource.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$version\.$#' + identifier: property.notFound + count: 1 + path: app/Http/Resources/FormBuilder/PublicFormSubmissionResource.php + + - + message: '#^Instanceof between App\\Enums\\FormBuilder\\FormSubmissionStatus and BackedEnum will always evaluate to true\.$#' + identifier: instanceof.alwaysTrue + count: 1 + path: app/Http/Resources/FormBuilder/PublicFormSubmissionResource.php + + - + message: '#^Instanceof between string and BackedEnum will always evaluate to false\.$#' + identifier: instanceof.alwaysFalse + count: 1 + path: app/Http/Resources/FormBuilder/PublicFormSubmissionResource.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$is_active\.$#' + identifier: property.notFound + count: 1 + path: app/Jobs/FormBuilder/DeliverFormWebhookJob.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$url\.$#' + identifier: property.notFound + count: 1 + path: app/Jobs/FormBuilder/DeliverFormWebhookJob.php + + - + message: '#^Property App\\Models\\FormBuilder\\FormWebhookDelivery\:\:\$status \(App\\Enums\\FormBuilder\\FormWebhookDeliveryStatus\) does not accept string\.$#' + identifier: assign.propertyType + count: 7 + path: app/Jobs/FormBuilder/DeliverFormWebhookJob.php + + - + message: '#^Method App\\Jobs\\SendTransactionalEmail\:\:__construct\(\) has parameter \$branding with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Jobs/SendTransactionalEmail.php + + - + message: '#^Method App\\Jobs\\SendTransactionalEmail\:\:__construct\(\) has parameter \$template with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Jobs/SendTransactionalEmail.php + + - + message: '#^Strict comparison using \=\=\= between string and App\\Enums\\EmailLogStatus\:\:SENT will always evaluate to false\.$#' + identifier: identical.alwaysFalse + count: 1 + path: app/Jobs/SendTransactionalEmail.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$id\.$#' + identifier: property.notFound + count: 1 + path: app/Listeners/FormBuilder/SyncTagPickerSelectionsOnSubmit.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$purpose\.$#' + identifier: property.notFound + count: 1 + path: app/Listeners/FormBuilder/SyncTagPickerSelectionsOnSubmit.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$purpose\.$#' + identifier: property.notFound + count: 1 + path: app/Listeners/FormBuilder/TriggerPersonIdentityMatchOnFormSubmit.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$name\.$#' + identifier: property.notFound + count: 2 + path: app/Mail/InvitationMail.php + + - + message: '#^Parameter \#1 \$organisation of method App\\Mail\\CrewliMailable\:\:__construct\(\) expects App\\Models\\Organisation, Illuminate\\Database\\Eloquent\\Model\|null given\.$#' + identifier: argument.type + count: 1 + path: app/Mail/InvitationMail.php + + - + message: '#^Using nullsafe property access "\?\-\>name" on left side of \?\? is unnecessary\. Use \-\> instead\.$#' + identifier: nullsafe.neverNull + count: 1 + path: app/Mail/InvitationMail.php + + - + message: '#^Parameter \#1 \$organisation of method App\\Mail\\CrewliMailable\:\:__construct\(\) expects App\\Models\\Organisation, Illuminate\\Database\\Eloquent\\Model\|null given\.$#' + identifier: argument.type + count: 1 + path: app/Mail/RegistrationApprovedMail.php + + - + message: '#^Parameter \#1 \$organisation of method App\\Mail\\CrewliMailable\:\:__construct\(\) expects App\\Models\\Organisation, Illuminate\\Database\\Eloquent\\Model\|null given\.$#' + identifier: argument.type + count: 1 + path: app/Mail/RegistrationConfirmationMail.php + + - + message: '#^Parameter \#1 \$organisation of method App\\Mail\\CrewliMailable\:\:__construct\(\) expects App\\Models\\Organisation, Illuminate\\Database\\Eloquent\\Model\|null given\.$#' + identifier: argument.type + count: 1 + path: app/Mail/RegistrationRejectedMail.php + + - + message: '#^Method App\\Mail\\TransactionalMail\:\:__construct\(\) has parameter \$branding with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Mail/TransactionalMail.php + + - + message: '#^Method App\\Mail\\TransactionalMail\:\:__construct\(\) has parameter \$template with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Mail/TransactionalMail.php + + - + message: '#^Class App\\Models\\Company uses generic trait Illuminate\\Database\\Eloquent\\Factories\\HasFactory but does not specify its types\: TFactory$#' + identifier: missingType.generics + count: 1 + path: app/Models/Company.php + + - + message: '#^Method App\\Models\\Company\:\:organisation\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Company.php + + - + message: '#^Method App\\Models\\Company\:\:persons\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Company.php + + - + message: '#^Method App\\Models\\Company\:\:scopeOrdered\(\) return type with generic class Illuminate\\Database\\Eloquent\\Builder does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Company.php + + - + message: '#^Class App\\Models\\CrowdList uses generic trait Illuminate\\Database\\Eloquent\\Factories\\HasFactory but does not specify its types\: TFactory$#' + identifier: missingType.generics + count: 1 + path: app/Models/CrowdList.php + + - + message: '#^Method App\\Models\\CrowdList\:\:crowdType\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/CrowdList.php + + - + message: '#^Method App\\Models\\CrowdList\:\:event\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/CrowdList.php + + - + message: '#^Method App\\Models\\CrowdList\:\:persons\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsToMany does not specify its types\: TRelatedModel, TDeclaringModel, TPivotModel, TAccessor \(2\-4 required\)$#' + identifier: missingType.generics + count: 1 + path: app/Models/CrowdList.php + + - + message: '#^Method App\\Models\\CrowdList\:\:recipientCompany\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/CrowdList.php + + - + message: '#^Class App\\Models\\CrowdType uses generic trait Illuminate\\Database\\Eloquent\\Factories\\HasFactory but does not specify its types\: TFactory$#' + identifier: missingType.generics + count: 1 + path: app/Models/CrowdType.php + + - + message: '#^Method App\\Models\\CrowdType\:\:organisation\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/CrowdType.php + + - + message: '#^Method App\\Models\\CrowdType\:\:persons\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/CrowdType.php + + - + message: '#^Cannot call method isPast\(\) on string\.$#' + identifier: method.nonObject + count: 1 + path: app/Models/EmailChangeRequest.php + + - + message: '#^Method App\\Models\\EmailChangeRequest\:\:requestedBy\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/EmailChangeRequest.php + + - + message: '#^Method App\\Models\\EmailChangeRequest\:\:scopePending\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Models/EmailChangeRequest.php + + - + message: '#^Method App\\Models\\EmailChangeRequest\:\:scopePending\(\) has parameter \$query with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: app/Models/EmailChangeRequest.php + + - + message: '#^Method App\\Models\\EmailChangeRequest\:\:user\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/EmailChangeRequest.php + + - + message: '#^Class App\\Models\\EmailLog uses generic trait Illuminate\\Database\\Eloquent\\Factories\\HasFactory but does not specify its types\: TFactory$#' + identifier: missingType.generics + count: 1 + path: app/Models/EmailLog.php + + - + message: '#^Method App\\Models\\EmailLog\:\:event\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/EmailLog.php + + - + message: '#^Method App\\Models\\EmailLog\:\:organisation\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/EmailLog.php + + - + message: '#^Method App\\Models\\EmailLog\:\:person\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/EmailLog.php + + - + message: '#^Method App\\Models\\EmailLog\:\:triggeredBy\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/EmailLog.php + + - + message: '#^Method App\\Models\\EmailLog\:\:user\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/EmailLog.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Builder\:\:withChildren\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Models/Event.php + + - + message: '#^Class App\\Models\\Event uses generic trait Illuminate\\Database\\Eloquent\\Factories\\HasFactory but does not specify its types\: TFactory$#' + identifier: missingType.generics + count: 1 + path: app/Models/Event.php + + - + message: '#^Method App\\Models\\Event\:\:children\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Event.php + + - + message: '#^Method App\\Models\\Event\:\:crowdLists\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Event.php + + - + message: '#^Method App\\Models\\Event\:\:festivalSections\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Event.php + + - + message: '#^Method App\\Models\\Event\:\:formSchemas\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\MorphMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Event.php + + - + message: '#^Method App\\Models\\Event\:\:getAllRelevantTimeSlots\(\) return type with generic class Illuminate\\Support\\Collection does not specify its types\: TKey, TValue$#' + identifier: missingType.generics + count: 1 + path: app/Models/Event.php + + - + message: '#^Method App\\Models\\Event\:\:invitations\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Event.php + + - + message: '#^Method App\\Models\\Event\:\:locations\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Event.php + + - + message: '#^Method App\\Models\\Event\:\:organisation\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Event.php + + - + message: '#^Method App\\Models\\Event\:\:parent\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Event.php + + - + message: '#^Method App\\Models\\Event\:\:persons\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Event.php + + - + message: '#^Method App\\Models\\Event\:\:scopeActive\(\) has parameter \$query with generic class Illuminate\\Database\\Eloquent\\Builder but does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Event.php + + - + message: '#^Method App\\Models\\Event\:\:scopeActive\(\) return type with generic class Illuminate\\Database\\Eloquent\\Builder does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Event.php + + - + message: '#^Method App\\Models\\Event\:\:scopeChildren\(\) has parameter \$query with generic class Illuminate\\Database\\Eloquent\\Builder but does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Event.php + + - + message: '#^Method App\\Models\\Event\:\:scopeChildren\(\) return type with generic class Illuminate\\Database\\Eloquent\\Builder does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Event.php + + - + message: '#^Method App\\Models\\Event\:\:scopeDraft\(\) has parameter \$query with generic class Illuminate\\Database\\Eloquent\\Builder but does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Event.php + + - + message: '#^Method App\\Models\\Event\:\:scopeDraft\(\) return type with generic class Illuminate\\Database\\Eloquent\\Builder does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Event.php + + - + message: '#^Method App\\Models\\Event\:\:scopeFestivals\(\) has parameter \$query with generic class Illuminate\\Database\\Eloquent\\Builder but does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Event.php + + - + message: '#^Method App\\Models\\Event\:\:scopeFestivals\(\) return type with generic class Illuminate\\Database\\Eloquent\\Builder does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Event.php + + - + message: '#^Method App\\Models\\Event\:\:scopeForFestival\(\) has parameter \$query with generic class Illuminate\\Database\\Eloquent\\Builder but does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Event.php + + - + message: '#^Method App\\Models\\Event\:\:scopeForFestival\(\) return type with generic class Illuminate\\Database\\Eloquent\\Builder does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Event.php + + - + message: '#^Method App\\Models\\Event\:\:scopePublished\(\) has parameter \$query with generic class Illuminate\\Database\\Eloquent\\Builder but does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Event.php + + - + message: '#^Method App\\Models\\Event\:\:scopePublished\(\) return type with generic class Illuminate\\Database\\Eloquent\\Builder does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Event.php + + - + message: '#^Method App\\Models\\Event\:\:scopeTopLevel\(\) has parameter \$query with generic class Illuminate\\Database\\Eloquent\\Builder but does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Event.php + + - + message: '#^Method App\\Models\\Event\:\:scopeTopLevel\(\) return type with generic class Illuminate\\Database\\Eloquent\\Builder does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Event.php + + - + message: '#^Method App\\Models\\Event\:\:scopeWithChildren\(\) has parameter \$query with generic class Illuminate\\Database\\Eloquent\\Builder but does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Event.php + + - + message: '#^Method App\\Models\\Event\:\:scopeWithChildren\(\) return type with generic class Illuminate\\Database\\Eloquent\\Builder does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Event.php + + - + message: '#^Method App\\Models\\Event\:\:scopeWithOperationalContext\(\) has parameter \$query with generic class Illuminate\\Database\\Eloquent\\Builder but does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Event.php + + - + message: '#^Method App\\Models\\Event\:\:scopeWithOperationalContext\(\) return type with generic class Illuminate\\Database\\Eloquent\\Builder does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Event.php + + - + message: '#^Method App\\Models\\Event\:\:timeSlots\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Event.php + + - + message: '#^Method App\\Models\\Event\:\:users\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsToMany does not specify its types\: TRelatedModel, TDeclaringModel, TPivotModel, TAccessor \(2\-4 required\)$#' + identifier: missingType.generics + count: 1 + path: app/Models/Event.php + + - + message: '#^Offset ''buildup''\|''closed''\|''draft''\|''published''\|''registration_open''\|''showday''\|''teardown'' on array\{draft\: array\{''published''\}, published\: array\{''registration_open'', ''draft''\}, registration_open\: array\{''buildup'', ''published''\}, buildup\: array\{''showday''\}, showday\: array\{''teardown''\}, teardown\: array\{''closed''\}, closed\: array\{\}\} on left side of \?\? always exists and is not nullable\.$#' + identifier: nullCoalesce.offset + count: 1 + path: app/Models/Event.php + + - + message: '#^Class App\\Models\\FestivalSection uses generic trait Illuminate\\Database\\Eloquent\\Factories\\HasFactory but does not specify its types\: TFactory$#' + identifier: missingType.generics + count: 1 + path: app/Models/FestivalSection.php + + - + message: '#^Method App\\Models\\FestivalSection\:\:event\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FestivalSection.php + + - + message: '#^Method App\\Models\\FestivalSection\:\:scopeOrdered\(\) has parameter \$query with generic class Illuminate\\Database\\Eloquent\\Builder but does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FestivalSection.php + + - + message: '#^Method App\\Models\\FestivalSection\:\:scopeOrdered\(\) return type with generic class Illuminate\\Database\\Eloquent\\Builder does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FestivalSection.php + + - + message: '#^Method App\\Models\\FestivalSection\:\:shifts\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FestivalSection.php + + - + message: '#^Class App\\Models\\FormBuilder\\FormField uses generic trait Illuminate\\Database\\Eloquent\\Factories\\HasFactory but does not specify its types\: TFactory$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormField.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormField\:\:bindings\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\MorphMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormField.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormField\:\:conditionalLogicGroups\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormField.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormField\:\:configs\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\MorphMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormField.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormField\:\:libraryField\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormField.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormField\:\:options\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\MorphMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormField.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormField\:\:rootConditionalLogicGroup\(\) should return App\\Models\\FormBuilder\\FormFieldConditionalLogicGroup\|null but returns Illuminate\\Database\\Eloquent\\Model\|null\.$#' + identifier: return.type + count: 1 + path: app/Models/FormBuilder/FormField.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormField\:\:schema\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormField.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormField\:\:section\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormField.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormField\:\:validationRules\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\MorphMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormField.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormField\:\:values\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormField.php + + - + message: '#^Class App\\Models\\FormBuilder\\FormFieldBinding uses generic trait Illuminate\\Database\\Eloquent\\Factories\\HasFactory but does not specify its types\: TFactory$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormFieldBinding.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormFieldBinding\:\:owner\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\MorphTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormFieldBinding.php + + - + message: '#^Class App\\Models\\FormBuilder\\FormFieldConditionalLogicCondition uses generic trait Illuminate\\Database\\Eloquent\\Factories\\HasFactory but does not specify its types\: TFactory$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormFieldConditionalLogicCondition.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormFieldConditionalLogicCondition\:\:group\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormFieldConditionalLogicCondition.php + + - + message: '#^Class App\\Models\\FormBuilder\\FormFieldConditionalLogicGroup uses generic trait Illuminate\\Database\\Eloquent\\Factories\\HasFactory but does not specify its types\: TFactory$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormFieldConditionalLogicGroup.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormFieldConditionalLogicGroup\:\:childGroups\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormFieldConditionalLogicGroup.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormFieldConditionalLogicGroup\:\:conditions\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormFieldConditionalLogicGroup.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormFieldConditionalLogicGroup\:\:formField\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormFieldConditionalLogicGroup.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormFieldConditionalLogicGroup\:\:parentGroup\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormFieldConditionalLogicGroup.php + + - + message: '#^Class App\\Models\\FormBuilder\\FormFieldConfig uses generic trait Illuminate\\Database\\Eloquent\\Factories\\HasFactory but does not specify its types\: TFactory$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormFieldConfig.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormFieldConfig\:\:owner\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\MorphTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormFieldConfig.php + + - + message: '#^Class App\\Models\\FormBuilder\\FormFieldLibrary uses generic trait Illuminate\\Database\\Eloquent\\Factories\\HasFactory but does not specify its types\: TFactory$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormFieldLibrary.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormFieldLibrary\:\:bindings\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\MorphMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormFieldLibrary.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormFieldLibrary\:\:configs\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\MorphMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormFieldLibrary.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormFieldLibrary\:\:fields\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormFieldLibrary.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormFieldLibrary\:\:options\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\MorphMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormFieldLibrary.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormFieldLibrary\:\:organisation\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormFieldLibrary.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormFieldLibrary\:\:validationRules\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\MorphMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormFieldLibrary.php + + - + message: '#^Class App\\Models\\FormBuilder\\FormFieldOption uses generic trait Illuminate\\Database\\Eloquent\\Factories\\HasFactory but does not specify its types\: TFactory$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormFieldOption.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormFieldOption\:\:owner\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\MorphTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormFieldOption.php + + - + message: '#^Class App\\Models\\FormBuilder\\FormFieldValidationRule uses generic trait Illuminate\\Database\\Eloquent\\Factories\\HasFactory but does not specify its types\: TFactory$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormFieldValidationRule.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormFieldValidationRule\:\:owner\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\MorphTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormFieldValidationRule.php + + - + message: '#^Class App\\Models\\FormBuilder\\FormSchema uses generic trait Illuminate\\Database\\Eloquent\\Factories\\HasFactory but does not specify its types\: TFactory$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormSchema.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormSchema\:\:createdBy\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormSchema.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormSchema\:\:editLockUser\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormSchema.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormSchema\:\:fields\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormSchema.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormSchema\:\:lastUpdatedBy\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormSchema.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormSchema\:\:organisation\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormSchema.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormSchema\:\:owner\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\MorphTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormSchema.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormSchema\:\:sections\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormSchema.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormSchema\:\:submissions\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormSchema.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormSchema\:\:webhooks\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormSchema.php + + - + message: '#^Class App\\Models\\FormBuilder\\FormSchemaSection uses generic trait Illuminate\\Database\\Eloquent\\Factories\\HasFactory but does not specify its types\: TFactory$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormSchemaSection.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormSchemaSection\:\:dependsOnSection\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormSchemaSection.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormSchemaSection\:\:fields\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormSchemaSection.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormSchemaSection\:\:schema\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormSchemaSection.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormSchemaSection\:\:submissionStatuses\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormSchemaSection.php + + - + message: '#^Class App\\Models\\FormBuilder\\FormSchemaWebhook uses generic trait Illuminate\\Database\\Eloquent\\Factories\\HasFactory but does not specify its types\: TFactory$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormSchemaWebhook.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormSchemaWebhook\:\:deliveries\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormSchemaWebhook.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormSchemaWebhook\:\:schema\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormSchemaWebhook.php + + - + message: '#^Class App\\Models\\FormBuilder\\FormSubmission uses generic trait Illuminate\\Database\\Eloquent\\Factories\\HasFactory but does not specify its types\: TFactory$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormSubmission.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormSubmission\:\:delegations\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormSubmission.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormSubmission\:\:event\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormSubmission.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormSubmission\:\:organisation\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormSubmission.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormSubmission\:\:reviewedBy\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormSubmission.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormSubmission\:\:schema\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormSubmission.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormSubmission\:\:sectionStatuses\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormSubmission.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormSubmission\:\:subject\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\MorphTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormSubmission.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormSubmission\:\:submittedBy\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormSubmission.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormSubmission\:\:values\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormSubmission.php + + - + message: '#^Class App\\Models\\FormBuilder\\FormSubmissionDelegation uses generic trait Illuminate\\Database\\Eloquent\\Factories\\HasFactory but does not specify its types\: TFactory$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormSubmissionDelegation.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormSubmissionDelegation\:\:delegatedBy\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormSubmissionDelegation.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormSubmissionDelegation\:\:delegatedTo\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormSubmissionDelegation.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormSubmissionDelegation\:\:submission\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormSubmissionDelegation.php + + - + message: '#^Class App\\Models\\FormBuilder\\FormSubmissionSectionStatus uses generic trait Illuminate\\Database\\Eloquent\\Factories\\HasFactory but does not specify its types\: TFactory$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormSubmissionSectionStatus.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormSubmissionSectionStatus\:\:reviewedBy\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormSubmissionSectionStatus.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormSubmissionSectionStatus\:\:section\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormSubmissionSectionStatus.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormSubmissionSectionStatus\:\:submission\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormSubmissionSectionStatus.php + + - + message: '#^Class App\\Models\\FormBuilder\\FormTemplate uses generic trait Illuminate\\Database\\Eloquent\\Factories\\HasFactory but does not specify its types\: TFactory$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormTemplate.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormTemplate\:\:organisation\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormTemplate.php + + - + message: '#^Class App\\Models\\FormBuilder\\FormValue uses generic trait Illuminate\\Database\\Eloquent\\Factories\\HasFactory but does not specify its types\: TFactory$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormValue.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormValue\:\:field\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormValue.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormValue\:\:options\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormValue.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormValue\:\:submission\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormValue.php + + - + message: '#^Class App\\Models\\FormBuilder\\FormValueOption uses generic trait Illuminate\\Database\\Eloquent\\Factories\\HasFactory but does not specify its types\: TFactory$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormValueOption.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormValueOption\:\:field\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormValueOption.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormValueOption\:\:submission\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormValueOption.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormValueOption\:\:value\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormValueOption.php + + - + message: '#^Class App\\Models\\FormBuilder\\FormWebhookDelivery uses generic trait Illuminate\\Database\\Eloquent\\Factories\\HasFactory but does not specify its types\: TFactory$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormWebhookDelivery.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormWebhookDelivery\:\:submission\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormWebhookDelivery.php + + - + message: '#^Method App\\Models\\FormBuilder\\FormWebhookDelivery\:\:webhook\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/FormBuilder/FormWebhookDelivery.php + + - + message: '#^Class App\\Models\\ImpersonationSession uses generic trait Illuminate\\Database\\Eloquent\\Factories\\HasFactory but does not specify its types\: TFactory$#' + identifier: missingType.generics + count: 1 + path: app/Models/ImpersonationSession.php + + - + message: '#^Method App\\Models\\ImpersonationSession\:\:admin\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/ImpersonationSession.php + + - + message: '#^Method App\\Models\\ImpersonationSession\:\:scopeActive\(\) has parameter \$query with generic class Illuminate\\Database\\Eloquent\\Builder but does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/ImpersonationSession.php + + - + message: '#^Method App\\Models\\ImpersonationSession\:\:scopeActive\(\) return type with generic class Illuminate\\Database\\Eloquent\\Builder does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/ImpersonationSession.php + + - + message: '#^Method App\\Models\\ImpersonationSession\:\:targetUser\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/ImpersonationSession.php + + - + message: '#^Class App\\Models\\Location uses generic trait Illuminate\\Database\\Eloquent\\Factories\\HasFactory but does not specify its types\: TFactory$#' + identifier: missingType.generics + count: 1 + path: app/Models/Location.php + + - + message: '#^Method App\\Models\\Location\:\:event\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Location.php + + - + message: '#^Method App\\Models\\MfaBackupCode\:\:scopeUnused\(\) has parameter \$query with generic class Illuminate\\Database\\Eloquent\\Builder but does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/MfaBackupCode.php + + - + message: '#^Method App\\Models\\MfaBackupCode\:\:scopeUnused\(\) return type with generic class Illuminate\\Database\\Eloquent\\Builder does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/MfaBackupCode.php + + - + message: '#^Method App\\Models\\MfaBackupCode\:\:user\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/MfaBackupCode.php + + - + message: '#^Method App\\Models\\MfaEmailCode\:\:scopeValid\(\) has parameter \$query with generic class Illuminate\\Database\\Eloquent\\Builder but does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/MfaEmailCode.php + + - + message: '#^Method App\\Models\\MfaEmailCode\:\:scopeValid\(\) return type with generic class Illuminate\\Database\\Eloquent\\Builder does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/MfaEmailCode.php + + - + message: '#^Method App\\Models\\MfaEmailCode\:\:user\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/MfaEmailCode.php + + - + message: '#^Class App\\Models\\Organisation uses generic trait Illuminate\\Database\\Eloquent\\Factories\\HasFactory but does not specify its types\: TFactory$#' + identifier: missingType.generics + count: 1 + path: app/Models/Organisation.php + + - + message: '#^Method App\\Models\\Organisation\:\:companies\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Organisation.php + + - + message: '#^Method App\\Models\\Organisation\:\:crowdTypes\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Organisation.php + + - + message: '#^Method App\\Models\\Organisation\:\:emailLogs\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Organisation.php + + - + message: '#^Method App\\Models\\Organisation\:\:emailSettings\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasOne does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Organisation.php + + - + message: '#^Method App\\Models\\Organisation\:\:emailTemplates\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Organisation.php + + - + message: '#^Method App\\Models\\Organisation\:\:events\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Organisation.php + + - + message: '#^Method App\\Models\\Organisation\:\:invitations\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Organisation.php + + - + message: '#^Method App\\Models\\Organisation\:\:personTags\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Organisation.php + + - + message: '#^Method App\\Models\\Organisation\:\:users\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsToMany does not specify its types\: TRelatedModel, TDeclaringModel, TPivotModel, TAccessor \(2\-4 required\)$#' + identifier: missingType.generics + count: 1 + path: app/Models/Organisation.php + + - + message: '#^Class App\\Models\\OrganisationEmailSettings uses generic trait Illuminate\\Database\\Eloquent\\Factories\\HasFactory but does not specify its types\: TFactory$#' + identifier: missingType.generics + count: 1 + path: app/Models/OrganisationEmailSettings.php + + - + message: '#^Method App\\Models\\OrganisationEmailSettings\:\:organisation\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/OrganisationEmailSettings.php + + - + message: '#^Class App\\Models\\OrganisationEmailTemplate uses generic trait Illuminate\\Database\\Eloquent\\Factories\\HasFactory but does not specify its types\: TFactory$#' + identifier: missingType.generics + count: 1 + path: app/Models/OrganisationEmailTemplate.php + + - + message: '#^Method App\\Models\\OrganisationEmailTemplate\:\:organisation\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/OrganisationEmailTemplate.php + + - + message: '#^Class App\\Models\\Person uses generic trait Illuminate\\Database\\Eloquent\\Factories\\HasFactory but does not specify its types\: TFactory$#' + identifier: missingType.generics + count: 1 + path: app/Models/Person.php + + - + message: '#^Method App\\Models\\Person\:\:company\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Person.php + + - + message: '#^Method App\\Models\\Person\:\:confirmedIdentityMatch\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasOne does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Person.php + + - + message: '#^Method App\\Models\\Person\:\:crowdLists\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsToMany does not specify its types\: TRelatedModel, TDeclaringModel, TPivotModel, TAccessor \(2\-4 required\)$#' + identifier: missingType.generics + count: 1 + path: app/Models/Person.php + + - + message: '#^Method App\\Models\\Person\:\:crowdType\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Person.php + + - + message: '#^Method App\\Models\\Person\:\:event\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Person.php + + - + message: '#^Method App\\Models\\Person\:\:formSubmissions\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\MorphMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Person.php + + - + message: '#^Method App\\Models\\Person\:\:identityMatches\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Person.php + + - + message: '#^Method App\\Models\\Person\:\:pendingIdentityMatch\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasOne does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Person.php + + - + message: '#^Method App\\Models\\Person\:\:scopeApproved\(\) has parameter \$query with generic class Illuminate\\Database\\Eloquent\\Builder but does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Person.php + + - + message: '#^Method App\\Models\\Person\:\:scopeApproved\(\) return type with generic class Illuminate\\Database\\Eloquent\\Builder does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Person.php + + - + message: '#^Method App\\Models\\Person\:\:scopeForCrowdType\(\) has parameter \$query with generic class Illuminate\\Database\\Eloquent\\Builder but does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Person.php + + - + message: '#^Method App\\Models\\Person\:\:scopeForCrowdType\(\) return type with generic class Illuminate\\Database\\Eloquent\\Builder does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Person.php + + - + message: '#^Method App\\Models\\Person\:\:scopePending\(\) has parameter \$query with generic class Illuminate\\Database\\Eloquent\\Builder but does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Person.php + + - + message: '#^Method App\\Models\\Person\:\:scopePending\(\) return type with generic class Illuminate\\Database\\Eloquent\\Builder does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Person.php + + - + message: '#^Method App\\Models\\Person\:\:sectionPreferences\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Person.php + + - + message: '#^Method App\\Models\\Person\:\:shiftAssignments\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Person.php + + - + message: '#^Method App\\Models\\Person\:\:user\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Person.php + + - + message: '#^Method App\\Models\\Person\:\:volunteerAvailabilities\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Person.php + + - + message: '#^Class App\\Models\\PersonIdentityMatch uses generic trait Illuminate\\Database\\Eloquent\\Factories\\HasFactory but does not specify its types\: TFactory$#' + identifier: missingType.generics + count: 1 + path: app/Models/PersonIdentityMatch.php + + - + message: '#^Method App\\Models\\PersonIdentityMatch\:\:confirmedBy\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/PersonIdentityMatch.php + + - + message: '#^Method App\\Models\\PersonIdentityMatch\:\:dismissedBy\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/PersonIdentityMatch.php + + - + message: '#^Method App\\Models\\PersonIdentityMatch\:\:matchedUser\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/PersonIdentityMatch.php + + - + message: '#^Method App\\Models\\PersonIdentityMatch\:\:person\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/PersonIdentityMatch.php + + - + message: '#^Method App\\Models\\PersonIdentityMatch\:\:resolvedBy\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/PersonIdentityMatch.php + + - + message: '#^Method App\\Models\\PersonIdentityMatch\:\:revertedBy\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/PersonIdentityMatch.php + + - + message: '#^Method App\\Models\\PersonIdentityMatch\:\:scopeConfirmed\(\) has parameter \$query with generic class Illuminate\\Database\\Eloquent\\Builder but does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/PersonIdentityMatch.php + + - + message: '#^Method App\\Models\\PersonIdentityMatch\:\:scopeConfirmed\(\) return type with generic class Illuminate\\Database\\Eloquent\\Builder does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/PersonIdentityMatch.php + + - + message: '#^Method App\\Models\\PersonIdentityMatch\:\:scopeDismissed\(\) has parameter \$query with generic class Illuminate\\Database\\Eloquent\\Builder but does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/PersonIdentityMatch.php + + - + message: '#^Method App\\Models\\PersonIdentityMatch\:\:scopeDismissed\(\) return type with generic class Illuminate\\Database\\Eloquent\\Builder does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/PersonIdentityMatch.php + + - + message: '#^Method App\\Models\\PersonIdentityMatch\:\:scopeForEvent\(\) has parameter \$query with generic class Illuminate\\Database\\Eloquent\\Builder but does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/PersonIdentityMatch.php + + - + message: '#^Method App\\Models\\PersonIdentityMatch\:\:scopeForEvent\(\) return type with generic class Illuminate\\Database\\Eloquent\\Builder does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/PersonIdentityMatch.php + + - + message: '#^Method App\\Models\\PersonIdentityMatch\:\:scopePending\(\) has parameter \$query with generic class Illuminate\\Database\\Eloquent\\Builder but does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/PersonIdentityMatch.php + + - + message: '#^Method App\\Models\\PersonIdentityMatch\:\:scopePending\(\) return type with generic class Illuminate\\Database\\Eloquent\\Builder does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/PersonIdentityMatch.php + + - + message: '#^Method App\\Models\\PersonSectionPreference\:\:festivalSection\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/PersonSectionPreference.php + + - + message: '#^Method App\\Models\\PersonSectionPreference\:\:person\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/PersonSectionPreference.php + + - + message: '#^Class App\\Models\\PersonTag uses generic trait Illuminate\\Database\\Eloquent\\Factories\\HasFactory but does not specify its types\: TFactory$#' + identifier: missingType.generics + count: 1 + path: app/Models/PersonTag.php + + - + message: '#^Method App\\Models\\PersonTag\:\:organisation\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/PersonTag.php + + - + message: '#^Method App\\Models\\PersonTag\:\:scopeActive\(\) has parameter \$query with generic class Illuminate\\Database\\Eloquent\\Builder but does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/PersonTag.php + + - + message: '#^Method App\\Models\\PersonTag\:\:scopeActive\(\) return type with generic class Illuminate\\Database\\Eloquent\\Builder does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/PersonTag.php + + - + message: '#^Method App\\Models\\PersonTag\:\:scopeOrdered\(\) has parameter \$query with generic class Illuminate\\Database\\Eloquent\\Builder but does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/PersonTag.php + + - + message: '#^Method App\\Models\\PersonTag\:\:scopeOrdered\(\) return type with generic class Illuminate\\Database\\Eloquent\\Builder does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/PersonTag.php + + - + message: '#^Method App\\Models\\Scopes\\OrganisationScope\:\:applyColumnFilter\(\) has parameter \$builder with generic class Illuminate\\Database\\Eloquent\\Builder but does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Scopes/OrganisationScope.php + + - + message: '#^Method App\\Models\\Scopes\\OrganisationScope\:\:applyStrategy\(\) has parameter \$builder with generic class Illuminate\\Database\\Eloquent\\Builder but does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Scopes/OrganisationScope.php + + - + message: '#^Static call to instance method stdClass\:\:tenantScopeStrategy\(\)\.$#' + identifier: method.staticCall + count: 1 + path: app/Models/Scopes/OrganisationScope.php + + - + message: '#^Access to an undefined property App\\Models\\Shift\:\:\$filled_slots\.$#' + identifier: property.notFound + count: 1 + path: app/Models/Shift.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$end_time\.$#' + identifier: property.notFound + count: 1 + path: app/Models/Shift.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$start_time\.$#' + identifier: property.notFound + count: 1 + path: app/Models/Shift.php + + - + message: '#^Class App\\Models\\Shift uses generic trait Illuminate\\Database\\Eloquent\\Factories\\HasFactory but does not specify its types\: TFactory$#' + identifier: missingType.generics + count: 1 + path: app/Models/Shift.php + + - + message: '#^Method App\\Models\\Shift\:\:assignedCrew\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Shift.php + + - + message: '#^Method App\\Models\\Shift\:\:effectiveEndTime\(\) return type with generic class Illuminate\\Database\\Eloquent\\Casts\\Attribute does not specify its types\: TGet, TSet$#' + identifier: missingType.generics + count: 1 + path: app/Models/Shift.php + + - + message: '#^Method App\\Models\\Shift\:\:effectiveStartTime\(\) return type with generic class Illuminate\\Database\\Eloquent\\Casts\\Attribute does not specify its types\: TGet, TSet$#' + identifier: missingType.generics + count: 1 + path: app/Models/Shift.php + + - + message: '#^Method App\\Models\\Shift\:\:festivalSection\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Shift.php + + - + message: '#^Method App\\Models\\Shift\:\:fillRate\(\) return type with generic class Illuminate\\Database\\Eloquent\\Casts\\Attribute does not specify its types\: TGet, TSet$#' + identifier: missingType.generics + count: 1 + path: app/Models/Shift.php + + - + message: '#^Method App\\Models\\Shift\:\:filledSlots\(\) return type with generic class Illuminate\\Database\\Eloquent\\Casts\\Attribute does not specify its types\: TGet, TSet$#' + identifier: missingType.generics + count: 1 + path: app/Models/Shift.php + + - + message: '#^Method App\\Models\\Shift\:\:location\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Shift.php + + - + message: '#^Method App\\Models\\Shift\:\:scopeDraft\(\) has parameter \$query with generic class Illuminate\\Database\\Eloquent\\Builder but does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Shift.php + + - + message: '#^Method App\\Models\\Shift\:\:scopeDraft\(\) return type with generic class Illuminate\\Database\\Eloquent\\Builder does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Shift.php + + - + message: '#^Method App\\Models\\Shift\:\:scopeFull\(\) has parameter \$query with generic class Illuminate\\Database\\Eloquent\\Builder but does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Shift.php + + - + message: '#^Method App\\Models\\Shift\:\:scopeFull\(\) return type with generic class Illuminate\\Database\\Eloquent\\Builder does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Shift.php + + - + message: '#^Method App\\Models\\Shift\:\:scopeOpen\(\) has parameter \$query with generic class Illuminate\\Database\\Eloquent\\Builder but does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Shift.php + + - + message: '#^Method App\\Models\\Shift\:\:scopeOpen\(\) return type with generic class Illuminate\\Database\\Eloquent\\Builder does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Shift.php + + - + message: '#^Method App\\Models\\Shift\:\:shiftAssignments\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Shift.php + + - + message: '#^Method App\\Models\\Shift\:\:timeSlot\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Shift.php + + - + message: '#^Method App\\Models\\Shift\:\:waitlist\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/Shift.php + + - + message: '#^Unable to resolve the template type T in call to static method Illuminate\\Database\\Eloquent\\Casts\\Attribute\\:\:get\(\)$#' + identifier: argument.templateType + count: 2 + path: app/Models/Shift.php + + - + message: '#^Cannot call method canTransitionTo\(\) on string\.$#' + identifier: method.nonObject + count: 2 + path: app/Models/ShiftAssignment.php + + - + message: '#^Class App\\Models\\ShiftAssignment uses generic trait Illuminate\\Database\\Eloquent\\Factories\\HasFactory but does not specify its types\: TFactory$#' + identifier: missingType.generics + count: 1 + path: app/Models/ShiftAssignment.php + + - + message: '#^Method App\\Models\\ShiftAssignment\:\:approvedByUser\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/ShiftAssignment.php + + - + message: '#^Method App\\Models\\ShiftAssignment\:\:assignedByUser\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/ShiftAssignment.php + + - + message: '#^Method App\\Models\\ShiftAssignment\:\:cancelledByUser\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/ShiftAssignment.php + + - + message: '#^Method App\\Models\\ShiftAssignment\:\:person\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/ShiftAssignment.php + + - + message: '#^Method App\\Models\\ShiftAssignment\:\:scopeActive\(\) has parameter \$query with generic class Illuminate\\Database\\Eloquent\\Builder but does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/ShiftAssignment.php + + - + message: '#^Method App\\Models\\ShiftAssignment\:\:scopeActive\(\) return type with generic class Illuminate\\Database\\Eloquent\\Builder does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/ShiftAssignment.php + + - + message: '#^Method App\\Models\\ShiftAssignment\:\:scopeForStatus\(\) has parameter \$query with generic class Illuminate\\Database\\Eloquent\\Builder but does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/ShiftAssignment.php + + - + message: '#^Method App\\Models\\ShiftAssignment\:\:scopeForStatus\(\) return type with generic class Illuminate\\Database\\Eloquent\\Builder does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/ShiftAssignment.php + + - + message: '#^Method App\\Models\\ShiftAssignment\:\:shift\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/ShiftAssignment.php + + - + message: '#^Method App\\Models\\ShiftAssignment\:\:timeSlot\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/ShiftAssignment.php + + - + message: '#^Class App\\Models\\ShiftWaitlist uses generic trait Illuminate\\Database\\Eloquent\\Factories\\HasFactory but does not specify its types\: TFactory$#' + identifier: missingType.generics + count: 1 + path: app/Models/ShiftWaitlist.php + + - + message: '#^Method App\\Models\\ShiftWaitlist\:\:person\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/ShiftWaitlist.php + + - + message: '#^Method App\\Models\\ShiftWaitlist\:\:shift\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/ShiftWaitlist.php + + - + message: '#^Class App\\Models\\TimeSlot uses generic trait Illuminate\\Database\\Eloquent\\Factories\\HasFactory but does not specify its types\: TFactory$#' + identifier: missingType.generics + count: 1 + path: app/Models/TimeSlot.php + + - + message: '#^Method App\\Models\\TimeSlot\:\:event\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/TimeSlot.php + + - + message: '#^Method App\\Models\\TimeSlot\:\:scopeForDate\(\) has parameter \$query with generic class Illuminate\\Database\\Eloquent\\Builder but does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/TimeSlot.php + + - + message: '#^Method App\\Models\\TimeSlot\:\:scopeForDate\(\) return type with generic class Illuminate\\Database\\Eloquent\\Builder does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/TimeSlot.php + + - + message: '#^Method App\\Models\\TimeSlot\:\:scopeForType\(\) has parameter \$query with generic class Illuminate\\Database\\Eloquent\\Builder but does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/TimeSlot.php + + - + message: '#^Method App\\Models\\TimeSlot\:\:scopeForType\(\) return type with generic class Illuminate\\Database\\Eloquent\\Builder does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/TimeSlot.php + + - + message: '#^Method App\\Models\\TimeSlot\:\:shifts\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/TimeSlot.php + + - + message: '#^Method App\\Models\\TrustedDevice\:\:scopeActive\(\) has parameter \$query with generic class Illuminate\\Database\\Eloquent\\Builder but does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/TrustedDevice.php + + - + message: '#^Method App\\Models\\TrustedDevice\:\:scopeActive\(\) return type with generic class Illuminate\\Database\\Eloquent\\Builder does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/TrustedDevice.php + + - + message: '#^Method App\\Models\\TrustedDevice\:\:user\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/TrustedDevice.php + + - + message: '#^Class App\\Models\\User uses generic trait Illuminate\\Database\\Eloquent\\Factories\\HasFactory but does not specify its types\: TFactory$#' + identifier: missingType.generics + count: 1 + path: app/Models/User.php + + - + message: '#^Method App\\Models\\User\:\:events\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsToMany does not specify its types\: TRelatedModel, TDeclaringModel, TPivotModel, TAccessor \(2\-4 required\)$#' + identifier: missingType.generics + count: 1 + path: app/Models/User.php + + - + message: '#^Method App\\Models\\User\:\:getOrCreateProfile\(\) should return App\\Models\\UserProfile but returns Illuminate\\Database\\Eloquent\\Model\.$#' + identifier: return.type + count: 1 + path: app/Models/User.php + + - + message: '#^Method App\\Models\\User\:\:identityMatches\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/User.php + + - + message: '#^Method App\\Models\\User\:\:invitations\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/User.php + + - + message: '#^Method App\\Models\\User\:\:mfaBackupCodes\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/User.php + + - + message: '#^Method App\\Models\\User\:\:mfaEmailCodes\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/User.php + + - + message: '#^Method App\\Models\\User\:\:organisationTags\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/User.php + + - + message: '#^Method App\\Models\\User\:\:organisations\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsToMany does not specify its types\: TRelatedModel, TDeclaringModel, TPivotModel, TAccessor \(2\-4 required\)$#' + identifier: missingType.generics + count: 1 + path: app/Models/User.php + + - + message: '#^Method App\\Models\\User\:\:persons\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/User.php + + - + message: '#^Method App\\Models\\User\:\:profile\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasOne does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/User.php + + - + message: '#^Method App\\Models\\User\:\:tagsForOrganisation\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/User.php + + - + message: '#^Method App\\Models\\User\:\:trustedDevices\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\HasMany does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/User.php + + - + message: '#^Cannot call method isPast\(\) on string\.$#' + identifier: method.nonObject + count: 1 + path: app/Models/UserInvitation.php + + - + message: '#^Class App\\Models\\UserInvitation uses generic trait Illuminate\\Database\\Eloquent\\Factories\\HasFactory but does not specify its types\: TFactory$#' + identifier: missingType.generics + count: 1 + path: app/Models/UserInvitation.php + + - + message: '#^Method App\\Models\\UserInvitation\:\:event\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/UserInvitation.php + + - + message: '#^Method App\\Models\\UserInvitation\:\:invitedBy\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/UserInvitation.php + + - + message: '#^Method App\\Models\\UserInvitation\:\:organisation\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/UserInvitation.php + + - + message: '#^Method App\\Models\\UserInvitation\:\:scopeExpired\(\) has parameter \$query with generic class Illuminate\\Database\\Eloquent\\Builder but does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/UserInvitation.php + + - + message: '#^Method App\\Models\\UserInvitation\:\:scopeExpired\(\) return type with generic class Illuminate\\Database\\Eloquent\\Builder does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/UserInvitation.php + + - + message: '#^Method App\\Models\\UserInvitation\:\:scopePending\(\) has parameter \$query with generic class Illuminate\\Database\\Eloquent\\Builder but does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/UserInvitation.php + + - + message: '#^Method App\\Models\\UserInvitation\:\:scopePending\(\) return type with generic class Illuminate\\Database\\Eloquent\\Builder does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/UserInvitation.php + + - + message: '#^Class App\\Models\\UserOrganisationTag uses generic trait Illuminate\\Database\\Eloquent\\Factories\\HasFactory but does not specify its types\: TFactory$#' + identifier: missingType.generics + count: 1 + path: app/Models/UserOrganisationTag.php + + - + message: '#^Method App\\Models\\UserOrganisationTag\:\:assignedBy\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/UserOrganisationTag.php + + - + message: '#^Method App\\Models\\UserOrganisationTag\:\:organisation\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/UserOrganisationTag.php + + - + message: '#^Method App\\Models\\UserOrganisationTag\:\:personTag\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/UserOrganisationTag.php + + - + message: '#^Method App\\Models\\UserOrganisationTag\:\:user\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/UserOrganisationTag.php + + - + message: '#^Class App\\Models\\UserProfile uses generic trait Illuminate\\Database\\Eloquent\\Factories\\HasFactory but does not specify its types\: TFactory$#' + identifier: missingType.generics + count: 1 + path: app/Models/UserProfile.php + + - + message: '#^Method App\\Models\\UserProfile\:\:lastSubmittedAt\(\) return type with generic class Illuminate\\Database\\Eloquent\\Casts\\Attribute does not specify its types\: TGet, TSet$#' + identifier: missingType.generics + count: 1 + path: app/Models/UserProfile.php + + - + message: '#^Method App\\Models\\UserProfile\:\:user\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/UserProfile.php + + - + message: '#^Class App\\Models\\VolunteerAvailability uses generic trait Illuminate\\Database\\Eloquent\\Factories\\HasFactory but does not specify its types\: TFactory$#' + identifier: missingType.generics + count: 1 + path: app/Models/VolunteerAvailability.php + + - + message: '#^Method App\\Models\\VolunteerAvailability\:\:person\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/VolunteerAvailability.php + + - + message: '#^Method App\\Models\\VolunteerAvailability\:\:timeSlot\(\) return type with generic class Illuminate\\Database\\Eloquent\\Relations\\BelongsTo does not specify its types\: TRelatedModel, TDeclaringModel$#' + identifier: missingType.generics + count: 1 + path: app/Models/VolunteerAvailability.php + + - + message: '#^Method App\\Notifications\\ResetPasswordNotification\:\:via\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Notifications/ResetPasswordNotification.php + + - + message: '#^Strict comparison using \=\=\= between string and null will always evaluate to false\.$#' + identifier: identical.alwaysFalse + count: 2 + path: app/Observers/FormBuilder/FormSubmissionObserver.php + + - + message: '#^Using nullsafe method call on non\-nullable type Illuminate\\Http\\Request\. Use \-\> instead\.$#' + identifier: nullsafe.neverNull + count: 1 + path: app/Observers/FormBuilder/FormSubmissionObserver.php + + - + message: '#^PHPDoc tag @var above a class has no effect\.$#' + identifier: varTag.misplaced + count: 1 + path: app/Observers/FormBuilder/FormValueObserver.php + + - + message: '#^Property App\\Models\\FormBuilder\\FormValue\:\:\$value_date \(Carbon\\Carbon\|null\) does not accept string\|null\.$#' + identifier: assign.propertyType + count: 1 + path: app/Observers/FormBuilder/FormValueObserver.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Model\:\:users\(\)\.$#' + identifier: method.notFound + count: 3 + path: app/Policies/CrowdListPolicy.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Model\:\:users\(\)\.$#' + identifier: method.notFound + count: 3 + path: app/Policies/EventPolicy.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Model\:\:users\(\)\.$#' + identifier: method.notFound + count: 2 + path: app/Policies/FestivalSectionPolicy.php + + - + message: '#^Parameter \#2 \$organisation of method App\\Policies\\FormBuilder\\FormFieldLibraryPolicy\:\:belongsToOrg\(\) expects App\\Models\\Organisation\|null, Illuminate\\Database\\Eloquent\\Model\|null given\.$#' + identifier: argument.type + count: 1 + path: app/Policies/FormBuilder/FormFieldLibraryPolicy.php + + - + message: '#^Parameter \#2 \$organisation of method App\\Policies\\FormBuilder\\FormFieldLibraryPolicy\:\:canManage\(\) expects App\\Models\\Organisation\|null, Illuminate\\Database\\Eloquent\\Model\|null given\.$#' + identifier: argument.type + count: 2 + path: app/Policies/FormBuilder/FormFieldLibraryPolicy.php + + - + message: '#^Parameter \#2 \$schema of method App\\Policies\\FormBuilder\\FormSchemaPolicy\:\:update\(\) expects App\\Models\\FormBuilder\\FormSchema, Illuminate\\Database\\Eloquent\\Model\|null given\.$#' + identifier: argument.type + count: 2 + path: app/Policies/FormBuilder/FormFieldPolicy.php + + - + message: '#^Parameter \#2 \$schema of method App\\Policies\\FormBuilder\\FormSchemaPolicy\:\:view\(\) expects App\\Models\\FormBuilder\\FormSchema, Illuminate\\Database\\Eloquent\\Model\|null given\.$#' + identifier: argument.type + count: 1 + path: app/Policies/FormBuilder/FormFieldPolicy.php + + - + message: '#^Parameter \#2 \$organisation of method App\\Policies\\FormBuilder\\FormSchemaPolicy\:\:belongsToOrg\(\) expects App\\Models\\Organisation\|null, Illuminate\\Database\\Eloquent\\Model\|null given\.$#' + identifier: argument.type + count: 1 + path: app/Policies/FormBuilder/FormSchemaPolicy.php + + - + message: '#^Parameter \#2 \$organisation of method App\\Policies\\FormBuilder\\FormSchemaPolicy\:\:canManageOrg\(\) expects App\\Models\\Organisation, Illuminate\\Database\\Eloquent\\Model\|null given\.$#' + identifier: argument.type + count: 1 + path: app/Policies/FormBuilder/FormSchemaPolicy.php + + - + message: '#^Parameter \#2 \$schema of method App\\Policies\\FormBuilder\\FormSchemaPolicy\:\:update\(\) expects App\\Models\\FormBuilder\\FormSchema, Illuminate\\Database\\Eloquent\\Model\|null given\.$#' + identifier: argument.type + count: 2 + path: app/Policies/FormBuilder/FormSchemaWebhookPolicy.php + + - + message: '#^Parameter \#2 \$schema of method App\\Policies\\FormBuilder\\FormSchemaPolicy\:\:view\(\) expects App\\Models\\FormBuilder\\FormSchema, Illuminate\\Database\\Eloquent\\Model\|null given\.$#' + identifier: argument.type + count: 1 + path: app/Policies/FormBuilder/FormSchemaWebhookPolicy.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$organisation\.$#' + identifier: property.notFound + count: 3 + path: app/Policies/FormBuilder/FormSubmissionPolicy.php + + - + message: '#^Parameter \#2 \$submission of method App\\Policies\\FormBuilder\\FormSubmissionPolicy\:\:isSubjectSelf\(\) expects App\\Models\\FormBuilder\\FormSubmission, Illuminate\\Database\\Eloquent\\Model given\.$#' + identifier: argument.type + count: 1 + path: app/Policies/FormBuilder/FormSubmissionPolicy.php + + - + message: '#^Parameter \#2 \$organisation of method App\\Policies\\FormBuilder\\FormTemplatePolicy\:\:belongsToOrg\(\) expects App\\Models\\Organisation\|null, Illuminate\\Database\\Eloquent\\Model\|null given\.$#' + identifier: argument.type + count: 1 + path: app/Policies/FormBuilder/FormTemplatePolicy.php + + - + message: '#^Parameter \#2 \$organisation of method App\\Policies\\FormBuilder\\FormTemplatePolicy\:\:canManage\(\) expects App\\Models\\Organisation\|null, Illuminate\\Database\\Eloquent\\Model\|null given\.$#' + identifier: argument.type + count: 2 + path: app/Policies/FormBuilder/FormTemplatePolicy.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Model\:\:users\(\)\.$#' + identifier: method.notFound + count: 2 + path: app/Policies/LocationPolicy.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$event\.$#' + identifier: property.notFound + count: 2 + path: app/Policies/PersonIdentityMatchPolicy.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Model\:\:users\(\)\.$#' + identifier: method.notFound + count: 3 + path: app/Policies/PersonPolicy.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$festivalSection\.$#' + identifier: property.notFound + count: 3 + path: app/Policies/ShiftAssignmentPolicy.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$user_id\.$#' + identifier: property.notFound + count: 1 + path: app/Policies/ShiftAssignmentPolicy.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Model\:\:users\(\)\.$#' + identifier: method.notFound + count: 2 + path: app/Policies/ShiftAssignmentPolicy.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Model\:\:users\(\)\.$#' + identifier: method.notFound + count: 3 + path: app/Policies/ShiftPolicy.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Model\:\:users\(\)\.$#' + identifier: method.notFound + count: 2 + path: app/Policies/TimeSlotPolicy.php + + - + message: '#^Method App\\Services\\CrowdListService\:\:create\(\) has parameter \$data with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Services/CrowdListService.php + + - + message: '#^Method App\\Services\\CrowdListService\:\:create\(\) should return App\\Models\\CrowdList but returns Illuminate\\Database\\Eloquent\\Model\.$#' + identifier: return.type + count: 1 + path: app/Services/CrowdListService.php + + - + message: '#^Method App\\Services\\CrowdListService\:\:update\(\) has parameter \$data with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Services/CrowdListService.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$email\.$#' + identifier: property.notFound + count: 1 + path: app/Services/EmailChangeService.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$id\.$#' + identifier: property.notFound + count: 1 + path: app/Services/EmailChangeService.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Model\:\:tokens\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Services/EmailChangeService.php + + - + message: '#^Parameter \$organisation of method App\\Services\\EmailService\:\:send\(\) expects App\\Models\\Organisation\|null, \(Illuminate\\Database\\Eloquent\\Model&object\{pivot\: Illuminate\\Database\\Eloquent\\Relations\\Pivot\}\)\|null given\.$#' + identifier: argument.type + count: 1 + path: app/Services/EmailChangeService.php + + - + message: '#^Parameter \$user of class App\\Mail\\EmailChangedConfirmationMail constructor expects App\\Models\\User, Illuminate\\Database\\Eloquent\\Model\|null given\.$#' + identifier: argument.type + count: 1 + path: app/Services/EmailChangeService.php + + - + message: '#^Method App\\Services\\EmailService\:\:getAllTemplates\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Services/EmailService.php + + - + message: '#^Method App\\Services\\EmailService\:\:send\(\) has parameter \$variables with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Services/EmailService.php + + - + message: '#^Method App\\Services\\EmailService\:\:substituteVariables\(\) has parameter \$template with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Services/EmailService.php + + - + message: '#^Method App\\Services\\EmailService\:\:substituteVariables\(\) has parameter \$variables with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Services/EmailService.php + + - + message: '#^Method App\\Services\\EmailService\:\:substituteVariables\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Services/EmailService.php + + - + message: '#^Method App\\Services\\FormBuilder\\FilterQueryBuilder\:\:apply\(\) has parameter \$query with generic class Illuminate\\Database\\Eloquent\\Builder but does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Services/FormBuilder/FilterQueryBuilder.php + + - + message: '#^Method App\\Services\\FormBuilder\\FilterQueryBuilder\:\:apply\(\) return type with generic class Illuminate\\Database\\Eloquent\\Builder does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Services/FormBuilder/FilterQueryBuilder.php + + - + message: '#^Method App\\Services\\FormBuilder\\FilterQueryBuilder\:\:applyEntityColumn\(\) has parameter \$query with generic class Illuminate\\Database\\Eloquent\\Builder but does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Services/FormBuilder/FilterQueryBuilder.php + + - + message: '#^Method App\\Services\\FormBuilder\\FilterQueryBuilder\:\:applyFormFieldFilter\(\) has parameter \$query with generic class Illuminate\\Database\\Eloquent\\Builder but does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Services/FormBuilder/FilterQueryBuilder.php + + - + message: '#^Method App\\Services\\FormBuilder\\FilterQueryBuilder\:\:applyTagFilter\(\) has parameter \$query with generic class Illuminate\\Database\\Eloquent\\Builder but does not specify its types\: TModel$#' + identifier: missingType.generics + count: 1 + path: app/Services/FormBuilder/FilterQueryBuilder.php + + - + message: '#^Offset ''form_field_id'' on array\{source\: string, label\?\: string, field_type\?\: string, options\?\: mixed, options_enum\?\: string\} on left side of \?\? does not exist\.$#' + identifier: nullCoalesce.offset + count: 1 + path: app/Services/FormBuilder/FilterQueryBuilder.php + + - + message: '#^Instanceof between App\\Enums\\FormBuilder\\FormFieldBindingMergeStrategy and App\\Enums\\FormBuilder\\FormFieldBindingMergeStrategy will always evaluate to true\.$#' + identifier: instanceof.alwaysTrue + count: 1 + path: app/Services/FormBuilder/FormFieldBindingService.php + + - + message: '#^Instanceof between App\\Enums\\FormBuilder\\FormFieldBindingMode and App\\Enums\\FormBuilder\\FormFieldBindingMode will always evaluate to true\.$#' + identifier: instanceof.alwaysTrue + count: 2 + path: app/Services/FormBuilder/FormFieldBindingService.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$field_slug\.$#' + identifier: property.notFound + count: 1 + path: app/Services/FormBuilder/FormFieldConditionalLogicService.php + + - + message: '#^Instanceof between App\\Enums\\FormBuilder\\FormFieldConditionalLogicConditionOperator and App\\Enums\\FormBuilder\\FormFieldConditionalLogicConditionOperator will always evaluate to true\.$#' + identifier: instanceof.alwaysTrue + count: 1 + path: app/Services/FormBuilder/FormFieldConditionalLogicService.php + + - + message: '#^Instanceof between App\\Enums\\FormBuilder\\FormFieldConditionalLogicGroupOperator and App\\Enums\\FormBuilder\\FormFieldConditionalLogicGroupOperator will always evaluate to true\.$#' + identifier: instanceof.alwaysTrue + count: 1 + path: app/Services/FormBuilder/FormFieldConditionalLogicService.php + + - + message: '#^Method App\\Services\\FormBuilder\\FormFieldConditionalLogicService\:\:logicFor\(\) should return App\\Models\\FormBuilder\\FormFieldConditionalLogicGroup\|null but returns Illuminate\\Database\\Eloquent\\Model\|null\.$#' + identifier: return.type + count: 1 + path: app/Services/FormBuilder/FormFieldConditionalLogicService.php + + - + message: '#^Method App\\Services\\FormBuilder\\FormFieldConditionalLogicService\:\:toJsonShape\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Services/FormBuilder/FormFieldConditionalLogicService.php + + - + message: '#^Offset ''field_slug'' on non\-empty\-array\ on left side of \?\? always exists and is not nullable\.$#' + identifier: nullCoalesce.offset + count: 1 + path: app/Services/FormBuilder/FormFieldConditionalLogicService.php + + - + message: '#^Parameter \#1 \$callback of method Illuminate\\Database\\Eloquent\\Collection\\:\:map\(\) expects callable\(Illuminate\\Database\\Eloquent\\Model, int\)\: array\{node\: array\, sort_order\: int, id\: string\}, Closure\(App\\Models\\FormBuilder\\FormFieldConditionalLogicCondition\)\: array\{node\: array\, sort_order\: int, id\: string\} given\.$#' + identifier: argument.type + count: 1 + path: app/Services/FormBuilder/FormFieldConditionalLogicService.php + + - + message: '#^Parameter \#1 \$callback of method Illuminate\\Database\\Eloquent\\Collection\\:\:map\(\) expects callable\(Illuminate\\Database\\Eloquent\\Model, int\)\: array\{node\: array\, sort_order\: int, id\: string\}, Closure\(App\\Models\\FormBuilder\\FormFieldConditionalLogicGroup\)\: array\{node\: array\, sort_order\: int, id\: string\} given\.$#' + identifier: argument.type + count: 1 + path: app/Services/FormBuilder/FormFieldConditionalLogicService.php + + - + message: '#^Parameter \#1 \$group of closure expects App\\Models\\FormBuilder\\FormFieldConditionalLogicGroup, Illuminate\\Database\\Eloquent\\Model given\.$#' + identifier: argument.type + count: 1 + path: app/Services/FormBuilder/FormFieldConditionalLogicService.php + + - + message: '#^Instanceof between App\\Enums\\FormBuilder\\FormFieldConfigType and App\\Enums\\FormBuilder\\FormFieldConfigType will always evaluate to true\.$#' + identifier: instanceof.alwaysTrue + count: 2 + path: app/Services/FormBuilder/FormFieldConfigService.php + + - + message: '#^Call to function is_array\(\) with array\ will always evaluate to true\.$#' + identifier: function.alreadyNarrowedType + count: 1 + path: app/Services/FormBuilder/FormFieldOptionService.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$field_type\.$#' + identifier: property.notFound + count: 1 + path: app/Services/FormBuilder/FormFieldRuleBuilder.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$is_admin_only\.$#' + identifier: property.notFound + count: 1 + path: app/Services/FormBuilder/FormFieldRuleBuilder.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$is_portal_visible\.$#' + identifier: property.notFound + count: 1 + path: app/Services/FormBuilder/FormFieldRuleBuilder.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$is_required\.$#' + identifier: property.notFound + count: 1 + path: app/Services/FormBuilder/FormFieldRuleBuilder.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$slug\.$#' + identifier: property.notFound + count: 1 + path: app/Services/FormBuilder/FormFieldRuleBuilder.php + + - + message: '#^Parameter \#1 \$field of method App\\Services\\FormBuilder\\FormFieldRuleBuilder\:\:isMultiValue\(\) expects App\\Models\\FormBuilder\\FormField, Illuminate\\Database\\Eloquent\\Model given\.$#' + identifier: argument.type + count: 1 + path: app/Services/FormBuilder/FormFieldRuleBuilder.php + + - + message: '#^Parameter \#1 \$field of method App\\Services\\FormBuilder\\FormFieldRuleBuilder\:\:itemRulesFor\(\) expects App\\Models\\FormBuilder\\FormField, Illuminate\\Database\\Eloquent\\Model given\.$#' + identifier: argument.type + count: 1 + path: app/Services/FormBuilder/FormFieldRuleBuilder.php + + - + message: '#^Parameter \#1 \$field of method App\\Services\\FormBuilder\\FormFieldRuleBuilder\:\:scalarTypeRules\(\) expects App\\Models\\FormBuilder\\FormField, Illuminate\\Database\\Eloquent\\Model given\.$#' + identifier: argument.type + count: 1 + path: app/Services/FormBuilder/FormFieldRuleBuilder.php + + - + message: '#^Parameter \#1 \$field of method App\\Services\\FormBuilder\\FormFieldRuleBuilder\:\:validationRuleShortcuts\(\) expects App\\Models\\FormBuilder\\FormField, Illuminate\\Database\\Eloquent\\Model given\.$#' + identifier: argument.type + count: 1 + path: app/Services/FormBuilder/FormFieldRuleBuilder.php + + - + message: '#^Parameter \#1 \$rules of method App\\Services\\FormBuilder\\FormFieldValidationRuleService\:\:toJsonShape\(\) expects Illuminate\\Support\\Collection\, Illuminate\\Database\\Eloquent\\Collection\ given\.$#' + identifier: argument.type + count: 1 + path: app/Services/FormBuilder/FormFieldRuleBuilder.php + + - + message: '#^Method App\\Services\\FormBuilder\\FormFieldService\:\:assertNotFrozenForStructural\(\) has parameter \$data with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Services/FormBuilder/FormFieldService.php + + - + message: '#^Method App\\Services\\FormBuilder\\FormFieldService\:\:create\(\) has parameter \$data with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Services/FormBuilder/FormFieldService.php + + - + message: '#^Method App\\Services\\FormBuilder\\FormFieldService\:\:insertFromLibrary\(\) has parameter \$overrides with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Services/FormBuilder/FormFieldService.php + + - + message: '#^Method App\\Services\\FormBuilder\\FormFieldService\:\:update\(\) has parameter \$data with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Services/FormBuilder/FormFieldService.php + + - + message: '#^PHPDoc tag @return with type array\ is incompatible with native type void\.$#' + identifier: return.phpDocType + count: 1 + path: app/Services/FormBuilder/FormFieldService.php + + - + message: '#^Parameter \#1 \$array \(list\\>\) of array_values is already a list, call has no effect\.$#' + identifier: arrayValues.list + count: 2 + path: app/Services/FormBuilder/FormFieldService.php + + - + message: '#^Parameter \#1 \$binding of method App\\Services\\FormBuilder\\FormFieldBindingService\:\:toJsonShape\(\) expects App\\Models\\FormBuilder\\FormFieldBinding\|null, Illuminate\\Database\\Eloquent\\Model\|null given\.$#' + identifier: argument.type + count: 2 + path: app/Services/FormBuilder/FormFieldService.php + + - + message: '#^Parameter \#1 \$options of method App\\Services\\FormBuilder\\FormFieldOptionService\:\:toJsonShape\(\) expects Illuminate\\Support\\Collection\, Illuminate\\Database\\Eloquent\\Collection\ given\.$#' + identifier: argument.type + count: 1 + path: app/Services/FormBuilder/FormFieldService.php + + - + message: '#^Parameter \#1 \$schema of method App\\Services\\FormBuilder\\FormFieldService\:\:assertNotFrozen\(\) expects App\\Models\\FormBuilder\\FormSchema, Illuminate\\Database\\Eloquent\\Model\|null given\.$#' + identifier: argument.type + count: 1 + path: app/Services/FormBuilder/FormFieldService.php + + - + message: '#^Parameter \#1 \$schema of method App\\Services\\FormBuilder\\FormFieldService\:\:assertNotFrozenForStructural\(\) expects App\\Models\\FormBuilder\\FormSchema, Illuminate\\Database\\Eloquent\\Model\|null given\.$#' + identifier: argument.type + count: 1 + path: app/Services/FormBuilder/FormFieldService.php + + - + message: '#^Parameter \#1 \$schema of method App\\Services\\FormBuilder\\FormSchemaService\:\:bumpVersion\(\) expects App\\Models\\FormBuilder\\FormSchema, Illuminate\\Database\\Eloquent\\Model\|null given\.$#' + identifier: argument.type + count: 2 + path: app/Services/FormBuilder/FormFieldService.php + + - + message: '#^Instanceof between App\\Enums\\FormBuilder\\FormFieldValidationRuleType and App\\Enums\\FormBuilder\\FormFieldValidationRuleType will always evaluate to true\.$#' + identifier: instanceof.alwaysTrue + count: 2 + path: app/Services/FormBuilder/FormFieldValidationRuleService.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$form_schema_id\.$#' + identifier: property.notFound + count: 2 + path: app/Services/FormBuilder/FormSchemaService.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$form_schema_section_id\.$#' + identifier: property.notFound + count: 2 + path: app/Services/FormBuilder/FormSchemaService.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$id\.$#' + identifier: property.notFound + count: 2 + path: app/Services/FormBuilder/FormSchemaService.php + + - + message: '#^Instanceof between App\\Enums\\FormBuilder\\FormPurpose and App\\Enums\\FormBuilder\\FormPurpose will always evaluate to true\.$#' + identifier: instanceof.alwaysTrue + count: 1 + path: app/Services/FormBuilder/FormSchemaService.php + + - + message: '#^Method App\\Services\\FormBuilder\\FormSchemaService\:\:create\(\) has parameter \$data with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Services/FormBuilder/FormSchemaService.php + + - + message: '#^Method App\\Services\\FormBuilder\\FormSchemaService\:\:update\(\) has parameter \$data with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Services/FormBuilder/FormSchemaService.php + + - + message: '#^Parameter \#1 \$organisation of method App\\Services\\FormBuilder\\FormSchemaService\:\:ensureUniqueSlug\(\) expects App\\Models\\Organisation\|null, Illuminate\\Database\\Eloquent\\Model\|null given\.$#' + identifier: argument.type + count: 2 + path: app/Services/FormBuilder/FormSchemaService.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$field_type\.$#' + identifier: property.notFound + count: 1 + path: app/Services/FormBuilder/FormSubmissionAnonymisationService.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$is_pii\.$#' + identifier: property.notFound + count: 1 + path: app/Services/FormBuilder/FormSubmissionAnonymisationService.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$slug\.$#' + identifier: property.notFound + count: 1 + path: app/Services/FormBuilder/FormSubmissionAnonymisationService.php + + - + message: '#^Call to function is_array\(\) with array will always evaluate to true\.$#' + identifier: function.alreadyNarrowedType + count: 2 + path: app/Services/FormBuilder/FormSubmissionAnonymisationService.php + + - + message: '#^Property App\\Models\\FormBuilder\\FormValue\:\:\$value \(array\) does not accept string\.$#' + identifier: assign.propertyType + count: 1 + path: app/Services/FormBuilder/FormSubmissionAnonymisationService.php + + - + message: '#^Result of \|\| is always false\.$#' + identifier: booleanOr.alwaysFalse + count: 1 + path: app/Services/FormBuilder/FormSubmissionDuplicateDetector.php + + - + message: '#^Strict comparison using \=\=\= between string and null will always evaluate to false\.$#' + identifier: identical.alwaysFalse + count: 2 + path: app/Services/FormBuilder/FormSubmissionDuplicateDetector.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$bindings\.$#' + identifier: property.notFound + count: 1 + path: app/Services/FormBuilder/FormSubmissionService.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$configs\.$#' + identifier: property.notFound + count: 1 + path: app/Services/FormBuilder/FormSubmissionService.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$depends_on_section_id\.$#' + identifier: property.notFound + count: 1 + path: app/Services/FormBuilder/FormSubmissionService.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$field_type\.$#' + identifier: property.notFound + count: 2 + path: app/Services/FormBuilder/FormSubmissionService.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$form_schema_section_id\.$#' + identifier: property.notFound + count: 1 + path: app/Services/FormBuilder/FormSubmissionService.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$freeze_on_submit\.$#' + identifier: property.notFound + count: 1 + path: app/Services/FormBuilder/FormSubmissionService.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$help_text\.$#' + identifier: property.notFound + count: 1 + path: app/Services/FormBuilder/FormSubmissionService.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$id\.$#' + identifier: property.notFound + count: 3 + path: app/Services/FormBuilder/FormSubmissionService.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$is_filterable\.$#' + identifier: property.notFound + count: 1 + path: app/Services/FormBuilder/FormSubmissionService.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$is_pii\.$#' + identifier: property.notFound + count: 1 + path: app/Services/FormBuilder/FormSubmissionService.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$is_required\.$#' + identifier: property.notFound + count: 1 + path: app/Services/FormBuilder/FormSubmissionService.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$label\.$#' + identifier: property.notFound + count: 1 + path: app/Services/FormBuilder/FormSubmissionService.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$name\.$#' + identifier: property.notFound + count: 1 + path: app/Services/FormBuilder/FormSubmissionService.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$options\.$#' + identifier: property.notFound + count: 2 + path: app/Services/FormBuilder/FormSubmissionService.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$required_for_schema_submit\.$#' + identifier: property.notFound + count: 1 + path: app/Services/FormBuilder/FormSubmissionService.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$slug\.$#' + identifier: property.notFound + count: 3 + path: app/Services/FormBuilder/FormSubmissionService.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$snapshot_mode\.$#' + identifier: property.notFound + count: 1 + path: app/Services/FormBuilder/FormSubmissionService.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$sort_order\.$#' + identifier: property.notFound + count: 2 + path: app/Services/FormBuilder/FormSubmissionService.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$translations\.$#' + identifier: property.notFound + count: 1 + path: app/Services/FormBuilder/FormSubmissionService.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$validationRules\.$#' + identifier: property.notFound + count: 1 + path: app/Services/FormBuilder/FormSubmissionService.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$value_storage_hint\.$#' + identifier: property.notFound + count: 1 + path: app/Services/FormBuilder/FormSubmissionService.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$version\.$#' + identifier: property.notFound + count: 1 + path: app/Services/FormBuilder/FormSubmissionService.php + + - + message: '#^Anonymous function has an unused use \$actor\.$#' + identifier: closure.unusedUse + count: 1 + path: app/Services/FormBuilder/FormSubmissionService.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Model\:\:rootConditionalLogicGroup\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Services/FormBuilder/FormSubmissionService.php + + - + message: '#^Call to function is_array\(\) with array will always evaluate to true\.$#' + identifier: function.alreadyNarrowedType + count: 1 + path: app/Services/FormBuilder/FormSubmissionService.php + + - + message: '#^Instanceof between App\\Enums\\FormBuilder\\FormPurpose and BackedEnum will always evaluate to true\.$#' + identifier: instanceof.alwaysTrue + count: 1 + path: app/Services/FormBuilder/FormSubmissionService.php + + - + message: '#^Parameter \#1 \$callback of method Illuminate\\Database\\Eloquent\\Collection\\:\:map\(\) contains unresolvable type\.$#' + identifier: argument.unresolvableType + count: 2 + path: app/Services/FormBuilder/FormSubmissionService.php + + - + message: '#^Parameter \#1 \$schema of method App\\Services\\FormBuilder\\FormSubmissionService\:\:buildSnapshot\(\) expects App\\Models\\FormBuilder\\FormSchema, Illuminate\\Database\\Eloquent\\Model\|null given\.$#' + identifier: argument.type + count: 1 + path: app/Services/FormBuilder/FormSubmissionService.php + + - + message: '#^Property App\\Models\\FormBuilder\\FormSubmission\:\:\$review_status \(App\\Enums\\FormBuilder\\FormSubmissionReviewStatus\|null\) does not accept string\.$#' + identifier: assign.propertyType + count: 1 + path: app/Services/FormBuilder/FormSubmissionService.php + + - + message: '#^Property App\\Models\\FormBuilder\\FormSubmission\:\:\$status \(App\\Enums\\FormBuilder\\FormSubmissionStatus\) does not accept string\.$#' + identifier: assign.propertyType + count: 2 + path: app/Services/FormBuilder/FormSubmissionService.php + + - + message: '#^Return type of call to method Illuminate\\Database\\Eloquent\\Collection\\:\:map\(\) contains unresolvable type\.$#' + identifier: method.unresolvableReturnType + count: 2 + path: app/Services/FormBuilder/FormSubmissionService.php + + - + message: '#^Using nullsafe method call on non\-nullable type Illuminate\\Http\\Request\. Use \-\> instead\.$#' + identifier: nullsafe.neverNull + count: 1 + path: app/Services/FormBuilder/FormSubmissionService.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$organisation_id\.$#' + identifier: property.notFound + count: 1 + path: app/Services/FormBuilder/FormTagSyncService.php + + - + message: '#^Call to function is_array\(\) with array will always evaluate to true\.$#' + identifier: function.alreadyNarrowedType + count: 1 + path: app/Services/FormBuilder/FormTagSyncService.php + + - + message: '#^Call to function is_array\(\) with non\-empty\-array\ will always evaluate to true\.$#' + identifier: function.alreadyNarrowedType + count: 1 + path: app/Services/FormBuilder/FormTagSyncService.php + + - + message: '#^Call to function is_string\(\) with array will always evaluate to false\.$#' + identifier: function.impossibleType + count: 1 + path: app/Services/FormBuilder/FormTagSyncService.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$id\.$#' + identifier: property.notFound + count: 1 + path: app/Services/FormBuilder/FormValueService.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$owner_id\.$#' + identifier: property.notFound + count: 1 + path: app/Services/FormBuilder/FormValueService.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$owner_type\.$#' + identifier: property.notFound + count: 1 + path: app/Services/FormBuilder/FormValueService.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$target_attribute\.$#' + identifier: property.notFound + count: 1 + path: app/Services/FormBuilder/FormValueService.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$target_entity\.$#' + identifier: property.notFound + count: 1 + path: app/Services/FormBuilder/FormValueService.php + + - + message: '#^Parameter \#1 \$rules of method App\\Services\\FormBuilder\\FormFieldValidationRuleService\:\:toJsonShape\(\) expects Illuminate\\Support\\Collection\, Illuminate\\Database\\Eloquent\\Collection\ given\.$#' + identifier: argument.type + count: 1 + path: app/Services/FormBuilder/FormValueService.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$field\.$#' + identifier: property.notFound + count: 1 + path: app/Services/FormBuilder/FormWebhookDispatcher.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$id\.$#' + identifier: property.notFound + count: 1 + path: app/Services/FormBuilder/FormWebhookDispatcher.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$organisation\.$#' + identifier: property.notFound + count: 3 + path: app/Services/FormBuilder/FormWebhookDispatcher.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$purpose\.$#' + identifier: property.notFound + count: 2 + path: app/Services/FormBuilder/FormWebhookDispatcher.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$slug\.$#' + identifier: property.notFound + count: 1 + path: app/Services/FormBuilder/FormWebhookDispatcher.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$value\.$#' + identifier: property.notFound + count: 1 + path: app/Services/FormBuilder/FormWebhookDispatcher.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$version\.$#' + identifier: property.notFound + count: 1 + path: app/Services/FormBuilder/FormWebhookDispatcher.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$name\.$#' + identifier: property.notFound + count: 1 + path: app/Services/InvitationService.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Model\:\:users\(\)\.$#' + identifier: method.notFound + count: 2 + path: app/Services/InvitationService.php + + - + message: '#^Property App\\Models\\UserInvitation\:\:\$expires_at \(string\) does not accept Illuminate\\Support\\Carbon\.$#' + identifier: assign.propertyType + count: 1 + path: app/Services/InvitationService.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$pivot\.$#' + identifier: property.notFound + count: 1 + path: app/Services/MfaService.php + + - + message: '#^Method App\\Services\\MfaService\:\:confirmEmail\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Services/MfaService.php + + - + message: '#^Method App\\Services\\MfaService\:\:confirmTotp\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Services/MfaService.php + + - + message: '#^Method App\\Services\\MfaService\:\:createMfaSession\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Services/MfaService.php + + - + message: '#^Method App\\Services\\MfaService\:\:generateBackupCodes\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Services/MfaService.php + + - + message: '#^Method App\\Services\\MfaService\:\:getTrustedDevices\(\) has no return type specified\.$#' + identifier: missingType.return + count: 1 + path: app/Services/MfaService.php + + - + message: '#^Method App\\Services\\MfaService\:\:regenerateBackupCodes\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Services/MfaService.php + + - + message: '#^Method App\\Services\\MfaService\:\:setupTotp\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Services/MfaService.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$avatar\.$#' + identifier: property.notFound + count: 1 + path: app/Services/OrganisationDashboardService.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$email\.$#' + identifier: property.notFound + count: 1 + path: app/Services/OrganisationDashboardService.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$full_name\.$#' + identifier: property.notFound + count: 1 + path: app/Services/OrganisationDashboardService.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$id\.$#' + identifier: property.notFound + count: 1 + path: app/Services/OrganisationDashboardService.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$pivot\.$#' + identifier: property.notFound + count: 2 + path: app/Services/OrganisationDashboardService.php + + - + message: '#^Parameter \#1 \$callback of method Illuminate\\Database\\Eloquent\\Collection\\:\:map\(\) contains unresolvable type\.$#' + identifier: argument.unresolvableType + count: 1 + path: app/Services/OrganisationDashboardService.php + + - + message: '#^Return type of call to method Illuminate\\Database\\Eloquent\\Collection\\:\:map\(\) contains unresolvable type\.$#' + identifier: method.unresolvableReturnType + count: 1 + path: app/Services/OrganisationDashboardService.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$organisation_id\.$#' + identifier: property.notFound + count: 3 + path: app/Services/PersonIdentityService.php + + - + message: '#^Cannot call method equalTo\(\) on string\.$#' + identifier: method.nonObject + count: 1 + path: app/Services/PersonIdentityService.php + + - + message: '#^Cannot call method toDateString\(\) on string\.$#' + identifier: method.nonObject + count: 2 + path: app/Services/PersonIdentityService.php + + - + message: '#^Method App\\Services\\PersonIdentityService\:\:createMatchIfEligible\(\) has parameter \$matchedFields with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: app/Services/PersonIdentityService.php + + - + message: '#^Method App\\Services\\PersonIdentityService\:\:detectMatches\(\) return type with generic class Illuminate\\Support\\Collection does not specify its types\: TKey, TValue$#' + identifier: missingType.generics + count: 1 + path: app/Services/PersonIdentityService.php + + - + message: '#^Property App\\Services\\PersonIdentityService\:\:\$tagSyncService is never read, only written\.$#' + identifier: property.onlyWritten + count: 1 + path: app/Services/PersonIdentityService.php + + - + message: '#^Strict comparison using \!\=\= between string and App\\Enums\\IdentityMatchStatus\:\:CONFIRMED will always evaluate to true\.$#' + identifier: notIdentical.alwaysTrue + count: 1 + path: app/Services/PersonIdentityService.php + + - + message: '#^Strict comparison using \!\=\= between string and App\\Enums\\IdentityMatchStatus\:\:PENDING will always evaluate to true\.$#' + identifier: notIdentical.alwaysTrue + count: 2 + path: app/Services/PersonIdentityService.php + + - + message: '#^Unreachable statement \- code above always terminates\.$#' + identifier: deadCode.unreachable + count: 3 + path: app/Services/PersonIdentityService.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$approved_at\.$#' + identifier: property.notFound + count: 2 + path: app/Services/ShiftAssignmentService.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$approved_by\.$#' + identifier: property.notFound + count: 1 + path: app/Services/ShiftAssignmentService.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$assigned_at\.$#' + identifier: property.notFound + count: 2 + path: app/Services/ShiftAssignmentService.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$assigned_by\.$#' + identifier: property.notFound + count: 1 + path: app/Services/ShiftAssignmentService.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$auto_approved\.$#' + identifier: property.notFound + count: 2 + path: app/Services/ShiftAssignmentService.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$crew_auto_accepts\.$#' + identifier: property.notFound + count: 1 + path: app/Services/ShiftAssignmentService.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$festivalSection\.$#' + identifier: property.notFound + count: 1 + path: app/Services/ShiftAssignmentService.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$slots_total\.$#' + identifier: property.notFound + count: 1 + path: app/Services/ShiftAssignmentService.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$timeSlot\.$#' + identifier: property.notFound + count: 3 + path: app/Services/ShiftAssignmentService.php + + - + message: '#^Anonymous function should return App\\Models\\ShiftAssignment but returns Illuminate\\Database\\Eloquent\\Model\.$#' + identifier: return.type + count: 2 + path: app/Services/ShiftAssignmentService.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Model\:\:shiftAssignments\(\)\.$#' + identifier: method.notFound + count: 1 + path: app/Services/ShiftAssignmentService.php + + - + message: '#^Cannot access property \$value on string\.$#' + identifier: property.nonObject + count: 6 + path: app/Services/ShiftAssignmentService.php + + - + message: '#^Cannot call method canTransitionTo\(\) on string\.$#' + identifier: method.nonObject + count: 1 + path: app/Services/ShiftAssignmentService.php + + - + message: '#^If condition is always false\.$#' + identifier: if.alwaysFalse + count: 1 + path: app/Services/ShiftAssignmentService.php + + - + message: '#^Method App\\Services\\ShiftAssignmentService\:\:bulkApprove\(\) has parameter \$assignments with generic class Illuminate\\Support\\Collection but does not specify its types\: TKey, TValue$#' + identifier: missingType.generics + count: 1 + path: app/Services/ShiftAssignmentService.php + + - + message: '#^Method App\\Services\\ShiftAssignmentService\:\:bulkApprove\(\) should return Illuminate\\Support\\Collection\ but returns Illuminate\\Support\\Collection\<\(int\|string\), array\{assignment_id\: string, status\: string, reason\: string\}\>\.$#' + identifier: return.type + count: 1 + path: app/Services/ShiftAssignmentService.php + + - + message: '#^Method App\\Services\\ShiftAssignmentService\:\:validateAssignCapacity\(\) is unused\.$#' + identifier: method.unused + count: 1 + path: app/Services/ShiftAssignmentService.php + + - + message: '#^Parameter \#1 \$shift of method App\\Services\\ShiftAssignmentService\:\:updateShiftStatusAfterCancellation\(\) expects App\\Models\\Shift, Illuminate\\Database\\Eloquent\\Model\|null given\.$#' + identifier: argument.type + count: 1 + path: app/Services/ShiftAssignmentService.php + + - + message: '#^Parameter \#1 \$shift of method App\\Services\\ShiftAssignmentService\:\:updateShiftStatusIfFull\(\) expects App\\Models\\Shift, Illuminate\\Database\\Eloquent\\Model\|null given\.$#' + identifier: argument.type + count: 1 + path: app/Services/ShiftAssignmentService.php + + - + message: '#^Property App\\Models\\ShiftAssignment\:\:\$approved_at \(string\|null\) does not accept Illuminate\\Support\\Carbon\.$#' + identifier: assign.propertyType + count: 2 + path: app/Services/ShiftAssignmentService.php + + - + message: '#^Property App\\Models\\ShiftAssignment\:\:\$assigned_at \(string\|null\) does not accept Illuminate\\Support\\Carbon\.$#' + identifier: assign.propertyType + count: 1 + path: app/Services/ShiftAssignmentService.php + + - + message: '#^Property App\\Models\\ShiftAssignment\:\:\$cancellation_source \(string\|null\) does not accept App\\Enums\\CancellationSource\.$#' + identifier: assign.propertyType + count: 1 + path: app/Services/ShiftAssignmentService.php + + - + message: '#^Property App\\Models\\ShiftAssignment\:\:\$cancelled_at \(string\|null\) does not accept Illuminate\\Support\\Carbon\.$#' + identifier: assign.propertyType + count: 1 + path: app/Services/ShiftAssignmentService.php + + - + message: '#^Property App\\Models\\ShiftAssignment\:\:\$status \(''approved''\|''cancelled''\|''completed''\|''pending_approval''\|''rejected''\) does not accept App\\Enums\\ShiftAssignmentStatus\:\:APPROVED\.$#' + identifier: assign.propertyType + count: 2 + path: app/Services/ShiftAssignmentService.php + + - + message: '#^Property App\\Models\\ShiftAssignment\:\:\$status \(''approved''\|''cancelled''\|''completed''\|''pending_approval''\|''rejected''\) does not accept App\\Enums\\ShiftAssignmentStatus\:\:CANCELLED\.$#' + identifier: assign.propertyType + count: 1 + path: app/Services/ShiftAssignmentService.php + + - + message: '#^Property App\\Models\\ShiftAssignment\:\:\$status \(''approved''\|''cancelled''\|''completed''\|''pending_approval''\|''rejected''\) does not accept App\\Enums\\ShiftAssignmentStatus\:\:REJECTED\.$#' + identifier: assign.propertyType + count: 1 + path: app/Services/ShiftAssignmentService.php + + - + message: '#^Strict comparison using \!\=\= between ''approved''\|''cancelled''\|''completed''\|''pending_approval''\|''rejected'' and App\\Enums\\ShiftAssignmentStatus\:\:PENDING_APPROVAL will always evaluate to true\.$#' + identifier: notIdentical.alwaysTrue + count: 1 + path: app/Services/ShiftAssignmentService.php + + - + message: '#^Strict comparison using \=\=\= between ''approved''\|''cancelled''\|''completed''\|''pending_approval''\|''rejected'' and App\\Enums\\ShiftAssignmentStatus\:\:APPROVED will always evaluate to false\.$#' + identifier: identical.alwaysFalse + count: 1 + path: app/Services/ShiftAssignmentService.php + + - + message: '#^Unreachable statement \- code above always terminates\.$#' + identifier: deadCode.unreachable + count: 1 + path: app/Services/ShiftAssignmentService.php + + - + message: '#^Return type \(array\\) of method Database\\Factories\\CompanyFactory\:\:definition\(\) should be compatible with return type \(array\\) of method Illuminate\\Database\\Eloquent\\Factories\\Factory\\:\:definition\(\)$#' + identifier: method.childReturnType + count: 1 + path: database/factories/CompanyFactory.php + + - + message: '#^Return type \(array\\) of method Database\\Factories\\CrowdListFactory\:\:definition\(\) should be compatible with return type \(array\\) of method Illuminate\\Database\\Eloquent\\Factories\\Factory\\:\:definition\(\)$#' + identifier: method.childReturnType + count: 1 + path: database/factories/CrowdListFactory.php + + - + message: '#^Return type \(array\\) of method Database\\Factories\\CrowdTypeFactory\:\:definition\(\) should be compatible with return type \(array\\) of method Illuminate\\Database\\Eloquent\\Factories\\Factory\\:\:definition\(\)$#' + identifier: method.childReturnType + count: 1 + path: database/factories/CrowdTypeFactory.php + + - + message: '#^Return type \(array\\) of method Database\\Factories\\EventFactory\:\:definition\(\) should be compatible with return type \(array\\) of method Illuminate\\Database\\Eloquent\\Factories\\Factory\\:\:definition\(\)$#' + identifier: method.childReturnType + count: 1 + path: database/factories/EventFactory.php + + - + message: '#^Return type \(array\\) of method Database\\Factories\\FestivalSectionFactory\:\:definition\(\) should be compatible with return type \(array\\) of method Illuminate\\Database\\Eloquent\\Factories\\Factory\\:\:definition\(\)$#' + identifier: method.childReturnType + count: 1 + path: database/factories/FestivalSectionFactory.php + + - + message: '#^Return type \(array\\) of method Database\\Factories\\FormBuilder\\FormFieldBindingFactory\:\:definition\(\) should be compatible with return type \(array\\) of method Illuminate\\Database\\Eloquent\\Factories\\Factory\\:\:definition\(\)$#' + identifier: method.childReturnType + count: 1 + path: database/factories/FormBuilder/FormFieldBindingFactory.php + + - + message: '#^Return type \(array\\) of method Database\\Factories\\FormBuilder\\FormFieldConditionalLogicConditionFactory\:\:definition\(\) should be compatible with return type \(array\\) of method Illuminate\\Database\\Eloquent\\Factories\\Factory\\:\:definition\(\)$#' + identifier: method.childReturnType + count: 1 + path: database/factories/FormBuilder/FormFieldConditionalLogicConditionFactory.php + + - + message: '#^Return type \(array\\) of method Database\\Factories\\FormBuilder\\FormFieldConditionalLogicGroupFactory\:\:definition\(\) should be compatible with return type \(array\\) of method Illuminate\\Database\\Eloquent\\Factories\\Factory\\:\:definition\(\)$#' + identifier: method.childReturnType + count: 1 + path: database/factories/FormBuilder/FormFieldConditionalLogicGroupFactory.php + + - + message: '#^Return type \(array\\) of method Database\\Factories\\FormBuilder\\FormFieldConfigFactory\:\:definition\(\) should be compatible with return type \(array\\) of method Illuminate\\Database\\Eloquent\\Factories\\Factory\\:\:definition\(\)$#' + identifier: method.childReturnType + count: 1 + path: database/factories/FormBuilder/FormFieldConfigFactory.php + + - + message: '#^Parameter \#1 \$array \(list\\}\|string\>\) of array_values is already a list, call has no effect\.$#' + identifier: arrayValues.list + count: 1 + path: database/factories/FormBuilder/FormFieldFactory.php + + - + message: '#^Return type \(array\\) of method Database\\Factories\\FormBuilder\\FormFieldFactory\:\:definition\(\) should be compatible with return type \(array\\) of method Illuminate\\Database\\Eloquent\\Factories\\Factory\\:\:definition\(\)$#' + identifier: method.childReturnType + count: 1 + path: database/factories/FormBuilder/FormFieldFactory.php + + - + message: '#^Parameter \#1 \$array \(list\\}\|string\>\) of array_values is already a list, call has no effect\.$#' + identifier: arrayValues.list + count: 1 + path: database/factories/FormBuilder/FormFieldLibraryFactory.php + + - + message: '#^Return type \(array\\) of method Database\\Factories\\FormBuilder\\FormFieldLibraryFactory\:\:definition\(\) should be compatible with return type \(array\\) of method Illuminate\\Database\\Eloquent\\Factories\\Factory\\:\:definition\(\)$#' + identifier: method.childReturnType + count: 1 + path: database/factories/FormBuilder/FormFieldLibraryFactory.php + + - + message: '#^Return type \(array\\) of method Database\\Factories\\FormBuilder\\FormFieldOptionFactory\:\:definition\(\) should be compatible with return type \(array\\) of method Illuminate\\Database\\Eloquent\\Factories\\Factory\\:\:definition\(\)$#' + identifier: method.childReturnType + count: 1 + path: database/factories/FormBuilder/FormFieldOptionFactory.php + + - + message: '#^Return type \(array\\) of method Database\\Factories\\FormBuilder\\FormFieldValidationRuleFactory\:\:definition\(\) should be compatible with return type \(array\\) of method Illuminate\\Database\\Eloquent\\Factories\\Factory\\:\:definition\(\)$#' + identifier: method.childReturnType + count: 1 + path: database/factories/FormBuilder/FormFieldValidationRuleFactory.php + + - + message: '#^Return type \(array\\) of method Database\\Factories\\FormBuilder\\FormSchemaFactory\:\:definition\(\) should be compatible with return type \(array\\) of method Illuminate\\Database\\Eloquent\\Factories\\Factory\\:\:definition\(\)$#' + identifier: method.childReturnType + count: 1 + path: database/factories/FormBuilder/FormSchemaFactory.php + + - + message: '#^Return type \(array\\) of method Database\\Factories\\FormBuilder\\FormSchemaSectionFactory\:\:definition\(\) should be compatible with return type \(array\\) of method Illuminate\\Database\\Eloquent\\Factories\\Factory\\:\:definition\(\)$#' + identifier: method.childReturnType + count: 1 + path: database/factories/FormBuilder/FormSchemaSectionFactory.php + + - + message: '#^Return type \(array\\) of method Database\\Factories\\FormBuilder\\FormSchemaWebhookFactory\:\:definition\(\) should be compatible with return type \(array\\) of method Illuminate\\Database\\Eloquent\\Factories\\Factory\\:\:definition\(\)$#' + identifier: method.childReturnType + count: 1 + path: database/factories/FormBuilder/FormSchemaWebhookFactory.php + + - + message: '#^Return type \(array\\) of method Database\\Factories\\FormBuilder\\FormSubmissionDelegationFactory\:\:definition\(\) should be compatible with return type \(array\\) of method Illuminate\\Database\\Eloquent\\Factories\\Factory\\:\:definition\(\)$#' + identifier: method.childReturnType + count: 1 + path: database/factories/FormBuilder/FormSubmissionDelegationFactory.php + + - + message: '#^Return type \(array\\) of method Database\\Factories\\FormBuilder\\FormSubmissionFactory\:\:definition\(\) should be compatible with return type \(array\\) of method Illuminate\\Database\\Eloquent\\Factories\\Factory\\:\:definition\(\)$#' + identifier: method.childReturnType + count: 1 + path: database/factories/FormBuilder/FormSubmissionFactory.php + + - + message: '#^Return type \(array\\) of method Database\\Factories\\FormBuilder\\FormSubmissionSectionStatusFactory\:\:definition\(\) should be compatible with return type \(array\\) of method Illuminate\\Database\\Eloquent\\Factories\\Factory\\:\:definition\(\)$#' + identifier: method.childReturnType + count: 1 + path: database/factories/FormBuilder/FormSubmissionSectionStatusFactory.php + + - + message: '#^Return type \(array\\) of method Database\\Factories\\FormBuilder\\FormTemplateFactory\:\:definition\(\) should be compatible with return type \(array\\) of method Illuminate\\Database\\Eloquent\\Factories\\Factory\\:\:definition\(\)$#' + identifier: method.childReturnType + count: 1 + path: database/factories/FormBuilder/FormTemplateFactory.php + + - + message: '#^Return type \(array\\) of method Database\\Factories\\FormBuilder\\FormValueFactory\:\:definition\(\) should be compatible with return type \(array\\) of method Illuminate\\Database\\Eloquent\\Factories\\Factory\\:\:definition\(\)$#' + identifier: method.childReturnType + count: 1 + path: database/factories/FormBuilder/FormValueFactory.php + + - + message: '#^Return type \(array\\) of method Database\\Factories\\FormBuilder\\FormValueOptionFactory\:\:definition\(\) should be compatible with return type \(array\\) of method Illuminate\\Database\\Eloquent\\Factories\\Factory\\:\:definition\(\)$#' + identifier: method.childReturnType + count: 1 + path: database/factories/FormBuilder/FormValueOptionFactory.php + + - + message: '#^Return type \(array\\) of method Database\\Factories\\FormBuilder\\FormWebhookDeliveryFactory\:\:definition\(\) should be compatible with return type \(array\\) of method Illuminate\\Database\\Eloquent\\Factories\\Factory\\:\:definition\(\)$#' + identifier: method.childReturnType + count: 1 + path: database/factories/FormBuilder/FormWebhookDeliveryFactory.php + + - + message: '#^Return type \(array\\) of method Database\\Factories\\ImpersonationSessionFactory\:\:definition\(\) should be compatible with return type \(array\\) of method Illuminate\\Database\\Eloquent\\Factories\\Factory\\:\:definition\(\)$#' + identifier: method.childReturnType + count: 1 + path: database/factories/ImpersonationSessionFactory.php + + - + message: '#^Return type \(array\\) of method Database\\Factories\\LocationFactory\:\:definition\(\) should be compatible with return type \(array\\) of method Illuminate\\Database\\Eloquent\\Factories\\Factory\\:\:definition\(\)$#' + identifier: method.childReturnType + count: 1 + path: database/factories/LocationFactory.php + + - + message: '#^Return type \(array\\) of method Database\\Factories\\OrganisationFactory\:\:definition\(\) should be compatible with return type \(array\\) of method Illuminate\\Database\\Eloquent\\Factories\\Factory\\:\:definition\(\)$#' + identifier: method.childReturnType + count: 1 + path: database/factories/OrganisationFactory.php + + - + message: '#^Return type \(array\\) of method Database\\Factories\\PersonFactory\:\:definition\(\) should be compatible with return type \(array\\) of method Illuminate\\Database\\Eloquent\\Factories\\Factory\\:\:definition\(\)$#' + identifier: method.childReturnType + count: 1 + path: database/factories/PersonFactory.php + + - + message: '#^Return type \(array\\) of method Database\\Factories\\PersonIdentityMatchFactory\:\:definition\(\) should be compatible with return type \(array\\) of method Illuminate\\Database\\Eloquent\\Factories\\Factory\\:\:definition\(\)$#' + identifier: method.childReturnType + count: 1 + path: database/factories/PersonIdentityMatchFactory.php + + - + message: '#^Property App\\Models\\ShiftAssignment\:\:\$approved_at \(string\|null\) does not accept Illuminate\\Support\\Carbon\.$#' + identifier: assign.propertyType + count: 2 + path: database/factories/ShiftAssignmentFactory.php + + - + message: '#^Property App\\Models\\ShiftAssignment\:\:\$assigned_at \(string\|null\) does not accept Illuminate\\Support\\Carbon\.$#' + identifier: assign.propertyType + count: 1 + path: database/factories/ShiftAssignmentFactory.php + + - + message: '#^Property App\\Models\\ShiftAssignment\:\:\$status \(''approved''\|''cancelled''\|''completed''\|''pending_approval''\|''rejected''\) does not accept App\\Enums\\ShiftAssignmentStatus\:\:APPROVED\.$#' + identifier: assign.propertyType + count: 2 + path: database/factories/ShiftAssignmentFactory.php + + - + message: '#^Return type \(array\\) of method Database\\Factories\\ShiftAssignmentFactory\:\:definition\(\) should be compatible with return type \(array\\) of method Illuminate\\Database\\Eloquent\\Factories\\Factory\\:\:definition\(\)$#' + identifier: method.childReturnType + count: 1 + path: database/factories/ShiftAssignmentFactory.php + + - + message: '#^Return type \(array\\) of method Database\\Factories\\ShiftFactory\:\:definition\(\) should be compatible with return type \(array\\) of method Illuminate\\Database\\Eloquent\\Factories\\Factory\\:\:definition\(\)$#' + identifier: method.childReturnType + count: 1 + path: database/factories/ShiftFactory.php + + - + message: '#^Return type \(array\\) of method Database\\Factories\\TimeSlotFactory\:\:definition\(\) should be compatible with return type \(array\\) of method Illuminate\\Database\\Eloquent\\Factories\\Factory\\:\:definition\(\)$#' + identifier: method.childReturnType + count: 1 + path: database/factories/TimeSlotFactory.php + + - + message: '#^Return type \(array\\) of method Database\\Factories\\UserFactory\:\:definition\(\) should be compatible with return type \(array\\) of method Illuminate\\Database\\Eloquent\\Factories\\Factory\\:\:definition\(\)$#' + identifier: method.childReturnType + count: 1 + path: database/factories/UserFactory.php + + - + message: '#^Return type \(array\\) of method Database\\Factories\\UserInvitationFactory\:\:definition\(\) should be compatible with return type \(array\\) of method Illuminate\\Database\\Eloquent\\Factories\\Factory\\:\:definition\(\)$#' + identifier: method.childReturnType + count: 1 + path: database/factories/UserInvitationFactory.php + + - + message: '#^Strict comparison using \=\=\= between string and null will always evaluate to false\.$#' + identifier: identical.alwaysFalse + count: 1 + path: database/factories/UserInvitationFactory.php + + - + message: '#^Return type \(array\\) of method Database\\Factories\\UserProfileFactory\:\:definition\(\) should be compatible with return type \(array\\) of method Illuminate\\Database\\Eloquent\\Factories\\Factory\\:\:definition\(\)$#' + identifier: method.childReturnType + count: 1 + path: database/factories/UserProfileFactory.php + + - + message: '#^Return type \(array\\) of method Database\\Factories\\VolunteerAvailabilityFactory\:\:definition\(\) should be compatible with return type \(array\\) of method Illuminate\\Database\\Eloquent\\Factories\\Factory\\:\:definition\(\)$#' + identifier: method.childReturnType + count: 1 + path: database/factories/VolunteerAvailabilityFactory.php + + - + message: '#^Offset ''field_slug'' on non\-empty\-array\ on left side of \?\? always exists and is not nullable\.$#' + identifier: nullCoalesce.offset + count: 1 + path: database/migrations/2026_04_26_100002_backfill_form_field_conditional_logic.php + + - + message: '#^Match expression does not handle remaining value\: string$#' + identifier: match.unhandled + count: 1 + path: database/seeders/DevSeeder.php + + - + message: '#^Method Database\\Seeders\\DevSeeder\:\:createCrowdList\(\) has parameter \$persons with generic class Illuminate\\Support\\Collection but does not specify its types\: TKey, TValue$#' + identifier: missingType.generics + count: 1 + path: database/seeders/DevSeeder.php + + - + message: '#^Offset ''date_of_birth'' on array\{email\: ''admin@crewli\.test'', first_name\: ''Super'', last_name\: ''Admin'', app_role\: ''super_admin'', org_role\: ''org_admin'', date_of_birth\: ''1985\-01\-15''\}\|array\{email\: ''ahmed@feestfabriek…'', first_name\: ''Ahmed'', last_name\: ''Yilmaz'', org_role\: ''org_member'', date_of_birth\: ''1989\-09\-03''\}\|array\{email\: ''bert@feestfabriek\.nl'', first_name\: ''Bert'', last_name\: ''Hausmans'', org_role\: ''org_admin'', date_of_birth\: ''1990\-06\-28''\}\|array\{email\: ''lisa@feestfabriek\.nl'', first_name\: ''Lisa'', last_name\: ''van den Berg'', org_role\: ''org_member'', date_of_birth\: ''1993\-05\-12''\}\|array\{email\: ''mark@feestfabriek\.nl'', first_name\: ''Mark'', last_name\: ''de Boer'', org_role\: ''org_member'', date_of_birth\: ''1988\-03\-17''\}\|array\{email\: ''nina@feestfabriek\.nl'', first_name\: ''Nina'', last_name\: ''Jansen'', org_role\: ''org_member'', date_of_birth\: ''1996\-02\-14''\}\|array\{email\: ''sara@feestfabriek\.nl'', first_name\: ''Sara'', last_name\: ''de Groot'', org_role\: ''org_member'', date_of_birth\: ''1991\-08\-24''\}\|array\{email\: ''tom@feestfabriek\.nl'', first_name\: ''Tom'', last_name\: ''Visser'', org_role\: ''org_member'', date_of_birth\: ''1994\-11\-07''\} on left side of \?\? always exists and is not nullable\.$#' + identifier: nullCoalesce.offset + count: 1 + path: database/seeders/DevSeeder.php + + - + message: '#^Offset ''registration…'' on array\{name\: ''Backstage…'', category\: ''Hospitality'', icon\: ''tabler\-armchair'', crew_auto_accepts\: false, show_in_registration\: true, registration_description\: ''Ontvang en begeleid…''\}\|array\{name\: ''Hoofdpodium Bar'', category\: ''Bar'', icon\: ''tabler\-beer'', crew_auto_accepts\: true, show_in_registration\: true, registration_description\: ''Tap bier en…''\}\|array\{name\: ''Ingang & Tickets'', category\: ''Ontvangst'', icon\: ''tabler\-ticket'', crew_auto_accepts\: true, show_in_registration\: true, registration_description\: ''Verwelkom bezoekers…''\}\|array\{name\: ''Podiumtechniek'', category\: ''Techniek'', icon\: ''tabler\-speakerphone'', crew_auto_accepts\: false, show_in_registration\: true, registration_description\: ''Help met geluid\- en…''\}\|array\{name\: ''Theatertent Bar'', category\: ''Bar'', icon\: ''tabler\-beer'', crew_auto_accepts\: true, show_in_registration\: true, registration_description\: ''Bediening in de…''\} on left side of \?\? always exists and is not nullable\.$#' + identifier: nullCoalesce.offset + count: 1 + path: database/seeders/DevSeeder.php + + - + message: '#^Offset ''registration…'' on array\{name\: ''Schaatsbaan Bar'', category\: ''Bar'', icon\: ''tabler\-beer'', show_in_registration\: true, registration_description\: ''Warme dranken en…''\}\|array\{name\: ''Schaatsverhuur'', category\: ''Ontvangst'', icon\: ''tabler\-ticket'', show_in_registration\: true, registration_description\: ''Schaatsen uitgeven…''\}\|array\{name\: ''Terrein'', category\: ''Productie'', icon\: ''tabler\-shovel'', show_in_registration\: true, registration_description\: ''IJsbaan onderhoud…''\} on left side of \?\? always exists and is not nullable\.$#' + identifier: nullCoalesce.offset + count: 1 + path: database/seeders/DevSeeder.php + + - + message: '#^Offset ''show_in_registration'' on array\{name\: ''Backstage…'', category\: ''Hospitality'', icon\: ''tabler\-armchair'', crew_auto_accepts\: false, show_in_registration\: true, registration_description\: ''Ontvang en begeleid…''\}\|array\{name\: ''Hoofdpodium Bar'', category\: ''Bar'', icon\: ''tabler\-beer'', crew_auto_accepts\: true, show_in_registration\: true, registration_description\: ''Tap bier en…''\}\|array\{name\: ''Ingang & Tickets'', category\: ''Ontvangst'', icon\: ''tabler\-ticket'', crew_auto_accepts\: true, show_in_registration\: true, registration_description\: ''Verwelkom bezoekers…''\}\|array\{name\: ''Podiumtechniek'', category\: ''Techniek'', icon\: ''tabler\-speakerphone'', crew_auto_accepts\: false, show_in_registration\: true, registration_description\: ''Help met geluid\- en…''\}\|array\{name\: ''Theatertent Bar'', category\: ''Bar'', icon\: ''tabler\-beer'', crew_auto_accepts\: true, show_in_registration\: true, registration_description\: ''Bediening in de…''\} on left side of \?\? always exists and is not nullable\.$#' + identifier: nullCoalesce.offset + count: 1 + path: database/seeders/DevSeeder.php + + - + message: '#^Offset ''show_in_registration'' on array\{name\: ''Schaatsbaan Bar'', category\: ''Bar'', icon\: ''tabler\-beer'', show_in_registration\: true, registration_description\: ''Warme dranken en…''\}\|array\{name\: ''Schaatsverhuur'', category\: ''Ontvangst'', icon\: ''tabler\-ticket'', show_in_registration\: true, registration_description\: ''Schaatsen uitgeven…''\}\|array\{name\: ''Terrein'', category\: ''Productie'', icon\: ''tabler\-shovel'', show_in_registration\: true, registration_description\: ''IJsbaan onderhoud…''\} on left side of \?\? always exists and is not nullable\.$#' + identifier: nullCoalesce.offset + count: 1 + path: database/seeders/DevSeeder.php + + - + message: '#^Property Database\\Seeders\\DevSeeder\:\:\$personTags \(array\\) does not accept array\\.$#' + identifier: assign.propertyType + count: 1 + path: database/seeders/DevSeeder.php + + - + message: '#^Parameter \#1 \$fields of static method Database\\Seeders\\FormBuilderDevSeeder\:\:createValueIfField\(\) expects Illuminate\\Support\\Collection\, Illuminate\\Database\\Eloquent\\Collection\<\(int\|string\), Illuminate\\Database\\Eloquent\\Model\> given\.$#' + identifier: argument.type + count: 8 + path: database/seeders/FormBuilderDevSeeder.php + + - + message: '#^Parameter \#2 \$actor of method App\\Services\\FormBuilder\\FormSubmissionService\:\:submit\(\) expects App\\Models\\User\|null, Illuminate\\Database\\Eloquent\\Model\|null given\.$#' + identifier: argument.type + count: 1 + path: database/seeders/FormBuilderDevSeeder.php + + - + message: '#^Parameter \#3 \$actor of method App\\Services\\FormBuilder\\FormValueService\:\:upsertMany\(\) expects App\\Models\\User\|null, Illuminate\\Database\\Eloquent\\Model\|null given\.$#' + identifier: argument.type + count: 1 + path: database/seeders/FormBuilderDevSeeder.php + + - + message: '#^Parameter \#3 \$submitter of method App\\Services\\FormBuilder\\FormSubmissionService\:\:createDraft\(\) expects App\\Models\\User\|null, Illuminate\\Database\\Eloquent\\Model\|null given\.$#' + identifier: argument.type + count: 1 + path: database/seeders/FormBuilderDevSeeder.php + + - + message: '#^Method Tests\\Feature\\Api\\V1\\Admin\\AdminImpersonationTest\:\:startPayload\(\) has parameter \$overrides with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: tests/Feature/Api/V1/Admin/AdminImpersonationTest.php + + - + message: '#^Method Tests\\Feature\\Api\\V1\\Admin\\AdminImpersonationTest\:\:startPayload\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: tests/Feature/Api/V1/Admin/AdminImpersonationTest.php + + - + message: '#^Method Tests\\Feature\\Api\\V1\\AssignablePersonsTest\:\:assertJsonPath\(\) has parameter \$response with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: tests/Feature/Api/V1/AssignablePersonsTest.php + + - + message: '#^Method Tests\\Feature\\Api\\V1\\AssignablePersonsTest\:\:createOpenShift\(\) has parameter \$overrides with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: tests/Feature/Api/V1/AssignablePersonsTest.php + + - + message: '#^Method Tests\\Feature\\Api\\V1\\AssignablePersonsTest\:\:createPerson\(\) has parameter \$overrides with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: tests/Feature/Api/V1/AssignablePersonsTest.php + + - + message: '#^Cannot access property \$value on string\.$#' + identifier: property.nonObject + count: 3 + path: tests/Feature/Api/V1/EmailChangeTest.php + + - + message: '#^Cannot call method toDateString\(\) on string\.$#' + identifier: method.nonObject + count: 2 + path: tests/Feature/Api/V1/MePortalEventsTest.php + + - + message: '#^Method Tests\\Feature\\Api\\V1\\Portal\\PortalAllMyShiftsTest\:\:createShiftWithAssignment\(\) has parameter \$assignmentOverrides with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: tests/Feature/Api/V1/Portal/PortalAllMyShiftsTest.php + + - + message: '#^Method Tests\\Feature\\Api\\V1\\Portal\\PortalAllMyShiftsTest\:\:createShiftWithAssignment\(\) has parameter \$shiftOverrides with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: tests/Feature/Api/V1/Portal/PortalAllMyShiftsTest.php + + - + message: '#^Unable to resolve the template type TFlatMapKey in call to method Illuminate\\Support\\Collection\<\(int\|string\),mixed\>\:\:flatMap\(\)$#' + identifier: argument.templateType + count: 2 + path: tests/Feature/Api/V1/Portal/PortalAllMyShiftsTest.php + + - + message: '#^Unable to resolve the template type TFlatMapValue in call to method Illuminate\\Support\\Collection\<\(int\|string\),mixed\>\:\:flatMap\(\)$#' + identifier: argument.templateType + count: 2 + path: tests/Feature/Api/V1/Portal/PortalAllMyShiftsTest.php + + - + message: '#^Unable to resolve the template type TKey in call to function collect$#' + identifier: argument.templateType + count: 5 + path: tests/Feature/Api/V1/Portal/PortalAllMyShiftsTest.php + + - + message: '#^Unable to resolve the template type TValue in call to function collect$#' + identifier: argument.templateType + count: 5 + path: tests/Feature/Api/V1/Portal/PortalAllMyShiftsTest.php + + - + message: '#^Cannot call method toDateString\(\) on string\.$#' + identifier: method.nonObject + count: 1 + path: tests/Feature/Api/V1/Portal/PortalProfileTest.php + + - + message: '#^Method Tests\\Feature\\Api\\V1\\Portal\\PortalShiftClaimingTest\:\:createOpenShift\(\) has parameter \$overrides with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: tests/Feature/Api/V1/Portal/PortalShiftClaimingTest.php + + - + message: '#^Unable to resolve the template type TFlatMapKey in call to method Illuminate\\Support\\Collection\<\(int\|string\),mixed\>\:\:flatMap\(\)$#' + identifier: argument.templateType + count: 4 + path: tests/Feature/Api/V1/Portal/PortalShiftClaimingTest.php + + - + message: '#^Unable to resolve the template type TFlatMapValue in call to method Illuminate\\Support\\Collection\<\(int\|string\),mixed\>\:\:flatMap\(\)$#' + identifier: argument.templateType + count: 4 + path: tests/Feature/Api/V1/Portal/PortalShiftClaimingTest.php + + - + message: '#^Unable to resolve the template type TKey in call to function collect$#' + identifier: argument.templateType + count: 8 + path: tests/Feature/Api/V1/Portal/PortalShiftClaimingTest.php + + - + message: '#^Unable to resolve the template type TValue in call to function collect$#' + identifier: argument.templateType + count: 8 + path: tests/Feature/Api/V1/Portal/PortalShiftClaimingTest.php + + - + message: '#^Unable to resolve the template type TKey in call to function collect$#' + identifier: argument.templateType + count: 1 + path: tests/Feature/Api/V1/Public/FormBuilder/PublicFormCrossOrgScopeTest.php + + - + message: '#^Unable to resolve the template type TValue in call to function collect$#' + identifier: argument.templateType + count: 1 + path: tests/Feature/Api/V1/Public/FormBuilder/PublicFormCrossOrgScopeTest.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$field\.$#' + identifier: property.notFound + count: 1 + path: tests/Feature/Api/V1/Public/FormBuilder/PublicFormDraftLifecycleTest.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$value\.$#' + identifier: property.notFound + count: 1 + path: tests/Feature/Api/V1/Public/FormBuilder/PublicFormDraftLifecycleTest.php + + - + message: '#^Unable to resolve the template type TMapWithKeysValue in call to method Illuminate\\Database\\Eloquent\\Collection\\:\:mapWithKeys\(\)$#' + identifier: argument.templateType + count: 1 + path: tests/Feature/Api/V1/Public/FormBuilder/PublicFormDraftLifecycleTest.php + + - + message: '#^Unable to resolve the template type TKey in call to function collect$#' + identifier: argument.templateType + count: 2 + path: tests/Feature/Api/V1/Public/FormBuilder/PublicFormSchemaResourceTest.php + + - + message: '#^Unable to resolve the template type TValue in call to function collect$#' + identifier: argument.templateType + count: 2 + path: tests/Feature/Api/V1/Public/FormBuilder/PublicFormSchemaResourceTest.php + + - + message: '#^Unable to resolve the template type TKey in call to function collect$#' + identifier: argument.templateType + count: 2 + path: tests/Feature/Api/V1/Public/FormBuilder/PublicFormSectionsTest.php + + - + message: '#^Unable to resolve the template type TValue in call to function collect$#' + identifier: argument.templateType + count: 2 + path: tests/Feature/Api/V1/Public/FormBuilder/PublicFormSectionsTest.php + + - + message: '#^Unable to resolve the template type TKey in call to function collect$#' + identifier: argument.templateType + count: 1 + path: tests/Feature/Api/V1/Public/FormBuilder/PublicFormTimeSlotsTest.php + + - + message: '#^Unable to resolve the template type TValue in call to function collect$#' + identifier: argument.templateType + count: 1 + path: tests/Feature/Api/V1/Public/FormBuilder/PublicFormTimeSlotsTest.php + + - + message: '#^Unable to resolve the template type TKey in call to function collect$#' + identifier: argument.templateType + count: 1 + path: tests/Feature/Api/V1/RegistrationSettingsTest.php + + - + message: '#^Unable to resolve the template type TValue in call to function collect$#' + identifier: argument.templateType + count: 1 + path: tests/Feature/Api/V1/RegistrationSettingsTest.php + + - + message: '#^Method Tests\\Feature\\Api\\V1\\ShiftAssignmentWorkflowTest\:\:createOpenShift\(\) has parameter \$overrides with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: tests/Feature/Api/V1/ShiftAssignmentWorkflowTest.php + + - + message: '#^Unable to resolve the template type TKey in call to function collect$#' + identifier: argument.templateType + count: 2 + path: tests/Feature/Api/V1/ShiftAssignmentWorkflowTest.php + + - + message: '#^Unable to resolve the template type TValue in call to function collect$#' + identifier: argument.templateType + count: 2 + path: tests/Feature/Api/V1/ShiftAssignmentWorkflowTest.php + + - + message: '#^Unable to resolve the template type TKey in call to function collect$#' + identifier: argument.templateType + count: 1 + path: tests/Feature/Company/CompanyTest.php + + - + message: '#^Unable to resolve the template type TValue in call to function collect$#' + identifier: argument.templateType + count: 1 + path: tests/Feature/Company/CompanyTest.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$id\.$#' + identifier: property.notFound + count: 1 + path: tests/Feature/CrowdList/CrowdListTest.php + + - + message: '#^Call to an undefined method Illuminate\\Database\\Eloquent\\Model\:\:persons\(\)\.$#' + identifier: method.notFound + count: 1 + path: tests/Feature/CrowdList/CrowdListTest.php + + - + message: '#^Property Tests\\Feature\\CrowdList\\CrowdListTest\:\:\$otherEvent is never read, only written\.$#' + identifier: property.onlyWritten + count: 1 + path: tests/Feature/CrowdList/CrowdListTest.php + + - + message: '#^Unable to resolve the template type TKey in call to function collect$#' + identifier: argument.templateType + count: 3 + path: tests/Feature/CrowdList/CrowdListTest.php + + - + message: '#^Unable to resolve the template type TValue in call to function collect$#' + identifier: argument.templateType + count: 3 + path: tests/Feature/CrowdList/CrowdListTest.php + + - + message: '#^Property Tests\\Feature\\Email\\SendTransactionalEmailJobTest\:\:\$branding type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: tests/Feature/Email/SendTransactionalEmailJobTest.php + + - + message: '#^Property Tests\\Feature\\Email\\SendTransactionalEmailJobTest\:\:\$template type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: tests/Feature/Email/SendTransactionalEmailJobTest.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$id\.$#' + identifier: property.notFound + count: 5 + path: tests/Feature/Event/EventStatsTest.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$id\.$#' + identifier: property.notFound + count: 1 + path: tests/Feature/Event/EventTest.php + + - + message: '#^Unable to resolve the template type TKey in call to function collect$#' + identifier: argument.templateType + count: 7 + path: tests/Feature/Event/FestivalEventTest.php + + - + message: '#^Unable to resolve the template type TValue in call to function collect$#' + identifier: argument.templateType + count: 7 + path: tests/Feature/Event/FestivalEventTest.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$target_attribute\.$#' + identifier: property.notFound + count: 1 + path: tests/Feature/FormBuilder/Bindings/FormFieldBindingRelationTest.php + + - + message: '#^Unable to resolve the template type TKey in call to function collect$#' + identifier: argument.templateType + count: 2 + path: tests/Feature/FormBuilder/Bindings/FormFieldResourceBindingOutputTest.php + + - + message: '#^Unable to resolve the template type TValue in call to function collect$#' + identifier: argument.templateType + count: 2 + path: tests/Feature/FormBuilder/Bindings/FormFieldResourceBindingOutputTest.php + + - + message: '#^Unable to resolve the template type TKey in call to function collect$#' + identifier: argument.templateType + count: 3 + path: tests/Feature/FormBuilder/Bindings/SchemaSnapshotEmbedsBindingFromRelationalTableTest.php + + - + message: '#^Unable to resolve the template type TValue in call to function collect$#' + identifier: argument.templateType + count: 3 + path: tests/Feature/FormBuilder/Bindings/SchemaSnapshotEmbedsBindingFromRelationalTableTest.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$id\.$#' + identifier: property.notFound + count: 1 + path: tests/Feature/FormBuilder/ConditionalLogic/FormFieldConditionalLogicConditionRelationTest.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$id\.$#' + identifier: property.notFound + count: 1 + path: tests/Feature/FormBuilder/ConditionalLogic/FormFieldConditionalLogicGroupRelationTest.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$owner\.$#' + identifier: property.notFound + count: 1 + path: tests/Feature/FormBuilder/Configs/FormFieldConfigServiceAndScopeTest.php + + - + message: '#^Parameter \#1 \$configs of method App\\Services\\FormBuilder\\FormFieldConfigService\:\:toJsonShape\(\) expects Illuminate\\Support\\Collection\, Illuminate\\Database\\Eloquent\\Collection\ given\.$#' + identifier: argument.type + count: 1 + path: tests/Feature/FormBuilder/Configs/FormFieldConfigServiceAndScopeTest.php + + - + message: '#^Unable to resolve the template type TKey in call to function collect$#' + identifier: argument.templateType + count: 2 + path: tests/Feature/FormBuilder/FilterRegistryApiTest.php + + - + message: '#^Unable to resolve the template type TValue in call to function collect$#' + identifier: argument.templateType + count: 2 + path: tests/Feature/FormBuilder/FilterRegistryApiTest.php + + - + message: '#^Instanceof between App\\Enums\\FormBuilder\\FormWebhookDeliveryStatus and BackedEnum will always evaluate to true\.$#' + identifier: instanceof.alwaysTrue + count: 1 + path: tests/Feature/FormBuilder/FormSchemaWebhookApiTest.php + + - + message: '#^Property Tests\\Feature\\FormBuilder\\FormSubmissionApiTest\:\:\$field is never read, only written\.$#' + identifier: property.onlyWritten + count: 1 + path: tests/Feature/FormBuilder/FormSubmissionApiTest.php + + - + message: '#^Property App\\Models\\FormBuilder\\FormSubmission\:\:\$status \(App\\Enums\\FormBuilder\\FormSubmissionStatus\) does not accept string\.$#' + identifier: assign.propertyType + count: 2 + path: tests/Feature/FormBuilder/FormSubmissionObserverTest.php + + - + message: '#^Method Tests\\Feature\\FormBuilder\\FormSubmissionResourceIdentityMatchTest\:\:toArray\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: tests/Feature/FormBuilder/FormSubmissionResourceIdentityMatchTest.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$owner\.$#' + identifier: property.notFound + count: 2 + path: tests/Feature/FormBuilder/Options/FormFieldOptionServiceAndScopeTest.php + + - + message: '#^Call to method PHPUnit\\Framework\\Assert\:\:assertTrue\(\) with true will always evaluate to true\.$#' + identifier: method.alreadyNarrowedType + count: 1 + path: tests/Feature/FormBuilder/Options/FormFieldOptionServiceAndScopeTest.php + + - + message: '#^Called ''first'' on Laravel collection, but could have been retrieved as a query\.$#' + identifier: larastan.noUnnecessaryCollectionCall + count: 1 + path: tests/Feature/FormBuilder/Options/FormFieldOptionServiceAndScopeTest.php + + - + message: '#^Parameter \#1 \$specs of method App\\Services\\FormBuilder\\FormFieldOptionService\:\:assertSpecsValid\(\) expects list\\>, array\{''not\-an\-array''\} given\.$#' + identifier: argument.type + count: 1 + path: tests/Feature/FormBuilder/Options/FormFieldOptionServiceAndScopeTest.php + + - + message: '#^Method Tests\\Feature\\FormBuilder\\Options\\FormFieldOptionsBackfillTest\:\:seedFieldWithOptions\(\) has parameter \$options with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: tests/Feature/FormBuilder/Options/FormFieldOptionsBackfillTest.php + + - + message: '#^Method Tests\\Feature\\FormBuilder\\Options\\FormFieldOptionsBackfillTest\:\:seedTemplateWithSnapshotRaw\(\) has parameter \$snapshot with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: tests/Feature/FormBuilder/Options/FormFieldOptionsBackfillTest.php + + - + message: '#^Unable to resolve the template type TKey in call to function collect$#' + identifier: argument.templateType + count: 2 + path: tests/Feature/FormBuilder/Options/FormFieldOptionsSnapshotAndStrictRequestTest.php + + - + message: '#^Unable to resolve the template type TValue in call to function collect$#' + identifier: argument.templateType + count: 2 + path: tests/Feature/FormBuilder/Options/FormFieldOptionsSnapshotAndStrictRequestTest.php + + - + message: '#^Unable to resolve the template type TKey in call to function collect$#' + identifier: argument.templateType + count: 2 + path: tests/Feature/FormBuilder/Options/FormFieldResourceOptionsTest.php + + - + message: '#^Unable to resolve the template type TValue in call to function collect$#' + identifier: argument.templateType + count: 2 + path: tests/Feature/FormBuilder/Options/FormFieldResourceOptionsTest.php + + - + message: '#^Call to function is_array\(\) with array will always evaluate to true\.$#' + identifier: function.alreadyNarrowedType + count: 1 + path: tests/Feature/FormBuilder/Options/FormFieldServiceInsertFromLibraryOptionsTest.php + + - + message: '#^Unable to resolve the template type TKey in call to function collect$#' + identifier: argument.templateType + count: 6 + path: tests/Feature/FormBuilder/Public/PublicFormSeederTest.php + + - + message: '#^Unable to resolve the template type TValue in call to function collect$#' + identifier: argument.templateType + count: 6 + path: tests/Feature/FormBuilder/Public/PublicFormSeederTest.php + + - + message: '#^Unable to resolve the template type TKey in call to function collect$#' + identifier: argument.templateType + count: 1 + path: tests/Feature/FormBuilder/PublicFormApiTest.php + + - + message: '#^Unable to resolve the template type TValue in call to function collect$#' + identifier: argument.templateType + count: 1 + path: tests/Feature/FormBuilder/PublicFormApiTest.php + + - + message: '#^Method Tests\\Feature\\FormBuilder\\PublicFormSubmissionDuplicateResponseTest\:\:submitAs\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: tests/Feature/FormBuilder/PublicFormSubmissionDuplicateResponseTest.php + + - + message: '#^Access to an undefined property App\\Models\\FormBuilder\\FormField\|Illuminate\\Database\\Eloquent\\Collection\\:\:\$validation_rules\.$#' + identifier: property.notFound + count: 1 + path: tests/Feature/FormBuilder/ValidationRules/FormFieldStrictValidationRulesRequestTest.php + + - + message: '#^Method Tests\\Feature\\FormBuilder\\ValidationRules\\FormFieldValidationRuleBackfillTest\:\:row\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: tests/Feature/FormBuilder/ValidationRules/FormFieldValidationRuleBackfillTest.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$parameters\.$#' + identifier: property.notFound + count: 1 + path: tests/Feature/FormBuilder/ValidationRules/FormFieldValidationRuleRelationTest.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$rule_type\.$#' + identifier: property.notFound + count: 1 + path: tests/Feature/FormBuilder/ValidationRules/FormFieldValidationRuleRelationTest.php + + - + message: '#^Unable to resolve the template type TKey in call to function collect$#' + identifier: argument.templateType + count: 2 + path: tests/Feature/FormBuilder/ValidationRules/SchemaSnapshotValidationRulesParityTest.php + + - + message: '#^Unable to resolve the template type TValue in call to function collect$#' + identifier: argument.templateType + count: 2 + path: tests/Feature/FormBuilder/ValidationRules/SchemaSnapshotValidationRulesParityTest.php + + - + message: '#^Property Tests\\Feature\\Location\\LocationTest\:\:\$otherEvent is never read, only written\.$#' + identifier: property.onlyWritten + count: 1 + path: tests/Feature/Location/LocationTest.php + + - + message: '#^Unable to resolve the template type TKey in call to function collect$#' + identifier: argument.templateType + count: 1 + path: tests/Feature/Location/LocationTest.php + + - + message: '#^Unable to resolve the template type TValue in call to function collect$#' + identifier: argument.templateType + count: 1 + path: tests/Feature/Location/LocationTest.php + + - + message: '#^Method Tests\\Feature\\MultiTenancy\\FiveHopLevel1\:\:tenantScopeStrategy\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: tests/Feature/MultiTenancy/ScopeLeakageTest.php + + - + message: '#^Method Tests\\Feature\\MultiTenancy\\FiveHopLevel2\:\:tenantScopeStrategy\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: tests/Feature/MultiTenancy/ScopeLeakageTest.php + + - + message: '#^Method Tests\\Feature\\MultiTenancy\\FiveHopLevel3\:\:tenantScopeStrategy\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: tests/Feature/MultiTenancy/ScopeLeakageTest.php + + - + message: '#^Method Tests\\Feature\\MultiTenancy\\FiveHopLevel4\:\:tenantScopeStrategy\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: tests/Feature/MultiTenancy/ScopeLeakageTest.php + + - + message: '#^Method Tests\\Feature\\MultiTenancy\\FiveHopLevel5\:\:tenantScopeStrategy\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: tests/Feature/MultiTenancy/ScopeLeakageTest.php + + - + message: '#^Method Tests\\Feature\\MultiTenancy\\FourHopLevel1\:\:tenantScopeStrategy\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: tests/Feature/MultiTenancy/ScopeLeakageTest.php + + - + message: '#^Method Tests\\Feature\\MultiTenancy\\FourHopLevel2\:\:tenantScopeStrategy\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: tests/Feature/MultiTenancy/ScopeLeakageTest.php + + - + message: '#^Method Tests\\Feature\\MultiTenancy\\FourHopLevel3\:\:tenantScopeStrategy\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: tests/Feature/MultiTenancy/ScopeLeakageTest.php + + - + message: '#^Method Tests\\Feature\\MultiTenancy\\FourHopLevel4\:\:tenantScopeStrategy\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: tests/Feature/MultiTenancy/ScopeLeakageTest.php + + - + message: '#^Method Tests\\Feature\\MultiTenancy\\SevenHopLevel1\:\:tenantScopeStrategy\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: tests/Feature/MultiTenancy/ScopeLeakageTest.php + + - + message: '#^Method Tests\\Feature\\MultiTenancy\\SevenHopLevel2\:\:tenantScopeStrategy\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: tests/Feature/MultiTenancy/ScopeLeakageTest.php + + - + message: '#^Method Tests\\Feature\\MultiTenancy\\SevenHopLevel3\:\:tenantScopeStrategy\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: tests/Feature/MultiTenancy/ScopeLeakageTest.php + + - + message: '#^Method Tests\\Feature\\MultiTenancy\\SevenHopLevel4\:\:tenantScopeStrategy\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: tests/Feature/MultiTenancy/ScopeLeakageTest.php + + - + message: '#^Method Tests\\Feature\\MultiTenancy\\SevenHopLevel5\:\:tenantScopeStrategy\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: tests/Feature/MultiTenancy/ScopeLeakageTest.php + + - + message: '#^Method Tests\\Feature\\MultiTenancy\\SevenHopLevel6\:\:tenantScopeStrategy\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: tests/Feature/MultiTenancy/ScopeLeakageTest.php + + - + message: '#^Method Tests\\Feature\\MultiTenancy\\SevenHopLevel7\:\:tenantScopeStrategy\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue + count: 1 + path: tests/Feature/MultiTenancy/ScopeLeakageTest.php + + - + message: '#^Unable to resolve the template type TKey in call to function collect$#' + identifier: argument.templateType + count: 2 + path: tests/Feature/Person/CreatePersonFromMemberTest.php + + - + message: '#^Unable to resolve the template type TValue in call to function collect$#' + identifier: argument.templateType + count: 2 + path: tests/Feature/Person/CreatePersonFromMemberTest.php + + - + message: '#^Using nullsafe property access on non\-nullable type App\\Models\\Person\. Use \-\> instead\.$#' + identifier: nullsafe.neverNull + count: 1 + path: tests/Feature/Person/PersonSoftDeleteTest.php + + - + message: '#^Unable to resolve the template type TKey in call to function collect$#' + identifier: argument.templateType + count: 3 + path: tests/Feature/PersonIdentity/PersonIdentityMatchTest.php + + - + message: '#^Unable to resolve the template type TValue in call to function collect$#' + identifier: argument.templateType + count: 3 + path: tests/Feature/PersonIdentity/PersonIdentityMatchTest.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$id\.$#' + identifier: property.notFound + count: 2 + path: tests/Feature/Schema/UlidPrimaryKeyTest.php + + - + message: '#^Method Tests\\Feature\\Security\\HttpOnlyCookieAuthTest\:\:findCookie\(\) has parameter \$response with no type specified\.$#' + identifier: missingType.parameter + count: 1 + path: tests/Feature/Security/HttpOnlyCookieAuthTest.php + + - + message: '#^Unable to resolve the template type TKey in call to function collect$#' + identifier: argument.templateType + count: 2 + path: tests/Feature/Security/MultiTenancyIsolationTest.php + + - + message: '#^Unable to resolve the template type TValue in call to function collect$#' + identifier: argument.templateType + count: 2 + path: tests/Feature/Security/MultiTenancyIsolationTest.php + + - + message: '#^Unable to resolve the template type TKey in call to function collect$#' + identifier: argument.templateType + count: 2 + path: tests/Feature/TimeSlot/TimeSlotTest.php + + - + message: '#^Unable to resolve the template type TValue in call to function collect$#' + identifier: argument.templateType + count: 2 + path: tests/Feature/TimeSlot/TimeSlotTest.php + + - + message: '#^Call to method PHPUnit\\Framework\\Assert\:\:assertNull\(\) with null will always evaluate to true\.$#' + identifier: method.alreadyNarrowedType + count: 7 + path: tests/Unit/Enums/FormBuilder/FormFieldValidationRuleTypeEnumTest.php + + - + message: '#^Call to method PHPUnit\\Framework\\Assert\:\:assertTrue\(\) with true will always evaluate to true\.$#' + identifier: method.alreadyNarrowedType + count: 1 + path: tests/Unit/ExampleTest.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$id\.$#' + identifier: property.notFound + count: 1 + path: tests/Unit/Models/FormBuilder/FormFieldTest.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$target_attribute\.$#' + identifier: property.notFound + count: 1 + path: tests/Unit/Models/FormBuilder/FormFieldTest.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$target_entity\.$#' + identifier: property.notFound + count: 1 + path: tests/Unit/Models/FormBuilder/FormFieldTest.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$id\.$#' + identifier: property.notFound + count: 1 + path: tests/Unit/Models/FormBuilder/FormSubmissionTest.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$id\.$#' + identifier: property.notFound + count: 2 + path: tests/Unit/Models/FormBuilder/FormValueTest.php + + - + message: '#^Call to method PHPUnit\\Framework\\Assert\:\:assertIsArray\(\) with array will always evaluate to true\.$#' + identifier: method.alreadyNarrowedType + count: 1 + path: tests/Unit/Models/FormBuilder/FormValueTest.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$last_submitted_at\.$#' + identifier: property.notFound + count: 2 + path: tests/Unit/Models/UserProfileTest.php + + - + message: '#^Access to an undefined property Illuminate\\Database\\Eloquent\\Model\:\:\$user\.$#' + identifier: property.notFound + count: 1 + path: tests/Unit/Models/UserProfileTest.php + + - + message: '#^Call to method PHPUnit\\Framework\\Assert\:\:assertNull\(\) with bool will always evaluate to false\.$#' + identifier: method.impossibleType + count: 1 + path: tests/Unit/Models/UserProfileTest.php + + - + message: '#^Call to method PHPUnit\\Framework\\Assert\:\:assertNull\(\) with numeric\-string will always evaluate to false\.$#' + identifier: method.impossibleType + count: 1 + path: tests/Unit/Models/UserProfileTest.php + + - + message: '#^Call to method PHPUnit\\Framework\\Assert\:\:assertNotNull\(\) with string will always evaluate to true\.$#' + identifier: method.alreadyNarrowedType + count: 1 + path: tests/Unit/Services/MfaServiceTest.php diff --git a/api/phpstan.neon b/api/phpstan.neon new file mode 100644 index 00000000..80db10fd --- /dev/null +++ b/api/phpstan.neon @@ -0,0 +1,19 @@ +includes: + - vendor/larastan/larastan/extension.neon + - phpstan-baseline.neon + +parameters: + paths: + - app/ + - database/ + - tests/ + level: 6 + + excludePaths: + - bootstrap/cache/* + - storage/* + - vendor/* + + checkModelProperties: true + + tmpDir: storage/app/phpstan-tmp diff --git a/dev-docs/BACKLOG.md b/dev-docs/BACKLOG.md index 4982ebef..b73e3750 100644 --- a/dev-docs/BACKLOG.md +++ b/dev-docs/BACKLOG.md @@ -747,5 +747,144 @@ externe lijsten nog niet compleet zijn. --- +## Larastan reduction sprints + +Larastan (PHPStan for Laravel) is geïnstalleerd op level 6 met een +accept-all baseline van 1556 errors over 678 files (41 distinct +identifiers). Zie `/dev-docs/LARASTAN.md` voor werkmodel. Per-categorie +reduction-sprints hieronder — elke sprint mikt op één identifier, laat +de baseline krimpen en regenereert hem aan het einde. + +### TECH-LARASTAN-01 — property.notFound + +**Priority:** Middel (post-foundation, incremental) +**Scope:** baseline-entries met identifier `property.notFound`. +**Estimate:** 613 errors over 87 files. +**Completion gate:** category count daalt naar 0 in geregenereerde +baseline; volledige test suite groen. + +**Approach:** +- Merendeel zit op Eloquent-modellen waar `$user->id` of vergelijkbaar + niet door PHPDoc wordt herkend — los op door `@property` annotaties + op modellen toe te voegen (of via `php artisan ide-helper:models` + als dat acceptabel wordt gevonden). +- Commit per sub-directory als >50 errors. + +### TECH-LARASTAN-02 — missingType.generics + +**Priority:** Middel +**Scope:** baseline-entries met identifier `missingType.generics`. +**Estimate:** 289 errors over 52 files. +**Completion gate:** category count naar 0; tests groen. + +**Approach:** +- Zit vooral op factories (`extends Factory`) en + `HasFactory`-gebruik zonder template. Voeg type-params toe aan + class-declaraties en docblocks. +- Overlapt deels met TYPE_DECLARATION-sprint van Rector. + +### TECH-LARASTAN-03 — argument.templateType + +**Priority:** Middel +**Scope:** baseline-entries met identifier `argument.templateType`. +**Estimate:** 154 errors over 31 files. +**Completion gate:** category count naar 0; tests groen. + +**Approach:** +- Voornamelijk `collect(...)` calls waar PHPStan de generieke + template TKey/TValue niet kan resolven. Typeer de input expliciet + of gebruik `Collection::make([...])` met generieke annotatie. + +### TECH-LARASTAN-04 — missingType.iterableValue + +**Priority:** Middel +**Scope:** baseline-entries met identifier `missingType.iterableValue`. +**Estimate:** 98 errors over 61 files. +**Completion gate:** category count naar 0; tests groen. + +**Approach:** +- Methode-return-types als `array` zonder value-type. Voeg + `array` of specifieker toe aan form-requests, + resource `toArray()` methods, factory `definition()` methods. + +### TECH-LARASTAN-05 — argument.type + +**Priority:** Middel +**Scope:** baseline-entries met identifier `argument.type`. +**Estimate:** 77 errors over 32 files. +**Completion gate:** category count naar 0; tests groen. + +**Approach:** +- Reële type-mismatches (bijv. string doorgegeven waar `'strict'|'lax'` + vereist is). Case-by-case reviewen — niet mechanisch. + +### TECH-LARASTAN-06 — method.notFound + +**Priority:** Middel +**Scope:** baseline-entries met identifier `method.notFound`. +**Estimate:** 50 errors over 26 files. +**Completion gate:** category count naar 0; tests groen. + +**Approach:** +- Meestal "Call to an undefined method Illuminate\\…::users()" — + relationship methods die PHPStan niet kent. Los op via + `@method` annotaties of generieke relationship-return types. + +### TECH-LARASTAN-07 — method.childReturnType + +**Priority:** Laag +**Scope:** baseline-entries met identifier `method.childReturnType`. +**Estimate:** 35 errors over 35 files. +**Completion gate:** category count naar 0; tests groen. + +**Approach:** +- Eén-op-één met factory `definition()` methodes. Smeedt samen met + TECH-LARASTAN-02 in één sprint indien praktisch. + +### TECH-LARASTAN-08 — method.unresolvableReturnType + +**Priority:** Laag +**Scope:** baseline-entries met identifier +`method.unresolvableReturnType`. +**Estimate:** 32 errors over 9 files. +**Completion gate:** category count naar 0; tests groen. + +### TECH-LARASTAN-09 — assign.propertyType + +**Priority:** Middel (reële type-bug kans hoger dan bij generics) +**Scope:** baseline-entries met identifier `assign.propertyType`. +**Estimate:** 31 errors over 10 files. +**Completion gate:** category count naar 0; tests groen. + +**Approach:** +- Meestal Carbon vs string mismatch op Eloquent properties — + modelcasts goed zetten zodat Eloquent de datetime teruggeeft waar + hij beloofd is. + +### TECH-LARASTAN-10 — instanceof.alwaysTrue + +**Priority:** Laag +**Scope:** baseline-entries met identifier `instanceof.alwaysTrue`. +**Estimate:** 28 errors over 17 files. +**Completion gate:** category count naar 0; tests groen. + +**Approach:** +- Dead `instanceof`-checks. Prefab voor Rector's `DEAD_CODE` + sprint — wachten of combineren. + +### TECH-LARASTAN-CI — CI integration + +**Priority:** Middel +**Scope:** wire `composer analyse` als blokkerende PR-gate in CI. +**Depends on:** CI-infrastructuurkeuze. + +### TECH-LARASTAN-L8 — level 8 migration + +**Priority:** Laag +**Scope:** niveau 6→8 verhogen nadat level-6 baseline op 0 staat. +**Estimate:** onbekend totdat level 6 leeg is. + +--- + _Laatste update: April 2026_ _Voeg nieuwe items toe met prefix: ARCH-, COMM-, OPS-, VOL-, ART-, FORM-, SUP-, DIFF-, APPS-, TECH-, UX-_ diff --git a/dev-docs/LARASTAN.md b/dev-docs/LARASTAN.md new file mode 100644 index 00000000..e4a82554 --- /dev/null +++ b/dev-docs/LARASTAN.md @@ -0,0 +1,52 @@ +# Larastan (PHPStan for Laravel) + +Static analysis for the Crewli backend. Configured at level 6 with +an accept-all baseline. + +## Running locally + +- `composer analyse` — run static analysis. Suppresses baselined errors. +- `composer analyse:baseline` — regenerate the baseline. Use after a + reduction sprint to lock in the new lower-debt state. +- `composer analyse:clear-cache` — clear PHPStan result cache. + +Memory: 2G default. Bump to 4G in `composer.json` if you hit OOM. + +## The accept-all baseline model + +`phpstan-baseline.neon` is a time-snapshot of every error that existed +when Larastan was first installed. Errors in the baseline are +suppressed; Larastan reports only errors NOT in the baseline. + +### Rules + +1. **New code must not introduce new errors.** Fix them before merge. + Do NOT regenerate the baseline to absorb new errors. +2. **Refactoring that REMOVES baseline errors is good.** Regenerate + the baseline (`composer analyse:baseline`) so the file reflects + the new lower-debt reality. Commit alongside the refactor. +3. **Reduction sprints REPLACE baseline entries with fixes.** See + `/dev-docs/BACKLOG.md` for sprint items. + +## Current target + +Level 6. Catches: + - missing typehints + - method existence + - null-safety on common paths + - Laravel model property existence + +Level 8 is the eventual target — deferred until level 6 baseline +reaches zero. + +## Adding exclusions + +Do NOT add blanket `ignoreErrors` patterns to `phpstan.neon`. False +positives get a code-level `@phpstan-ignore-next-line` comment with +upstream-issue justification. Pattern-level ignores rot fast. + +## CI integration + +Not enabled yet. When added, `composer analyse` is a blocking PR +gate. The "new code must not introduce new errors" rule is only +enforceable with CI.