package entities

import (
	"time"
)

type FarmDepreciationSnapshot struct {
	Id                           uint      `gorm:"primaryKey"`
	ProjectFlockId               uint      `gorm:"not null;uniqueIndex:idx_farm_depreciation_snapshots_unique,priority:1"`
	PeriodDate                   time.Time `gorm:"type:date;not null;uniqueIndex:idx_farm_depreciation_snapshots_unique,priority:2"`
	DepreciationPercentEffective float64   `gorm:"type:numeric(15,6);not null;default:0"`
	DepreciationValue            float64   `gorm:"type:numeric(18,3);not null;default:0"`
	PulletCostDayNTotal          float64   `gorm:"type:numeric(18,3);not null;default:0"`
	Components                   []byte    `gorm:"type:jsonb;default:'{}'::jsonb"`
	CreatedAt                    time.Time `gorm:"autoCreateTime"`
	UpdatedAt                    time.Time `gorm:"autoUpdateTime"`
}

func (FarmDepreciationSnapshot) TableName() string {
	return "farm_depreciation_snapshots"
}
