mirror of
https://github.com/gabehf/Koito.git
synced 2026-03-10 07:50:37 -07:00
* feat: single SOT for themes + basic custom support * fix: adjust colors for yuu theme * feat: Allow loading of environment variables from file (#20) * feat: allow loading of environment variables from file * Panic if a file for an environment variable cannot be read * Use log.Fatalf + os.Exit instead of panic * fix: remove supurfluous call to os.Exit() --------- Co-authored-by: adaexec <nixos-git.s1pht@simplelogin.com> Co-authored-by: Gabe Farrell <90876006+gabehf@users.noreply.github.com> * chore: add pr test workflow * chore: changelog * feat: make all activity grids configurable * fix: adjust activity grid style * fix: make background gradient consistent size * revert: remove year from activity grid opts * style: adjust top item list min size to 200px * feat: add support for custom themes * fix: stabilized the order of top items * chore: update changelog * feat: native import & export * fix: use correct request body for alias requests * fix: clear input when closing edit modal * chore: changelog * docs: make endpoint clearer for some apps * feat: add ui and handler for export * fix: fix pr test workflow --------- Co-authored-by: adaexec <78047743+adaexec@users.noreply.github.com> Co-authored-by: adaexec <nixos-git.s1pht@simplelogin.com>
156 lines
2.5 KiB
Go
156 lines
2.5 KiB
Go
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
|
|
|
|
// 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
|
|
}
|