From 87e0004ee4b3019d0b77352840b455d283d5eb0d Mon Sep 17 00:00:00 2001 From: Sonia <31467983+bsoniam@users.noreply.github.com> Date: Mon, 4 Nov 2019 17:33:11 +0100 Subject: [PATCH] [CLOUDTRUST-1917] Bridge: 409 username already exists --- errormessages.go | 4 ++++ keycloak_client.go | 11 +++++++++++ 2 files changed, 15 insertions(+) diff --git a/errormessages.go b/errormessages.go index 27a71fd..ed56fae 100644 --- a/errormessages.go +++ b/errormessages.go @@ -10,6 +10,8 @@ const ( MsgErrCannotCreate = "cannotCreate" MsgErrUnkownHTTPContentType = "unkownHTTPContentType" MsgErrUnknownResponseStatusCode = "unknownResponseStatusCode" + MsgErrExistingValue = "existing" + MsgErrReadOnly = "readOnlyValue" EvenParams = "key/valParametersShouldBeEven" TokenProviderURL = "tokenProviderURL" @@ -18,4 +20,6 @@ const ( Response = "response" AccessToken = "accessToken" OIDCProvider = "OIDCProvider" + UserOrEmail = "UsernameOrEmail" + Username = "username" ) diff --git a/keycloak_client.go b/keycloak_client.go index fb245dd..659183e 100644 --- a/keycloak_client.go +++ b/keycloak_client.go @@ -412,6 +412,17 @@ func whitelistErrors(statusCode int, message string) error { Status: statusCode, Message: "keycloak." + message, } + // update account in back-office or self-service + case (message == "User exists with same username or email") || (message == "usernameExistsMessage") || (message == "emailExistsMessage"): + return commonhttp.Error{ + Status: statusCode, + Message: "keycloak." + MsgErrExistingValue + "." + UserOrEmail, + } + case message == "readOnlyUsernameMessage": + return commonhttp.Error{ + Status: statusCode, + Message: "keycloak." + MsgErrReadOnly + "." + Username, + } default: return HTTPError{ HTTPStatus: statusCode,