'datetime' ]; protected $fillable = ['profile_id', 'view_count']; protected $visible = ['id']; protected $hidden = ['json']; public function profile() { return $this->belongsTo(Profile::class); } public function views() { return $this->hasMany(StoryView::class); } public function seen($pid = false) { return StoryView::whereStoryId($this->id) ->whereProfileId(Auth::user()->profile->id) ->exists(); } public function permalink() { $username = $this->profile->username; return url("/stories/{$username}/{$this->id}/activity"); } public function url() { $username = $this->profile->username; return url("/stories/{$username}/{$this->id}"); } public function mediaUrl() { return url(Storage::url($this->path)); } public function bearcapUrl() { return Bearcap::encode($this->url(), $this->bearcap_token); } public function scopeToAudience($scope) { $res = []; switch ($scope) { case 'to': $res = [ $this->profile->permalink('/followers') ]; break; default: $res = []; break; } return $res; } }