user.go 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. package functions
  2. import (
  3. "net/http"
  4. "github.com/gravitl/netmaker/models"
  5. )
  6. // HasAdmin - check if server has an admin user
  7. func HasAdmin() *bool {
  8. return request[bool](http.MethodGet, "/api/users/adm/hasadmin", nil)
  9. }
  10. // CreateUser - create a user
  11. func CreateUser(payload *models.User) *models.User {
  12. return request[models.User](http.MethodPost, "/api/users/"+payload.UserName, payload)
  13. }
  14. // UpdateUser - update a user
  15. func UpdateUser(payload *models.User) *models.User {
  16. return request[models.User](http.MethodPut, "/api/users/networks/"+payload.UserName, payload)
  17. }
  18. // DeleteUser - delete a user
  19. func DeleteUser(username string) *string {
  20. return request[string](http.MethodDelete, "/api/users/"+username, nil)
  21. }
  22. // GetUser - fetch a single user
  23. func GetUser(username string) *models.User {
  24. return request[models.User](http.MethodGet, "/api/users/"+username, nil)
  25. }
  26. // ListUsers - fetch all users
  27. func ListUsers() *[]models.ReturnUser {
  28. return request[[]models.ReturnUser](http.MethodGet, "/api/users", nil)
  29. }