<?php

namespace App\Models\User;

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

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

    protected $fillable = ['nidn', 'judul', 'status', 'nama_forum', 'institusi', 'waktu_pelaksanaan_awal', 'waktu_pelaksanaan_akhir', 'tempat', 'jenis', 'userid_created', 'user_id_updated'];

    public const RULES = [
        'nidn' => 'required',
        'judul' => 'required',
        'status' => 'required',
        'nama_forum' => 'required',
        'waktu_pelaksanaan_awal' => 'required',
        'waktu_pelaksanaan_akhir' => 'required',
        'tempat' => 'required',
        'jenis' => 'required',
        'institusi' => 'required'
    ];

    public const ERROR_MESSAGES = [
        'nidn.required' => 'nidn tidak boleh kosong',
        'judul.required' => 'judul tidak boleh kosong',
        'status.required' => 'status tidak boleh kosong',
        'nama_forum.required' => 'nama forum tidak boleh kosong',
        'waktu_pelaksanaan_awal.required' => 'waktu pelaksanaan awal tidak boleh kosong',
        'waktu_pelaksanaan_akhir.required' => 'waktu pelaksanaan akhir tidak boleh kosong',
        'tempat.required' => 'tempat tidak boleh kosong',
        'jenis.required' => 'jenis tidak boleh kosong',
        'institusi.required' => 'institusi tidak boleh kosong'
    ];

    public function biodata()
    {
        return $this->belongsTo(Biodata::class, 'nidn', 'nidn');
    }
}
