This commit is contained in:
@@ -136,3 +136,15 @@ func GetRoles(c *gin.Context) {
|
|||||||
c.JSON(http.StatusOK, gin.H{"message": "success", "data": roles})
|
c.JSON(http.StatusOK, gin.H{"message": "success", "data": roles})
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func GetUsers(c *gin.Context) {
|
||||||
|
users, err := models.QueryUsers()
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
c.JSON(http.StatusOK, gin.H{"message": "success", "data": users})
|
||||||
|
|
||||||
|
}
|
||||||
|
1
main.go
1
main.go
@@ -142,6 +142,7 @@ func main() {
|
|||||||
adminOnly.Use(middlewares.JwtAuthAdminMiddleware())
|
adminOnly.Use(middlewares.JwtAuthAdminMiddleware())
|
||||||
adminOnly.POST("/register", controllers.Register)
|
adminOnly.POST("/register", controllers.Register)
|
||||||
adminOnly.GET("/roles", controllers.GetRoles)
|
adminOnly.GET("/roles", controllers.GetRoles)
|
||||||
|
adminOnly.GET("/users", controllers.GetUsers)
|
||||||
|
|
||||||
// Get secrets
|
// Get secrets
|
||||||
protected := router.Group("/api/secret")
|
protected := router.Group("/api/secret")
|
||||||
|
@@ -28,11 +28,9 @@ func (u *User) SaveUser() (*User, error) {
|
|||||||
|
|
||||||
var err error
|
var err error
|
||||||
|
|
||||||
// TODO - validate username not already in use
|
// Validate username not already in use
|
||||||
_, err = GetUserByName(u.UserName)
|
_, err = GetUserByName(u.UserName)
|
||||||
if err != nil {
|
if err != nil && err.Error() == "user not found" {
|
||||||
log.Printf("SaveUser Username already exists : '%v'\n", err)
|
|
||||||
} else {
|
|
||||||
log.Printf("SaveUser confirmed no existing user, continuing with creation of user '%s'\n", u.UserName)
|
log.Printf("SaveUser confirmed no existing user, continuing with creation of user '%s'\n", u.UserName)
|
||||||
result, err := db.NamedExec((`INSERT INTO users (RoleId, UserName, Password) VALUES (:RoleId, :UserName, :Password)`), u)
|
result, err := db.NamedExec((`INSERT INTO users (RoleId, UserName, Password) VALUES (:RoleId, :UserName, :Password)`), u)
|
||||||
|
|
||||||
@@ -44,6 +42,8 @@ func (u *User) SaveUser() (*User, error) {
|
|||||||
id, _ := result.LastInsertId()
|
id, _ := result.LastInsertId()
|
||||||
log.Printf("SaveUser insert returned result id '%d' affecting %d row(s).\n", id, affected)
|
log.Printf("SaveUser insert returned result id '%d' affecting %d row(s).\n", id, affected)
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
log.Printf("SaveUser Username already exists : '%v'\n", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
return u, nil
|
return u, nil
|
||||||
@@ -159,8 +159,29 @@ func GetUserRoleFromToken(c *gin.Context) (UserRole, error) {
|
|||||||
return ur, nil
|
return ur, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
func QueryUsers() ([]User, error) {
|
||||||
func (u *User) PrepareGive() {
|
var results []User
|
||||||
u.Password = ""
|
|
||||||
|
// Query database for role definitions
|
||||||
|
rows, err := db.Queryx("SELECT * FROM users")
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
log.Printf("QueryUsers error executing sql record : '%s'\n", err)
|
||||||
|
return results, err
|
||||||
|
} else {
|
||||||
|
// parse all the results into a slice
|
||||||
|
for rows.Next() {
|
||||||
|
var u User
|
||||||
|
err = rows.StructScan(&u)
|
||||||
|
if err != nil {
|
||||||
|
log.Printf("QueryUsers error parsing sql record : '%s'\n", err)
|
||||||
|
return results, err
|
||||||
|
}
|
||||||
|
results = append(results, u)
|
||||||
|
|
||||||
|
}
|
||||||
|
log.Printf("QueryUsers retrieved '%d' results\n", len(results))
|
||||||
|
}
|
||||||
|
|
||||||
|
return results, nil
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
|
Reference in New Issue
Block a user