This commit is contained in:
@@ -136,3 +136,15 @@ func GetRoles(c *gin.Context) {
|
||||
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.POST("/register", controllers.Register)
|
||||
adminOnly.GET("/roles", controllers.GetRoles)
|
||||
adminOnly.GET("/users", controllers.GetUsers)
|
||||
|
||||
// Get secrets
|
||||
protected := router.Group("/api/secret")
|
||||
|
@@ -28,11 +28,9 @@ func (u *User) SaveUser() (*User, error) {
|
||||
|
||||
var err error
|
||||
|
||||
// TODO - validate username not already in use
|
||||
// Validate username not already in use
|
||||
_, err = GetUserByName(u.UserName)
|
||||
if err != nil {
|
||||
log.Printf("SaveUser Username already exists : '%v'\n", err)
|
||||
} else {
|
||||
if err != nil && err.Error() == "user not found" {
|
||||
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)
|
||||
|
||||
@@ -44,6 +42,8 @@ func (u *User) SaveUser() (*User, error) {
|
||||
id, _ := result.LastInsertId()
|
||||
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
|
||||
@@ -159,8 +159,29 @@ func GetUserRoleFromToken(c *gin.Context) (UserRole, error) {
|
||||
return ur, nil
|
||||
}
|
||||
|
||||
/*
|
||||
func (u *User) PrepareGive() {
|
||||
u.Password = ""
|
||||
func QueryUsers() ([]User, error) {
|
||||
var results []User
|
||||
|
||||
// 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