package userbehavior

import (
	"time"
)

type GTMLead struct {
	ID                  uint64     `gorm:"primarykey"`
	TenantID            uint64     `gorm:"not null;uniqueIndex:idx_gtm_lead_tenant"`
	Email               string     `gorm:"size:255;not null;index:idx_gtm_lead_email"`
	EmailDomain         string     `gorm:"size:255;not null;index:idx_gtm_lead_domain"`
	ContactName         *string    `gorm:"size:255"`
	ContactFirstName    *string    `gorm:"size:255"`
	CompanyName         *string    `gorm:"size:255"`
	Headquarter         *string    `gorm:"size:255"`
	Vertical            *string    `gorm:"size:100"`
	BusinessModel       *string    `gorm:"size:100"`
	AnnualRevenue       *string    `gorm:"size:100"`
	FundingSeries       *string    `gorm:"size:100"`
	RawEnrichment       string     `gorm:"type:text;not null"`
	IsQualified         bool       `gorm:"not null;default:false"`
	QualificationReason *string    `gorm:"type:text"`
	MatchedUseCase      *string    `gorm:"size:100"`
	UseCaseMatchReason  *string    `gorm:"type:text"`
	CreatedAt           time.Time  `gorm:"created_at;type:TIMESTAMP;not null;<-:create"`
	UpdatedAt           *time.Time `gorm:"updated_at;type:TIMESTAMP"`
}

func (GTMLead) TableName() string {
	return "gtm_leads"
}
