make musicFolderIds ints (#169)

* make `musicFolderId`s ints

https://github.com/sentriz/gonic/issues/50#issuecomment-963257103
006c1dafee/Classes/Models/API%20Models/MediaFolder.swift (L16)

related #50

* add a test for multi folders and reused artists
This commit is contained in:
Senan Kelly
2021-11-09 00:23:32 +00:00
committed by GitHub
parent a59c030385
commit 96f693f4e4
11 changed files with 94 additions and 35 deletions

View File

@@ -24,7 +24,7 @@ func (c *Controller) ServeGetIndexes(r *http.Request) *spec.Response {
Select("id").
Model(&db.Album{}).
Where("parent_id IS NULL")
if m, _ := params.Get("musicFolderId"); m != "" {
if m := c.getMusicFolder(params); m != "" {
rootQ = rootQ.
Where("root_dir=?", m)
}
@@ -145,7 +145,7 @@ func (c *Controller) ServeGetAlbumList(r *http.Request) *spec.Response {
return spec.NewError(10, "unknown value `%s` for parameter 'type'", v)
}
if m, _ := params.Get("musicFolderId"); m != "" {
if m := c.getMusicFolder(params); m != "" {
q = q.Where("root_dir=?", m)
}
var folders []*db.Album
@@ -185,7 +185,7 @@ func (c *Controller) ServeSearchTwo(r *http.Request) *spec.Response {
Select("id").
Model(&db.Album{}).
Where("parent_id IS NULL")
if m, _ := params.Get("musicFolderId"); m != "" {
if m := c.getMusicFolder(params); m != "" {
rootQ = rootQ.Where("root_dir=?", m)
}
@@ -207,7 +207,7 @@ func (c *Controller) ServeSearchTwo(r *http.Request) *spec.Response {
Where(`tag_artist_id IS NOT NULL AND (right_path LIKE ? OR right_path_u_dec LIKE ?)`, query, query).
Offset(params.GetOrInt("albumOffset", 0)).
Limit(params.GetOrInt("albumCount", 20))
if m, _ := params.Get("musicFolderId"); m != "" {
if m := c.getMusicFolder(params); m != "" {
q = q.Where("root_dir=?", m)
}
if err := q.Find(&albums).Error; err != nil {
@@ -224,7 +224,7 @@ func (c *Controller) ServeSearchTwo(r *http.Request) *spec.Response {
Where("filename LIKE ? OR filename_u_dec LIKE ?", query, query).
Offset(params.GetOrInt("songOffset", 0)).
Limit(params.GetOrInt("songCount", 20))
if m, _ := params.Get("musicFolderId"); m != "" {
if m := c.getMusicFolder(params); m != "" {
q = q.
Joins("JOIN albums ON albums.id=tracks.album_id").
Where("albums.root_dir=?", m)