<?php

namespace App\Models\Interview;

use App\Models\User;
use App\Traits\BelongsToTenant;
use App\Traits\ModelTrait;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;

class InterviewProject extends Model
{
    use BelongsToTenant, ModelTrait, SoftDeletes;

    protected $fillable = [
        'tenant_id',
        'company_name',
        'company_type',
        'contact_person',
        'contact_info',
        'status',
        'target_tenant_id',
        'product_categories',
        'summary',
        'progress_percent',
        'created_by',
        'updated_by',
        'deleted_by',
    ];

    protected $casts = [
        'product_categories' => 'array',
        'progress_percent' => 'integer',
    ];

    public function categories()
    {
        return $this->hasMany(InterviewCategory::class, 'interview_project_id');
    }

    public function attachments()
    {
        return $this->hasMany(InterviewAttachment::class, 'interview_project_id');
    }

    public function knowledge()
    {
        return $this->hasMany(InterviewKnowledge::class, 'interview_project_id');
    }

    public function sessions()
    {
        return $this->hasMany(InterviewSession::class, 'interview_project_id');
    }

    public function creator()
    {
        return $this->belongsTo(User::class, 'created_by');
    }
}
