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(); } }