diff --git a/app/Events/EventType.php b/app/Events/EventType.php index 99c35a1..f1787f9 100644 --- a/app/Events/EventType.php +++ b/app/Events/EventType.php @@ -48,6 +48,8 @@ class EventType /** * Laravel's default events + * + * @return array */ public static function laravelDefaultEvents(): array { @@ -60,6 +62,8 @@ class EventType /** * Laravel nova events + * + * @return array */ public static function laravelNovaEvents(): array { diff --git a/app/Helpers/helpers.php b/app/Helpers/helpers.php index 85f043f..35233c5 100644 --- a/app/Helpers/helpers.php +++ b/app/Helpers/helpers.php @@ -11,7 +11,7 @@ use Stevebauman\Location\Facades\Location; /** * Check if a client IP is in our Server subnet * - * @param string $server_ip + * @param string $ip */ function isLocalIp(string $ip = ''): bool { @@ -39,13 +39,13 @@ function isTurkmenIp(string $ip = ''): bool */ function unMaskPhone(string|int $phone): string { - return substr(str_replace(['+', '(', ')', '-', '_'], '', $phone), 3); + return substr(str_replace(['+', '(', ')', '-', '_'], '', strval($phone)), 3); } /** * Send a sms * - * @return void + * @return mixed|void */ function sendSMS(string|int $phone, string|int $message) { diff --git a/app/Http/Controllers/Auth/LoginController.php b/app/Http/Controllers/Auth/LoginController.php index 5dea93a..be52b27 100644 --- a/app/Http/Controllers/Auth/LoginController.php +++ b/app/Http/Controllers/Auth/LoginController.php @@ -8,6 +8,7 @@ use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; use Illuminate\Routing\Controller; use Illuminate\Support\Facades\Auth; +use Illuminate\View\View; use Laravel\Nova\Nova; class LoginController extends Controller @@ -37,8 +38,6 @@ class LoginController extends Controller /** * Show the application's login form. - * - * @return \Inertia\Response|\Symfony\Component\HttpFoundation\Response */ public function showLoginForm() { @@ -81,9 +80,9 @@ class LoginController extends Controller * * @return string */ - public function redirectPath() + public function redirectPath(): string { - return Nova::url(Nova::$initialPath); + return Nova::url(is_callable(Nova::$initialPath) ? call_user_func(Nova::$initialPath) : Nova::$initialPath); } /** diff --git a/app/Http/Controllers/LocaleController.php b/app/Http/Controllers/LocaleController.php index d1193bc..1cb0b61 100644 --- a/app/Http/Controllers/LocaleController.php +++ b/app/Http/Controllers/LocaleController.php @@ -2,12 +2,14 @@ namespace App\Http\Controllers; +use Illuminate\Http\RedirectResponse; + class LocaleController extends Controller { /** * @return RedirectResponse */ - public function __invoke($locale) + public function __invoke(string $locale): RedirectResponse { if (array_key_exists($locale, config('app.locales'))) { session()->put('locale', $locale); diff --git a/app/Models/Branch/Branch.php b/app/Models/Branch/Branch.php index 01717ef..0986aa7 100644 --- a/app/Models/Branch/Branch.php +++ b/app/Models/Branch/Branch.php @@ -5,6 +5,7 @@ namespace App\Models\Branch; use App\Models\User; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; +use Illuminate\Database\Eloquent\Relations\BelongsToMany; use Spatie\Translatable\HasTranslations; class Branch extends Model diff --git a/app/Models/Order/Card/CardOrder.php b/app/Models/Order/Card/CardOrder.php index c64b5d4..7a94cff 100644 --- a/app/Models/Order/Card/CardOrder.php +++ b/app/Models/Order/Card/CardOrder.php @@ -127,6 +127,7 @@ class CardOrder extends Model { return match ($type) { 'index' => sprintf('%s/resources/card-orders', config('nova.path')), + default => config('nova.path'), }; } } diff --git a/app/Models/Order/Loan/LoanOrder.php b/app/Models/Order/Loan/LoanOrder.php index 94968d8..237daef 100644 --- a/app/Models/Order/Loan/LoanOrder.php +++ b/app/Models/Order/Loan/LoanOrder.php @@ -65,7 +65,7 @@ class LoanOrder extends Model /** * The attributes that should be cast. * - * @var array + * @var array */ protected $casts = [ 'born_at' => 'date', diff --git a/app/Models/Payment/ApiKeyHalkbank.php b/app/Models/Payment/ApiKeyHalkbank.php index ff3a727..8010cca 100644 --- a/app/Models/Payment/ApiKeyHalkbank.php +++ b/app/Models/Payment/ApiKeyHalkbank.php @@ -30,7 +30,7 @@ class ApiKeyHalkbank extends Model /** * Generate unique order number */ - public static function generateOrderNumber($resource): int + public static function generateOrderNumber(mixed $resource): int { $order_number = static::firstOrCreate([ 'billing_username' => $resource->billing_username ?? 'asdasd', @@ -38,9 +38,9 @@ class ApiKeyHalkbank extends Model ], ['order_number' => '01122017270']); $order_number->update([ - 'order_number' => $order_number->order_number + 1, + 'order_number' => intval($order_number->order_number) + 1, ]); - return $order_number->order_number; + return (int) $order_number->order_number; } } diff --git a/app/Models/User.php b/app/Models/User.php index 4f9e446..9f2abe2 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -146,6 +146,14 @@ class User extends Authenticatable return $this->id === $loanOrder->user_id; } + /** + * Check if user owns loan order. + */ + public function ownsCardOrder(CardOrder $cardOrder): bool + { + return $this->id === $cardOrder->user_id; + } + /** * Check if phone is verified */ diff --git a/app/Nova/Resource.php b/app/Nova/Resource.php index 0c9f083..43d367e 100644 --- a/app/Nova/Resource.php +++ b/app/Nova/Resource.php @@ -2,9 +2,11 @@ namespace App\Nova; +use DragonCode\Contracts\Cashier\Config\Payments\Map; use Illuminate\Http\Request; use Laravel\Nova\Http\Requests\NovaRequest; use Laravel\Nova\Resource as NovaResource; +use Illuminate\Database\Eloquent\Builder; abstract class Resource extends NovaResource { @@ -36,18 +38,15 @@ abstract class Resource extends NovaResource * @param \Illuminate\Database\Eloquent\Builder $query * @return \Illuminate\Database\Eloquent\Builder */ - public static function indexQuery(NovaRequest $request, $query) + public static function indexQuery(NovaRequest $request, mixed $query): Builder { return $query; } /** * Build a Scout search query for the given resource. - * - * @param \Laravel\Scout\Builder $query - * @return \Laravel\Scout\Builder */ - public static function scoutQuery(NovaRequest $request, $query) + public static function scoutQuery(NovaRequest $request, mixed $query) // @phpstan-ignore-line { return $query; } diff --git a/app/Nova/Resources/Order/Card/CardOrder.php b/app/Nova/Resources/Order/Card/CardOrder.php index a92da69..ef646f1 100644 --- a/app/Nova/Resources/Order/Card/CardOrder.php +++ b/app/Nova/Resources/Order/Card/CardOrder.php @@ -21,6 +21,7 @@ use App\Repos\System\Settings\Legal\PassportRepo; use App\Repos\System\Settings\Location\RegionRepo; use App\Rules\DowranAgaAllowed; use App\Rules\OnlyLetters; +use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Model; use Illuminate\Http\Request; use Illuminate\Support\Facades\Gate; @@ -112,7 +113,7 @@ class CardOrder extends Resource * @param \Illuminate\Database\Eloquent\Builder $query * @return \Illuminate\Database\Eloquent\Builder */ - public static function indexQuery(NovaRequest $request, $query) + public static function indexQuery(NovaRequest $request, mixed $query): Builder { $user = $request->user(); @@ -130,8 +131,8 @@ class CardOrder extends Resource /** * After resource created * - * @param Laravel\Nova\Http\Requests\NovaRequest $request - * @param Illuminate\Database\Eloquent\Model $model + * @param \Laravel\Nova\Http\Requests\NovaRequest $request + * @param \Illuminate\Database\Eloquent\Model $model */ public static function afterCreate(NovaRequest $request, Model $model): void { @@ -372,7 +373,7 @@ class CardOrder extends Resource { return [ RegionFilter::make() - ->canSee(fn () => Gate::allows('isAdmin'), auth()->user()), + ->canSee(fn () => Gate::allows('isAdmin', auth()->user())), new StatusFilter(), ]; diff --git a/app/Nova/Resources/Order/Card/Pin/CardPin.php b/app/Nova/Resources/Order/Card/Pin/CardPin.php index 56905d7..13f8b7c 100644 --- a/app/Nova/Resources/Order/Card/Pin/CardPin.php +++ b/app/Nova/Resources/Order/Card/Pin/CardPin.php @@ -6,6 +6,7 @@ use App\Models\Branch\Branch; use App\Models\Order\Card\CardPin\CardPin as CardPinModel; use App\Nova\Filters\RegionFilter; use App\Nova\Filters\StatusFilter; +use Illuminate\Database\Eloquent\Builder; use App\Nova\Nova; use App\Nova\Resource; use App\Nova\Resources\Order\Card\Requisite\Concerns\CardRequisiteFieldsForDetail; @@ -55,7 +56,7 @@ class CardPin extends Resource /** * The columns that should be searched. * - * @var array + * @var array */ public static $search = [ 'unique_id', 'customer_name', 'customer_surname', 'phone', @@ -124,7 +125,7 @@ class CardPin extends Resource * @param \Illuminate\Database\Eloquent\Builder $query * @return \Illuminate\Database\Eloquent\Builder */ - public static function indexQuery(NovaRequest $request, $query) + public static function indexQuery(NovaRequest $request, mixed $query): Builder { $user = $request->user(); @@ -142,8 +143,8 @@ class CardPin extends Resource /** * After resource created * - * @param Laravel\Nova\Http\Requests\NovaRequest $request - * @param Illuminate\Database\Eloquent\Model $model + * @param \Laravel\Nova\Http\Requests\NovaRequest $request + * @param \Illuminate\Database\Eloquent\Model $model */ public static function afterCreate(NovaRequest $request, Model $model): void { @@ -310,7 +311,7 @@ class CardPin extends Resource { return [ RegionFilter::make() - ->canSee(fn () => Gate::allows('isAdmin'), auth()->user()), + ->canSee(fn () => Gate::allows('isAdmin', auth()->user())), new StatusFilter(), ]; diff --git a/app/Nova/Resources/Order/Card/Requisite/CardRequisite.php b/app/Nova/Resources/Order/Card/Requisite/CardRequisite.php index 6d0295a..f6d0f48 100644 --- a/app/Nova/Resources/Order/Card/Requisite/CardRequisite.php +++ b/app/Nova/Resources/Order/Card/Requisite/CardRequisite.php @@ -17,6 +17,7 @@ use App\Repos\System\Nova\NovaRepo; use App\Repos\System\Settings\Legal\PassportRepo; use App\Repos\System\Settings\Location\RegionRepo; use App\Rules\OnlyLetters; +use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Model; use Illuminate\Http\Request; use Illuminate\Support\Facades\Gate; @@ -106,7 +107,7 @@ class CardRequisite extends Resource /** * Get the text for the create resource button. * - * @return string|null + * @return string */ public static function createButtonLabel(): string { @@ -116,7 +117,7 @@ class CardRequisite extends Resource /** * Get the text for the update resource button. * - * @return string|null + * @return string */ public static function updateButtonLabel(): string { @@ -129,7 +130,7 @@ class CardRequisite extends Resource * @param \Illuminate\Database\Eloquent\Builder $query * @return \Illuminate\Database\Eloquent\Builder */ - public static function indexQuery(NovaRequest $request, $query) + public static function indexQuery(NovaRequest $request, mixed $query): Builder { $user = $request->user(); @@ -147,8 +148,8 @@ class CardRequisite extends Resource /** * After resource created * - * @param Laravel\Nova\Http\Requests\NovaRequest $request - * @param Illuminate\Database\Eloquent\Model $model + * @param \Laravel\Nova\Http\Requests\NovaRequest $request + * @param \Illuminate\Database\Eloquent\Model $model */ public static function afterCreate(NovaRequest $request, Model $model): void { @@ -322,7 +323,7 @@ class CardRequisite extends Resource { return [ RegionFilter::make() - ->canSee(fn () => Gate::allows('isAdmin'), auth()->user()), + ->canSee(fn () => Gate::allows('isAdmin', auth()->user())), new StatusFilter(), ]; diff --git a/app/Nova/Resources/Order/Card/Requisite/Concerns/CardRequisiteFieldsForDetail.php b/app/Nova/Resources/Order/Card/Requisite/Concerns/CardRequisiteFieldsForDetail.php index 5c8554d..26d019d 100644 --- a/app/Nova/Resources/Order/Card/Requisite/Concerns/CardRequisiteFieldsForDetail.php +++ b/app/Nova/Resources/Order/Card/Requisite/Concerns/CardRequisiteFieldsForDetail.php @@ -25,8 +25,11 @@ class CardRequisiteFieldsForDetail { /** * Fields for index + * + * @param mixed $resource + * @return array */ - public static function make($resource): array + public static function make(mixed $resource): array { return [ ID::make()->hide(), diff --git a/app/Nova/Resources/Order/Loan/LoanOrder.php b/app/Nova/Resources/Order/Loan/LoanOrder.php index cd6d691..f571c74 100644 --- a/app/Nova/Resources/Order/Loan/LoanOrder.php +++ b/app/Nova/Resources/Order/Loan/LoanOrder.php @@ -19,6 +19,7 @@ use App\Repos\System\Settings\Legal\PassportRepo; use App\Repos\System\Settings\Location\RegionRepo; use App\Rules\DowranAgaAllowed; use App\Rules\OnlyLetters; +use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Model; use Illuminate\Http\Request; use Illuminate\Support\Facades\Gate; @@ -109,7 +110,7 @@ class LoanOrder extends Resource * @param \Illuminate\Database\Eloquent\Builder $query * @return \Illuminate\Database\Eloquent\Builder */ - public static function indexQuery(NovaRequest $request, $query) + public static function indexQuery(NovaRequest $request, mixed $query): Builder { $user = $request->user(); @@ -376,7 +377,7 @@ class LoanOrder extends Resource { return [ RegionFilter::make() - ->canSee(fn () => Gate::allows('isAdmin'), auth()->user()), + ->canSee(fn () => Gate::allows('isAdmin', auth()->user())), new StatusFilter(), ]; diff --git a/app/Nova/Resources/Order/Loan/LoanPaidOffLetter/LoanPaidOffLetterOrderFieldsForDetail.php b/app/Nova/Resources/Order/Loan/LoanPaidOffLetter/LoanPaidOffLetterOrderFieldsForDetail.php index f2fb16e..38ebd48 100644 --- a/app/Nova/Resources/Order/Loan/LoanPaidOffLetter/LoanPaidOffLetterOrderFieldsForDetail.php +++ b/app/Nova/Resources/Order/Loan/LoanPaidOffLetter/LoanPaidOffLetterOrderFieldsForDetail.php @@ -23,10 +23,9 @@ class LoanPaidOffLetterOrderFieldsForDetail /** * Loan paidoff letter detail fields * - * @param $resource - * @param $request + * @param mixed $resource */ - public static function make(): array + public static function make(mixed $resource): array { return [ ID::make()->hide(), diff --git a/app/Nova/Resources/Order/Loan/LoanPaidOffLetterOrder.php b/app/Nova/Resources/Order/Loan/LoanPaidOffLetterOrder.php index 5f14ef3..3b97a7a 100644 --- a/app/Nova/Resources/Order/Loan/LoanPaidOffLetterOrder.php +++ b/app/Nova/Resources/Order/Loan/LoanPaidOffLetterOrder.php @@ -15,6 +15,7 @@ use App\Repos\System\Nova\NovaRepo; use App\Repos\System\Settings\Legal\PassportRepo; use App\Repos\System\Settings\Location\RegionRepo; use App\Rules\OnlyLetters; +use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Model; use Illuminate\Support\Facades\Gate; use Laravel\Nova\Fields\Date; @@ -100,7 +101,7 @@ class LoanPaidOffLetterOrder extends Resource * @param \Illuminate\Database\Eloquent\Builder $query * @return \Illuminate\Database\Eloquent\Builder */ - public static function indexQuery(NovaRequest $request, $query) + public static function indexQuery(NovaRequest $request, mixed $query): Builder { $user = $request->user(); @@ -118,8 +119,8 @@ class LoanPaidOffLetterOrder extends Resource /** * After resource created * - * @param Laravel\Nova\Http\Requests\NovaRequest $request - * @param Illuminate\Database\Eloquent\Model $model + * @param \Laravel\Nova\Http\Requests\NovaRequest $request + * @param \Illuminate\Database\Eloquent\Model $model */ public static function afterCreate(NovaRequest $request, Model $model): void { @@ -261,7 +262,7 @@ class LoanPaidOffLetterOrder extends Resource { return [ RegionFilter::make() - ->canSee(fn () => Gate::allows('isAdmin'), auth()->user()), + ->canSee(fn () => Gate::allows('isAdmin', auth()->user())), new StatusFilter(), ]; diff --git a/app/Nova/Resources/Order/Loan/Metrics/LoanOrderPerStatus.php b/app/Nova/Resources/Order/Loan/Metrics/LoanOrderPerStatus.php index 055fe3e..323d57b 100644 --- a/app/Nova/Resources/Order/Loan/Metrics/LoanOrderPerStatus.php +++ b/app/Nova/Resources/Order/Loan/Metrics/LoanOrderPerStatus.php @@ -25,7 +25,6 @@ class LoanOrderPerStatus extends Partition return $this->count($request, LoanOrder::class, 'status') ->colors(OrderRepo::statusColors()) ->label(fn ($value) => match ($value) { - null => __('None'), default => OrderRepo::statusFormatted($value) }); } diff --git a/app/Nova/Resources/System/Locale/LocaleManagerResource.php b/app/Nova/Resources/System/Locale/LocaleManagerResource.php index 1e29afe..5b46316 100644 --- a/app/Nova/Resources/System/Locale/LocaleManagerResource.php +++ b/app/Nova/Resources/System/Locale/LocaleManagerResource.php @@ -29,7 +29,7 @@ class LocaleManagerResource extends Resource /** * The columns that should be searched. * - * @var array + * @var array */ public static $search = [ 'name', @@ -37,6 +37,8 @@ class LocaleManagerResource extends Resource /** * Get the fields displayed by the resource. + * + * @return array */ public function fields(NovaRequest $request): array { @@ -50,7 +52,7 @@ class LocaleManagerResource extends Resource /** * Get the cards available for the request. * - * @return array + * @return array */ public function cards(NovaRequest $request) { @@ -60,7 +62,7 @@ class LocaleManagerResource extends Resource /** * Get the filters available for the resource. * - * @return array + * @return array */ public function filters(NovaRequest $request) { @@ -70,7 +72,7 @@ class LocaleManagerResource extends Resource /** * Get the lenses available for the resource. * - * @return array + * @return array */ public function lenses(NovaRequest $request) { @@ -79,6 +81,8 @@ class LocaleManagerResource extends Resource /** * Get the actions available for the resource. + * + * @return array */ public function actions(NovaRequest $request): array { diff --git a/app/Nova/Resources/System/Location/Province.php b/app/Nova/Resources/System/Location/Province.php index aa27747..f6409a3 100644 --- a/app/Nova/Resources/System/Location/Province.php +++ b/app/Nova/Resources/System/Location/Province.php @@ -33,7 +33,7 @@ class Province extends Resource /** * The columns that should be searched. * - * @var array + * @var array */ public static $search = [ 'name', @@ -57,6 +57,8 @@ class Province extends Resource /** * Get the fields displayed by the resource. + * + * @return array */ public function fields(NovaRequest $request): array { @@ -82,6 +84,8 @@ class Province extends Resource /** * Get the cards available for the request. + * + * @return array */ public function cards(NovaRequest $request): array { @@ -90,6 +94,8 @@ class Province extends Resource /** * Get the filters available for the resource. + * + * @return array */ public function filters(NovaRequest $request): array { @@ -101,6 +107,8 @@ class Province extends Resource /** * Get the lenses available for the resource. + * + * @return array */ public function lenses(NovaRequest $request): array { @@ -109,6 +117,8 @@ class Province extends Resource /** * Get the actions available for the resource. + * + * @return array */ public function actions(NovaRequest $request): array { diff --git a/app/Nova/Resources/System/Roles/Permission.php b/app/Nova/Resources/System/Roles/Permission.php index 23dc1f6..1d3755f 100644 --- a/app/Nova/Resources/System/Roles/Permission.php +++ b/app/Nova/Resources/System/Roles/Permission.php @@ -28,7 +28,7 @@ class Permission extends Resource /** * The columns that should be searched. * - * @var array + * @var array */ public static $search = [ 'id', 'name', @@ -52,6 +52,8 @@ class Permission extends Resource /** * Get the fields displayed by the resource. + * + * @return array */ public function fields(NovaRequest $request): array { @@ -73,6 +75,8 @@ class Permission extends Resource /** * Get the cards available for the request. + * + * @return array */ public function cards(NovaRequest $request): array { @@ -81,6 +85,8 @@ class Permission extends Resource /** * Get the filters available for the resource. + * + * @return array */ public function filters(NovaRequest $request): array { @@ -89,6 +95,8 @@ class Permission extends Resource /** * Get the lenses available for the resource. + * + * @return array */ public function lenses(NovaRequest $request): array { @@ -97,6 +105,8 @@ class Permission extends Resource /** * Get the actions available for the resource. + * + * @return array */ public function actions(NovaRequest $request): array { diff --git a/app/Nova/Resources/System/Roles/Role.php b/app/Nova/Resources/System/Roles/Role.php index ecc1272..496304e 100644 --- a/app/Nova/Resources/System/Roles/Role.php +++ b/app/Nova/Resources/System/Roles/Role.php @@ -5,6 +5,7 @@ namespace App\Nova\Resources\System\Roles; use App\Models\System\Roles\Role as RoleModel; use App\Nova\Resource; use App\Repos\System\Nova\NovaRepo; +use Illuminate\Database\Eloquent\Builder; use Laravel\Nova\Fields\ID; use Laravel\Nova\Fields\Text; use Laravel\Nova\Http\Requests\NovaRequest; @@ -28,7 +29,7 @@ class Role extends Resource /** * The columns that should be searched. * - * @var array + * @var array */ public static $search = [ 'id', 'name', @@ -53,10 +54,10 @@ class Role extends Resource /** * Build an "index" query for the given resource. * - * @param \Illuminate\Database\Eloquent\Builder $query - * @return \Illuminate\Database\Eloquent\Builder + * @param \Illuminate\Database\Eloquent\Builder<\Illuminate\Database\Eloquent\Model> $query + * @return \Illuminate\Database\Eloquent\Builder<\Illuminate\Database\Eloquent\Model> */ - public static function indexQuery(NovaRequest $request, $query) + public static function indexQuery(NovaRequest $request, mixed $query): Builder { $query->where('name', '!=', 'king'); @@ -65,6 +66,8 @@ class Role extends Resource /** * Get the fields displayed by the resource. + * + * @return array */ public function fields(NovaRequest $request): array { @@ -86,6 +89,8 @@ class Role extends Resource /** * Get the cards available for the request. + * + * @return array */ public function cards(NovaRequest $request): array { @@ -94,6 +99,8 @@ class Role extends Resource /** * Get the filters available for the resource. + * + * @return array */ public function filters(NovaRequest $request): array { @@ -102,6 +109,8 @@ class Role extends Resource /** * Get the lenses available for the resource. + * + * @return array */ public function lenses(NovaRequest $request): array { @@ -110,6 +119,8 @@ class Role extends Resource /** * Get the actions available for the resource. + * + * @return array */ public function actions(NovaRequest $request): array { diff --git a/app/Nova/Resources/Test.php b/app/Nova/Resources/Test.php deleted file mode 100644 index 33071bc..0000000 --- a/app/Nova/Resources/Test.php +++ /dev/null @@ -1,93 +0,0 @@ - - */ - public static $model = \App\Models\Test::class; - - /** - * The single value that should be used to represent the resource when being displayed. - * - * @var string - */ - public static $title = 'id'; - - /** - * The columns that should be searched. - * - * @var array - */ - public static $search = [ - 'phone', - ]; - - /** - * Get the fields displayed by the resource. - * - * @return array - */ - public function fields(NovaRequest $request) - { - return [ - ID::make()->sortable(), - - NovaInputmask::make(__('Phone'), 'phone') - ->mask('+(\\9\\93)-99-99-99-99') - ->storeRawValue() - ->size('w-1/4') - ->rules('required', 'integer', 'between:61000000,65999999'), - ]; - } - - /** - * Get the cards available for the request. - * - * @return array - */ - public function cards(NovaRequest $request) - { - return []; - } - - /** - * Get the filters available for the resource. - * - * @return array - */ - public function filters(NovaRequest $request) - { - return []; - } - - /** - * Get the lenses available for the resource. - * - * @return array - */ - public function lenses(NovaRequest $request) - { - return []; - } - - /** - * Get the actions available for the resource. - * - * @return array - */ - public function actions(NovaRequest $request) - { - return []; - } -} diff --git a/app/Nova/User.php b/app/Nova/User.php index 638963e..68d7fa6 100644 --- a/app/Nova/User.php +++ b/app/Nova/User.php @@ -7,6 +7,7 @@ use App\Nova\Resources\Order\Card\CardOrder; use App\Nova\Resources\Order\Loan\LoanOrder; use App\Nova\Resources\System\Roles\Permission; use App\Nova\Resources\System\Roles\Role; +use Illuminate\Database\Eloquent\Builder; use Illuminate\Http\Request; use Illuminate\Validation\Rules; use Laravel\Nova\Fields\BelongsToMany; @@ -38,7 +39,7 @@ class User extends Resource /** * The columns that should be searched. * - * @var array + * @var array */ public static $search = [ 'id', 'name', 'email', @@ -47,14 +48,11 @@ class User extends Resource /** * Build an "index" query for the given resource. * - * @param \Illuminate\Database\Eloquent\Builder $query - * @return \Illuminate\Database\Eloquent\Builder + * @param \Illuminate\Database\Eloquent\Builder<\Illuminate\Database\Eloquent\Model> $query + * @return \Illuminate\Database\Eloquent\Builder<\Illuminate\Database\Eloquent\Model> */ - public static function indexQuery(NovaRequest $request, $query) + public static function indexQuery(NovaRequest $request, mixed $query): Builder { - // $query->where('email', '!=', 'nurmuhammet@mail.com') - // ->where('email', '!=', 'mahmyt1206@gmail.com'); - return $query; } @@ -76,6 +74,8 @@ class User extends Resource /** * Get the fields displayed by the resource. + * + * @return array */ public function fields(NovaRequest $request): array { @@ -130,7 +130,7 @@ class User extends Resource /** * Get the cards available for the request. * - * @return array + * @return array */ public function cards(NovaRequest $request) { @@ -140,7 +140,7 @@ class User extends Resource /** * Get the filters available for the resource. * - * @return array + * @return array */ public function filters(NovaRequest $request) { @@ -150,7 +150,7 @@ class User extends Resource /** * Get the lenses available for the resource. * - * @return array + * @return array */ public function lenses(NovaRequest $request) { @@ -160,7 +160,7 @@ class User extends Resource /** * Get the actions available for the resource. * - * @return array + * @return array */ public function actions(NovaRequest $request) { diff --git a/app/Policies/Order/Card/CardOrderPolicy.php b/app/Policies/Order/Card/CardOrderPolicy.php index df833cc..412dd7f 100644 --- a/app/Policies/Order/Card/CardOrderPolicy.php +++ b/app/Policies/Order/Card/CardOrderPolicy.php @@ -2,8 +2,9 @@ namespace App\Policies\Order\Card; -use App\Models\CardOrder; +use App\Models\Order\Card\CardOrder; use App\Models\User; +use App\Repos\Order\OrderRepo; class CardOrderPolicy { @@ -29,10 +30,10 @@ class CardOrderPolicy } if ($user->isOperator() && $user->can('viewCardOrders')) { - return $user->branches()->where('branches.id', $loanOrder->branch_id)->exists(); + return $user->branches()->where('branches.id', $cardOrder->branch_id)->exists(); } - if ($user->ownsLoanOrder($loanOrder)) { + if ($user->ownsCardOrder($cardOrder)) { return true; } @@ -61,10 +62,10 @@ class CardOrderPolicy } if ($user->isOperator() && $user->can('viewCardOrders')) { - return $user->branches()->where('branches.id', $loanOrder->branch_id)->exists(); + return $user->branches()->where('branches.id', $cardOrder->branch_id)->exists(); } - if ($user->ownsLoanOrder($loanOrder) && in_array($loanOrder->status, [ + if ($user->ownsCardOrder($cardOrder) && in_array($cardOrder->status, [ OrderRepo::PENDING, ])) { return true; @@ -83,10 +84,10 @@ class CardOrderPolicy } if ($user->isOperator() && $user->can('viewLoanOrders')) { - return $user->branches()->where('branches.id', $loanOrder->branch_id)->exists(); + return $user->branches()->where('branches.id', $cardOrder->branch_id)->exists(); } - if ($user->ownsLoanOrder($loanOrder)) { + if ($user->ownsCardOrder($cardOrder)) { return true; } diff --git a/app/Providers/NovaServiceProvider.php b/app/Providers/NovaServiceProvider.php index b787813..158e4ee 100644 --- a/app/Providers/NovaServiceProvider.php +++ b/app/Providers/NovaServiceProvider.php @@ -69,6 +69,8 @@ class NovaServiceProvider extends NovaApplicationServiceProvider /** * Get the dashboards that should be listed in the Nova sidebar. + * + * @return array */ protected function dashboards(): array { @@ -79,6 +81,8 @@ class NovaServiceProvider extends NovaApplicationServiceProvider /** * Get the tools that should be listed in the Nova sidebar. + * + * @return array */ public function tools(): array { @@ -111,7 +115,7 @@ class NovaServiceProvider extends NovaApplicationServiceProvider public function setupUserNavigation(): void { Nova::userMenu(function (Request $request, Menu $menu) { - $menu->prepend(MenuItem::make(__('My Profile'), $request->user()->profilePage())); + $menu->prepend(MenuItem::make(__('My Profile'), $request->user()?->profilePage())); return $menu; }); @@ -138,7 +142,9 @@ class NovaServiceProvider extends NovaApplicationServiceProvider */ public function setupFieldMacros(): void { + // @phpstan-ignore-next-line Date::macro('toTurkmenFormat', fn () => $this->displayUsing(fn ($value) => $value?->format('d.m.Y'))); + // @phpstan-ignore-next-line DateTime::macro('turkmenDateTime', fn () => $this->displayUsing(fn ($value) => $value?->format('H:i, d.m.Y'))); } } diff --git a/app/Repos/Branch/BranchRepo.php b/app/Repos/Branch/BranchRepo.php index 3db2d64..a7d740c 100644 --- a/app/Repos/Branch/BranchRepo.php +++ b/app/Repos/Branch/BranchRepo.php @@ -9,10 +9,13 @@ class BranchRepo { /** * Model - * - * @var App\Models\Branch\Branch */ - protected $model; + protected mixed $model; + + /** + * Query + */ + protected mixed $query; /** * New Branch Repo @@ -45,13 +48,15 @@ class BranchRepo /** * Query */ - public function query() + public function query(): mixed { return $this->query; } /** * Branch values + * + * @return \Illuminate\Support\Collection|array */ public static function values(): Collection|array { diff --git a/app/Repos/Order/Card/CardOrderRepo.php b/app/Repos/Order/Card/CardOrderRepo.php index c8538f6..4c132c3 100644 --- a/app/Repos/Order/Card/CardOrderRepo.php +++ b/app/Repos/Order/Card/CardOrderRepo.php @@ -13,7 +13,7 @@ class CardOrderRepo */ public static function creating(): Closure { - return function ($model) { + return function (mixed $model) { $model->status = $model->status ?: OrderRepo::defaultStatus(); }; } @@ -31,8 +31,8 @@ class CardOrderRepo /** * Fill unique id */ - public static function fillUniqueId($model): string + public static function fillUniqueId(mixed $model): string { - return sprintf('TB%s-%s', Branch::find($model->branch_id)->unique_code, $model->id) ?? uniqid(); + return sprintf('TB%s-%s', Branch::find($model->branch_id)->unique_code ?? uniqid(), $model->id); } } diff --git a/app/Repos/Order/Card/CardStateRepo.php b/app/Repos/Order/Card/CardStateRepo.php index 993b62f..9692ced 100644 --- a/app/Repos/Order/Card/CardStateRepo.php +++ b/app/Repos/Order/Card/CardStateRepo.php @@ -9,6 +9,8 @@ class CardStateRepo { /** * Card state values + * + * @return \Illuminate\Support\Collection|array */ public static function values(): Collection|array { diff --git a/app/Repos/Order/Card/CardTypeRepo.php b/app/Repos/Order/Card/CardTypeRepo.php index 7ed1043..b08e501 100644 --- a/app/Repos/Order/Card/CardTypeRepo.php +++ b/app/Repos/Order/Card/CardTypeRepo.php @@ -9,6 +9,8 @@ class CardTypeRepo { /** * Card type values + * + * @return \Illuminate\Support\Collection|array */ public static function values(): Collection|array { diff --git a/app/Repos/Order/Loan/LoanOrderRepo.php b/app/Repos/Order/Loan/LoanOrderRepo.php index ad4aafa..1d57130 100644 --- a/app/Repos/Order/Loan/LoanOrderRepo.php +++ b/app/Repos/Order/Loan/LoanOrderRepo.php @@ -5,6 +5,7 @@ namespace App\Repos\Order\Loan; use App\Models\Branch\Branch; use App\Repos\Order\OrderRepo; use Closure; +use Illuminate\Database\Eloquent\Model; class LoanOrderRepo { @@ -13,7 +14,7 @@ class LoanOrderRepo */ public static function creating(): Closure { - return function ($model) { + return function (mixed $model) { $model->status = $model->status ?: OrderRepo::defaultStatus(); }; } @@ -31,8 +32,12 @@ class LoanOrderRepo /** * Fill unique id */ - public static function fillUniqueId($model): string + public static function fillUniqueId(mixed $model): string { - return sprintf('TB%s-%s', Branch::find($model->branch_id)->unique_code, $model->id) ?? uniqid(); + return sprintf( + 'TB%s-%s', + Branch::find($model->branch_id)->unique_code ?? uniqid(), + $model->id, + ); } } diff --git a/app/Repos/Order/Loan/LoanTypeRepo.php b/app/Repos/Order/Loan/LoanTypeRepo.php index 1b2e080..c9500a1 100644 --- a/app/Repos/Order/Loan/LoanTypeRepo.php +++ b/app/Repos/Order/Loan/LoanTypeRepo.php @@ -9,6 +9,8 @@ class LoanTypeRepo { /** * Loan type values + * + * @return \Illuminate\Support\Collection|array */ public static function values(): Collection|array { diff --git a/app/Repos/Order/OrderRepo.php b/app/Repos/Order/OrderRepo.php index 05787d3..f1f7c6b 100644 --- a/app/Repos/Order/OrderRepo.php +++ b/app/Repos/Order/OrderRepo.php @@ -39,6 +39,8 @@ class OrderRepo /** * Status Values + * + * @return array */ public static function statusValues(): array { @@ -53,6 +55,8 @@ class OrderRepo /** * Tailwind + * + * @return array */ public static function statusClasses(): array { @@ -67,6 +71,8 @@ class OrderRepo /** * Status icons + * + * @return array */ public static function statusIcons(): array { @@ -81,6 +87,8 @@ class OrderRepo /** * HEX Colors + * + * @return array */ public static function statusColors(): array { diff --git a/app/Repos/Payment/OnlinePaymentRepo.php b/app/Repos/Payment/OnlinePaymentRepo.php index d66b1d5..dca90f1 100644 --- a/app/Repos/Payment/OnlinePaymentRepo.php +++ b/app/Repos/Payment/OnlinePaymentRepo.php @@ -29,13 +29,16 @@ class OnlinePaymentRepo */ public function getPrice(int|float|string $price): string { - return number_format($price, 2, '', ''); + return number_format(floatval($price), 2, '', ''); } /** * Pay card order + * + * @param mixed $resource + * @return array */ - public function payCardOrder($resource): array + public function payCardOrder(mixed $resource): array { $orderNumber = $this->generateOrderNumber($resource); @@ -89,7 +92,7 @@ class OnlinePaymentRepo /** * Generate order number for payment */ - public function generateOrderNumber($resource): int + public function generateOrderNumber(mixed $resource): int { return ApiKeyHalkbank::generateOrderNumber($resource); } diff --git a/app/Repos/Payment/PaymentStatusRepo.php b/app/Repos/Payment/PaymentStatusRepo.php index 113dc80..55d0932 100644 --- a/app/Repos/Payment/PaymentStatusRepo.php +++ b/app/Repos/Payment/PaymentStatusRepo.php @@ -16,6 +16,8 @@ class PaymentStatusRepo /** * Payment statuses + * + * @return array */ public static function values(): array { diff --git a/app/Repos/System/Location/CountryRepo.php b/app/Repos/System/Location/CountryRepo.php index bb2527e..ef1f4ba 100644 --- a/app/Repos/System/Location/CountryRepo.php +++ b/app/Repos/System/Location/CountryRepo.php @@ -6,6 +6,8 @@ class CountryRepo { /** * List of countries + * + * @return array */ public static function values(): array { diff --git a/app/Repos/System/Nova/NovaMenuRepo.php b/app/Repos/System/Nova/NovaMenuRepo.php index ae02a07..de36c20 100644 --- a/app/Repos/System/Nova/NovaMenuRepo.php +++ b/app/Repos/System/Nova/NovaMenuRepo.php @@ -26,6 +26,8 @@ class NovaMenuRepo { /** * Nova menu items + * + * @return array */ public static function items(Request $request): array { diff --git a/app/Repos/System/Nova/NovaRepo.php b/app/Repos/System/Nova/NovaRepo.php index 4a6a016..4ba46a2 100644 --- a/app/Repos/System/Nova/NovaRepo.php +++ b/app/Repos/System/Nova/NovaRepo.php @@ -20,7 +20,7 @@ class NovaRepo */ public static function serving(ServingNova $event): void { - // static::setLocale($event); + static::setLocale($event); } /** @@ -44,11 +44,11 @@ class NovaRepo /** * Set locales */ - public static function setLocale($event): void + public static function setLocale(ServingNova $event): void { $user = $event->request->user(); - if (array_key_exists($user?->locale, config('app.locales'))) { + if ($user && array_key_exists($user->locale, config('app.locales'))) { app()->setLocale($user->locale); } } @@ -61,8 +61,8 @@ class NovaRepo return function (Request $request) { $locale = $request->post('locale'); - if (array_key_exists($locale, config('app.locales'))) { - $request->user()->update(['locale' => $locale]); + if (is_string($locale) && array_key_exists($locale, config('app.locales'))) { + $request->user()?->update(['locale' => $locale]); } }; } diff --git a/app/Repos/System/Settings/Legal/EducationRepo.php b/app/Repos/System/Settings/Legal/EducationRepo.php index 18be3e6..a73d753 100644 --- a/app/Repos/System/Settings/Legal/EducationRepo.php +++ b/app/Repos/System/Settings/Legal/EducationRepo.php @@ -20,6 +20,8 @@ class EducationRepo /** * Education statuses + * + * @return array */ public static function values(): array { diff --git a/app/Repos/System/Settings/Legal/MarriageRepo.php b/app/Repos/System/Settings/Legal/MarriageRepo.php index dd1da8d..9958201 100644 --- a/app/Repos/System/Settings/Legal/MarriageRepo.php +++ b/app/Repos/System/Settings/Legal/MarriageRepo.php @@ -16,6 +16,8 @@ class MarriageRepo /** * Marriage values + * + * @return array */ public static function values(): array { diff --git a/app/Repos/System/Settings/Legal/PassportRepo.php b/app/Repos/System/Settings/Legal/PassportRepo.php index 511a189..78aa404 100644 --- a/app/Repos/System/Settings/Legal/PassportRepo.php +++ b/app/Repos/System/Settings/Legal/PassportRepo.php @@ -28,6 +28,8 @@ class PassportRepo /** * Passport values + * + * @return array */ public static function values(): array { diff --git a/app/Repos/System/Settings/Location/RegionRepo.php b/app/Repos/System/Settings/Location/RegionRepo.php index 42aa127..eba0885 100644 --- a/app/Repos/System/Settings/Location/RegionRepo.php +++ b/app/Repos/System/Settings/Location/RegionRepo.php @@ -41,6 +41,8 @@ class RegionRepo /** * Regions + * + * @return array */ public static function values(): array { diff --git a/composer.json b/composer.json index 75eef37..d43b5eb 100644 --- a/composer.json +++ b/composer.json @@ -33,11 +33,13 @@ }, "require-dev": { "fakerphp/faker": "^1.9.1", + "larastan/larastan": "^2.0", "laravel-lang/common": "^5.3", "laravel/pint": "^1.0", "laravel/sail": "^1.18", "mockery/mockery": "^1.4.4", "nunomaduro/collision": "^7.0", + "phpstan/phpstan": "^1.10", "phpunit/phpunit": "^10.1", "spatie/laravel-ignition": "^2.0" }, diff --git a/composer.lock b/composer.lock index 3a8dc7c..dd4d3a0 100644 --- a/composer.lock +++ b/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": "4cf553bd6d5aa731d586647720d9315c", + "content-hash": "3cd540740add5d5729bbcc32e5d8ef44", "packages": [ { "name": "brick/math", @@ -9553,6 +9553,108 @@ }, "time": "2020-07-09T08:09:16+00:00" }, + { + "name": "larastan/larastan", + "version": "v2.9.5", + "source": { + "type": "git", + "url": "https://github.com/larastan/larastan.git", + "reference": "101f1a4470f87326f4d3995411d28679d8800abe" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/larastan/larastan/zipball/101f1a4470f87326f4d3995411d28679d8800abe", + "reference": "101f1a4470f87326f4d3995411d28679d8800abe", + "shasum": "" + }, + "require": { + "ext-json": "*", + "illuminate/console": "^9.52.16 || ^10.28.0 || ^11.0", + "illuminate/container": "^9.52.16 || ^10.28.0 || ^11.0", + "illuminate/contracts": "^9.52.16 || ^10.28.0 || ^11.0", + "illuminate/database": "^9.52.16 || ^10.28.0 || ^11.0", + "illuminate/http": "^9.52.16 || ^10.28.0 || ^11.0", + "illuminate/pipeline": "^9.52.16 || ^10.28.0 || ^11.0", + "illuminate/support": "^9.52.16 || ^10.28.0 || ^11.0", + "php": "^8.0.2", + "phpmyadmin/sql-parser": "^5.9.0", + "phpstan/phpstan": "^1.10.66" + }, + "require-dev": { + "doctrine/coding-standard": "^12.0", + "nikic/php-parser": "^4.19.1", + "orchestra/canvas": "^7.11.1 || ^8.11.0 || ^9.0.2", + "orchestra/testbench": "^7.33.0 || ^8.13.0 || ^9.0.3", + "phpunit/phpunit": "^9.6.13 || ^10.5.16" + }, + "suggest": { + "orchestra/testbench": "Using Larastan for analysing a package needs Testbench" + }, + "type": "phpstan-extension", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + }, + "phpstan": { + "includes": [ + "extension.neon" + ] + } + }, + "autoload": { + "psr-4": { + "Larastan\\Larastan\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Can Vural", + "email": "can9119@gmail.com" + }, + { + "name": "Nuno Maduro", + "email": "enunomaduro@gmail.com" + } + ], + "description": "Larastan - Discover bugs in your code without running it. A phpstan/phpstan wrapper 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/v2.9.5" + }, + "funding": [ + { + "url": "https://www.paypal.com/paypalme/enunomaduro", + "type": "custom" + }, + { + "url": "https://github.com/canvural", + "type": "github" + }, + { + "url": "https://github.com/nunomaduro", + "type": "github" + }, + { + "url": "https://www.patreon.com/nunomaduro", + "type": "patreon" + } + ], + "time": "2024-04-16T19:13:34+00:00" + }, { "name": "laravel-lang/actions", "version": "1.8.0", @@ -10752,6 +10854,152 @@ }, "time": "2022-02-21T01:04:05+00:00" }, + { + "name": "phpmyadmin/sql-parser", + "version": "5.9.0", + "source": { + "type": "git", + "url": "https://github.com/phpmyadmin/sql-parser.git", + "reference": "011fa18a4e55591fac6545a821921dd1d61c6984" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpmyadmin/sql-parser/zipball/011fa18a4e55591fac6545a821921dd1d61c6984", + "reference": "011fa18a4e55591fac6545a821921dd1d61c6984", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0", + "symfony/polyfill-mbstring": "^1.3", + "symfony/polyfill-php80": "^1.16" + }, + "conflict": { + "phpmyadmin/motranslator": "<3.0" + }, + "require-dev": { + "phpbench/phpbench": "^1.1", + "phpmyadmin/coding-standard": "^3.0", + "phpmyadmin/motranslator": "^4.0 || ^5.0", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan": "^1.9.12", + "phpstan/phpstan-phpunit": "^1.3.3", + "phpunit/php-code-coverage": "*", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "psalm/plugin-phpunit": "^0.16.1", + "vimeo/psalm": "^4.11", + "zumba/json-serializer": "~3.0.2" + }, + "suggest": { + "ext-mbstring": "For best performance", + "phpmyadmin/motranslator": "Translate messages to your favorite locale" + }, + "bin": [ + "bin/highlight-query", + "bin/lint-query", + "bin/sql-parser", + "bin/tokenize-query" + ], + "type": "library", + "autoload": { + "psr-4": { + "PhpMyAdmin\\SqlParser\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "The phpMyAdmin Team", + "email": "developers@phpmyadmin.net", + "homepage": "https://www.phpmyadmin.net/team/" + } + ], + "description": "A validating SQL lexer and parser with a focus on MySQL dialect.", + "homepage": "https://github.com/phpmyadmin/sql-parser", + "keywords": [ + "analysis", + "lexer", + "parser", + "query linter", + "sql", + "sql lexer", + "sql linter", + "sql parser", + "sql syntax highlighter", + "sql tokenizer" + ], + "support": { + "issues": "https://github.com/phpmyadmin/sql-parser/issues", + "source": "https://github.com/phpmyadmin/sql-parser" + }, + "funding": [ + { + "url": "https://www.phpmyadmin.net/donate/", + "type": "other" + } + ], + "time": "2024-01-20T20:34:02+00:00" + }, + { + "name": "phpstan/phpstan", + "version": "1.10.67", + "source": { + "type": "git", + "url": "https://github.com/phpstan/phpstan.git", + "reference": "16ddbe776f10da6a95ebd25de7c1dbed397dc493" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/16ddbe776f10da6a95ebd25de7c1dbed397dc493", + "reference": "16ddbe776f10da6a95ebd25de7c1dbed397dc493", + "shasum": "" + }, + "require": { + "php": "^7.2|^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": "2024-04-16T07:22:02+00:00" + }, { "name": "phpunit/php-code-coverage", "version": "10.1.14", diff --git a/phpstan.neon b/phpstan.neon new file mode 100644 index 0000000..47fe8bf --- /dev/null +++ b/phpstan.neon @@ -0,0 +1,18 @@ +includes: + - vendor/larastan/larastan/extension.neon + +parameters: + + paths: + - app/ + + # Level 9 is the highest level + level: 5 + +# ignoreErrors: +# - '#PHPDoc tag @var#' +# +# excludePaths: +# - ./*/*/FileToBeExcluded.php +# +# checkMissingIterableValueType: false diff --git a/pint.json b/pint.json index 78bf014..e703c58 100644 --- a/pint.json +++ b/pint.json @@ -1,4 +1,7 @@ { + "rules": { + "no_superfluous_phpdoc_tags": false + }, "exclude": [ "nova" ]