<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class SemnaturaCatalog extends Model
{
    protected $table = 'semnaturi_catalog';

    protected $fillable = [
        'user_id',
        'clasa_id',
        'perioada_id',
        'materie_id',
        'tip',
        'ip_address',
        'detalii',
        'semnat_la',
    ];

    protected $casts = [
        'semnat_la' => 'datetime',
    ];

    public function user()
    {
        return $this->belongsTo(User::class);
    }

    public function clasa()
    {
        return $this->belongsTo(Clasa::class);
    }

    public function perioada()
    {
        return $this->belongsTo(Perioada::class);
    }

    public function materie()
    {
        return $this->belongsTo(Materie::class);
    }

    public function getTipLabelAttribute(): string
    {
        return match ($this->tip) {
            'incheiere_medie' => 'Încheierea mediei',
            'incheiere_situatie' => 'Încheierea situației',
            'catalog_final' => 'Catalog final',
            default => $this->tip,
        };
    }
}
