invoiceninja/app/Http/Requests/RecurringExpense/UploadRecurringExpenseReque...

53 lines
1.3 KiB
PHP

<?php
/**
* Invoice Ninja (https://invoiceninja.com).
*
* @link https://github.com/invoiceninja/invoiceninja source repository
*
* @copyright Copyright (c) 2025. Invoice Ninja LLC (https://invoiceninja.com)
*
* @license https://www.elastic.co/licensing/elastic-license
*/
namespace App\Http\Requests\RecurringExpense;
use App\Http\Requests\Request;
class UploadRecurringExpenseRequest extends Request
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize(): bool
{
return auth()->user()->can('edit', $this->recurring_expense);
}
public function rules()
{
$rules = [];
$rules['file'] = 'bail|sometimes|array';
$rules['file.*'] = $this->fileValidation();
$rules['documents'] = 'bail|sometimes|array';
$rules['documents.*'] = $this->fileValidation();
return $rules;
}
public function prepareForValidation()
{
if ($this->file('documents') instanceof \Illuminate\Http\UploadedFile) {
$this->files->set('documents', [$this->file('documents')]);
}
if ($this->file('file') instanceof \Illuminate\Http\UploadedFile) {
$this->files->set('file', [$this->file('file')]);
}
}
}