From 52442a40309d906ecc5743f356a732dc2b0b63c4 Mon Sep 17 00:00:00 2001 From: Seokho Son Date: Thu, 20 Oct 2022 11:41:37 +0900 Subject: [PATCH 1/2] Provide show or hide option for sshKey in access info --- src/api/rest/docs/docs.go | 12 ++++++++---- src/api/rest/docs/swagger.json | 12 ++++++++---- src/api/rest/docs/swagger.yaml | 10 ++++++---- src/api/rest/server/mcis/manageInfo.go | 8 +++++--- src/core/mcis/manageInfo.go | 8 ++++++-- 5 files changed, 33 insertions(+), 17 deletions(-) diff --git a/src/api/rest/docs/docs.go b/src/api/rest/docs/docs.go index 615263adf..a12879d1c 100644 --- a/src/api/rest/docs/docs.go +++ b/src/api/rest/docs/docs.go @@ -1792,17 +1792,21 @@ const docTemplate = `{ }, { "type": "string", - "default": "connectionName", - "description": "(for option==id) Field key for filtering (ex: connectionName)", + "description": "(For option==id) Field key for filtering (ex: connectionName)", "name": "filterKey", "in": "query" }, { "type": "string", - "default": "aws-ap-northeast-2", - "description": "(for option==id) Field value for filtering (ex: aws-ap-northeast-2)", + "description": "(For option==id) Field value for filtering (ex: aws-ap-northeast-2)", "name": "filterVal", "in": "query" + }, + { + "type": "string", + "description": "(For option==accessinfo) accessInfoOption (showSshKey)", + "name": "accessInfoOption", + "in": "query" } ], "responses": { diff --git a/src/api/rest/docs/swagger.json b/src/api/rest/docs/swagger.json index 05905e315..c6074eef3 100644 --- a/src/api/rest/docs/swagger.json +++ b/src/api/rest/docs/swagger.json @@ -1784,17 +1784,21 @@ }, { "type": "string", - "default": "connectionName", - "description": "(for option==id) Field key for filtering (ex: connectionName)", + "description": "(For option==id) Field key for filtering (ex: connectionName)", "name": "filterKey", "in": "query" }, { "type": "string", - "default": "aws-ap-northeast-2", - "description": "(for option==id) Field value for filtering (ex: aws-ap-northeast-2)", + "description": "(For option==id) Field value for filtering (ex: aws-ap-northeast-2)", "name": "filterVal", "in": "query" + }, + { + "type": "string", + "description": "(For option==accessinfo) accessInfoOption (showSshKey)", + "name": "accessInfoOption", + "in": "query" } ], "responses": { diff --git a/src/api/rest/docs/swagger.yaml b/src/api/rest/docs/swagger.yaml index 778833a27..eecfaba23 100644 --- a/src/api/rest/docs/swagger.yaml +++ b/src/api/rest/docs/swagger.yaml @@ -3589,16 +3589,18 @@ paths: in: query name: option type: string - - default: connectionName - description: '(for option==id) Field key for filtering (ex: connectionName)' + - description: '(For option==id) Field key for filtering (ex: connectionName)' in: query name: filterKey type: string - - default: aws-ap-northeast-2 - description: '(for option==id) Field value for filtering (ex: aws-ap-northeast-2)' + - description: '(For option==id) Field value for filtering (ex: aws-ap-northeast-2)' in: query name: filterVal type: string + - description: (For option==accessinfo) accessInfoOption (showSshKey) + in: query + name: accessInfoOption + type: string produces: - application/json responses: diff --git a/src/api/rest/server/mcis/manageInfo.go b/src/api/rest/server/mcis/manageInfo.go index 28195dc1a..fa90e7b30 100644 --- a/src/api/rest/server/mcis/manageInfo.go +++ b/src/api/rest/server/mcis/manageInfo.go @@ -42,8 +42,9 @@ type JSONResult struct { // @Param nsId path string true "Namespace ID" default(ns01) // @Param mcisId path string true "MCIS ID" default(mcis01) // @Param option query string false "Option" Enums(default, id, status, accessinfo) -// @Param filterKey query string false "(for option==id) Field key for filtering (ex: connectionName)" default(connectionName) -// @Param filterVal query string false "(for option==id) Field value for filtering (ex: aws-ap-northeast-2)" default(aws-ap-northeast-2) +// @Param filterKey query string false "(For option==id) Field key for filtering (ex: connectionName)" +// @Param filterVal query string false "(For option==id) Field value for filtering (ex: aws-ap-northeast-2)" +// @Param accessInfoOption query string false "(For option==accessinfo) accessInfoOption (showSshKey)" // @success 200 {object} JSONResult{[DEFAULT]=mcis.TbMcisInfo,[ID]=common.IdList,[STATUS]=mcis.McisStatusInfo,[AccessInfo]=mcis.McisAccessInfo} "Different return structures by the given action param" // @Failure 404 {object} common.SimpleMsg // @Failure 500 {object} common.SimpleMsg @@ -56,6 +57,7 @@ func RestGetMcis(c echo.Context) error { option := c.QueryParam("option") filterKey := c.QueryParam("filterKey") filterVal := c.QueryParam("filterVal") + accessInfoOption := c.QueryParam("accessInfoOption") if option == "id" { content := common.IdList{} @@ -85,7 +87,7 @@ func RestGetMcis(c echo.Context) error { } else if option == "accessinfo" { - result, err := mcis.GetMcisAccessInfo(nsId, mcisId) + result, err := mcis.GetMcisAccessInfo(nsId, mcisId, accessInfoOption) if err != nil { mapA := map[string]string{"message": err.Error()} return c.JSON(http.StatusInternalServerError, &mapA) diff --git a/src/core/mcis/manageInfo.go b/src/core/mcis/manageInfo.go index 69f1e7125..0e166e223 100644 --- a/src/core/mcis/manageInfo.go +++ b/src/core/mcis/manageInfo.go @@ -325,7 +325,7 @@ func GetMcisInfo(nsId string, mcisId string) (*TbMcisInfo, error) { } // GetMcisAccessInfo is func to retrieve MCIS Access information -func GetMcisAccessInfo(nsId string, mcisId string) (*McisAccessInfo, error) { +func GetMcisAccessInfo(nsId string, mcisId string, option string) (*McisAccessInfo, error) { output := &McisAccessInfo{} temp := &McisAccessInfo{} @@ -378,7 +378,11 @@ func GetMcisAccessInfo(nsId string, mcisId string) (*McisAccessInfo, error) { vmAccessInfo.SSHPort = vmInfo.SSHPort _, verifiedUserName, privateKey := GetVmSshKey(nsId, mcisId, vmId) - vmAccessInfo.PrivateKey = privateKey + + if strings.EqualFold(option, "showSshKey") { + vmAccessInfo.PrivateKey = privateKey + } + vmAccessInfo.VmUserAccount = verifiedUserName //vmAccessInfo.VmUserPassword From aef070db92649476dd346dd15edc189b22ae8bf3 Mon Sep 17 00:00:00 2001 From: Seokho Son Date: Thu, 20 Oct 2022 12:22:14 +0900 Subject: [PATCH 2/2] Appply similar pattern server/mcis/manageInfo.go Co-authored-by: Jihoon Seo <46767780+jihoon-seo@users.noreply.github.com> --- src/api/rest/server/mcis/manageInfo.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/api/rest/server/mcis/manageInfo.go b/src/api/rest/server/mcis/manageInfo.go index fa90e7b30..51dd94c76 100644 --- a/src/api/rest/server/mcis/manageInfo.go +++ b/src/api/rest/server/mcis/manageInfo.go @@ -42,9 +42,9 @@ type JSONResult struct { // @Param nsId path string true "Namespace ID" default(ns01) // @Param mcisId path string true "MCIS ID" default(mcis01) // @Param option query string false "Option" Enums(default, id, status, accessinfo) -// @Param filterKey query string false "(For option==id) Field key for filtering (ex: connectionName)" -// @Param filterVal query string false "(For option==id) Field value for filtering (ex: aws-ap-northeast-2)" -// @Param accessInfoOption query string false "(For option==accessinfo) accessInfoOption (showSshKey)" +// @Param filterKey query string false "(For option=id) Field key for filtering (ex: connectionName)" +// @Param filterVal query string false "(For option=id) Field value for filtering (ex: aws-ap-northeast-2)" +// @Param accessInfoOption query string false "(For option=accessinfo) accessInfoOption (showSshKey)" // @success 200 {object} JSONResult{[DEFAULT]=mcis.TbMcisInfo,[ID]=common.IdList,[STATUS]=mcis.McisStatusInfo,[AccessInfo]=mcis.McisAccessInfo} "Different return structures by the given action param" // @Failure 404 {object} common.SimpleMsg // @Failure 500 {object} common.SimpleMsg