asimryu

ItemController.php

May 12th, 2021
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.71 KB | None | 0 0
  1. <?php
  2.  
  3. namespace App\Http\Controllers;
  4.  
  5. use Illuminate\Http\Request;
  6. use App\Models\Item;
  7. use Illuminate\Support\Carbon;
  8. use Illuminate\Support\Facades\Storage;
  9.  
  10. class ItemController extends Controller
  11. {
  12. /**
  13. * Display a listing of the resource.
  14. *
  15. * @return \Illuminate\Http\Response
  16. */
  17. public function index()
  18. {
  19. return Item::orderBy('created_at', 'DESC')->get();
  20. }
  21.  
  22. /**
  23. * Show the form for creating a new resource.
  24. *
  25. * @return \Illuminate\Http\Response
  26. */
  27. public function create()
  28. {
  29. //
  30. }
  31.  
  32. /**
  33. * Store a newly created resource in storage.
  34. *
  35. * @param \Illuminate\Http\Request $request
  36. * @return \Illuminate\Http\Response
  37. */
  38. public function store(Request $request)
  39. {
  40. $newItem = new Item;
  41. $newItem->name = $request->item["name"];
  42.  
  43. $base64img = $request->item["image"];
  44. $ext = explode('/', mime_content_type($base64img))[1];
  45. $filename = uniqid(rand(), true) . '.' . $ext;
  46. $src = explode(',', $base64img);
  47. $img = base64_decode($src[1]);
  48. Storage::disk('public')->put($filename, $img);
  49. if (Storage::disk('public')->exists($filename)) {
  50. $newItem->image = Storage::url($filename);
  51. }
  52. $newItem->save();
  53. return $newItem;
  54. }
  55.  
  56. /**
  57. * Display the specified resource.
  58. *
  59. * @param int $id
  60. * @return \Illuminate\Http\Response
  61. */
  62. public function show($id)
  63. {
  64. //
  65. }
  66.  
  67. /**
  68. * Show the form for editing the specified resource.
  69. *
  70. * @param int $id
  71. * @return \Illuminate\Http\Response
  72. */
  73. public function edit($id)
  74. {
  75. //
  76. }
  77.  
  78. /**
  79. * Update the specified resource in storage.
  80. *
  81. * @param \Illuminate\Http\Request $request
  82. * @param int $id
  83. * @return \Illuminate\Http\Response
  84. */
  85. public function update(Request $request, $id)
  86. {
  87. $item = Item::find( $id );
  88. if( $item ) {
  89. $item->completed = $request->item['completed'] ? true : false;
  90. $item->completed_at = $request->item['completed'] ? Carbon::now() : null;
  91. $item->save();
  92. return $item;
  93. }
  94. return "Item not found";
  95. }
  96.  
  97. /**
  98. * Remove the specified resource from storage.
  99. *
  100. * @param int $id
  101. * @return \Illuminate\Http\Response
  102. */
  103. public function destroy($id)
  104. {
  105. $item = Item::find( $id );
  106. if( $item ) {
  107. $item->delete();
  108. return "Item successfully deleted.";
  109. }
  110. return "Item not found";
  111. }
  112. }
  113.  
Add Comment
Please, Sign In to add comment