<?php

namespace App\Models;

use App\Models\Concerns\BelongsToOwner;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Support\Facades\Storage;

class PatientAttachment extends Model
{
    use BelongsToOwner;

    protected $table = 'care_patient_attachments';

    protected $fillable = [
        'owner_ref', 'patient_id', 'file_path', 'original_name',
        'mime_type', 'document_type', 'uploaded_by',
    ];

    public function patient(): BelongsTo
    {
        return $this->belongsTo(Patient::class, 'patient_id');
    }

    public function url(): ?string
    {
        return $this->file_path && Storage::disk('public')->exists($this->file_path)
            ? Storage::disk('public')->url($this->file_path)
            : null;
    }
}
