Browse Source

use standard urls

master
Nicolas Massé 5 years ago
parent
commit
b397729413
  1. 35
      api/users.go

35
api/users.go

@ -9,20 +9,17 @@ import (
) )
const ( const (
userPath = "/auth/admin/realms/:realm/users" userPath = "/auth/admin/realms/:realm/users"
adminExtensionAPIPath = "/auth/realms/:realmReq/api/admin/realms/:realm" userCountPath = userPath + "/count"
usersAdminExtensionAPIPath = adminExtensionAPIPath + "/users" userIDPath = userPath + "/:id"
sendEmailAdminExtensionAPIPath = adminExtensionAPIPath + "/send-email" userGroupsPath = userIDPath + "/groups"
userCountPath = userPath + "/count" userGroupIDPath = userGroupsPath + "/:groupId"
userIDPath = userPath + "/:id" executeActionsEmailPath = userIDPath + "/execute-actions-email"
userGroupsPath = userIDPath + "/groups" sendReminderEmailPath = "/auth/realms/:realm/onboarding/sendReminderEmail"
userGroupIDPath = userGroupsPath + "/:groupId" smsAPI = "/auth/realms/:realm/smsApi"
executeActionsEmailPath = userIDPath + "/execute-actions-email" sendSmsCode = smsAPI + "/sendNewCode"
sendReminderEmailPath = "/auth/realms/:realm/onboarding/sendReminderEmail" sendSMSPath = smsAPI + "/sendSms"
smsAPI = "/auth/realms/:realm/smsApi" shadowUser = userIDPath + "/federated-identity/:provider"
sendSmsCode = smsAPI + "/sendNewCode"
sendSMSPath = smsAPI + "/sendSms"
shadowUser = userIDPath + "/federated-identity/:provider"
) )
// GetUsers returns a list of users, filtered according to the query parameters. // GetUsers returns a list of users, filtered according to the query parameters.
@ -35,14 +32,14 @@ func (c *Client) GetUsers(accessToken string, reqRealmName, targetRealmName stri
return resp, errors.New(keycloak.MsgErrInvalidParam + "." + keycloak.EvenParams) return resp, errors.New(keycloak.MsgErrInvalidParam + "." + keycloak.EvenParams)
} }
var plugins = append(createQueryPlugins(paramKV...), url.Path(usersAdminExtensionAPIPath), url.Param("realmReq", reqRealmName), url.Param("realm", targetRealmName)) var plugins = append(createQueryPlugins(paramKV...), url.Path(userPath), url.Param("realm", targetRealmName))
var err = c.get(accessToken, &resp, plugins...) var err = c.get(accessToken, &resp, plugins...)
return resp, err return resp, err
} }
// CreateUser creates the user from its UserRepresentation. The username must be unique. // CreateUser creates the user from its UserRepresentation. The username must be unique.
func (c *Client) CreateUser(accessToken string, reqRealmName, targetRealmName string, user keycloak.UserRepresentation) (string, error) { func (c *Client) CreateUser(accessToken string, reqRealmName, targetRealmName string, user keycloak.UserRepresentation) (string, error) {
return c.post(accessToken, nil, url.Path(usersAdminExtensionAPIPath), url.Param("realmReq", reqRealmName), url.Param("realm", targetRealmName), body.JSON(user)) return c.post(accessToken, nil, url.Path(userPath), url.Param("realm", targetRealmName), body.JSON(user))
} }
// CountUsers returns the number of users in the realm. // CountUsers returns the number of users in the realm.
@ -128,12 +125,6 @@ func (c *Client) LinkShadowUser(accessToken string, reqRealmName string, userID
return err return err
} }
// SendEmail sends an email to a user
func (c *Client) SendEmail(accessToken string, reqRealmName string, realmName string, emailRep keycloak.EmailRepresentation) error {
_, err := c.post(accessToken, nil, url.Path(sendEmailAdminExtensionAPIPath), url.Param("realmReq", reqRealmName), url.Param("realm", realmName), body.JSON(emailRep))
return err
}
// SendSMS sends an SMS to a user // SendSMS sends an SMS to a user
func (c *Client) SendSMS(accessToken string, realmName string, smsRep keycloak.SMSRepresentation) error { func (c *Client) SendSMS(accessToken string, realmName string, smsRep keycloak.SMSRepresentation) error {
_, err := c.post(accessToken, nil, url.Path(sendSMSPath), url.Param("realm", realmName), body.JSON(smsRep)) _, err := c.post(accessToken, nil, url.Path(sendSMSPath), url.Param("realm", realmName), body.JSON(smsRep))

Loading…
Cancel
Save