model

package
v0.0.0-...-5b2cea3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 4, 2023 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AutoMigrate

func AutoMigrate(db *gorm.DB) error

Types

type FavoriteAlbum

type FavoriteAlbum struct {
	gorm.Model
	UserID  uint `gorm:"uniqueIndex:favorite_album_index"`
	User    User
	AlbumID string `gorm:"uniqueIndex:favorite_album_index"`
}

type FavoriteMusic

type FavoriteMusic struct {
	gorm.Model
	UserID  uint `gorm:"uniqueIndex:favorite_music_index"`
	User    User
	AlbumID string `gorm:"uniqueIndex:favorite_music_index"`
	DiscID  uint   `gorm:"uniqueIndex:favorite_music_index"`
	TrackID uint   `gorm:"uniqueIndex:favorite_music_index"`
}

type FavoritePlaylist

type FavoritePlaylist struct {
	gorm.Model
	UserID     uint `gorm:"uniqueIndex:favorite_playlist_index"`
	User       User
	PlaylistID uint `gorm:"uniqueIndex:favorite_playlist_index"`
	Playlist   Playlist
}

type Lyric

type Lyric struct {
	gorm.Model
	AlbumID  string `gorm:"uniqueIndex:lyric_index"`
	DiscID   int    `gorm:"uniqueIndex:lyric_index"`
	TrackID  int    `gorm:"uniqueIndex:lyric_index"`
	Language string `gorm:"uniqueIndex:lyric_index"`
	Type     string `gorm:"check:type='text' OR type='lrc'"`
	Data     string
	UserID   uint
	User     User
	// Is track original language
	Source bool
	// Lyric source
	LyricSource string
}

func (*Lyric) BeforeCreate

func (l *Lyric) BeforeCreate(tx *gorm.DB) error

type PlayRecord

type PlayRecord struct {
	gorm.Model
	UserID uint
	User   User
	Track  meta.TrackIdentifier `gorm:"column:track;type:text"`
	At     time.Time
}

type Playlist

type Playlist struct {
	gorm.Model
	Name         string
	Description  string
	UserID       uint `gorm:"index"`
	User         User
	IsPublic     bool
	CoverAlbumID string
	CoverDiscID  uint
}

type PlaylistSong

type PlaylistSong struct {
	gorm.Model
	PlaylistID  uint
	Playlist    Playlist
	AlbumID     string
	DiscID      uint
	TrackID     uint
	Description string
	Type        string         `gorm:"check:type='normal' OR type='dummy' OR type='album'"`
	TrackInfo   meta.TrackInfo `gorm:"embedded;embeddedPrefix:track_info_"`
	Order       uint
}

type Session

type Session struct {
	gorm.Model
	UserID       uint
	User         User
	SessionID    string `gorm:"uniqueIndex"`
	UserAgent    string
	LastAccessed time.Time
	IP           string
}

type Share

type Share struct {
	gorm.Model
	UserID     uint
	User       User
	Info       []byte
	TokenGrant []byte
	ShareID    string `gorm:"uniqueIndex"`
}

type Token

type Token struct {
	gorm.Model
	TokenID    string `gorm:"uniqueIndex"`
	Name       string
	URL        string
	Token      string
	Priority   int
	UserID     uint `gorm:"index"`
	User       User
	Controlled bool
}

type User

type User struct {
	gorm.Model
	Password  string
	Email     string `gorm:"uniqueIndex"`
	Nickname  string
	Avatar    string
	Enable2FA bool
	Secret    string
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL