package entity

import "dataservices/commons/utils"

const (
	TableCustomDomain = "custom_domain"
)

type CustomDomain struct {
	ID                uint64         `dynamodbav:"id" gorm:"column:id" json:"id"`
	DataappId         uint64         `dynamodbav:"dataapp_id" gorm:"dataapp_id" json:"dataapp_id"`
	ExternalAppID     string         `dynamodbav:"external_app_id" gorm:"column:external_app_id" json:"external_app_id"`
	CustomDomainName  string         `dynamodbav:"custom_domain_name" gorm:"custom_domain_name" json:"custom_domain_name"`
	CustomPath        string         `dynamodbav:"custom_path" gorm:"custom_path" json:"custom_path"`
	DefaultDomainName string         `dynamodbav:"default_domain_name" gorm:"default_domain_name" json:"default_domain_name"`
	Expired           bool           `dynamodbav:"expired" gorm:"expired" json:"expired"`
	CreatedBy         string         `dynamodbav:"-" gorm:"column:created_by" json:"created_by"`
	UpdatedBy         string         `dynamodbav:"-" gorm:"column:updated_by" json:"updated_by"`
	CreatedAt         utils.JsonTime `dynamodbav:"-" gorm:"column:created_at" json:"created_at"`
	UpdatedAt         utils.JsonTime `dynamodbav:"-" gorm:"column:updated_at" json:"updated_at"`
	// Additional not persisted status
	State  string `dynamodbav:"-" gorm:"-" json:"state"`
	Reason string `dynamodbav:"-" gorm:"-" json:"reason"`
}
