<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany;

class Folder extends Model
{
    // আপনার SQL অনুযায়ী টেবিলের কলামগুলো
    protected $fillable = ['company_id', 'parent_id', 'name', 'type'];

    // টাইমস্ট্যাম্প যদি SQL-এ না থাকে তবে এটি false করে দিন
    public $timestamps = false;

    /**
     * কোন কোম্পানির আন্ডারে এই ফোল্ডার
     */
    public function company(): BelongsTo
    {
        return $this->belongsTo(Company::class, 'company_id');
    }

    /**
     * এই ফোল্ডারের ভেতরে থাকা সাব-ফোল্ডার
     */
    public function children(): HasMany
    {
        return $this->hasMany(Folder::class, 'parent_id');
    }

    /**
     * এই ফোল্ডারের প্যারেন্ট ফোল্ডার (যদি থাকে)
     */
    public function parent(): BelongsTo
    {
        return $this->belongsTo(Folder::class, 'parent_id');
    }

    /**
     * এই ফোল্ডারের ভেতরে থাকা সব ডকুমেন্ট
     */
    public function documents(): HasMany
    {
        return $this->hasMany(Document::class, 'folder_id');
    }
}