SystemMediaController.php 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <?php
  2. namespace App\Http\Controllers\Admin;
  3. use App\Filters\SystemMediaFilter;
  4. use App\Http\Requests\SystemMediaRequest;
  5. use App\Http\Resources\SystemMediaResource;
  6. use App\Models\SystemMedia;
  7. use Illuminate\Http\Request;
  8. class SystemMediaController extends AdminBaseController
  9. {
  10. public function destroy(SystemMedia $systemMedia)
  11. {
  12. $systemMedia->delete();
  13. return $this->noContent();
  14. }
  15. public function edit(SystemMedia $systemMedia)
  16. {
  17. return $this->ok(SystemMediaResource::make($systemMedia));
  18. }
  19. public function update(SystemMediaRequest $request, SystemMedia $systemMedia)
  20. {
  21. $inputs = $request->validated();
  22. $systemMedia->update($inputs);
  23. return $this->created($systemMedia);
  24. }
  25. public function index(SystemMediaFilter $filter)
  26. {
  27. $media = SystemMedia::query()
  28. ->filter($filter)
  29. ->orderByDesc('id')
  30. ->paginate();
  31. return $this->ok(SystemMediaResource::collection($media));
  32. }
  33. public function batchUpdate(SystemMediaRequest $request)
  34. {
  35. $inputs = $request->validated();
  36. SystemMedia::query()
  37. ->whereIn('id', $request->input('id', []))
  38. ->update($inputs);
  39. return $this->created();
  40. }
  41. public function batchDestroy(Request $request)
  42. {
  43. SystemMedia::query()
  44. ->whereIn('id', $request->input('id', []))
  45. ->get()
  46. ->each
  47. ->delete();
  48. return $this->noContent();
  49. }
  50. }