mirror of
https://git.fightbot.fun/hxuanyu/BingPaper.git
synced 2026-02-15 07:19:33 +08:00
48 lines
2.0 KiB
Go
48 lines
2.0 KiB
Go
package model
|
|
|
|
import (
|
|
"time"
|
|
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
type ImageRegion struct {
|
|
ID uint `gorm:"primaryKey" json:"id"`
|
|
Date string `gorm:"uniqueIndex:idx_date_mkt;index:idx_mkt_date,priority:2;type:varchar(10)" json:"date"` // YYYY-MM-DD
|
|
Mkt string `gorm:"uniqueIndex:idx_date_mkt;index:idx_mkt_date,priority:1;type:varchar(10)" json:"mkt"` // zh-CN, en-US etc.
|
|
HSH string `gorm:"type:varchar(64)" json:"hsh"`
|
|
URLBase string `json:"urlbase"`
|
|
ImageName string `gorm:"index" json:"image_name"`
|
|
Title string `json:"title"`
|
|
Copyright string `json:"copyright"`
|
|
CopyrightLink string `json:"copyrightlink"`
|
|
Quiz string `json:"quiz"`
|
|
StartDate string `json:"startdate"`
|
|
FullStartDate string `json:"fullstartdate"`
|
|
CreatedAt time.Time `json:"created_at"`
|
|
UpdatedAt time.Time `json:"updated_at"`
|
|
DeletedAt gorm.DeletedAt `gorm:"index" json:"-"`
|
|
Variants []ImageVariant `gorm:"foreignKey:ImageName;references:ImageName" json:"variants"`
|
|
}
|
|
|
|
type ImageVariant struct {
|
|
ID uint `gorm:"primaryKey" json:"id"`
|
|
ImageName string `gorm:"uniqueIndex:idx_name_variant_format;type:varchar(100)" json:"image_name"`
|
|
Variant string `gorm:"uniqueIndex:idx_name_variant_format;type:varchar(20)" json:"variant"` // UHD, 1920x1080, etc.
|
|
Format string `gorm:"uniqueIndex:idx_name_variant_format;type:varchar(10)" json:"format"` // jpg, webp
|
|
StorageKey string `json:"storage_key"`
|
|
PublicURL string `json:"public_url"`
|
|
Size int64 `json:"size"`
|
|
CreatedAt time.Time `json:"created_at"`
|
|
}
|
|
|
|
type Token struct {
|
|
ID uint `gorm:"primaryKey" json:"id"`
|
|
Token string `gorm:"uniqueIndex;type:varchar(64)" json:"token"`
|
|
Name string `json:"name"`
|
|
ExpiresAt time.Time `json:"expires_at"`
|
|
Disabled bool `gorm:"default:false" json:"disabled"`
|
|
CreatedAt time.Time `json:"created_at"`
|
|
UpdatedAt time.Time `json:"updated_at"`
|
|
}
|