package model

import (
	"time"

	"gorm.io/gorm"
)

// ShopRole 店铺-角色关联模型
type ShopRole struct {
	ID        uint           `gorm:"column:id;primarykey;comment:主键ID" json:"id"`
	ShopID    uint           `gorm:"column:shop_id;not null;index;uniqueIndex:uq_shop_role_shop_id_role_id,where:deleted_at IS NULL;comment:店铺ID" json:"shop_id"`
	RoleID    uint           `gorm:"column:role_id;not null;index;uniqueIndex:uq_shop_role_shop_id_role_id,where:deleted_at IS NULL;comment:角色ID" json:"role_id"`
	Status    int            `gorm:"column:status;not null;default:1;comment:状态 0=禁用 1=启用" json:"status"`
	Creator   uint           `gorm:"column:creator;not null;comment:创建人ID" json:"creator"`
	Updater   uint           `gorm:"column:updater;not null;comment:更新人ID" json:"updater"`
	CreatedAt time.Time      `gorm:"column:created_at;not null;comment:创建时间" json:"created_at"`
	UpdatedAt time.Time      `gorm:"column:updated_at;not null;comment:更新时间" json:"updated_at"`
	DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;index;comment:删除时间" json:"deleted_at,omitempty"`
}

func (ShopRole) TableName() string {
	return "tb_shop_role"
}
