json support for store

This commit is contained in:
2024-04-23 01:53:06 +10:00
parent a1d966327f
commit b60e368cb9

View File

@@ -137,8 +137,15 @@ class MediaController extends Controller
]);
if ($validator->fails()) {
if($request->wantsJson()) {
return response()->json([
'message' => 'The given data was invalid.',
'errors' => $validator->errors(),
], 422);
} else {
return redirect()->back()->withErrors($validator)->withInput();
}
}
$file = $request->file('file');
@@ -159,12 +166,18 @@ class MediaController extends Controller
$storage = Storage::disk('media');
if(!$storage->exists($hash)) {
if($file->storeAs('/', $hash, 'media') === false) {
if($request->wantsJson()) {
return response()->json([
'message' => 'A server error occurred uploading the file.',
], 500);
} else {
session()->flash('message', 'A server error occurred uploading the file.');
session()->flash('message-title', 'Upload failed');
session()->flash('message-type', 'danger');
return redirect()->back();
}
}
}
$media = Media::Create([
'title' => $request->get('title', $name),
@@ -178,11 +191,20 @@ class MediaController extends Controller
$media->generateVariants(false);
unlink($file);
if($request->wantsJson()) {
return response()->json([
'message' => 'File has been uploaded',
'name' => $media->name,
'size' => $media->size,
'mime_type' => $media->mime_type
]);
} else {
session()->flash('message', 'Media has been uploaded');
session()->flash('message-title', 'Media uploaded');
session()->flash('message-type', 'success');
return redirect()->route('admin.media.index');
}
}
/**
* Show the form for editing the specified resource.