add types

This commit is contained in:
2024-05-06 17:13:38 +05:00
parent 88b934bda1
commit e5907fe3a9
46 changed files with 465 additions and 184 deletions

View File

@@ -48,6 +48,8 @@ class EventType
/** /**
* Laravel's default events * Laravel's default events
*
* @return array<string, string>
*/ */
public static function laravelDefaultEvents(): array public static function laravelDefaultEvents(): array
{ {
@@ -60,6 +62,8 @@ class EventType
/** /**
* Laravel nova events * Laravel nova events
*
* @return array<int, string>
*/ */
public static function laravelNovaEvents(): array public static function laravelNovaEvents(): array
{ {

View File

@@ -11,7 +11,7 @@ use Stevebauman\Location\Facades\Location;
/** /**
* Check if a client IP is in our Server subnet * Check if a client IP is in our Server subnet
* *
* @param string $server_ip * @param string $ip
*/ */
function isLocalIp(string $ip = ''): bool function isLocalIp(string $ip = ''): bool
{ {
@@ -39,13 +39,13 @@ function isTurkmenIp(string $ip = ''): bool
*/ */
function unMaskPhone(string|int $phone): string function unMaskPhone(string|int $phone): string
{ {
return substr(str_replace(['+', '(', ')', '-', '_'], '', $phone), 3); return substr(str_replace(['+', '(', ')', '-', '_'], '', strval($phone)), 3);
} }
/** /**
* Send a sms * Send a sms
* *
* @return void * @return mixed|void
*/ */
function sendSMS(string|int $phone, string|int $message) function sendSMS(string|int $phone, string|int $message)
{ {

View File

@@ -8,6 +8,7 @@ use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Routing\Controller; use Illuminate\Routing\Controller;
use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Auth;
use Illuminate\View\View;
use Laravel\Nova\Nova; use Laravel\Nova\Nova;
class LoginController extends Controller class LoginController extends Controller
@@ -37,8 +38,6 @@ class LoginController extends Controller
/** /**
* Show the application's login form. * Show the application's login form.
*
* @return \Inertia\Response|\Symfony\Component\HttpFoundation\Response
*/ */
public function showLoginForm() public function showLoginForm()
{ {
@@ -81,9 +80,9 @@ class LoginController extends Controller
* *
* @return string * @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);
} }
/** /**

View File

@@ -2,12 +2,14 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use Illuminate\Http\RedirectResponse;
class LocaleController extends Controller class LocaleController extends Controller
{ {
/** /**
* @return RedirectResponse * @return RedirectResponse
*/ */
public function __invoke($locale) public function __invoke(string $locale): RedirectResponse
{ {
if (array_key_exists($locale, config('app.locales'))) { if (array_key_exists($locale, config('app.locales'))) {
session()->put('locale', $locale); session()->put('locale', $locale);

View File

@@ -5,6 +5,7 @@ namespace App\Models\Branch;
use App\Models\User; use App\Models\User;
use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
use Spatie\Translatable\HasTranslations; use Spatie\Translatable\HasTranslations;
class Branch extends Model class Branch extends Model

View File

@@ -127,6 +127,7 @@ class CardOrder extends Model
{ {
return match ($type) { return match ($type) {
'index' => sprintf('%s/resources/card-orders', config('nova.path')), 'index' => sprintf('%s/resources/card-orders', config('nova.path')),
default => config('nova.path'),
}; };
} }
} }

View File

@@ -65,7 +65,7 @@ class LoanOrder extends Model
/** /**
* The attributes that should be cast. * The attributes that should be cast.
* *
* @var array * @var array<string, string>
*/ */
protected $casts = [ protected $casts = [
'born_at' => 'date', 'born_at' => 'date',

View File

@@ -30,7 +30,7 @@ class ApiKeyHalkbank extends Model
/** /**
* Generate unique order number * Generate unique order number
*/ */
public static function generateOrderNumber($resource): int public static function generateOrderNumber(mixed $resource): int
{ {
$order_number = static::firstOrCreate([ $order_number = static::firstOrCreate([
'billing_username' => $resource->billing_username ?? 'asdasd', 'billing_username' => $resource->billing_username ?? 'asdasd',
@@ -38,9 +38,9 @@ class ApiKeyHalkbank extends Model
], ['order_number' => '01122017270']); ], ['order_number' => '01122017270']);
$order_number->update([ $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;
} }
} }

View File

@@ -146,6 +146,14 @@ class User extends Authenticatable
return $this->id === $loanOrder->user_id; 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 * Check if phone is verified
*/ */

View File

@@ -2,9 +2,11 @@
namespace App\Nova; namespace App\Nova;
use DragonCode\Contracts\Cashier\Config\Payments\Map;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Laravel\Nova\Http\Requests\NovaRequest; use Laravel\Nova\Http\Requests\NovaRequest;
use Laravel\Nova\Resource as NovaResource; use Laravel\Nova\Resource as NovaResource;
use Illuminate\Database\Eloquent\Builder;
abstract class Resource extends NovaResource abstract class Resource extends NovaResource
{ {
@@ -36,18 +38,15 @@ abstract class Resource extends NovaResource
* @param \Illuminate\Database\Eloquent\Builder $query * @param \Illuminate\Database\Eloquent\Builder $query
* @return \Illuminate\Database\Eloquent\Builder * @return \Illuminate\Database\Eloquent\Builder
*/ */
public static function indexQuery(NovaRequest $request, $query) public static function indexQuery(NovaRequest $request, mixed $query): Builder
{ {
return $query; return $query;
} }
/** /**
* Build a Scout search query for the given resource. * 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; return $query;
} }

View File

@@ -21,6 +21,7 @@ use App\Repos\System\Settings\Legal\PassportRepo;
use App\Repos\System\Settings\Location\RegionRepo; use App\Repos\System\Settings\Location\RegionRepo;
use App\Rules\DowranAgaAllowed; use App\Rules\DowranAgaAllowed;
use App\Rules\OnlyLetters; use App\Rules\OnlyLetters;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Facades\Gate; use Illuminate\Support\Facades\Gate;
@@ -112,7 +113,7 @@ class CardOrder extends Resource
* @param \Illuminate\Database\Eloquent\Builder $query * @param \Illuminate\Database\Eloquent\Builder $query
* @return \Illuminate\Database\Eloquent\Builder * @return \Illuminate\Database\Eloquent\Builder
*/ */
public static function indexQuery(NovaRequest $request, $query) public static function indexQuery(NovaRequest $request, mixed $query): Builder
{ {
$user = $request->user(); $user = $request->user();
@@ -130,8 +131,8 @@ class CardOrder extends Resource
/** /**
* After resource created * After resource created
* *
* @param Laravel\Nova\Http\Requests\NovaRequest $request * @param \Laravel\Nova\Http\Requests\NovaRequest $request
* @param Illuminate\Database\Eloquent\Model $model * @param \Illuminate\Database\Eloquent\Model $model
*/ */
public static function afterCreate(NovaRequest $request, Model $model): void public static function afterCreate(NovaRequest $request, Model $model): void
{ {
@@ -372,7 +373,7 @@ class CardOrder extends Resource
{ {
return [ return [
RegionFilter::make() RegionFilter::make()
->canSee(fn () => Gate::allows('isAdmin'), auth()->user()), ->canSee(fn () => Gate::allows('isAdmin', auth()->user())),
new StatusFilter(), new StatusFilter(),
]; ];

View File

@@ -6,6 +6,7 @@ use App\Models\Branch\Branch;
use App\Models\Order\Card\CardPin\CardPin as CardPinModel; use App\Models\Order\Card\CardPin\CardPin as CardPinModel;
use App\Nova\Filters\RegionFilter; use App\Nova\Filters\RegionFilter;
use App\Nova\Filters\StatusFilter; use App\Nova\Filters\StatusFilter;
use Illuminate\Database\Eloquent\Builder;
use App\Nova\Nova; use App\Nova\Nova;
use App\Nova\Resource; use App\Nova\Resource;
use App\Nova\Resources\Order\Card\Requisite\Concerns\CardRequisiteFieldsForDetail; use App\Nova\Resources\Order\Card\Requisite\Concerns\CardRequisiteFieldsForDetail;
@@ -55,7 +56,7 @@ class CardPin extends Resource
/** /**
* The columns that should be searched. * The columns that should be searched.
* *
* @var array * @var array<int, string>
*/ */
public static $search = [ public static $search = [
'unique_id', 'customer_name', 'customer_surname', 'phone', 'unique_id', 'customer_name', 'customer_surname', 'phone',
@@ -124,7 +125,7 @@ class CardPin extends Resource
* @param \Illuminate\Database\Eloquent\Builder $query * @param \Illuminate\Database\Eloquent\Builder $query
* @return \Illuminate\Database\Eloquent\Builder * @return \Illuminate\Database\Eloquent\Builder
*/ */
public static function indexQuery(NovaRequest $request, $query) public static function indexQuery(NovaRequest $request, mixed $query): Builder
{ {
$user = $request->user(); $user = $request->user();
@@ -142,8 +143,8 @@ class CardPin extends Resource
/** /**
* After resource created * After resource created
* *
* @param Laravel\Nova\Http\Requests\NovaRequest $request * @param \Laravel\Nova\Http\Requests\NovaRequest $request
* @param Illuminate\Database\Eloquent\Model $model * @param \Illuminate\Database\Eloquent\Model $model
*/ */
public static function afterCreate(NovaRequest $request, Model $model): void public static function afterCreate(NovaRequest $request, Model $model): void
{ {
@@ -310,7 +311,7 @@ class CardPin extends Resource
{ {
return [ return [
RegionFilter::make() RegionFilter::make()
->canSee(fn () => Gate::allows('isAdmin'), auth()->user()), ->canSee(fn () => Gate::allows('isAdmin', auth()->user())),
new StatusFilter(), new StatusFilter(),
]; ];

View File

@@ -17,6 +17,7 @@ use App\Repos\System\Nova\NovaRepo;
use App\Repos\System\Settings\Legal\PassportRepo; use App\Repos\System\Settings\Legal\PassportRepo;
use App\Repos\System\Settings\Location\RegionRepo; use App\Repos\System\Settings\Location\RegionRepo;
use App\Rules\OnlyLetters; use App\Rules\OnlyLetters;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Facades\Gate; use Illuminate\Support\Facades\Gate;
@@ -106,7 +107,7 @@ class CardRequisite extends Resource
/** /**
* Get the text for the create resource button. * Get the text for the create resource button.
* *
* @return string|null * @return string
*/ */
public static function createButtonLabel(): string public static function createButtonLabel(): string
{ {
@@ -116,7 +117,7 @@ class CardRequisite extends Resource
/** /**
* Get the text for the update resource button. * Get the text for the update resource button.
* *
* @return string|null * @return string
*/ */
public static function updateButtonLabel(): string public static function updateButtonLabel(): string
{ {
@@ -129,7 +130,7 @@ class CardRequisite extends Resource
* @param \Illuminate\Database\Eloquent\Builder $query * @param \Illuminate\Database\Eloquent\Builder $query
* @return \Illuminate\Database\Eloquent\Builder * @return \Illuminate\Database\Eloquent\Builder
*/ */
public static function indexQuery(NovaRequest $request, $query) public static function indexQuery(NovaRequest $request, mixed $query): Builder
{ {
$user = $request->user(); $user = $request->user();
@@ -147,8 +148,8 @@ class CardRequisite extends Resource
/** /**
* After resource created * After resource created
* *
* @param Laravel\Nova\Http\Requests\NovaRequest $request * @param \Laravel\Nova\Http\Requests\NovaRequest $request
* @param Illuminate\Database\Eloquent\Model $model * @param \Illuminate\Database\Eloquent\Model $model
*/ */
public static function afterCreate(NovaRequest $request, Model $model): void public static function afterCreate(NovaRequest $request, Model $model): void
{ {
@@ -322,7 +323,7 @@ class CardRequisite extends Resource
{ {
return [ return [
RegionFilter::make() RegionFilter::make()
->canSee(fn () => Gate::allows('isAdmin'), auth()->user()), ->canSee(fn () => Gate::allows('isAdmin', auth()->user())),
new StatusFilter(), new StatusFilter(),
]; ];

View File

@@ -25,8 +25,11 @@ class CardRequisiteFieldsForDetail
{ {
/** /**
* Fields for index * Fields for index
*
* @param mixed $resource
* @return array<int, object>
*/ */
public static function make($resource): array public static function make(mixed $resource): array
{ {
return [ return [
ID::make()->hide(), ID::make()->hide(),

View File

@@ -19,6 +19,7 @@ use App\Repos\System\Settings\Legal\PassportRepo;
use App\Repos\System\Settings\Location\RegionRepo; use App\Repos\System\Settings\Location\RegionRepo;
use App\Rules\DowranAgaAllowed; use App\Rules\DowranAgaAllowed;
use App\Rules\OnlyLetters; use App\Rules\OnlyLetters;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Facades\Gate; use Illuminate\Support\Facades\Gate;
@@ -109,7 +110,7 @@ class LoanOrder extends Resource
* @param \Illuminate\Database\Eloquent\Builder $query * @param \Illuminate\Database\Eloquent\Builder $query
* @return \Illuminate\Database\Eloquent\Builder * @return \Illuminate\Database\Eloquent\Builder
*/ */
public static function indexQuery(NovaRequest $request, $query) public static function indexQuery(NovaRequest $request, mixed $query): Builder
{ {
$user = $request->user(); $user = $request->user();
@@ -376,7 +377,7 @@ class LoanOrder extends Resource
{ {
return [ return [
RegionFilter::make() RegionFilter::make()
->canSee(fn () => Gate::allows('isAdmin'), auth()->user()), ->canSee(fn () => Gate::allows('isAdmin', auth()->user())),
new StatusFilter(), new StatusFilter(),
]; ];

View File

@@ -23,10 +23,9 @@ class LoanPaidOffLetterOrderFieldsForDetail
/** /**
* Loan paidoff letter detail fields * Loan paidoff letter detail fields
* *
* @param $resource * @param mixed $resource
* @param $request
*/ */
public static function make(): array public static function make(mixed $resource): array
{ {
return [ return [
ID::make()->hide(), ID::make()->hide(),

View File

@@ -15,6 +15,7 @@ use App\Repos\System\Nova\NovaRepo;
use App\Repos\System\Settings\Legal\PassportRepo; use App\Repos\System\Settings\Legal\PassportRepo;
use App\Repos\System\Settings\Location\RegionRepo; use App\Repos\System\Settings\Location\RegionRepo;
use App\Rules\OnlyLetters; use App\Rules\OnlyLetters;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\Gate; use Illuminate\Support\Facades\Gate;
use Laravel\Nova\Fields\Date; use Laravel\Nova\Fields\Date;
@@ -100,7 +101,7 @@ class LoanPaidOffLetterOrder extends Resource
* @param \Illuminate\Database\Eloquent\Builder $query * @param \Illuminate\Database\Eloquent\Builder $query
* @return \Illuminate\Database\Eloquent\Builder * @return \Illuminate\Database\Eloquent\Builder
*/ */
public static function indexQuery(NovaRequest $request, $query) public static function indexQuery(NovaRequest $request, mixed $query): Builder
{ {
$user = $request->user(); $user = $request->user();
@@ -118,8 +119,8 @@ class LoanPaidOffLetterOrder extends Resource
/** /**
* After resource created * After resource created
* *
* @param Laravel\Nova\Http\Requests\NovaRequest $request * @param \Laravel\Nova\Http\Requests\NovaRequest $request
* @param Illuminate\Database\Eloquent\Model $model * @param \Illuminate\Database\Eloquent\Model $model
*/ */
public static function afterCreate(NovaRequest $request, Model $model): void public static function afterCreate(NovaRequest $request, Model $model): void
{ {
@@ -261,7 +262,7 @@ class LoanPaidOffLetterOrder extends Resource
{ {
return [ return [
RegionFilter::make() RegionFilter::make()
->canSee(fn () => Gate::allows('isAdmin'), auth()->user()), ->canSee(fn () => Gate::allows('isAdmin', auth()->user())),
new StatusFilter(), new StatusFilter(),
]; ];

View File

@@ -25,7 +25,6 @@ class LoanOrderPerStatus extends Partition
return $this->count($request, LoanOrder::class, 'status') return $this->count($request, LoanOrder::class, 'status')
->colors(OrderRepo::statusColors()) ->colors(OrderRepo::statusColors())
->label(fn ($value) => match ($value) { ->label(fn ($value) => match ($value) {
null => __('None'),
default => OrderRepo::statusFormatted($value) default => OrderRepo::statusFormatted($value)
}); });
} }

View File

@@ -29,7 +29,7 @@ class LocaleManagerResource extends Resource
/** /**
* The columns that should be searched. * The columns that should be searched.
* *
* @var array * @var array<int, string>
*/ */
public static $search = [ public static $search = [
'name', 'name',
@@ -37,6 +37,8 @@ class LocaleManagerResource extends Resource
/** /**
* Get the fields displayed by the resource. * Get the fields displayed by the resource.
*
* @return array<int, \Laravel\Nova\Fields\Field>
*/ */
public function fields(NovaRequest $request): array public function fields(NovaRequest $request): array
{ {
@@ -50,7 +52,7 @@ class LocaleManagerResource extends Resource
/** /**
* Get the cards available for the request. * Get the cards available for the request.
* *
* @return array * @return array<int, string>
*/ */
public function cards(NovaRequest $request) public function cards(NovaRequest $request)
{ {
@@ -60,7 +62,7 @@ class LocaleManagerResource extends Resource
/** /**
* Get the filters available for the resource. * Get the filters available for the resource.
* *
* @return array * @return array<int, string>
*/ */
public function filters(NovaRequest $request) public function filters(NovaRequest $request)
{ {
@@ -70,7 +72,7 @@ class LocaleManagerResource extends Resource
/** /**
* Get the lenses available for the resource. * Get the lenses available for the resource.
* *
* @return array * @return array<int, string>
*/ */
public function lenses(NovaRequest $request) public function lenses(NovaRequest $request)
{ {
@@ -79,6 +81,8 @@ class LocaleManagerResource extends Resource
/** /**
* Get the actions available for the resource. * Get the actions available for the resource.
*
* @return array
*/ */
public function actions(NovaRequest $request): array public function actions(NovaRequest $request): array
{ {

View File

@@ -33,7 +33,7 @@ class Province extends Resource
/** /**
* The columns that should be searched. * The columns that should be searched.
* *
* @var array * @var array<int, string>
*/ */
public static $search = [ public static $search = [
'name', 'name',
@@ -57,6 +57,8 @@ class Province extends Resource
/** /**
* Get the fields displayed by the resource. * Get the fields displayed by the resource.
*
* @return array<int, string>
*/ */
public function fields(NovaRequest $request): array public function fields(NovaRequest $request): array
{ {
@@ -82,6 +84,8 @@ class Province extends Resource
/** /**
* Get the cards available for the request. * Get the cards available for the request.
*
* @return array<int, string>
*/ */
public function cards(NovaRequest $request): array public function cards(NovaRequest $request): array
{ {
@@ -90,6 +94,8 @@ class Province extends Resource
/** /**
* Get the filters available for the resource. * Get the filters available for the resource.
*
* @return array<int, \Laravel\Nova\Filters\Filter>
*/ */
public function filters(NovaRequest $request): array public function filters(NovaRequest $request): array
{ {
@@ -101,6 +107,8 @@ class Province extends Resource
/** /**
* Get the lenses available for the resource. * Get the lenses available for the resource.
*
* @return array<int, string>
*/ */
public function lenses(NovaRequest $request): array public function lenses(NovaRequest $request): array
{ {
@@ -109,6 +117,8 @@ class Province extends Resource
/** /**
* Get the actions available for the resource. * Get the actions available for the resource.
*
* @return array<int, string>
*/ */
public function actions(NovaRequest $request): array public function actions(NovaRequest $request): array
{ {

View File

@@ -28,7 +28,7 @@ class Permission extends Resource
/** /**
* The columns that should be searched. * The columns that should be searched.
* *
* @var array * @var array<int, string>
*/ */
public static $search = [ public static $search = [
'id', 'name', 'id', 'name',
@@ -52,6 +52,8 @@ class Permission extends Resource
/** /**
* Get the fields displayed by the resource. * Get the fields displayed by the resource.
*
* @return array<int, string>
*/ */
public function fields(NovaRequest $request): array public function fields(NovaRequest $request): array
{ {
@@ -73,6 +75,8 @@ class Permission extends Resource
/** /**
* Get the cards available for the request. * Get the cards available for the request.
*
* @return array<int, string>
*/ */
public function cards(NovaRequest $request): array public function cards(NovaRequest $request): array
{ {
@@ -81,6 +85,8 @@ class Permission extends Resource
/** /**
* Get the filters available for the resource. * Get the filters available for the resource.
*
* @return array<int, string>
*/ */
public function filters(NovaRequest $request): array public function filters(NovaRequest $request): array
{ {
@@ -89,6 +95,8 @@ class Permission extends Resource
/** /**
* Get the lenses available for the resource. * Get the lenses available for the resource.
*
* @return array<int, string>
*/ */
public function lenses(NovaRequest $request): array public function lenses(NovaRequest $request): array
{ {
@@ -97,6 +105,8 @@ class Permission extends Resource
/** /**
* Get the actions available for the resource. * Get the actions available for the resource.
*
* @return array<int, string>
*/ */
public function actions(NovaRequest $request): array public function actions(NovaRequest $request): array
{ {

View File

@@ -5,6 +5,7 @@ namespace App\Nova\Resources\System\Roles;
use App\Models\System\Roles\Role as RoleModel; use App\Models\System\Roles\Role as RoleModel;
use App\Nova\Resource; use App\Nova\Resource;
use App\Repos\System\Nova\NovaRepo; use App\Repos\System\Nova\NovaRepo;
use Illuminate\Database\Eloquent\Builder;
use Laravel\Nova\Fields\ID; use Laravel\Nova\Fields\ID;
use Laravel\Nova\Fields\Text; use Laravel\Nova\Fields\Text;
use Laravel\Nova\Http\Requests\NovaRequest; use Laravel\Nova\Http\Requests\NovaRequest;
@@ -28,7 +29,7 @@ class Role extends Resource
/** /**
* The columns that should be searched. * The columns that should be searched.
* *
* @var array * @var array<int, string>
*/ */
public static $search = [ public static $search = [
'id', 'name', 'id', 'name',
@@ -53,10 +54,10 @@ class Role extends Resource
/** /**
* Build an "index" query for the given resource. * Build an "index" query for the given resource.
* *
* @param \Illuminate\Database\Eloquent\Builder $query * @param \Illuminate\Database\Eloquent\Builder<\Illuminate\Database\Eloquent\Model> $query
* @return \Illuminate\Database\Eloquent\Builder * @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'); $query->where('name', '!=', 'king');
@@ -65,6 +66,8 @@ class Role extends Resource
/** /**
* Get the fields displayed by the resource. * Get the fields displayed by the resource.
*
* @return array<int, string>
*/ */
public function fields(NovaRequest $request): array public function fields(NovaRequest $request): array
{ {
@@ -86,6 +89,8 @@ class Role extends Resource
/** /**
* Get the cards available for the request. * Get the cards available for the request.
*
* @return array<int, string>
*/ */
public function cards(NovaRequest $request): array public function cards(NovaRequest $request): array
{ {
@@ -94,6 +99,8 @@ class Role extends Resource
/** /**
* Get the filters available for the resource. * Get the filters available for the resource.
*
* @return array<int, string>
*/ */
public function filters(NovaRequest $request): array public function filters(NovaRequest $request): array
{ {
@@ -102,6 +109,8 @@ class Role extends Resource
/** /**
* Get the lenses available for the resource. * Get the lenses available for the resource.
*
* @return array<int, string>
*/ */
public function lenses(NovaRequest $request): array public function lenses(NovaRequest $request): array
{ {
@@ -110,6 +119,8 @@ class Role extends Resource
/** /**
* Get the actions available for the resource. * Get the actions available for the resource.
*
* @return array<int, string>
*/ */
public function actions(NovaRequest $request): array public function actions(NovaRequest $request): array
{ {

View File

@@ -1,93 +0,0 @@
<?php
namespace App\Nova\Resources;
use App\Nova\Resource;
use Illuminate\Http\Request;
use Laravel\Nova\Fields\ID;
use Laravel\Nova\Http\Requests\NovaRequest;
use Nurmuhammet\NovaInputmask\NovaInputmask;
class Test extends Resource
{
/**
* The model the resource corresponds to.
*
* @var class-string<\App\Models\Test>
*/
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 [];
}
}

View File

@@ -7,6 +7,7 @@ use App\Nova\Resources\Order\Card\CardOrder;
use App\Nova\Resources\Order\Loan\LoanOrder; use App\Nova\Resources\Order\Loan\LoanOrder;
use App\Nova\Resources\System\Roles\Permission; use App\Nova\Resources\System\Roles\Permission;
use App\Nova\Resources\System\Roles\Role; use App\Nova\Resources\System\Roles\Role;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Validation\Rules; use Illuminate\Validation\Rules;
use Laravel\Nova\Fields\BelongsToMany; use Laravel\Nova\Fields\BelongsToMany;
@@ -38,7 +39,7 @@ class User extends Resource
/** /**
* The columns that should be searched. * The columns that should be searched.
* *
* @var array * @var array<int, string>
*/ */
public static $search = [ public static $search = [
'id', 'name', 'email', 'id', 'name', 'email',
@@ -47,14 +48,11 @@ class User extends Resource
/** /**
* Build an "index" query for the given resource. * Build an "index" query for the given resource.
* *
* @param \Illuminate\Database\Eloquent\Builder $query * @param \Illuminate\Database\Eloquent\Builder<\Illuminate\Database\Eloquent\Model> $query
* @return \Illuminate\Database\Eloquent\Builder * @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; return $query;
} }
@@ -76,6 +74,8 @@ class User extends Resource
/** /**
* Get the fields displayed by the resource. * Get the fields displayed by the resource.
*
* @return array<int, string>
*/ */
public function fields(NovaRequest $request): array public function fields(NovaRequest $request): array
{ {
@@ -130,7 +130,7 @@ class User extends Resource
/** /**
* Get the cards available for the request. * Get the cards available for the request.
* *
* @return array * @return array<int, string>
*/ */
public function cards(NovaRequest $request) public function cards(NovaRequest $request)
{ {
@@ -140,7 +140,7 @@ class User extends Resource
/** /**
* Get the filters available for the resource. * Get the filters available for the resource.
* *
* @return array * @return array<int, string>
*/ */
public function filters(NovaRequest $request) public function filters(NovaRequest $request)
{ {
@@ -150,7 +150,7 @@ class User extends Resource
/** /**
* Get the lenses available for the resource. * Get the lenses available for the resource.
* *
* @return array * @return array<int, string>
*/ */
public function lenses(NovaRequest $request) public function lenses(NovaRequest $request)
{ {
@@ -160,7 +160,7 @@ class User extends Resource
/** /**
* Get the actions available for the resource. * Get the actions available for the resource.
* *
* @return array * @return array<int, string>
*/ */
public function actions(NovaRequest $request) public function actions(NovaRequest $request)
{ {

View File

@@ -2,8 +2,9 @@
namespace App\Policies\Order\Card; namespace App\Policies\Order\Card;
use App\Models\CardOrder; use App\Models\Order\Card\CardOrder;
use App\Models\User; use App\Models\User;
use App\Repos\Order\OrderRepo;
class CardOrderPolicy class CardOrderPolicy
{ {
@@ -29,10 +30,10 @@ class CardOrderPolicy
} }
if ($user->isOperator() && $user->can('viewCardOrders')) { 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; return true;
} }
@@ -61,10 +62,10 @@ class CardOrderPolicy
} }
if ($user->isOperator() && $user->can('viewCardOrders')) { 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, OrderRepo::PENDING,
])) { ])) {
return true; return true;
@@ -83,10 +84,10 @@ class CardOrderPolicy
} }
if ($user->isOperator() && $user->can('viewLoanOrders')) { 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; return true;
} }

View File

@@ -69,6 +69,8 @@ class NovaServiceProvider extends NovaApplicationServiceProvider
/** /**
* Get the dashboards that should be listed in the Nova sidebar. * Get the dashboards that should be listed in the Nova sidebar.
*
* @return array<int, \App\Nova\Dashboards\Main>
*/ */
protected function dashboards(): array protected function dashboards(): array
{ {
@@ -79,6 +81,8 @@ class NovaServiceProvider extends NovaApplicationServiceProvider
/** /**
* Get the tools that should be listed in the Nova sidebar. * Get the tools that should be listed in the Nova sidebar.
*
* @return array<int, string>
*/ */
public function tools(): array public function tools(): array
{ {
@@ -111,7 +115,7 @@ class NovaServiceProvider extends NovaApplicationServiceProvider
public function setupUserNavigation(): void public function setupUserNavigation(): void
{ {
Nova::userMenu(function (Request $request, Menu $menu) { 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; return $menu;
}); });
@@ -138,7 +142,9 @@ class NovaServiceProvider extends NovaApplicationServiceProvider
*/ */
public function setupFieldMacros(): void public function setupFieldMacros(): void
{ {
// @phpstan-ignore-next-line
Date::macro('toTurkmenFormat', fn () => $this->displayUsing(fn ($value) => $value?->format('d.m.Y'))); 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'))); DateTime::macro('turkmenDateTime', fn () => $this->displayUsing(fn ($value) => $value?->format('H:i, d.m.Y')));
} }
} }

View File

@@ -9,10 +9,13 @@ class BranchRepo
{ {
/** /**
* Model * Model
*
* @var App\Models\Branch\Branch
*/ */
protected $model; protected mixed $model;
/**
* Query
*/
protected mixed $query;
/** /**
* New Branch Repo * New Branch Repo
@@ -45,13 +48,15 @@ class BranchRepo
/** /**
* Query * Query
*/ */
public function query() public function query(): mixed
{ {
return $this->query; return $this->query;
} }
/** /**
* Branch values * Branch values
*
* @return \Illuminate\Support\Collection<int, string>|array<int, string>
*/ */
public static function values(): Collection|array public static function values(): Collection|array
{ {

View File

@@ -13,7 +13,7 @@ class CardOrderRepo
*/ */
public static function creating(): Closure public static function creating(): Closure
{ {
return function ($model) { return function (mixed $model) {
$model->status = $model->status ?: OrderRepo::defaultStatus(); $model->status = $model->status ?: OrderRepo::defaultStatus();
}; };
} }
@@ -31,8 +31,8 @@ class CardOrderRepo
/** /**
* Fill unique id * 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);
} }
} }

View File

@@ -9,6 +9,8 @@ class CardStateRepo
{ {
/** /**
* Card state values * Card state values
*
* @return \Illuminate\Support\Collection<int, string>|array<int, string>
*/ */
public static function values(): Collection|array public static function values(): Collection|array
{ {

View File

@@ -9,6 +9,8 @@ class CardTypeRepo
{ {
/** /**
* Card type values * Card type values
*
* @return \Illuminate\Support\Collection<int, string>|array<int, string>
*/ */
public static function values(): Collection|array public static function values(): Collection|array
{ {

View File

@@ -5,6 +5,7 @@ namespace App\Repos\Order\Loan;
use App\Models\Branch\Branch; use App\Models\Branch\Branch;
use App\Repos\Order\OrderRepo; use App\Repos\Order\OrderRepo;
use Closure; use Closure;
use Illuminate\Database\Eloquent\Model;
class LoanOrderRepo class LoanOrderRepo
{ {
@@ -13,7 +14,7 @@ class LoanOrderRepo
*/ */
public static function creating(): Closure public static function creating(): Closure
{ {
return function ($model) { return function (mixed $model) {
$model->status = $model->status ?: OrderRepo::defaultStatus(); $model->status = $model->status ?: OrderRepo::defaultStatus();
}; };
} }
@@ -31,8 +32,12 @@ class LoanOrderRepo
/** /**
* Fill unique id * 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,
);
} }
} }

View File

@@ -9,6 +9,8 @@ class LoanTypeRepo
{ {
/** /**
* Loan type values * Loan type values
*
* @return \Illuminate\Support\Collection<string, mixed>|array<int, string>
*/ */
public static function values(): Collection|array public static function values(): Collection|array
{ {

View File

@@ -39,6 +39,8 @@ class OrderRepo
/** /**
* Status Values * Status Values
*
* @return array<string, string>
*/ */
public static function statusValues(): array public static function statusValues(): array
{ {
@@ -53,6 +55,8 @@ class OrderRepo
/** /**
* Tailwind * Tailwind
*
* @return array<string, string>
*/ */
public static function statusClasses(): array public static function statusClasses(): array
{ {
@@ -67,6 +71,8 @@ class OrderRepo
/** /**
* Status icons * Status icons
*
* @return array<string, string>
*/ */
public static function statusIcons(): array public static function statusIcons(): array
{ {
@@ -81,6 +87,8 @@ class OrderRepo
/** /**
* HEX Colors * HEX Colors
*
* @return array<string, string>
*/ */
public static function statusColors(): array public static function statusColors(): array
{ {

View File

@@ -29,13 +29,16 @@ class OnlinePaymentRepo
*/ */
public function getPrice(int|float|string $price): string public function getPrice(int|float|string $price): string
{ {
return number_format($price, 2, '', ''); return number_format(floatval($price), 2, '', '');
} }
/** /**
* Pay card order * Pay card order
*
* @param mixed $resource
* @return array<string, string>
*/ */
public function payCardOrder($resource): array public function payCardOrder(mixed $resource): array
{ {
$orderNumber = $this->generateOrderNumber($resource); $orderNumber = $this->generateOrderNumber($resource);
@@ -89,7 +92,7 @@ class OnlinePaymentRepo
/** /**
* Generate order number for payment * Generate order number for payment
*/ */
public function generateOrderNumber($resource): int public function generateOrderNumber(mixed $resource): int
{ {
return ApiKeyHalkbank::generateOrderNumber($resource); return ApiKeyHalkbank::generateOrderNumber($resource);
} }

View File

@@ -16,6 +16,8 @@ class PaymentStatusRepo
/** /**
* Payment statuses * Payment statuses
*
* @return array<string, string>
*/ */
public static function values(): array public static function values(): array
{ {

View File

@@ -6,6 +6,8 @@ class CountryRepo
{ {
/** /**
* List of countries * List of countries
*
* @return array<string, string>
*/ */
public static function values(): array public static function values(): array
{ {

View File

@@ -26,6 +26,8 @@ class NovaMenuRepo
{ {
/** /**
* Nova menu items * Nova menu items
*
* @return array<int, \Laravel\Nova\Menu\MenuSection>
*/ */
public static function items(Request $request): array public static function items(Request $request): array
{ {

View File

@@ -20,7 +20,7 @@ class NovaRepo
*/ */
public static function serving(ServingNova $event): void public static function serving(ServingNova $event): void
{ {
// static::setLocale($event); static::setLocale($event);
} }
/** /**
@@ -44,11 +44,11 @@ class NovaRepo
/** /**
* Set locales * Set locales
*/ */
public static function setLocale($event): void public static function setLocale(ServingNova $event): void
{ {
$user = $event->request->user(); $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); app()->setLocale($user->locale);
} }
} }
@@ -61,8 +61,8 @@ class NovaRepo
return function (Request $request) { return function (Request $request) {
$locale = $request->post('locale'); $locale = $request->post('locale');
if (array_key_exists($locale, config('app.locales'))) { if (is_string($locale) && array_key_exists($locale, config('app.locales'))) {
$request->user()->update(['locale' => $locale]); $request->user()?->update(['locale' => $locale]);
} }
}; };
} }

View File

@@ -20,6 +20,8 @@ class EducationRepo
/** /**
* Education statuses * Education statuses
*
* @return array<string, string>
*/ */
public static function values(): array public static function values(): array
{ {

View File

@@ -16,6 +16,8 @@ class MarriageRepo
/** /**
* Marriage values * Marriage values
*
* @return array<string, string>
*/ */
public static function values(): array public static function values(): array
{ {

View File

@@ -28,6 +28,8 @@ class PassportRepo
/** /**
* Passport values * Passport values
*
* @return array<string, string>
*/ */
public static function values(): array public static function values(): array
{ {

View File

@@ -41,6 +41,8 @@ class RegionRepo
/** /**
* Regions * Regions
*
* @return array<string, string>
*/ */
public static function values(): array public static function values(): array
{ {

View File

@@ -33,11 +33,13 @@
}, },
"require-dev": { "require-dev": {
"fakerphp/faker": "^1.9.1", "fakerphp/faker": "^1.9.1",
"larastan/larastan": "^2.0",
"laravel-lang/common": "^5.3", "laravel-lang/common": "^5.3",
"laravel/pint": "^1.0", "laravel/pint": "^1.0",
"laravel/sail": "^1.18", "laravel/sail": "^1.18",
"mockery/mockery": "^1.4.4", "mockery/mockery": "^1.4.4",
"nunomaduro/collision": "^7.0", "nunomaduro/collision": "^7.0",
"phpstan/phpstan": "^1.10",
"phpunit/phpunit": "^10.1", "phpunit/phpunit": "^10.1",
"spatie/laravel-ignition": "^2.0" "spatie/laravel-ignition": "^2.0"
}, },

250
composer.lock generated
View File

@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically" "This file is @generated automatically"
], ],
"content-hash": "4cf553bd6d5aa731d586647720d9315c", "content-hash": "3cd540740add5d5729bbcc32e5d8ef44",
"packages": [ "packages": [
{ {
"name": "brick/math", "name": "brick/math",
@@ -9553,6 +9553,108 @@
}, },
"time": "2020-07-09T08:09:16+00:00" "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", "name": "laravel-lang/actions",
"version": "1.8.0", "version": "1.8.0",
@@ -10752,6 +10854,152 @@
}, },
"time": "2022-02-21T01:04:05+00:00" "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", "name": "phpunit/php-code-coverage",
"version": "10.1.14", "version": "10.1.14",

18
phpstan.neon Normal file
View File

@@ -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

View File

@@ -1,4 +1,7 @@
{ {
"rules": {
"no_superfluous_phpdoc_tags": false
},
"exclude": [ "exclude": [
"nova" "nova"
] ]