2020-01-20 00:21:44 +01:00
|
|
|
package subsonic
|
2016-03-04 00:44:39 +01:00
|
|
|
|
2020-01-07 20:56:26 +01:00
|
|
|
import (
|
|
|
|
"net/http"
|
2016-03-04 00:44:39 +01:00
|
|
|
|
2020-01-24 01:44:08 +01:00
|
|
|
"github.com/deluan/navidrome/server/subsonic/responses"
|
2020-01-07 20:56:26 +01:00
|
|
|
)
|
|
|
|
|
2020-01-11 23:18:20 +01:00
|
|
|
type UsersController struct{}
|
2020-01-07 20:56:26 +01:00
|
|
|
|
|
|
|
func NewUsersController() *UsersController {
|
|
|
|
return &UsersController{}
|
|
|
|
}
|
2016-03-04 00:44:39 +01:00
|
|
|
|
2016-03-07 20:13:01 +01:00
|
|
|
// TODO This is a placeholder. The real one has to read this info from a config file or the database
|
2020-01-07 20:56:26 +01:00
|
|
|
func (c *UsersController) GetUser(w http.ResponseWriter, r *http.Request) (*responses.Subsonic, error) {
|
2020-08-14 04:11:18 +02:00
|
|
|
user, err := requiredParamString(r, "username", "Required string parameter 'username' is not present")
|
2020-01-07 20:56:26 +01:00
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
2020-08-14 04:11:18 +02:00
|
|
|
response := newResponse()
|
2020-01-07 20:56:26 +01:00
|
|
|
response.User = &responses.User{}
|
|
|
|
response.User.Username = user
|
|
|
|
response.User.StreamRole = true
|
|
|
|
response.User.DownloadRole = true
|
|
|
|
response.User.ScrobblingEnabled = true
|
|
|
|
return response, nil
|
2016-03-04 00:44:39 +01:00
|
|
|
}
|