package models

import "time"

type ProductAttribute struct {
	ID             uint      `gorm:"primaryKey;column:id" json:"id"`
	ProductID      uint      `gorm:"column:productId;not null" json:"productId"`
	AttributeName  string    `gorm:"column:attributeName;size:150;not null" json:"attributeName"`
	AttributeValue string    `gorm:"column:attributeValue;type:text" json:"attributeValue"`
	DisplayOrder   int       `gorm:"column:displayOrder;default:0" json:"displayOrder"`
	IsActive       bool      `gorm:"column:isActive;default:true" json:"isActive"`
	IsDelete       bool      `gorm:"column:isDelete;default:false" json:"isDelete"`
	CreatedBy      *uint     `gorm:"column:createdBy" json:"createdBy,omitempty"`
	ModifiedBy     *uint     `gorm:"column:modifiedBy" json:"modifiedBy,omitempty"`
	CreatedAt      time.Time `gorm:"column:created_at;autoCreateTime" json:"createdAt"`
	UpdatedAt      time.Time `gorm:"column:updated_at;autoUpdateTime" json:"updatedAt"`
}

func (ProductAttribute) TableName() string {
	return "product_attributes"
}