LikeObserver.php 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. <?php
  2. namespace App\Observers;
  3. use App\Like;
  4. use App\Services\LikeService;
  5. class LikeObserver
  6. {
  7. /**
  8. * Handle events after all transactions are committed.
  9. *
  10. * @var bool
  11. */
  12. public $afterCommit = true;
  13. /**
  14. * Handle the Like "created" event.
  15. *
  16. * @param \App\Models\Like $like
  17. * @return void
  18. */
  19. public function created(Like $like)
  20. {
  21. LikeService::add($like->profile_id, $like->status_id);
  22. }
  23. /**
  24. * Handle the Like "updated" event.
  25. *
  26. * @param \App\Models\Like $like
  27. * @return void
  28. */
  29. public function updated(Like $like)
  30. {
  31. //
  32. }
  33. /**
  34. * Handle the Like "deleted" event.
  35. *
  36. * @param \App\Models\Like $like
  37. * @return void
  38. */
  39. public function deleted(Like $like)
  40. {
  41. LikeService::remove($like->profile_id, $like->status_id);
  42. }
  43. /**
  44. * Handle the Like "restored" event.
  45. *
  46. * @param \App\Models\Like $like
  47. * @return void
  48. */
  49. public function restored(Like $like)
  50. {
  51. LikeService::add($like->profile_id, $like->status_id);
  52. }
  53. /**
  54. * Handle the Like "force deleted" event.
  55. *
  56. * @param \App\Models\Like $like
  57. * @return void
  58. */
  59. public function forceDeleted(Like $like)
  60. {
  61. LikeService::remove($like->profile_id, $like->status_id);
  62. }
  63. }