package model import "time" type Asset struct { ID uint `json:"id" gorm:"primaryKey;index:idx_assets_user_status_id,priority:3"` UserID uint `json:"user_id" gorm:"not null;index:idx_assets_user_status_category,priority:1;index:idx_assets_user_status_id,priority:1"` Name string `json:"name" gorm:"size:128;not null"` CategoryID uint `json:"category_id" gorm:"not null;index:idx_assets_user_status_category,priority:3"` Category Category `json:"-"` Quantity float64 `json:"quantity" gorm:"not null"` UnitPrice float64 `json:"unit_price" gorm:"not null"` TotalValue float64 `json:"total_value" gorm:"not null;index"` Currency string `json:"currency" gorm:"size:16;not null"` ExpiryDate *time.Time `json:"expiry_date,omitempty" gorm:"index"` Note string `json:"note" gorm:"type:text"` Status string `json:"status" gorm:"size:16;not null;default:active;check:status IN ('active','inactive');index:idx_assets_user_status_category,priority:2;index:idx_assets_user_status_id,priority:2"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` }