<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use App\HasSnowflakePrimary;
use App\Services\HashidService;
use App\Profile;
use App\Status;

class GroupPost extends Model
{
    use HasSnowflakePrimary, HasFactory;

	/**
	 * Indicates if the IDs are auto-incrementing.
	 *
	 * @var bool
	 */
	public $incrementing = false;

    protected $fillable = [
        'remote_url',
        'group_id',
        'profile_id',
        'type',
        'caption',
        'visibility',
        'is_nsfw'
    ];

	public function mediaPath()
	{
		return 'public/g/_v1/' . $this->group_id . '/' . $this->id;
	}

	public function group()
	{
		return $this->belongsTo(Group::class);
	}

	public function status()
	{
		return $this->belongsTo(Status::class);
	}

    public function profile()
    {
        return $this->belongsTo(Profile::class);
    }

	public function url()
	{
        return '/groups/' . $this->group_id . '/p/' . $this->id;
	}
}