BookmarkController.php 911 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?php
  2. namespace App\Http\Controllers;
  3. use Auth;
  4. use App\{Bookmark, Profile, Status};
  5. use Illuminate\Http\Request;
  6. class BookmarkController extends Controller
  7. {
  8. public function __construct()
  9. {
  10. $this->middleware('auth');
  11. }
  12. public function store(Request $request)
  13. {
  14. $this->validate($request, [
  15. 'item' => 'required|integer|min:1'
  16. ]);
  17. $profile = Auth::user()->profile;
  18. $status = Status::findOrFail($request->input('item'));
  19. $bookmark = Bookmark::firstOrCreate(
  20. ['status_id' => $status->id], ['profile_id' => $profile->id]
  21. );
  22. if(!$bookmark->wasRecentlyCreated) {
  23. $bookmark->delete();
  24. }
  25. if($request->ajax()) {
  26. $response = ['code' => 200, 'msg' => 'Bookmark saved!'];
  27. } else {
  28. $response = redirect()->back();
  29. }
  30. return $response;
  31. }
  32. }