add types
This commit is contained in:
@@ -48,6 +48,8 @@ class EventType
|
||||
|
||||
/**
|
||||
* Laravel's default events
|
||||
*
|
||||
* @return array<string, string>
|
||||
*/
|
||||
public static function laravelDefaultEvents(): array
|
||||
{
|
||||
@@ -60,6 +62,8 @@ class EventType
|
||||
|
||||
/**
|
||||
* Laravel nova events
|
||||
*
|
||||
* @return array<int, string>
|
||||
*/
|
||||
public static function laravelNovaEvents(): array
|
||||
{
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -127,6 +127,7 @@ class CardOrder extends Model
|
||||
{
|
||||
return match ($type) {
|
||||
'index' => sprintf('%s/resources/card-orders', config('nova.path')),
|
||||
default => config('nova.path'),
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -65,7 +65,7 @@ class LoanOrder extends Model
|
||||
/**
|
||||
* The attributes that should be cast.
|
||||
*
|
||||
* @var array
|
||||
* @var array<string, string>
|
||||
*/
|
||||
protected $casts = [
|
||||
'born_at' => 'date',
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
*/
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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(),
|
||||
];
|
||||
|
||||
@@ -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<int, string>
|
||||
*/
|
||||
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(),
|
||||
];
|
||||
|
||||
@@ -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(),
|
||||
];
|
||||
|
||||
@@ -25,8 +25,11 @@ class CardRequisiteFieldsForDetail
|
||||
{
|
||||
/**
|
||||
* Fields for index
|
||||
*
|
||||
* @param mixed $resource
|
||||
* @return array<int, object>
|
||||
*/
|
||||
public static function make($resource): array
|
||||
public static function make(mixed $resource): array
|
||||
{
|
||||
return [
|
||||
ID::make()->hide(),
|
||||
|
||||
@@ -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(),
|
||||
];
|
||||
|
||||
@@ -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(),
|
||||
|
||||
@@ -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(),
|
||||
];
|
||||
|
||||
@@ -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)
|
||||
});
|
||||
}
|
||||
|
||||
@@ -29,7 +29,7 @@ class LocaleManagerResource extends Resource
|
||||
/**
|
||||
* The columns that should be searched.
|
||||
*
|
||||
* @var array
|
||||
* @var array<int, string>
|
||||
*/
|
||||
public static $search = [
|
||||
'name',
|
||||
@@ -37,6 +37,8 @@ class LocaleManagerResource extends Resource
|
||||
|
||||
/**
|
||||
* Get the fields displayed by the resource.
|
||||
*
|
||||
* @return array<int, \Laravel\Nova\Fields\Field>
|
||||
*/
|
||||
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<int, string>
|
||||
*/
|
||||
public function cards(NovaRequest $request)
|
||||
{
|
||||
@@ -60,7 +62,7 @@ class LocaleManagerResource extends Resource
|
||||
/**
|
||||
* Get the filters available for the resource.
|
||||
*
|
||||
* @return array
|
||||
* @return array<int, string>
|
||||
*/
|
||||
public function filters(NovaRequest $request)
|
||||
{
|
||||
@@ -70,7 +72,7 @@ class LocaleManagerResource extends Resource
|
||||
/**
|
||||
* Get the lenses available for the resource.
|
||||
*
|
||||
* @return array
|
||||
* @return array<int, string>
|
||||
*/
|
||||
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
|
||||
{
|
||||
|
||||
@@ -33,7 +33,7 @@ class Province extends Resource
|
||||
/**
|
||||
* The columns that should be searched.
|
||||
*
|
||||
* @var array
|
||||
* @var array<int, string>
|
||||
*/
|
||||
public static $search = [
|
||||
'name',
|
||||
@@ -57,6 +57,8 @@ class Province extends Resource
|
||||
|
||||
/**
|
||||
* Get the fields displayed by the resource.
|
||||
*
|
||||
* @return array<int, string>
|
||||
*/
|
||||
public function fields(NovaRequest $request): array
|
||||
{
|
||||
@@ -82,6 +84,8 @@ class Province extends Resource
|
||||
|
||||
/**
|
||||
* Get the cards available for the request.
|
||||
*
|
||||
* @return array<int, string>
|
||||
*/
|
||||
public function cards(NovaRequest $request): array
|
||||
{
|
||||
@@ -90,6 +94,8 @@ class Province extends Resource
|
||||
|
||||
/**
|
||||
* Get the filters available for the resource.
|
||||
*
|
||||
* @return array<int, \Laravel\Nova\Filters\Filter>
|
||||
*/
|
||||
public function filters(NovaRequest $request): array
|
||||
{
|
||||
@@ -101,6 +107,8 @@ class Province extends Resource
|
||||
|
||||
/**
|
||||
* Get the lenses available for the resource.
|
||||
*
|
||||
* @return array<int, string>
|
||||
*/
|
||||
public function lenses(NovaRequest $request): array
|
||||
{
|
||||
@@ -109,6 +117,8 @@ class Province extends Resource
|
||||
|
||||
/**
|
||||
* Get the actions available for the resource.
|
||||
*
|
||||
* @return array<int, string>
|
||||
*/
|
||||
public function actions(NovaRequest $request): array
|
||||
{
|
||||
|
||||
@@ -28,7 +28,7 @@ class Permission extends Resource
|
||||
/**
|
||||
* The columns that should be searched.
|
||||
*
|
||||
* @var array
|
||||
* @var array<int, string>
|
||||
*/
|
||||
public static $search = [
|
||||
'id', 'name',
|
||||
@@ -52,6 +52,8 @@ class Permission extends Resource
|
||||
|
||||
/**
|
||||
* Get the fields displayed by the resource.
|
||||
*
|
||||
* @return array<int, string>
|
||||
*/
|
||||
public function fields(NovaRequest $request): array
|
||||
{
|
||||
@@ -73,6 +75,8 @@ class Permission extends Resource
|
||||
|
||||
/**
|
||||
* Get the cards available for the request.
|
||||
*
|
||||
* @return array<int, string>
|
||||
*/
|
||||
public function cards(NovaRequest $request): array
|
||||
{
|
||||
@@ -81,6 +85,8 @@ class Permission extends Resource
|
||||
|
||||
/**
|
||||
* Get the filters available for the resource.
|
||||
*
|
||||
* @return array<int, string>
|
||||
*/
|
||||
public function filters(NovaRequest $request): array
|
||||
{
|
||||
@@ -89,6 +95,8 @@ class Permission extends Resource
|
||||
|
||||
/**
|
||||
* Get the lenses available for the resource.
|
||||
*
|
||||
* @return array<int, string>
|
||||
*/
|
||||
public function lenses(NovaRequest $request): array
|
||||
{
|
||||
@@ -97,6 +105,8 @@ class Permission extends Resource
|
||||
|
||||
/**
|
||||
* Get the actions available for the resource.
|
||||
*
|
||||
* @return array<int, string>
|
||||
*/
|
||||
public function actions(NovaRequest $request): array
|
||||
{
|
||||
|
||||
@@ -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<int, string>
|
||||
*/
|
||||
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<int, string>
|
||||
*/
|
||||
public function fields(NovaRequest $request): array
|
||||
{
|
||||
@@ -86,6 +89,8 @@ class Role extends Resource
|
||||
|
||||
/**
|
||||
* Get the cards available for the request.
|
||||
*
|
||||
* @return array<int, string>
|
||||
*/
|
||||
public function cards(NovaRequest $request): array
|
||||
{
|
||||
@@ -94,6 +99,8 @@ class Role extends Resource
|
||||
|
||||
/**
|
||||
* Get the filters available for the resource.
|
||||
*
|
||||
* @return array<int, string>
|
||||
*/
|
||||
public function filters(NovaRequest $request): array
|
||||
{
|
||||
@@ -102,6 +109,8 @@ class Role extends Resource
|
||||
|
||||
/**
|
||||
* Get the lenses available for the resource.
|
||||
*
|
||||
* @return array<int, string>
|
||||
*/
|
||||
public function lenses(NovaRequest $request): array
|
||||
{
|
||||
@@ -110,6 +119,8 @@ class Role extends Resource
|
||||
|
||||
/**
|
||||
* Get the actions available for the resource.
|
||||
*
|
||||
* @return array<int, string>
|
||||
*/
|
||||
public function actions(NovaRequest $request): array
|
||||
{
|
||||
|
||||
@@ -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 [];
|
||||
}
|
||||
}
|
||||
@@ -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<int, string>
|
||||
*/
|
||||
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<int, string>
|
||||
*/
|
||||
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<int, string>
|
||||
*/
|
||||
public function cards(NovaRequest $request)
|
||||
{
|
||||
@@ -140,7 +140,7 @@ class User extends Resource
|
||||
/**
|
||||
* Get the filters available for the resource.
|
||||
*
|
||||
* @return array
|
||||
* @return array<int, string>
|
||||
*/
|
||||
public function filters(NovaRequest $request)
|
||||
{
|
||||
@@ -150,7 +150,7 @@ class User extends Resource
|
||||
/**
|
||||
* Get the lenses available for the resource.
|
||||
*
|
||||
* @return array
|
||||
* @return array<int, string>
|
||||
*/
|
||||
public function lenses(NovaRequest $request)
|
||||
{
|
||||
@@ -160,7 +160,7 @@ class User extends Resource
|
||||
/**
|
||||
* Get the actions available for the resource.
|
||||
*
|
||||
* @return array
|
||||
* @return array<int, string>
|
||||
*/
|
||||
public function actions(NovaRequest $request)
|
||||
{
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -69,6 +69,8 @@ class NovaServiceProvider extends NovaApplicationServiceProvider
|
||||
|
||||
/**
|
||||
* Get the dashboards that should be listed in the Nova sidebar.
|
||||
*
|
||||
* @return array<int, \App\Nova\Dashboards\Main>
|
||||
*/
|
||||
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<int, string>
|
||||
*/
|
||||
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')));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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<int, string>|array<int, string>
|
||||
*/
|
||||
public static function values(): Collection|array
|
||||
{
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,6 +9,8 @@ class CardStateRepo
|
||||
{
|
||||
/**
|
||||
* Card state values
|
||||
*
|
||||
* @return \Illuminate\Support\Collection<int, string>|array<int, string>
|
||||
*/
|
||||
public static function values(): Collection|array
|
||||
{
|
||||
|
||||
@@ -9,6 +9,8 @@ class CardTypeRepo
|
||||
{
|
||||
/**
|
||||
* Card type values
|
||||
*
|
||||
* @return \Illuminate\Support\Collection<int, string>|array<int, string>
|
||||
*/
|
||||
public static function values(): Collection|array
|
||||
{
|
||||
|
||||
@@ -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,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,6 +9,8 @@ class LoanTypeRepo
|
||||
{
|
||||
/**
|
||||
* Loan type values
|
||||
*
|
||||
* @return \Illuminate\Support\Collection<string, mixed>|array<int, string>
|
||||
*/
|
||||
public static function values(): Collection|array
|
||||
{
|
||||
|
||||
@@ -39,6 +39,8 @@ class OrderRepo
|
||||
|
||||
/**
|
||||
* Status Values
|
||||
*
|
||||
* @return array<string, string>
|
||||
*/
|
||||
public static function statusValues(): array
|
||||
{
|
||||
@@ -53,6 +55,8 @@ class OrderRepo
|
||||
|
||||
/**
|
||||
* Tailwind
|
||||
*
|
||||
* @return array<string, string>
|
||||
*/
|
||||
public static function statusClasses(): array
|
||||
{
|
||||
@@ -67,6 +71,8 @@ class OrderRepo
|
||||
|
||||
/**
|
||||
* Status icons
|
||||
*
|
||||
* @return array<string, string>
|
||||
*/
|
||||
public static function statusIcons(): array
|
||||
{
|
||||
@@ -81,6 +87,8 @@ class OrderRepo
|
||||
|
||||
/**
|
||||
* HEX Colors
|
||||
*
|
||||
* @return array<string, string>
|
||||
*/
|
||||
public static function statusColors(): array
|
||||
{
|
||||
|
||||
@@ -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<string, string>
|
||||
*/
|
||||
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);
|
||||
}
|
||||
|
||||
@@ -16,6 +16,8 @@ class PaymentStatusRepo
|
||||
|
||||
/**
|
||||
* Payment statuses
|
||||
*
|
||||
* @return array<string, string>
|
||||
*/
|
||||
public static function values(): array
|
||||
{
|
||||
|
||||
@@ -6,6 +6,8 @@ class CountryRepo
|
||||
{
|
||||
/**
|
||||
* List of countries
|
||||
*
|
||||
* @return array<string, string>
|
||||
*/
|
||||
public static function values(): array
|
||||
{
|
||||
|
||||
@@ -26,6 +26,8 @@ class NovaMenuRepo
|
||||
{
|
||||
/**
|
||||
* Nova menu items
|
||||
*
|
||||
* @return array<int, \Laravel\Nova\Menu\MenuSection>
|
||||
*/
|
||||
public static function items(Request $request): array
|
||||
{
|
||||
|
||||
@@ -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]);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@@ -20,6 +20,8 @@ class EducationRepo
|
||||
|
||||
/**
|
||||
* Education statuses
|
||||
*
|
||||
* @return array<string, string>
|
||||
*/
|
||||
public static function values(): array
|
||||
{
|
||||
|
||||
@@ -16,6 +16,8 @@ class MarriageRepo
|
||||
|
||||
/**
|
||||
* Marriage values
|
||||
*
|
||||
* @return array<string, string>
|
||||
*/
|
||||
public static function values(): array
|
||||
{
|
||||
|
||||
@@ -28,6 +28,8 @@ class PassportRepo
|
||||
|
||||
/**
|
||||
* Passport values
|
||||
*
|
||||
* @return array<string, string>
|
||||
*/
|
||||
public static function values(): array
|
||||
{
|
||||
|
||||
@@ -41,6 +41,8 @@ class RegionRepo
|
||||
|
||||
/**
|
||||
* Regions
|
||||
*
|
||||
* @return array<string, string>
|
||||
*/
|
||||
public static function values(): array
|
||||
{
|
||||
|
||||
@@ -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"
|
||||
},
|
||||
|
||||
250
composer.lock
generated
250
composer.lock
generated
@@ -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",
|
||||
|
||||
18
phpstan.neon
Normal file
18
phpstan.neon
Normal 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
|
||||
Reference in New Issue
Block a user