Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrInvalidPassword = errors.New("invalid password") ErrPasswordLength = fmt.Errorf("password length must be 8 to 128: %w", ErrInvalidPassword) ErrPasswordFormat = fmt.Errorf("password must include at least 2 of the following: lowercase letters, uppercase letters, numbers, and symbols: %w", ErrInvalidPassword) )
Functions ¶
func IsValidPassword ¶
func IsValidPassword(rawPassword RawPassword) error
Types ¶
type LoginInfo ¶
func NewLoginInfo ¶
func NewLoginInfo(rawPassword RawPassword) (LoginInfo, error)
func (LoginInfo) IsCorrectPassword ¶
func (l LoginInfo) IsCorrectPassword(rawPassword RawPassword) bool
type Music ¶
type Music struct {
gormmodel.UUIDModel
OwnerID uuid.UUID `gorm:"index:idx_musics_file_hash,unique" json:"-"`
Owner User `gorm:"foreignKey:OwnerID;" json:"-"`
Name string
SortName *string
AlbumTrackNumber *int64
Artists []Artist `gorm:"many2many:music_artists;"`
Score int64
Duration time.Duration
GenreID *uuid.UUID
Genre *Genre
// ----- cover info -----
IsCover bool
OriginalMusicID *uuid.UUID
// ----- raw data -----
RawMetaData RawMusicMetadata `json:"-"`
// ----- status -----
Status MusicStatus
PlayCount int64
FileHash string `gorm:"index:idx_musics_file_hash,unique"`
}
type MusicStatus ¶
type MusicStatus string
const ( Unknown MusicStatus = "unknown" MetadataParsed MusicStatus = "metadata_parsed" EncodeRetrying MusicStatus = "encode_retrying" AudioEncoding MusicStatus = "audio_encoding" AudioEncodeFinished MusicStatus = "audio_encode_finished" VideoEncoding MusicStatus = "video_encoding" VideoEncoded MusicStatus = "video_encoded" )
type RawMusicMetadata ¶
type RawMusicMetadata struct {
gormmodel.UUIDModel
MusicID uuid.UUID
Title string `json:"title"`
SortTitle string `json:"sort_name"`
Artist string `json:"artist"`
SortArtist string `json:"sort_artist"`
AlbumArtist string `json:"album_artist"`
Composer string `json:"composer"`
Album string `json:"album"`
SortAlbum string `json:"sort_album"`
Genre string `json:"genre"`
TrackNumber int64
TrackTotal int64
DiscNumber int64
DiscTotal int64
Duration time.Duration
CreationDatetime synchro.Time[tz.AsiaTokyo]
TagList []RawMusicMetadataTag
}
type RawMusicMetadataTag ¶
type RawMusicMetadataTag struct {
gormmodel.UUIDModel
RawMusicMetadataID uuid.UUID
Key string
Value string
}
func NewRawMusicMetadataTags ¶
func NewRawMusicMetadataTags(m map[string]any) []RawMusicMetadataTag
type RawPassword ¶
type RawPassword string
Source Files
¶
Click to show internal directories.
Click to hide internal directories.