add updates
This commit is contained in:
@@ -79,7 +79,7 @@ function sendSMS(string|int $phone, string|int $message)
|
||||
return;
|
||||
}
|
||||
|
||||
$client = new Client();
|
||||
$client = new Client;
|
||||
$headers = [
|
||||
'Content-Type' => 'application/json;charset=utf-8;',
|
||||
'Charset' => 'UTF-8',
|
||||
|
||||
@@ -15,6 +15,13 @@ class Swiftpayment extends Model implements HasMedia
|
||||
use HasUuids;
|
||||
use InteractsWithMedia;
|
||||
|
||||
/**
|
||||
* Table
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $table = 'swift_payments';
|
||||
|
||||
/**
|
||||
* The attributes that should be cast.
|
||||
*
|
||||
|
||||
@@ -147,15 +147,6 @@ class NovaSwiftpayment extends Resource
|
||||
Text::make('A.F.AA'),
|
||||
])->maxRows(1)->rules('required'),
|
||||
|
||||
// CustomHtml::make(__('Required files'), 'required_files')
|
||||
// ->onlyOnForms()
|
||||
// ->fillUsing(function ($request, $model, $attribute, $requestAttribute) {})
|
||||
// ->dependsOn(['type'], function (CustomHtml $field, NovaRequest $request, FormData $formData) {
|
||||
// if ($formData->type) {
|
||||
// $field->html(\App\Models\ApplicationTypes::filesFor($formData->type));
|
||||
// }
|
||||
// }),
|
||||
|
||||
Files::make('Talap edilýän resminamalar', 'main')
|
||||
->conversionOnIndexView('thumb')
|
||||
->rules('required')
|
||||
|
||||
@@ -12,8 +12,7 @@ class NovaForm
|
||||
*/
|
||||
public static function fillEmpty(): Closure
|
||||
{
|
||||
return function ($request, $model, $attribute, $requestAttribute) {
|
||||
};
|
||||
return function ($request, $model, $attribute, $requestAttribute) {};
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -113,8 +113,8 @@ class Branch extends Resource
|
||||
public function filters(NovaRequest $request): array
|
||||
{
|
||||
return [
|
||||
new RegionFilter(),
|
||||
new ActiveFilter(),
|
||||
new RegionFilter,
|
||||
new ActiveFilter,
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@@ -146,7 +146,7 @@ class CardOrder extends Resource
|
||||
*/
|
||||
public static function redirectAfterCreate(NovaRequest $request, $resource): URL|string
|
||||
{
|
||||
$payment = (new OnlinePaymentRepo())->payCardOrder($resource);
|
||||
$payment = (new OnlinePaymentRepo)->payCardOrder($resource);
|
||||
|
||||
return $payment['status'] === 'success'
|
||||
? URL::remote($payment['url'])
|
||||
@@ -246,19 +246,19 @@ class CardOrder extends Resource
|
||||
new Panel(__('Personal data'), [
|
||||
Text::make(__('Name'), 'customer_name')
|
||||
->size('w-1/3')
|
||||
->rules('required', 'string', new OnlyLetters(), 'max:255'),
|
||||
->rules('required', 'string', new OnlyLetters, 'max:255'),
|
||||
|
||||
Text::make(__('Surname'), 'customer_surname')
|
||||
->size('w-1/3')
|
||||
->rules('required', 'string', new OnlyLetters(), 'max:255'),
|
||||
->rules('required', 'string', new OnlyLetters, 'max:255'),
|
||||
|
||||
Text::make(__('Patronic name'), 'customer_patronic_name')
|
||||
->size('w-1/3')
|
||||
->rules('nullable', 'string', new OnlyLetters(), 'max:255'),
|
||||
->rules('nullable', 'string', new OnlyLetters, 'max:255'),
|
||||
|
||||
Text::make(__('Old surname (if changed)'), 'old_surname')
|
||||
->size('w-1/2')
|
||||
->rules('nullable', 'string', new OnlyLetters(), 'max:255'),
|
||||
->rules('nullable', 'string', new OnlyLetters, 'max:255'),
|
||||
|
||||
Date::make(__('Date of birth'), 'born_at')
|
||||
->size('w-1/2')
|
||||
@@ -286,15 +286,15 @@ class CardOrder extends Resource
|
||||
|
||||
Text::make(__('Residence (passport)'), 'passport_address')
|
||||
->size('w-1/2')
|
||||
->rules('required', 'string', new DowranAgaAllowed(), 'max:255'),
|
||||
->rules('required', 'string', new DowranAgaAllowed, 'max:255'),
|
||||
|
||||
Text::make(__('Current Residence'), 'real_address')
|
||||
->size('w-1/2')
|
||||
->rules('required', 'string', new DowranAgaAllowed(), 'max:255'),
|
||||
->rules('required', 'string', new DowranAgaAllowed, 'max:255'),
|
||||
|
||||
Text::make(__('Work location and your position'), 'job_location')
|
||||
->size('w-full')
|
||||
->rules('required', 'string', new DowranAgaAllowed(), 'max:255'),
|
||||
->rules('required', 'string', new DowranAgaAllowed, 'max:255'),
|
||||
]),
|
||||
|
||||
new Panel(__('Passport'), [
|
||||
@@ -315,11 +315,11 @@ class CardOrder extends Resource
|
||||
|
||||
Text::make(__('Passport given by'), 'passport_given_by')
|
||||
->size('w-1/2')
|
||||
->rules('required', 'string', new DowranAgaAllowed(), 'max:255'),
|
||||
->rules('required', 'string', new DowranAgaAllowed, 'max:255'),
|
||||
|
||||
Text::make(__('Born place (passport)'), 'born_place')
|
||||
->size('w-1/2')
|
||||
->rules('required', 'string', new DowranAgaAllowed(), 'max:255'),
|
||||
->rules('required', 'string', new DowranAgaAllowed, 'max:255'),
|
||||
]),
|
||||
|
||||
new Panel(__('Passport files'), [
|
||||
@@ -375,7 +375,7 @@ class CardOrder extends Resource
|
||||
RegionFilter::make()
|
||||
->canSee(fn () => Gate::allows('isAdmin', auth()->user())),
|
||||
|
||||
new StatusFilter(),
|
||||
new StatusFilter,
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@@ -2,6 +2,4 @@
|
||||
|
||||
namespace App\Nova\Resources\Order\Card\Concerns;
|
||||
|
||||
class CardOrderNovaRepo
|
||||
{
|
||||
}
|
||||
class CardOrderNovaRepo {}
|
||||
|
||||
@@ -160,7 +160,7 @@ class CardPin extends Resource
|
||||
*/
|
||||
public static function redirectAfterCreate(NovaRequest $request, $resource): URL|string
|
||||
{
|
||||
$payment = (new OnlinePaymentRepo())->payCardOrder($resource);
|
||||
$payment = (new OnlinePaymentRepo)->payCardOrder($resource);
|
||||
|
||||
return $payment['status'] === 'success'
|
||||
? URL::remote($payment['url'])
|
||||
@@ -244,15 +244,15 @@ class CardPin extends Resource
|
||||
new Panel(__('Personal data'), [
|
||||
Text::make(__('Name'), 'customer_name')
|
||||
->size('w-1/3')
|
||||
->rules('required', 'string', new OnlyLetters(), 'max:255'),
|
||||
->rules('required', 'string', new OnlyLetters, 'max:255'),
|
||||
|
||||
Text::make(__('Surname'), 'customer_surname')
|
||||
->size('w-1/3')
|
||||
->rules('required', 'string', new OnlyLetters(), 'max:255'),
|
||||
->rules('required', 'string', new OnlyLetters, 'max:255'),
|
||||
|
||||
Text::make(__('Patronic name'), 'customer_patronic_name')
|
||||
->size('w-1/3')
|
||||
->rules('nullable', 'string', new OnlyLetters(), 'max:255'),
|
||||
->rules('nullable', 'string', new OnlyLetters, 'max:255'),
|
||||
|
||||
Date::make(__('Date of birth'), 'born_at')
|
||||
->size('w-1/2')
|
||||
@@ -329,7 +329,7 @@ class CardPin extends Resource
|
||||
RegionFilter::make()
|
||||
->canSee(fn () => Gate::allows('isAdmin', auth()->user())),
|
||||
|
||||
new StatusFilter(),
|
||||
new StatusFilter,
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@@ -165,7 +165,7 @@ class CardRequisite extends Resource
|
||||
*/
|
||||
public static function redirectAfterCreate(NovaRequest $request, $resource): URL|string
|
||||
{
|
||||
$payment = (new OnlinePaymentRepo())->payCardOrder($resource);
|
||||
$payment = (new OnlinePaymentRepo)->payCardOrder($resource);
|
||||
|
||||
return $payment['status'] === 'success'
|
||||
? URL::remote($payment['url'])
|
||||
@@ -249,15 +249,15 @@ class CardRequisite extends Resource
|
||||
new Panel(__('Personal data'), [
|
||||
Text::make(__('Name'), 'customer_name')
|
||||
->size('w-1/3')
|
||||
->rules('required', 'string', new OnlyLetters(), 'max:255'),
|
||||
->rules('required', 'string', new OnlyLetters, 'max:255'),
|
||||
|
||||
Text::make(__('Surname'), 'customer_surname')
|
||||
->size('w-1/3')
|
||||
->rules('required', 'string', new OnlyLetters(), 'max:255'),
|
||||
->rules('required', 'string', new OnlyLetters, 'max:255'),
|
||||
|
||||
Text::make(__('Patronic name'), 'customer_patronic_name')
|
||||
->size('w-1/3')
|
||||
->rules('nullable', 'string', new OnlyLetters(), 'max:255'),
|
||||
->rules('nullable', 'string', new OnlyLetters, 'max:255'),
|
||||
|
||||
Date::make(__('Date of birth'), 'born_at')
|
||||
->size('w-1/2')
|
||||
@@ -341,7 +341,7 @@ class CardRequisite extends Resource
|
||||
RegionFilter::make()
|
||||
->canSee(fn () => Gate::allows('isAdmin', auth()->user())),
|
||||
|
||||
new StatusFilter(),
|
||||
new StatusFilter,
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@@ -2,6 +2,4 @@
|
||||
|
||||
namespace App\Nova\Resources\Order\Loan\Concerns;
|
||||
|
||||
class LoanOrderNovaRepo
|
||||
{
|
||||
}
|
||||
class LoanOrderNovaRepo {}
|
||||
|
||||
@@ -200,15 +200,15 @@ class LoanOrder extends Resource
|
||||
new Panel(__('Personal data'), [
|
||||
Text::make(__('Name'), 'customer_name')
|
||||
->size('w-1/3')
|
||||
->rules('required', 'string', new OnlyLetters(), 'max:255'),
|
||||
->rules('required', 'string', new OnlyLetters, 'max:255'),
|
||||
|
||||
Text::make(__('Surname'), 'customer_surname')
|
||||
->size('w-1/3')
|
||||
->rules('required', 'string', new OnlyLetters(), 'max:255'),
|
||||
->rules('required', 'string', new OnlyLetters, 'max:255'),
|
||||
|
||||
Text::make(__('Patronic name'), 'customer_patronic_name')
|
||||
->size('w-1/3')
|
||||
->rules('nullable', 'string', new OnlyLetters(), 'max:255'),
|
||||
->rules('nullable', 'string', new OnlyLetters, 'max:255'),
|
||||
|
||||
Select::make(__('Education'), 'education')
|
||||
->displayUsingLabels()
|
||||
@@ -234,11 +234,11 @@ class LoanOrder extends Resource
|
||||
|
||||
Text::make(__('Residence (passport)'), 'passport_address')
|
||||
->size('w-1/2')
|
||||
->rules('required', 'string', new DowranAgaAllowed(), 'max:255'),
|
||||
->rules('required', 'string', new DowranAgaAllowed, 'max:255'),
|
||||
|
||||
Text::make(__('Current Residence'), 'real_address')
|
||||
->size('w-1/2')
|
||||
->rules('required', 'string', new DowranAgaAllowed(), 'max:255'),
|
||||
->rules('required', 'string', new DowranAgaAllowed, 'max:255'),
|
||||
]),
|
||||
|
||||
new Panel(__('Passport'), [
|
||||
@@ -260,11 +260,11 @@ class LoanOrder extends Resource
|
||||
|
||||
Text::make(__('Passport given by'), 'passport_given_by')
|
||||
->size('w-1/2')
|
||||
->rules('required', 'string', new DowranAgaAllowed(), 'max:255'),
|
||||
->rules('required', 'string', new DowranAgaAllowed, 'max:255'),
|
||||
|
||||
Text::make(__('Born place (passport)'), 'born_place')
|
||||
->size('w-1/2')
|
||||
->rules('required', 'string', new DowranAgaAllowed(), 'max:255'),
|
||||
->rules('required', 'string', new DowranAgaAllowed, 'max:255'),
|
||||
]),
|
||||
|
||||
new Panel(__('Contact data'), [
|
||||
@@ -293,7 +293,7 @@ class LoanOrder extends Resource
|
||||
|
||||
new Panel(__('Job'), [
|
||||
Text::make(__('Work company name'), 'work_company')
|
||||
->rules('required', 'string', new DowranAgaAllowed(), 'max:255')
|
||||
->rules('required', 'string', new DowranAgaAllowed, 'max:255')
|
||||
->size('w-1/2'),
|
||||
|
||||
NovaInputmask::make(__('HR department work number'), 'work_company_accountant_number')
|
||||
@@ -319,7 +319,7 @@ class LoanOrder extends Resource
|
||||
|
||||
Text::make(__('Position'), 'work_position')
|
||||
->size('w-1/2')
|
||||
->rules('required', 'string', new DowranAgaAllowed(), 'max:255'),
|
||||
->rules('required', 'string', new DowranAgaAllowed, 'max:255'),
|
||||
|
||||
Text::make(__('Salary'), 'work_salary')
|
||||
->size('w-1/4')
|
||||
@@ -379,7 +379,7 @@ class LoanOrder extends Resource
|
||||
RegionFilter::make()
|
||||
->canSee(fn () => Gate::allows('isAdmin', auth()->user())),
|
||||
|
||||
new StatusFilter(),
|
||||
new StatusFilter,
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@@ -188,15 +188,15 @@ class LoanPaidOffLetterOrder extends Resource
|
||||
new Panel(__('Personal data'), [
|
||||
Text::make(__('Name'), 'customer_name')
|
||||
->size('w-1/3')
|
||||
->rules('required', 'string', new OnlyLetters(), 'max:255'),
|
||||
->rules('required', 'string', new OnlyLetters, 'max:255'),
|
||||
|
||||
Text::make(__('Surname'), 'customer_surname')
|
||||
->size('w-1/3')
|
||||
->rules('required', 'string', new OnlyLetters(), 'max:255'),
|
||||
->rules('required', 'string', new OnlyLetters, 'max:255'),
|
||||
|
||||
Text::make(__('Patronic name'), 'customer_patronic_name')
|
||||
->size('w-1/3')
|
||||
->rules('nullable', 'string', new OnlyLetters(), 'max:255'),
|
||||
->rules('nullable', 'string', new OnlyLetters, 'max:255'),
|
||||
|
||||
Select::make(__('Passport serie'), 'passport_serie')
|
||||
->displayUsingLabels()
|
||||
@@ -264,7 +264,7 @@ class LoanPaidOffLetterOrder extends Resource
|
||||
RegionFilter::make()
|
||||
->canSee(fn () => Gate::allows('isAdmin', auth()->user())),
|
||||
|
||||
new StatusFilter(),
|
||||
new StatusFilter,
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@@ -93,7 +93,7 @@ class LoanType extends Resource
|
||||
public function filters(NovaRequest $request): array
|
||||
{
|
||||
return [
|
||||
new ActiveFilter(),
|
||||
new ActiveFilter,
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@@ -100,8 +100,8 @@ class Province extends Resource
|
||||
public function filters(NovaRequest $request): array
|
||||
{
|
||||
return [
|
||||
new RegionFilter(),
|
||||
new ActiveFilter(),
|
||||
new RegionFilter,
|
||||
new ActiveFilter,
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@@ -75,6 +75,6 @@ class AuthServiceProvider extends ServiceProvider
|
||||
Gate::define('systemUser', fn ($user) => $user->isSystemUser());
|
||||
|
||||
// Tooling permissions...
|
||||
Gate::define('viewPulse', fn ($user) => $user->isMe());
|
||||
Gate::define('viewPulse', fn ($user) => $user->isAdmin());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -153,9 +153,7 @@ 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')));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -42,7 +42,7 @@ class BranchRepo
|
||||
*/
|
||||
public static function make(): self
|
||||
{
|
||||
return new self();
|
||||
return new self;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -38,7 +38,7 @@ class LocaleManagerRepo
|
||||
$this->localeAppUrl = config('app.locale_app.url');
|
||||
$this->localeAppApiToken = config('app.locale_app.api_token');
|
||||
|
||||
$this->fileSystem = new Filesystem();
|
||||
$this->fileSystem = new Filesystem;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -46,7 +46,7 @@ class LocaleManagerRepo
|
||||
*/
|
||||
public static function make(): self
|
||||
{
|
||||
return new self();
|
||||
return new self;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -2,6 +2,4 @@
|
||||
|
||||
namespace App\Repos\System\Location;
|
||||
|
||||
class ProvinceRepo
|
||||
{
|
||||
}
|
||||
class ProvinceRepo {}
|
||||
|
||||
@@ -10,9 +10,7 @@ class PhoneCodeVerification implements ValidationRule
|
||||
{
|
||||
public function __construct(
|
||||
protected int|string $phone,
|
||||
) {
|
||||
|
||||
}
|
||||
) {}
|
||||
|
||||
/**
|
||||
* Run the validation rule.
|
||||
|
||||
@@ -13,10 +13,10 @@
|
||||
"guzzlehttp/guzzle": "^7.2",
|
||||
"laravel/framework": "^10.10",
|
||||
"laravel/nova": "*",
|
||||
"laravel/pulse": "^1.0@beta",
|
||||
"laravel/pulse": "^1.0",
|
||||
"laravel/sanctum": "^3.3",
|
||||
"laravel/tinker": "^2.8",
|
||||
"maantje/pulse-database": "^0.1.0",
|
||||
"maantje/pulse-php-fpm": "^0.2.1",
|
||||
"morrislaptop/laravel-pulse-4xx": "^0.0.2",
|
||||
"nurmuhammet/nova-custom-html": "^1.0",
|
||||
"nurmuhammet/nova-inputmask": "^1.0",
|
||||
|
||||
1448
composer.lock
generated
1448
composer.lock
generated
File diff suppressed because it is too large
Load Diff
@@ -2,6 +2,18 @@
|
||||
|
||||
use Laravel\Pulse\Http\Middleware\Authorize;
|
||||
use Laravel\Pulse\Recorders;
|
||||
use Laravel\Pulse\Recorders\CacheInteractions;
|
||||
use Laravel\Pulse\Recorders\Exceptions;
|
||||
use Laravel\Pulse\Recorders\Queues;
|
||||
use Laravel\Pulse\Recorders\Servers;
|
||||
use Laravel\Pulse\Recorders\SlowJobs;
|
||||
use Laravel\Pulse\Recorders\SlowOutgoingRequests;
|
||||
use Laravel\Pulse\Recorders\SlowQueries;
|
||||
use Laravel\Pulse\Recorders\SlowRequests;
|
||||
use Laravel\Pulse\Recorders\UserJobs;
|
||||
use Laravel\Pulse\Recorders\UserRequests;
|
||||
use Maantje\Pulse\PhpFpm\Recorders\PhpFpmRecorder;
|
||||
use Morrislaptop\LaravelPulse4xx\FourXxRecorder;
|
||||
|
||||
return [
|
||||
|
||||
@@ -127,7 +139,7 @@ return [
|
||||
*/
|
||||
|
||||
'recorders' => [
|
||||
Recorders\CacheInteractions::class => [
|
||||
CacheInteractions::class => [
|
||||
'enabled' => env('PULSE_CACHE_INTERACTIONS_ENABLED', true),
|
||||
'sample_rate' => env('PULSE_CACHE_INTERACTIONS_SAMPLE_RATE', 1),
|
||||
'ignore' => [
|
||||
@@ -144,7 +156,7 @@ return [
|
||||
],
|
||||
],
|
||||
|
||||
Recorders\Exceptions::class => [
|
||||
Exceptions::class => [
|
||||
'enabled' => env('PULSE_EXCEPTIONS_ENABLED', true),
|
||||
'sample_rate' => env('PULSE_EXCEPTIONS_SAMPLE_RATE', 1),
|
||||
'location' => env('PULSE_EXCEPTIONS_LOCATION', true),
|
||||
@@ -153,7 +165,7 @@ return [
|
||||
],
|
||||
],
|
||||
|
||||
Recorders\Queues::class => [
|
||||
Queues::class => [
|
||||
'enabled' => env('PULSE_QUEUES_ENABLED', true),
|
||||
'sample_rate' => env('PULSE_QUEUES_SAMPLE_RATE', 1),
|
||||
'ignore' => [
|
||||
@@ -161,12 +173,12 @@ return [
|
||||
],
|
||||
],
|
||||
|
||||
Recorders\Servers::class => [
|
||||
Servers::class => [
|
||||
'server_name' => env('PULSE_SERVER_NAME', gethostname()),
|
||||
'directories' => explode(':', env('PULSE_SERVER_DIRECTORIES', '/')),
|
||||
],
|
||||
|
||||
Recorders\SlowJobs::class => [
|
||||
SlowJobs::class => [
|
||||
'enabled' => env('PULSE_SLOW_JOBS_ENABLED', true),
|
||||
'sample_rate' => env('PULSE_SLOW_JOBS_SAMPLE_RATE', 1),
|
||||
'threshold' => env('PULSE_SLOW_JOBS_THRESHOLD', 1000),
|
||||
@@ -175,7 +187,7 @@ return [
|
||||
],
|
||||
],
|
||||
|
||||
Recorders\SlowOutgoingRequests::class => [
|
||||
SlowOutgoingRequests::class => [
|
||||
'enabled' => env('PULSE_SLOW_OUTGOING_REQUESTS_ENABLED', true),
|
||||
'sample_rate' => env('PULSE_SLOW_OUTGOING_REQUESTS_SAMPLE_RATE', 1),
|
||||
'threshold' => env('PULSE_SLOW_OUTGOING_REQUESTS_THRESHOLD', 1000),
|
||||
@@ -189,7 +201,7 @@ return [
|
||||
],
|
||||
],
|
||||
|
||||
Recorders\SlowQueries::class => [
|
||||
SlowQueries::class => [
|
||||
'enabled' => env('PULSE_SLOW_QUERIES_ENABLED', true),
|
||||
'sample_rate' => env('PULSE_SLOW_QUERIES_SAMPLE_RATE', 1),
|
||||
'threshold' => env('PULSE_SLOW_QUERIES_THRESHOLD', 1000),
|
||||
@@ -199,7 +211,7 @@ return [
|
||||
],
|
||||
],
|
||||
|
||||
Recorders\SlowRequests::class => [
|
||||
SlowRequests::class => [
|
||||
'enabled' => env('PULSE_SLOW_REQUESTS_ENABLED', true),
|
||||
'sample_rate' => env('PULSE_SLOW_REQUESTS_SAMPLE_RATE', 1),
|
||||
'threshold' => env('PULSE_SLOW_REQUESTS_THRESHOLD', 1000),
|
||||
@@ -208,7 +220,7 @@ return [
|
||||
],
|
||||
],
|
||||
|
||||
Recorders\UserJobs::class => [
|
||||
UserJobs::class => [
|
||||
'enabled' => env('PULSE_USER_JOBS_ENABLED', true),
|
||||
'sample_rate' => env('PULSE_USER_JOBS_SAMPLE_RATE', 1),
|
||||
'ignore' => [
|
||||
@@ -216,7 +228,7 @@ return [
|
||||
],
|
||||
],
|
||||
|
||||
Recorders\UserRequests::class => [
|
||||
UserRequests::class => [
|
||||
'enabled' => env('PULSE_USER_REQUESTS_ENABLED', true),
|
||||
'sample_rate' => env('PULSE_USER_REQUESTS_SAMPLE_RATE', 1),
|
||||
'ignore' => [
|
||||
@@ -224,40 +236,25 @@ return [
|
||||
],
|
||||
],
|
||||
|
||||
\Morrislaptop\LaravelPulse4xx\FourXxRecorder::class => [
|
||||
FourXxRecorder::class => [
|
||||
'enabled' => env('PULSE_4XX_ENABLED', true),
|
||||
'sample_rate' => env('PULSE_4XX_SAMPLE_RATE', 1),
|
||||
'ignore' => [],
|
||||
],
|
||||
|
||||
\Maantje\Pulse\Database\Recorders\DatabaseRecorder::class => [
|
||||
'connections' => [
|
||||
'pgsql' => [
|
||||
'values' => [
|
||||
'Connections',
|
||||
'Threads_connected',
|
||||
'Threads_running',
|
||||
'Innodb_buffer_pool_reads',
|
||||
'Innodb_buffer_pool_read_requests',
|
||||
'Innodb_buffer_pool_pages_total',
|
||||
'Max_used_connections',
|
||||
],
|
||||
'aggregates' => [
|
||||
'avg' => [
|
||||
'Threads_connected',
|
||||
'Threads_running',
|
||||
'Innodb_buffer_pool_reads',
|
||||
'Innodb_buffer_pool_read_requests',
|
||||
'Innodb_buffer_pool_pages_total',
|
||||
],
|
||||
'max' => [
|
||||
//
|
||||
],
|
||||
'count' => [
|
||||
//
|
||||
],
|
||||
],
|
||||
],
|
||||
PhpFpmRecorder::class => [
|
||||
// Optionally set a server name gethostname() is the default
|
||||
'server_name' => env('PULSE_SERVER_NAME', gethostname()),
|
||||
// Optionally set a status path the current value is the default
|
||||
'status_path' => 'localhost:9000/status', // with unix socket unix:/var/run/php-fpm/web.sock/status
|
||||
// Optionally give datasets, these are the default values.
|
||||
// Omitting a dataset or setting the value to false will remove the line from the chart
|
||||
// You can also set a color as value that will be used in the chart
|
||||
'datasets' => [
|
||||
'active processes' => '#9333ea',
|
||||
'total processes' => 'rgba(147,51,234,0.5)',
|
||||
'idle processes' => '#eab308',
|
||||
'listen queue' => '#e11d48',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
||||
@@ -0,0 +1,84 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
use Laravel\Pulse\Support\PulseMigration;
|
||||
|
||||
return new class extends PulseMigration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*/
|
||||
public function up(): void
|
||||
{
|
||||
if (! $this->shouldRun()) {
|
||||
return;
|
||||
}
|
||||
|
||||
Schema::create('pulse_values', function (Blueprint $table) {
|
||||
$table->id();
|
||||
$table->unsignedInteger('timestamp');
|
||||
$table->string('type');
|
||||
$table->mediumText('key');
|
||||
match ($this->driver()) {
|
||||
'mariadb', 'mysql' => $table->char('key_hash', 16)->charset('binary')->virtualAs('unhex(md5(`key`))'),
|
||||
'pgsql' => $table->uuid('key_hash')->storedAs('md5("key")::uuid'),
|
||||
'sqlite' => $table->string('key_hash'),
|
||||
};
|
||||
$table->mediumText('value');
|
||||
|
||||
$table->index('timestamp'); // For trimming...
|
||||
$table->index('type'); // For fast lookups and purging...
|
||||
$table->unique(['type', 'key_hash']); // For data integrity and upserts...
|
||||
});
|
||||
|
||||
Schema::create('pulse_entries', function (Blueprint $table) {
|
||||
$table->id();
|
||||
$table->unsignedInteger('timestamp');
|
||||
$table->string('type');
|
||||
$table->mediumText('key');
|
||||
match ($this->driver()) {
|
||||
'mariadb', 'mysql' => $table->char('key_hash', 16)->charset('binary')->virtualAs('unhex(md5(`key`))'),
|
||||
'pgsql' => $table->uuid('key_hash')->storedAs('md5("key")::uuid'),
|
||||
'sqlite' => $table->string('key_hash'),
|
||||
};
|
||||
$table->bigInteger('value')->nullable();
|
||||
|
||||
$table->index('timestamp'); // For trimming...
|
||||
$table->index('type'); // For purging...
|
||||
$table->index('key_hash'); // For mapping...
|
||||
$table->index(['timestamp', 'type', 'key_hash', 'value']); // For aggregate queries...
|
||||
});
|
||||
|
||||
Schema::create('pulse_aggregates', function (Blueprint $table) {
|
||||
$table->id();
|
||||
$table->unsignedInteger('bucket');
|
||||
$table->unsignedMediumInteger('period');
|
||||
$table->string('type');
|
||||
$table->mediumText('key');
|
||||
match ($this->driver()) {
|
||||
'mariadb', 'mysql' => $table->char('key_hash', 16)->charset('binary')->virtualAs('unhex(md5(`key`))'),
|
||||
'pgsql' => $table->uuid('key_hash')->storedAs('md5("key")::uuid'),
|
||||
'sqlite' => $table->string('key_hash'),
|
||||
};
|
||||
$table->string('aggregate');
|
||||
$table->decimal('value', 20, 2);
|
||||
$table->unsignedInteger('count')->nullable();
|
||||
|
||||
$table->unique(['bucket', 'period', 'type', 'aggregate', 'key_hash']); // Force "on duplicate update"...
|
||||
$table->index(['period', 'bucket']); // For trimming...
|
||||
$table->index('type'); // For purging...
|
||||
$table->index(['period', 'type', 'aggregate', 'bucket']); // For aggregate queries...
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
Schema::dropIfExists('pulse_values');
|
||||
Schema::dropIfExists('pulse_entries');
|
||||
Schema::dropIfExists('pulse_aggregates');
|
||||
}
|
||||
};
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
2
public/vendor/nova/app.css
vendored
2
public/vendor/nova/app.css
vendored
File diff suppressed because one or more lines are too long
2
public/vendor/nova/app.css.map
vendored
2
public/vendor/nova/app.css.map
vendored
File diff suppressed because one or more lines are too long
2
public/vendor/nova/app.js
vendored
2
public/vendor/nova/app.js
vendored
File diff suppressed because one or more lines are too long
2
public/vendor/nova/app.js.map
vendored
2
public/vendor/nova/app.js.map
vendored
File diff suppressed because one or more lines are too long
2
public/vendor/nova/manifest.js
vendored
2
public/vendor/nova/manifest.js
vendored
@@ -1,2 +1,2 @@
|
||||
(()=>{"use strict";var e,r={},t={};function o(e){var n=t[e];if(void 0!==n)return n.exports;var a=t[e]={id:e,loaded:!1,exports:{}};return r[e].call(a.exports,a,a.exports,o),a.loaded=!0,a.exports}o.m=r,o.amdO={},e=[],o.O=(r,t,n,a)=>{if(!t){var l=1/0;for(u=0;u<e.length;u++){for(var[t,n,a]=e[u],i=!0,d=0;d<t.length;d++)(!1&a||l>=a)&&Object.keys(o.O).every((e=>o.O[e](t[d])))?t.splice(d--,1):(i=!1,a<l&&(l=a));if(i){e.splice(u--,1);var s=n();void 0!==s&&(r=s)}}return r}a=a||0;for(var u=e.length;u>0&&e[u-1][2]>a;u--)e[u]=e[u-1];e[u]=[t,n,a]},o.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return o.d(r,{a:r}),r},o.d=(e,r)=>{for(var t in r)o.o(r,t)&&!o.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},o.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),o.hmd=e=>((e=Object.create(e)).children||(e.children=[]),Object.defineProperty(e,"exports",{enumerable:!0,set:()=>{throw new Error("ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: "+e.id)}}),e),o.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{var e={774:0,143:0};o.O.j=r=>0===e[r];var r=(r,t)=>{var n,a,[l,i,d]=t,s=0;if(l.some((r=>0!==e[r]))){for(n in i)o.o(i,n)&&(o.m[n]=i[n]);if(d)var u=d(o)}for(r&&r(t);s<l.length;s++)a=l[s],o.o(e,a)&&e[a]&&e[a][0](),e[a]=0;return o.O(u)},t=self.webpackChunklaravel_nova=self.webpackChunklaravel_nova||[];t.forEach(r.bind(null,0)),t.push=r.bind(null,t.push.bind(t))})(),o.nc=void 0})();
|
||||
(()=>{"use strict";var e,r={},t={};function o(e){var n=t[e];if(void 0!==n)return n.exports;var a=t[e]={id:e,loaded:!1,exports:{}};return r[e].call(a.exports,a,a.exports,o),a.loaded=!0,a.exports}o.m=r,o.amdO={},e=[],o.O=(r,t,n,a)=>{if(!t){var l=1/0;for(u=0;u<e.length;u++){for(var[t,n,a]=e[u],i=!0,d=0;d<t.length;d++)(!1&a||l>=a)&&Object.keys(o.O).every((e=>o.O[e](t[d])))?t.splice(d--,1):(i=!1,a<l&&(l=a));if(i){e.splice(u--,1);var s=n();void 0!==s&&(r=s)}}return r}a=a||0;for(var u=e.length;u>0&&e[u-1][2]>a;u--)e[u]=e[u-1];e[u]=[t,n,a]},o.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return o.d(r,{a:r}),r},o.d=(e,r)=>{for(var t in r)o.o(r,t)&&!o.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},o.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),o.hmd=e=>((e=Object.create(e)).children||(e.children=[]),Object.defineProperty(e,"exports",{enumerable:!0,set:()=>{throw new Error("ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: "+e.id)}}),e),o.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{var e={448:0,524:0};o.O.j=r=>0===e[r];var r=(r,t)=>{var n,a,[l,i,d]=t,s=0;if(l.some((r=>0!==e[r]))){for(n in i)o.o(i,n)&&(o.m[n]=i[n]);if(d)var u=d(o)}for(r&&r(t);s<l.length;s++)a=l[s],o.o(e,a)&&e[a]&&e[a][0](),e[a]=0;return o.O(u)},t=self.webpackChunklaravel_nova=self.webpackChunklaravel_nova||[];t.forEach(r.bind(null,0)),t.push=r.bind(null,t.push.bind(t))})(),o.nc=void 0})();
|
||||
//# sourceMappingURL=manifest.js.map
|
||||
2
public/vendor/nova/manifest.js.map
vendored
2
public/vendor/nova/manifest.js.map
vendored
File diff suppressed because one or more lines are too long
8
public/vendor/nova/mix-manifest.json
vendored
8
public/vendor/nova/mix-manifest.json
vendored
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"/app.js": "/app.js?id=8002e7ac36ff237304e3658e951e87a9",
|
||||
"/manifest.js": "/manifest.js?id=d75058ce2144a4049857d3ff9e02de1e",
|
||||
"/app.css": "/app.css?id=ef6dd2bb807b5502a73552880aa17c5d",
|
||||
"/vendor.js": "/vendor.js?id=36b480db2b46429d76e0b35f633618e9",
|
||||
"/app.js": "/app.js?id=8ce9044b0e44e33e0fbd2b049b5dfbdf",
|
||||
"/manifest.js": "/manifest.js?id=d6d76d12b7219df564489d400c711198",
|
||||
"/app.css": "/app.css?id=b29d5b5249557d2ac9e8f5f136bc5a87",
|
||||
"/vendor.js": "/vendor.js?id=0b026297072f6c8be97d0c900a2d4770",
|
||||
"/fonts/snunitosansv11pe01mimslybiv1o4x1m8cce4g1pty10iurt9w6fk2a.woff2": "/fonts/snunitosansv11pe01mimslybiv1o4x1m8cce4g1pty10iurt9w6fk2a.woff2?id=c8390e146be0a3c8a5498355dec892ae",
|
||||
"/fonts/snunitosansv11pe01mimslybiv1o4x1m8cce4g1pty14iurt9w6fk2a.woff2": "/fonts/snunitosansv11pe01mimslybiv1o4x1m8cce4g1pty14iurt9w6fk2a.woff2?id=b0735c7dd6126471acbaf9d6e9f5e41a",
|
||||
"/fonts/snunitosansv11pe01mimslybiv1o4x1m8cce4g1pty1ciurt9w6fk2a.woff2": "/fonts/snunitosansv11pe01mimslybiv1o4x1m8cce4g1pty1ciurt9w6fk2a.woff2?id=7c1fb232e3050e36dcc1aee61f1d0c06",
|
||||
|
||||
2
public/vendor/nova/vendor.js
vendored
2
public/vendor/nova/vendor.js
vendored
File diff suppressed because one or more lines are too long
10
public/vendor/nova/vendor.js.LICENSE.txt
vendored
10
public/vendor/nova/vendor.js.LICENSE.txt
vendored
@@ -480,7 +480,7 @@
|
||||
*/
|
||||
|
||||
/*!
|
||||
* focus-trap 7.5.2
|
||||
* focus-trap 7.5.4
|
||||
* @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE
|
||||
*/
|
||||
|
||||
@@ -489,6 +489,8 @@
|
||||
* @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE
|
||||
*/
|
||||
|
||||
/*! #__NO_SIDE_EFFECTS__ */
|
||||
|
||||
/*! Hammer.JS - v2.0.7 - 2016-04-22
|
||||
* http://hammerjs.github.io/
|
||||
*
|
||||
@@ -506,3 +508,9 @@
|
||||
* Code distributed by Google as part of the polymer project is also
|
||||
* subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
|
||||
*/
|
||||
|
||||
/**
|
||||
* @vue/shared v3.4.19
|
||||
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
||||
* @license MIT
|
||||
**/
|
||||
|
||||
2
public/vendor/nova/vendor.js.map
vendored
2
public/vendor/nova/vendor.js.map
vendored
File diff suppressed because one or more lines are too long
@@ -0,0 +1,5 @@
|
||||
<ol class="list-group" style="list-style: decimal;" id="required_attachments_{{ random_int(1, 9000) }}">
|
||||
@foreach($files as $file)
|
||||
<li class="list-group-item">{{ $file }}.</li>
|
||||
@endforeach
|
||||
</ol>
|
||||
26
resources/views/vendor/pulse/dashboard.blade.php
vendored
26
resources/views/vendor/pulse/dashboard.blade.php
vendored
@@ -1,6 +1,8 @@
|
||||
<x-pulse>
|
||||
<livewire:pulse.servers cols="full" />
|
||||
|
||||
<livewire:fpm cols="full" />
|
||||
|
||||
<livewire:pulse.usage cols="4" rows="2" />
|
||||
|
||||
<livewire:4xx cols="8" rows="2" />
|
||||
@@ -11,30 +13,6 @@
|
||||
|
||||
<livewire:pulse.cache cols="4" />
|
||||
|
||||
<livewire:database
|
||||
cols="full"
|
||||
title="Active threads"
|
||||
:values="['Threads_connected', 'Threads_running']"
|
||||
:graphs="[
|
||||
'avg' => ['Threads_connected' => '#ffffff', 'Threads_running' => '#3c5dff'],
|
||||
]"
|
||||
/>
|
||||
|
||||
<livewire:database
|
||||
cols="full"
|
||||
title="Connections"
|
||||
:values="['Connections', 'Max_used_connections']"
|
||||
/>
|
||||
|
||||
<livewire:database
|
||||
cols="full"
|
||||
title="Innodb"
|
||||
:values="['Innodb_buffer_pool_reads', 'Innodb_buffer_pool_read_requests', 'Innodb_buffer_pool_pages_total']"
|
||||
:graphs="[
|
||||
'avg' => ['Innodb_buffer_pool_reads' => '#ffffff', 'Innodb_buffer_pool_read_requests' => '#3c5dff'],
|
||||
]"
|
||||
/>
|
||||
|
||||
<livewire:pulse.slow-queries cols="8" />
|
||||
|
||||
<livewire:pulse.exceptions cols="6" />
|
||||
|
||||
Reference in New Issue
Block a user