package application

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

type ApplicationToOwner struct {
	Application string `gorm:"type:VARCHAR(255);not null;uniqueIndex:idx_application_owner"`
	Owner       string `gorm:"type:VARCHAR(255);not null;uniqueIndex:idx_application_owner"`
}

func (ApplicationToOwner) TableName() string {
	return "application_application_to_owner"
}

type Application struct {
	base.Updatable

	Name        string `gorm:"type:VARCHAR(255);not null;uniqueIndex"`
	Description string `gorm:"type:VARCHAR(1024)"`

	Owners []*ApplicationToOwner `gorm:"foreignKey:Application;references:Name"`
}

func (Application) TableName() string {
	return "application_applications"
}
