Moved logic of collapsing songs into albums to model package

(it should really be called domain.... maybe will rename it later)
This commit is contained in:
Deluan
2022-12-19 11:00:20 -05:00
committed by Deluan Quintão
parent e03ccb3166
commit 28e7371d93
13 changed files with 507 additions and 26 deletions
+5 -5
View File
@@ -11,7 +11,7 @@ import (
"github.com/navidrome/navidrome/server/subsonic/filter"
"github.com/navidrome/navidrome/server/subsonic/responses"
"github.com/navidrome/navidrome/utils"
"github.com/navidrome/navidrome/utils/math2"
"github.com/navidrome/navidrome/utils/number"
)
func (api *Router) getAlbumList(r *http.Request) (model.Albums, int64, error) {
@@ -60,7 +60,7 @@ func (api *Router) getAlbumList(r *http.Request) (model.Albums, int64, error) {
}
opts.Offset = utils.ParamInt(r, "offset", 0)
opts.Max = math2.Min(utils.ParamInt(r, "size", 10), 500)
opts.Max = number.Min(utils.ParamInt(r, "size", 10), 500)
albums, err := api.ds.Album(r.Context()).GetAllWithoutGenres(opts)
if err != nil {
@@ -168,7 +168,7 @@ func (api *Router) GetNowPlaying(r *http.Request) (*responses.Subsonic, error) {
}
func (api *Router) GetRandomSongs(r *http.Request) (*responses.Subsonic, error) {
size := math2.Min(utils.ParamInt(r, "size", 10), 500)
size := number.Min(utils.ParamInt(r, "size", 10), 500)
genre := utils.ParamString(r, "genre")
fromYear := utils.ParamInt(r, "fromYear", 0)
toYear := utils.ParamInt(r, "toYear", 0)
@@ -186,8 +186,8 @@ func (api *Router) GetRandomSongs(r *http.Request) (*responses.Subsonic, error)
}
func (api *Router) GetSongsByGenre(r *http.Request) (*responses.Subsonic, error) {
count := math2.Min(utils.ParamInt(r, "count", 10), 500)
offset := math2.Min(utils.ParamInt(r, "offset", 0), 500)
count := number.Min(utils.ParamInt(r, "count", 10), 500)
offset := number.Min(utils.ParamInt(r, "offset", 0), 500)
genre := utils.ParamString(r, "genre")
songs, err := api.getSongs(r.Context(), offset, count, filter.SongsByGenre(genre))
+2 -2
View File
@@ -19,7 +19,7 @@ import (
"github.com/navidrome/navidrome/server/events"
"github.com/navidrome/navidrome/server/subsonic/responses"
"github.com/navidrome/navidrome/utils"
"github.com/navidrome/navidrome/utils/math2"
"github.com/navidrome/navidrome/utils/number"
)
const Version = "1.16.1"
@@ -138,7 +138,7 @@ func (api *Router) routes() http.Handler {
})
r.Group(func(r chi.Router) {
// configure request throttling
maxRequests := math2.Max(2, runtime.NumCPU())
maxRequests := number.Max(2, runtime.NumCPU())
r.Use(middleware.ThrottleBacklog(maxRequests, consts.RequestThrottleBacklogLimit, consts.RequestThrottleBacklogTimeout))
hr(r, "getAvatar", api.GetAvatar)
hr(r, "getCoverArt", api.GetCoverArt)