package entities

import (
	"time"

	"gorm.io/gorm"
)

type Nonstock struct {
	Id        uint           `gorm:"primaryKey"`
	Name      string         `gorm:"type:varchar(50);not null;uniqueIndex:nonstocks_name_unique,where:deleted_at IS NULL"`
	UomId     uint           `gorm:"not null"`
	CreatedBy uint           `gorm:"not null"`
	CreatedAt time.Time      `gorm:"autoCreateTime"`
	UpdatedAt time.Time      `gorm:"autoUpdateTime"`
	DeletedAt gorm.DeletedAt `gorm:"index" json:"-"`

	CreatedUser       User               `gorm:"foreignKey:CreatedBy;references:Id"`
	Uom               Uom                `gorm:"foreignKey:UomId;references:Id"`
	NonstockSuppliers []NonstockSupplier `gorm:"foreignKey:NonstockId;references:Id"`
	Flags             []Flag             `gorm:"polymorphic:Flagable;polymorphicValue:nonstocks"`
}
