mirror of https://github.com/gabehf/Koito.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
159 lines
2.6 KiB
159 lines
2.6 KiB
package db
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/gabehf/koito/internal/models"
|
|
"github.com/google/uuid"
|
|
)
|
|
|
|
type GetAlbumOpts struct {
|
|
ID int32
|
|
MusicBrainzID uuid.UUID
|
|
ArtistID int32
|
|
Title string
|
|
Titles []string
|
|
Image uuid.UUID
|
|
}
|
|
|
|
type GetArtistOpts struct {
|
|
ID int32
|
|
MusicBrainzID uuid.UUID
|
|
Name string
|
|
Image uuid.UUID
|
|
}
|
|
|
|
type GetTrackOpts struct {
|
|
ID int32
|
|
MusicBrainzID uuid.UUID
|
|
Title string
|
|
ArtistIDs []int32
|
|
}
|
|
|
|
type SaveTrackOpts struct {
|
|
Title string
|
|
AlbumID int32
|
|
ArtistIDs []int32
|
|
RecordingMbzID uuid.UUID
|
|
Duration int32
|
|
}
|
|
|
|
type SaveAlbumOpts struct {
|
|
Title string
|
|
MusicBrainzID uuid.UUID
|
|
Type string
|
|
ArtistIDs []int32
|
|
VariousArtists bool
|
|
Image uuid.UUID
|
|
ImageSrc string
|
|
Aliases []string
|
|
}
|
|
|
|
type SaveArtistOpts struct {
|
|
Name string
|
|
MusicBrainzID uuid.UUID
|
|
Aliases []string
|
|
Image uuid.UUID
|
|
ImageSrc string
|
|
}
|
|
|
|
type UpdateApiKeyLabelOpts struct {
|
|
UserID int32
|
|
ID int32
|
|
Label string
|
|
}
|
|
|
|
type SaveUserOpts struct {
|
|
Username string
|
|
Password string
|
|
Role models.UserRole
|
|
}
|
|
|
|
type SaveApiKeyOpts struct {
|
|
Key string
|
|
UserID int32
|
|
Label string
|
|
}
|
|
|
|
type SaveListenOpts struct {
|
|
TrackID int32
|
|
Time time.Time
|
|
UserID int32
|
|
Client string
|
|
}
|
|
|
|
type UpdateTrackOpts struct {
|
|
ID int32
|
|
MusicBrainzID uuid.UUID
|
|
Duration int32
|
|
}
|
|
|
|
type UpdateArtistOpts struct {
|
|
ID int32
|
|
MusicBrainzID uuid.UUID
|
|
Image uuid.UUID
|
|
ImageSrc string
|
|
}
|
|
|
|
type UpdateAlbumOpts struct {
|
|
ID int32
|
|
MusicBrainzID uuid.UUID
|
|
Image uuid.UUID
|
|
ImageSrc string
|
|
VariousArtistsUpdate bool
|
|
VariousArtistsValue bool
|
|
}
|
|
|
|
type UpdateUserOpts struct {
|
|
ID int32
|
|
Username string
|
|
Password string
|
|
}
|
|
|
|
type AddArtistsToAlbumOpts struct {
|
|
AlbumID int32
|
|
ArtistIDs []int32
|
|
}
|
|
|
|
type GetItemsOpts struct {
|
|
Limit int
|
|
Period Period
|
|
Page int
|
|
Week int // 1-52
|
|
Month int // 1-12
|
|
Year int
|
|
From int // unix timestamp
|
|
To int // unix timestamp
|
|
|
|
// Used only for getting top tracks
|
|
ArtistID int
|
|
AlbumID int
|
|
|
|
// Used for getting listens
|
|
TrackID int
|
|
}
|
|
|
|
type ListenActivityOpts struct {
|
|
Step StepInterval
|
|
Range int
|
|
Month int
|
|
Year int
|
|
AlbumID int32
|
|
ArtistID int32
|
|
TrackID int32
|
|
}
|
|
|
|
type TimeListenedOpts struct {
|
|
Period Period
|
|
AlbumID int32
|
|
ArtistID int32
|
|
TrackID int32
|
|
}
|
|
|
|
type GetExportPageOpts struct {
|
|
UserID int32
|
|
ListenedAt time.Time
|
|
TrackID int32
|
|
Limit int32
|
|
}
|