package models

import "time"

type SaDatasetSource struct {
	ID            uint    `gorm:"primaryKey"`
	Identity      string  `gorm:"type:char(36);uniqueIndex"`
	OwnerID       uint    `gorm:"index;not null;default:0;uniqueIndex:idx_sa_dataset_source_owner_seed,priority:1"`
	OwnerIdentity string  `gorm:"type:char(36);index"`
	SeedKey       *string `gorm:"size:64;uniqueIndex:idx_sa_dataset_source_owner_seed,priority:2"`
	Name          string  `gorm:"size:160;not null"`
	Kind          string  `gorm:"size:32;not null"`
	URL           string  `gorm:"size:2048"`
	IconURL       string  `gorm:"size:2048"`
	Description   string  `gorm:"type:text"`
	Enabled       bool    `gorm:"not null;default:true;index"`
	LastSyncedAt  *time.Time
	CreatedAt     time.Time
	UpdatedAt     time.Time
}

func (SaDatasetSource) TableName() string {
	return "sa_dataset_sources"
}
