diff --git a/controllers/ext_client.go b/controllers/ext_client.go index 86e55c3c..681b9220 100644 --- a/controllers/ext_client.go +++ b/controllers/ext_client.go @@ -251,7 +251,7 @@ func createExtClient(w http.ResponseWriter, r *http.Request) { var params = mux.Vars(r) networkName := params["network"] nodeid := params["nodeid"] - clientid := params["clientid"] + ingressExists := checkIngressExists(nodeid) if !ingressExists { err := errors.New("ingress does not exist") @@ -262,9 +262,16 @@ func createExtClient(w http.ResponseWriter, r *http.Request) { } var extclient models.ExtClient - if clientid != "" {// if clientid is passed from api call, create new extclient with custom clientid instead to generate a random one - extclient.ClientID = clientid + var CustomExtClient models.CustomExtClient + + err := json.NewDecoder(r.body).Decode(&CustomExtClient); + + if err != nil { + logger.Log(1, "error creating CustomExtClient"+err.Error()) + } else { + extclient.ClientID = CustomExtClient.ClientID } + extclient.Network = networkName extclient.IngressGatewayID = nodeid node, err := logic.GetNodeByID(nodeid) diff --git a/models/structs.go b/models/structs.go index d0ce6bb7..b907f3e1 100644 --- a/models/structs.go +++ b/models/structs.go @@ -10,6 +10,11 @@ import ( const PLACEHOLDER_KEY_TEXT = "ACCESS_KEY" const PLACEHOLDER_TOKEN_TEXT = "ACCESS_TOKEN" +// CustomExtClient - struct for CustomExtClient params +type CustomExtClient struct { + ClientID string `json:"clientid"` +} + // AuthParams - struct for auth params type AuthParams struct { MacAddress string `json:"macaddress"`