Update Story model

This commit is contained in:
Daniel Supernault 2021-08-31 00:41:43 -06:00
parent 2593cdeed9
commit e1a3e26644
No known key found for this signature in database
GPG key ID: 0DEF1C662C9033F7

View file

@ -3,6 +3,7 @@
namespace App;
use Auth;
use Storage;
use Illuminate\Database\Eloquent\Model;
use Pixelfed\Snowflake\HasSnowflakePrimary;
@ -19,14 +20,11 @@ class Story extends Model
*/
public $incrementing = false;
/**
* The attributes that should be mutated to dates.
*
* @var array
*/
protected $dates = ['published_at', 'expires_at'];
protected $casts = [
'expires_at' => 'immutable_datetime'
];
protected $fillable = ['profile_id'];
protected $fillable = ['profile_id', 'view_count'];
protected $visible = ['id'];
@ -51,6 +49,42 @@ class Story extends Model
public function permalink()
{
return url("/story/$this->id");
$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 "bear:?t={$this->bearcap_token}&u={$this->url()}";
}
public function scopeToAudience($scope)
{
$res = [];
switch ($scope) {
case 'to':
$res = [
$this->profile->permalink('/followers')
];
break;
default:
$res = [];
break;
}
return $res;
}
}