<?php

namespace App\Models\User;

use App\Traits\UuidTrait;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class PublikasiJurnal extends Model
{
    use HasFactory;
    use UuidTrait;
    public $incrementing = false;
    protected $table = 'publikasijurnal';
    protected $keyType = 'string';

    protected $fillable = ['judul', 'nama_jurnal', 'nomor', 'issn', 'volume', 'halaman', 'url', 'userid_created', 'user_id_updated'];

    public const RULES = [
        'judul' => 'required',
        'nama_jurnal' => 'required',
        'nomor' => 'required',
        'issn' => 'required',
        'volume' => 'required',
        'halaman1' => 'required',
        'halaman2' => 'required',
        'url' => 'required'
    ];

    public const ERROR_MESSAGES = [
        'judul.required' => 'judul tidak boleh kosong',
        'nama_jurnal.required' => 'nama jurnal tidak boleh kosong',
        'nomor.required' => 'nomor tidak boleh kosong',
        'issn.required' => 'issn tidak boleh kosong',
        'volume.required' => 'volume tidak boleh kosong',
        'halaman1.required' => 'halaman tidak boleh kosong',
        'halaman2.required' => 'halaman tidak boleh kosong',
        'url.required' => 'url tidak boleh kosong'
    ];

    public function anggota()
    {
        return $this->hasMany(PublikasiJurnalAnggota::class, 'publikasijurnal_id', 'id');
    }
}