Documentation
¶
Index ¶
- Variables
- func Paginate[T any](db *gorm.DB, page, limit int, order string, preloads []string) ([]T, bool, error)
- type AlbumStore
- func (as *AlbumStore) CreateAlbum(album *model.Album) (*model.Album, error)
- func (as *AlbumStore) DeleteAlbum(album *model.Album) error
- func (as *AlbumStore) GetAlbumByID(uuid uuid.UUID) (*model.Album, error)
- func (as *AlbumStore) GetAlbumsByIDs(ids []uuid.UUID) ([]model.Album, error)
- func (as *AlbumStore) GetAlbumsByTitle(title string) ([]model.Album, error)
- func (as *AlbumStore) GetAlbumsPaginated(page, limit int) ([]model.Album, bool, error)
- func (as *AlbumStore) GetAllAlbums() ([]model.Album, error)
- func (as *AlbumStore) GetChangedAlbums(since time.Time) ([]uuid.UUID, error)
- func (as *AlbumStore) GetDeletedAlbums(since time.Time) ([]uuid.UUID, error)
- func (as *AlbumStore) UpdateAlbum(album *model.Album) error
- type ArtistStore
- func (as *ArtistStore) CreateArtist(artist *model.Artist) (*model.Artist, error)
- func (as *ArtistStore) CreateArtistIdentifier(artist *model.Artist, identifier string) (*model.ArtistIdentifier, error)
- func (as *ArtistStore) DeleteArtist(artist *model.Artist) error
- func (as *ArtistStore) GetAlbumsForArtist(artistID uuid.UUID) ([]model.Album, error)
- func (as *ArtistStore) GetAllArtists() ([]model.Artist, error)
- func (as *ArtistStore) GetArtistByID(artistID uuid.UUID) (*model.Artist, error)
- func (as *ArtistStore) GetArtistByIdentifier(identifier string) (*model.Artist, error)
- func (as *ArtistStore) GetArtistsByIDs(ids []uuid.UUID) ([]model.Artist, error)
- func (as *ArtistStore) GetArtistsPaginated(page, limit int) ([]model.Artist, bool, error)
- func (as *ArtistStore) GetChangedArtists(since time.Time) ([]uuid.UUID, error)
- func (as *ArtistStore) GetDeletedArtists(since time.Time) ([]uuid.UUID, error)
- func (as *ArtistStore) UpdateArtist(artist *model.Artist) error
- type MBStore
- type MailStore
- func (ms *MailStore) CreateRequestMail(category, message string, userID uuid.UUID) (*model.RequestMail, error)
- func (ms *MailStore) DeleteRequestMail(mailID uint) error
- func (ms *MailStore) GetNextRequestMail() (*model.RequestMail, error)
- func (ms *MailStore) GetRequestMails() []model.RequestMail
- func (ms *MailStore) SetStatus(mailID uint, status int) error
- type PlaylistStore
- func (ps *PlaylistStore) AddSongToPlaylist(playlistID uuid.UUID, songID uuid.UUID) error
- func (ps *PlaylistStore) BackfillPlaylistOrder() error
- func (ps *PlaylistStore) CreatePlaylist(playlist *model.Playlist) (model.Playlist, error)
- func (ps *PlaylistStore) CreatePlaylistFolder(folder *model.PlaylistFolder) (model.PlaylistFolder, error)
- func (ps *PlaylistStore) DeletePlaylist(playlistID uuid.UUID, userID uuid.UUID, adminOverride bool) error
- func (ps *PlaylistStore) DeletePlaylistFolder(folderID uuid.UUID, userID uuid.UUID, adminOverride bool) error
- func (ps *PlaylistStore) GetAllPlaylists() ([]model.Playlist, error)
- func (ps *PlaylistStore) GetChangedFolders(userID uuid.UUID, since time.Time) ([]uuid.UUID, error)
- func (ps *PlaylistStore) GetChangedPlaylists(userID uuid.UUID, since time.Time) ([]uuid.UUID, error)
- func (ps *PlaylistStore) GetDeletedFolders(userID uuid.UUID, since time.Time) ([]uuid.UUID, error)
- func (ps *PlaylistStore) GetDeletedPlaylists(userID uuid.UUID, since time.Time) ([]uuid.UUID, error)
- func (ps *PlaylistStore) GetFoldersByIDs(ids []uuid.UUID) ([]model.PlaylistFolder, error)
- func (ps *PlaylistStore) GetLibrary(userID uuid.UUID) ([]model.PlaylistFolder, []model.Playlist, error)
- func (ps *PlaylistStore) GetPlaylistByID(playlistID uuid.UUID) (*model.Playlist, error)
- func (ps *PlaylistStore) GetPlaylistSongs(playlistID uuid.UUID) ([]model.PlaylistSong, error)
- func (ps *PlaylistStore) GetPlaylistsByIDs(ids []uuid.UUID) ([]model.Playlist, error)
- func (ps *PlaylistStore) GetPlaylistsPaginated(page, limit int) ([]model.Playlist, bool, error)
- func (ps *PlaylistStore) GetRootFolderID(userID uuid.UUID) (uuid.UUID, error)
- func (ps *PlaylistStore) GetUserPlaylists(userID uuid.UUID) ([]model.Playlist, error)
- func (ps *PlaylistStore) IsFolderOwnedByUser(folderID uuid.UUID, userID uuid.UUID) bool
- func (ps *PlaylistStore) MoveFolderToFolder(folderID uuid.UUID, targetParentID *uuid.UUID, userID uuid.UUID, ...) error
- func (ps *PlaylistStore) MovePlaylistToFolder(playlistID uuid.UUID, targetFolderID uuid.UUID, userID uuid.UUID, ...) error
- func (ps *PlaylistStore) RemoveSongFromPlaylist(playlistID uuid.UUID, songID uuid.UUID) error
- func (ps *PlaylistStore) RenamePlaylist(playlistID uuid.UUID, userID uuid.UUID, newName string, adminOverride bool) error
- func (ps *PlaylistStore) RenamePlaylistFolder(folderID uuid.UUID, userID uuid.UUID, newName string, adminOverride bool) error
- func (ps *PlaylistStore) UpdateSongOrder(playlistID uuid.UUID, songID uuid.UUID, newOrder string) error
- type SettingsStore
- type SongStore
- func (ss *SongStore) CreateSong(song *model.Song) error
- func (ss *SongStore) CreateSongFile(sf *model.SongFile) error
- func (ss *SongStore) DeleteSong(song *model.Song) error
- func (ss *SongStore) DeleteSongFile(id uuid.UUID) error
- func (ss *SongStore) GetAllSongs() ([]model.Song, error)
- func (ss *SongStore) GetChangedSongs(since time.Time) ([]uuid.UUID, error)
- func (ss *SongStore) GetDeletedSongs(since time.Time) ([]uuid.UUID, error)
- func (ss *SongStore) GetFileByID(fileID uuid.UUID) (*model.SongFile, error)
- func (ss *SongStore) GetLatestSongs() ([]model.Song, error)
- func (ss *SongStore) GetSongByID(id uuid.UUID) (*model.Song, error)
- func (ss *SongStore) GetSongByMBID(mbid int, withArtistCredit bool) (*model.Song, error)
- func (ss *SongStore) GetSongByTitleAndAlbumID(title string, albumID uuid.UUID) (*model.Song, error)
- func (ss *SongStore) GetSongFilesBySongID(songID uuid.UUID) ([]model.SongFile, error)
- func (ss *SongStore) GetSongsByAlbumID(albumID uuid.UUID) ([]model.Song, error)
- func (ss *SongStore) GetSongsByIDs(ids []uuid.UUID) ([]model.Song, error)
- func (ss *SongStore) GetSongsPaginated(page, limit int) ([]model.Song, bool, error)
- func (ss *SongStore) UpdateSong(song *model.Song) error
- func (ss *SongStore) UpdateSongArtists(song *model.Song, artists []model.Artist) error
- type UserStore
- func (us *UserStore) CreateUser(user *model.User) error
- func (us *UserStore) DeleteUser(user *model.User) error
- func (us *UserStore) GetUserByID(uuid uuid.UUID) (*model.User, error)
- func (us *UserStore) GetUserByUsername(username string) (*model.User, error)
- func (us *UserStore) PromoteUserToAdmin(user *model.User) error
- func (us *UserStore) SetAdminStatus(user *model.User, isAdmin bool) error
- func (us *UserStore) UpdateUser(user *model.User) (*model.User, error)
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrPlaylistExists = errors.New("playlist already exists")
Functions ¶
func Paginate ¶
func Paginate[T any](db *gorm.DB, page, limit int, order string, preloads []string) ([]T, bool, error)
Paginate fetches a paginated list of items of type T. page: 1-based page number limit: number of items per page order: SQL order clause (e.g. "created_at desc") preloads: list of associations to preload
Types ¶
type AlbumStore ¶
type AlbumStore struct {
// contains filtered or unexported fields
}
func NewAlbumStore ¶
func NewAlbumStore(db *gorm.DB) *AlbumStore
func (*AlbumStore) CreateAlbum ¶
func (*AlbumStore) DeleteAlbum ¶
func (as *AlbumStore) DeleteAlbum(album *model.Album) error
func (*AlbumStore) GetAlbumByID ¶
func (*AlbumStore) GetAlbumsByIDs ¶
func (*AlbumStore) GetAlbumsByTitle ¶
func (as *AlbumStore) GetAlbumsByTitle(title string) ([]model.Album, error)
func (*AlbumStore) GetAlbumsPaginated ¶
func (*AlbumStore) GetAllAlbums ¶
func (as *AlbumStore) GetAllAlbums() ([]model.Album, error)
func (*AlbumStore) GetChangedAlbums ¶
func (*AlbumStore) GetDeletedAlbums ¶
func (*AlbumStore) UpdateAlbum ¶
func (as *AlbumStore) UpdateAlbum(album *model.Album) error
type ArtistStore ¶
type ArtistStore struct {
// contains filtered or unexported fields
}
func NewArtistStore ¶
func NewArtistStore(db *gorm.DB) *ArtistStore
func (*ArtistStore) CreateArtist ¶
func (*ArtistStore) CreateArtistIdentifier ¶
func (as *ArtistStore) CreateArtistIdentifier(artist *model.Artist, identifier string) (*model.ArtistIdentifier, error)
func (*ArtistStore) DeleteArtist ¶
func (as *ArtistStore) DeleteArtist(artist *model.Artist) error
func (*ArtistStore) GetAlbumsForArtist ¶
func (*ArtistStore) GetAllArtists ¶
func (as *ArtistStore) GetAllArtists() ([]model.Artist, error)
func (*ArtistStore) GetArtistByID ¶
func (*ArtistStore) GetArtistByIdentifier ¶
func (as *ArtistStore) GetArtistByIdentifier(identifier string) (*model.Artist, error)
func (*ArtistStore) GetArtistsByIDs ¶
func (*ArtistStore) GetArtistsPaginated ¶
func (*ArtistStore) GetChangedArtists ¶
func (*ArtistStore) GetDeletedArtists ¶
func (*ArtistStore) UpdateArtist ¶
func (as *ArtistStore) UpdateArtist(artist *model.Artist) error
type MBStore ¶
type MBStore struct {
// contains filtered or unexported fields
}
func NewMBStore ¶
func (*MBStore) GetRecordingBySongID ¶
func (*MBStore) SearchSongsByTitle ¶
type MailStore ¶
type MailStore struct {
// contains filtered or unexported fields
}
func NewMailStore ¶
func (*MailStore) CreateRequestMail ¶
func (*MailStore) DeleteRequestMail ¶
func (*MailStore) GetNextRequestMail ¶
func (ms *MailStore) GetNextRequestMail() (*model.RequestMail, error)
func (*MailStore) GetRequestMails ¶
func (ms *MailStore) GetRequestMails() []model.RequestMail
type PlaylistStore ¶
type PlaylistStore struct {
// contains filtered or unexported fields
}
func NewPlaylistStore ¶
func NewPlaylistStore(db *gorm.DB) *PlaylistStore
func (*PlaylistStore) AddSongToPlaylist ¶
func (*PlaylistStore) BackfillPlaylistOrder ¶
func (ps *PlaylistStore) BackfillPlaylistOrder() error
BackfillPlaylistOrder iterates through all existing Playlist-Song links If any link has an empty 'Order', it assigns sequential fractional keys ordered by CreatedAt.
func (*PlaylistStore) CreatePlaylist ¶
func (*PlaylistStore) CreatePlaylistFolder ¶
func (ps *PlaylistStore) CreatePlaylistFolder(folder *model.PlaylistFolder) (model.PlaylistFolder, error)
func (*PlaylistStore) DeletePlaylist ¶
func (*PlaylistStore) DeletePlaylistFolder ¶
func (*PlaylistStore) GetAllPlaylists ¶
func (ps *PlaylistStore) GetAllPlaylists() ([]model.Playlist, error)
func (*PlaylistStore) GetChangedFolders ¶
func (*PlaylistStore) GetChangedPlaylists ¶
func (*PlaylistStore) GetDeletedFolders ¶
func (*PlaylistStore) GetDeletedPlaylists ¶
func (*PlaylistStore) GetFoldersByIDs ¶
func (ps *PlaylistStore) GetFoldersByIDs(ids []uuid.UUID) ([]model.PlaylistFolder, error)
func (*PlaylistStore) GetLibrary ¶
func (ps *PlaylistStore) GetLibrary(userID uuid.UUID) ([]model.PlaylistFolder, []model.Playlist, error)
func (*PlaylistStore) GetPlaylistByID ¶
func (*PlaylistStore) GetPlaylistSongs ¶
func (ps *PlaylistStore) GetPlaylistSongs(playlistID uuid.UUID) ([]model.PlaylistSong, error)
func (*PlaylistStore) GetPlaylistsByIDs ¶
func (*PlaylistStore) GetPlaylistsPaginated ¶
func (*PlaylistStore) GetRootFolderID ¶
func (*PlaylistStore) GetUserPlaylists ¶
func (*PlaylistStore) IsFolderOwnedByUser ¶
func (*PlaylistStore) MoveFolderToFolder ¶
func (*PlaylistStore) MovePlaylistToFolder ¶
func (*PlaylistStore) RemoveSongFromPlaylist ¶
func (*PlaylistStore) RenamePlaylist ¶
func (*PlaylistStore) RenamePlaylistFolder ¶
func (*PlaylistStore) UpdateSongOrder ¶
type SettingsStore ¶
type SettingsStore struct {
// contains filtered or unexported fields
}
func NewSettingsStore ¶
func NewSettingsStore(db *gorm.DB) *SettingsStore
func (*SettingsStore) IsSetupComplete ¶
func (s *SettingsStore) IsSetupComplete() bool
func (*SettingsStore) Set ¶
func (s *SettingsStore) Set(key, value string) error
type SongStore ¶
type SongStore struct {
// contains filtered or unexported fields
}
func NewSongStore ¶
func (*SongStore) GetChangedSongs ¶
func (*SongStore) GetDeletedSongs ¶
func (*SongStore) GetFileByID ¶
func (*SongStore) GetSongByMBID ¶
func (*SongStore) GetSongByTitleAndAlbumID ¶
func (*SongStore) GetSongFilesBySongID ¶
func (*SongStore) GetSongsByAlbumID ¶
func (*SongStore) GetSongsByIDs ¶
func (*SongStore) GetSongsPaginated ¶
type UserStore ¶
type UserStore struct {
// contains filtered or unexported fields
}
func NewUserStore ¶
func (*UserStore) GetUserByID ¶
func (*UserStore) GetUserByUsername ¶
func (*UserStore) PromoteUserToAdmin ¶
func (*UserStore) SetAdminStatus ¶
Click to show internal directories.
Click to hide internal directories.