1 <?php namespace Oxbow\Services;
3 use Illuminate\Support\Facades\Auth;
13 * ActivityService constructor.
16 public function __construct(Activity $activity)
18 $this->activity = $activity;
19 $this->user = Auth::user();
23 * Add activity data to database.
24 * @para Entity $entity
28 public function add(Entity $entity, $activityKey, $bookId = 0, $extra = false)
30 $this->activity->user_id = $this->user->id;
31 $this->activity->book_id = $bookId;
32 $this->activity->key = strtolower($activityKey);
33 if($extra !== false) {
34 $this->activity->extra = $extra;
36 $entity->activity()->save($this->activity);
40 * Adds a activity history with a message & without binding to a entitiy.
43 * @param bool|false $extra
45 public function addMessage($activityKey, $bookId = 0, $extra = false)
47 $this->activity->user_id = $this->user->id;
48 $this->activity->book_id = $bookId;
49 $this->activity->key = strtolower($activityKey);
50 if($extra !== false) {
51 $this->activity->extra = $extra;
53 $this->activity->save();
57 * Gets the latest activity.
61 public function latest($count = 20, $page = 0)
63 return $this->activity->orderBy('created_at', 'desc')
64 ->skip($count*$page)->take($count)->get();