Add call to list users

This commit is contained in:
Grégoire Delattre 2017-08-10 19:53:08 +02:00
parent 033ad31c71
commit a7b88ca7e2
3 changed files with 42 additions and 0 deletions

View File

@ -0,0 +1,26 @@
package admin
import (
"net/http"
"gitlab.quimbo.fr/odwrtw/canape-sql/src/internal/users"
"gitlab.quimbo.fr/odwrtw/canape-sql/src/internal/web"
"github.com/sirupsen/logrus"
)
// GetUsersHandler returns the user list
func GetUsersHandler(env *web.Env, w http.ResponseWriter, r *http.Request) error {
log := env.Log.WithFields(logrus.Fields{
"function": "admin.GetUsersHandler",
})
log.Debug("Getting users")
users, err := users.GetAll(env.Database)
if err != nil {
return env.RenderError(w, err)
}
return env.RenderJSON(w, users)
}

View File

@ -24,6 +24,8 @@ const (
getTokensQuery = `SELECT id, value FROM tokens WHERE user_id=$1;`
checkTokenQuery = `SELECT count(*) FROM tokens WHERE user_id=$1 AND value=$2;`
deleteTokenQuery = `DELETE FROM tokens WHERE user_id=$1 AND value=$2;`
getAllUsersQuery = `SELECT * FROM users;`
)
const (
@ -133,6 +135,16 @@ func Get(q sqlx.Queryer, name string) (*User, error) {
return u, nil
}
// GetAll returns all the users
func GetAll(db *sqlx.DB) ([]*User, error) {
users := []*User{}
err := db.Select(&users, getAllUsersQuery)
if err != nil {
return nil, err
}
return users, nil
}
// Add user to database or raises an error
func (u *User) Add(q sqlx.Queryer) error {
var id string

View File

@ -1,6 +1,7 @@
package main
import (
"gitlab.quimbo.fr/odwrtw/canape-sql/src/internal/admins"
"gitlab.quimbo.fr/odwrtw/canape-sql/src/internal/external_medias"
"gitlab.quimbo.fr/odwrtw/canape-sql/src/internal/movies"
"gitlab.quimbo.fr/odwrtw/canape-sql/src/internal/shows"
@ -56,4 +57,7 @@ func setupRoutes(env *web.Env) {
// Route to refresh all movies and shows
env.Handle("/refresh", extmedias.RefreshHandler).WithRole(users.AdminRole).Methods("POST")
// Admin routes
env.Handle("/admins/users", admin.GetUsersHandler).WithRole(users.AdminRole).Methods("GET")
}