add artist search

This commit is contained in:
2025-02-06 00:35:38 +01:00
parent 2791b6de76
commit 6caefaffb2
2 changed files with 14 additions and 7 deletions

View File

@@ -352,16 +352,23 @@ func getSearch(db *sql.DB, q string, limit, offset int) (ActiveSearch, error) {
}
func getArtists(db *sql.DB, q string, limit, offset int) ([]string, error) {
rows, err := db.Query("SELECT Artist FROM Songs WHERE Title LIKE ? OR Artist LIKE ? LIMIT ? OFFSET ?", "%"+q+"%", "%"+q+"%", limit, offset)
rows, err := db.Query("SELECT Artist FROM Beatmap WHERE Artist LIKE ? OR Title LIKE ? GROUP BY Artist LIMIT ? OFFSET ?", "%"+q+"%", "%"+q+"%", limit, offset)
if err != nil {
return []string{}, err
}
defer rows.Close()
_, err = scanSongs(rows)
if err != nil {
return []string{}, err
var artist []string
for rows.Next() {
var a string
err := rows.Scan(&a)
if err != nil {
return []string{}, err
}
artist = append(artist, a)
}
return []string{}, nil
return artist, nil
}
func getFavorites(db *sql.DB, q string, limit, offset int) ([]Song, error) {

View File

@@ -283,13 +283,13 @@ func (s *Server) artistSearch(w http.ResponseWriter, r *http.Request) {
//TODO
limit, offset := pagination(r)
recent, err := getArtists(s.Db, q, limit, offset)
a, err := getArtists(s.Db, q, limit, offset)
if err != nil {
fmt.Println(err)
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
writeJSON(w, recent, http.StatusOK)
writeJSON(w, a, http.StatusOK)
}
// @Summary Retrieves a song file by its encoded path