Files
cssd-back/app/Http/Controllers/Media/StoreMedia.php
T
2023-12-07 10:00:19 +03:30

34 lines
1.0 KiB
PHP

<?php
namespace App\Http\Controllers\Media;
use App\FakeModel;
use App\Http\Controllers\Controller;
use App\Services\Responser;
use Illuminate\Http\Request;
class StoreMedia extends Controller
{
public function __invoke(Request $request)
{
$this->validate($request, [
'batch_id' => 'required|max:40',
'file' => 'required|mimes:jpeg,jpg,bmp,png,pdf'
], [
'required' => trans('validations.required'),
'max' => trans('validations.max', ['number' => 255]),
'mimes' => trans('validations.mimes', ['types' => 'jpeg,jpg,bmp,png']),
]);
$fakeModel = FakeModel::firstOrCreate(['batch_id' => $request->input('batch_id')]);
$media = $fakeModel->addMedia($request->file('file'))->toMediaCollection('temp_medias');
return response()->json(
Responser::success(
'فایل با موفقیت بارگزاری گردید',
null,
['id' => $media->id, 'url' => $media->getUrl()]
)
);
}
}