<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Database\Eloquent\Prunable;
use Illuminate\Database\Eloquent\Builder;

class WeightValidation extends Model
{
    use SoftDeletes;

    use Prunable;

    protected $fillable = [
        'plant_id',
        'item_id',
        'obd_number',
        'line_number',
        'batch_number',
        'heat_number',
        'obd_weight',
        'vehicle_number',
        'bundle_number',
        'picked_weight',
        'scanned_by',
    ];

    public function plant(): BelongsTo
    {
        return $this->belongsTo(Plant::class);
    }

    public function item(): BelongsTo
    {
        return $this->belongsTo(Item::class);
    }

    public function prunable(): Builder
    {
        $startOfTwoMonthsAgo = now()->subMonthsNoOverflow(3)->startOfMonth();
        $endOfPrevMonth = now()->subMonthNoOverflow()->endOfMonth();

        return static::whereBetween('created_at', [$startOfTwoMonthsAgo, $endOfPrevMonth]);
    }
}
