Files
online.tbbank.gov.tm-larave…/app/Modules/SberPaymentOrder/Nova/Resources/SberPaymentOrderFileFields.php

66 lines
2.5 KiB
PHP

<?php
namespace App\Modules\SberPaymentOrder\Nova\Resources;
use App\Modules\SberPaymentOrder\Models\SberPaymentOrder;
use Ebess\AdvancedNovaMediaLibrary\Fields\Files;
use Laravel\Nova\Fields\File;
use Laravel\Nova\Http\Requests\NovaRequest;
class SberPaymentOrderFileFields
{
/**
* Reciver files
*/
public static function reciverFiles(): array
{
return collect(SberPaymentOrder::reciverFiles())
->map(function (array $file) {
return File::make(__($file['name']), $file['code'])
->fullWidth()
->deletable(false)
->creationRules($file['required'] ? 'required' : 'nullable')
->updateRules('nullable')
->required($file['required'])
->store(function (NovaRequest $request, $model) use ($file) {
return function () use ($model, $file) {
$model->addMediaFromRequest($file['code'])
->preservingOriginal()
->toMediaCollection($file['code']);
};
})
->preview(function ($value, $disk, $resource) use ($file) {
return $resource->getFirstMediaUrl($file['code']);
});
})
->toArray();
}
/**
* Sender files
*/
public static function senderFiles(): array
{
return collect(SberPaymentOrder::senderFiles())
->map(function (array $file) {
return File::make(__($file['name']), $file['code'])
->fullWidth()
->deletable(false)
->creationRules($file['required'] ? 'required' : 'nullable')
->updateRules('nullable')
->required($file['required'])
->store(function (NovaRequest $request, $model) use ($file) {
return function () use ($model, $file) {
$model->addMediaFromRequest($file['code'])
->preservingOriginal()
->toMediaCollection($file['code']);
};
})
->preview(function ($value, $disk, $resource) use ($file) {
return $resource->getFirstMediaUrl($file['code']);
});
})
->toArray();
}
}