IdeaController.php 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <?php
  2. namespace App\Http\Controllers;
  3. use Illuminate\Http\Request;
  4. use App\Models\Idea;
  5. class IdeaController extends Controller
  6. {
  7. public function show(Idea $idea)
  8. {
  9. return view('ideas.show',compact('idea'));
  10. }
  11. public function edit(Idea $idea)
  12. {
  13. if(auth()->user()->id != $idea->user_id)
  14. {
  15. abort(404);
  16. }
  17. $editing = true;
  18. return view('ideas.show',compact('idea', 'editing'));
  19. }
  20. public function update(Idea $idea)
  21. {
  22. if(auth()->user()->id != $idea->user_id)
  23. {
  24. abort(404);
  25. }
  26. request()->validate(
  27. [
  28. 'content' => 'required|min:5|max:240'
  29. ]
  30. );
  31. $idea->content = request()->get('content');
  32. $idea->save();
  33. return redirect()->route('ideas.show',$idea->id)->with("success", "Idea updated successfully.");
  34. }
  35. public function store()
  36. {
  37. $validated = request()->validate(
  38. [
  39. 'content' => 'required|min:5|max:240'
  40. ]
  41. );
  42. $validated['user_id'] = auth()->user()->id;
  43. $idea = Idea::create($validated);
  44. return redirect(route('ideas.index'))->with("success", "Your Idea was created successfully");
  45. }
  46. public function destroy(Idea $idea)
  47. {
  48. if(auth()->user()->id != $idea->user_id)
  49. {
  50. abort(404);
  51. }
  52. $idea->delete();
  53. return redirect(route('ideas.index'))->with("success", "Your Idea was deleted successfully");
  54. }
  55. }