package userbehavior

import (
	"github.com/tidbcloud/devops/models/base"
)

type LarkChatType string

const (
	LarkChatTypeCN       LarkChatType = "cn"
	LarkChatTypeGlobal   LarkChatType = "global"
	LarkChatTypeExternal LarkChatType = "external"
)

type LarkChat struct {
	base.Updatable

	LarkChatType    LarkChatType `gorm:"type:VARCHAR(255)"`
	LarkChatID      *string      `gorm:"type:VARCHAR(255);uniqueIndex;"` // use LarkChatID when LarkChatType in (LarkChatTypeCN, LarkChatTypeGlobal)
	LarkChatUrl     *string      `gorm:"type:VARCHAR(255)"`              // use LarkChatUrl when LarkChatType == LarkChatTypeExternal.
	LarkChatName    *string      `gorm:"type:VARCHAR(255)"`
	LarkChatIconUrl *string      `gorm:"type:VARCHAR(255)"`
	Available       bool         `gorm:"default:false"`
}

func (LarkChat) TableName() string {
	return "userbehavior_larkchats"
}
