diff options
Diffstat (limited to 'src/orchestrator/api/deployment_intent_groups_handler.go')
-rw-r--r-- | src/orchestrator/api/deployment_intent_groups_handler.go | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/orchestrator/api/deployment_intent_groups_handler.go b/src/orchestrator/api/deployment_intent_groups_handler.go index 3f5b3969..7620737b 100644 --- a/src/orchestrator/api/deployment_intent_groups_handler.go +++ b/src/orchestrator/api/deployment_intent_groups_handler.go @@ -22,6 +22,7 @@ import ( "net/http" moduleLib "github.com/onap/multicloud-k8s/src/orchestrator/pkg/module" + "github.com/onap/multicloud-k8s/src/orchestrator/pkg/infra/validation" "github.com/gorilla/mux" ) @@ -116,6 +117,31 @@ func (h deploymentIntentGroupHandler) getDeploymentIntentGroupHandler(w http.Res } +func (h deploymentIntentGroupHandler) getAllDeploymentIntentGroupsHandler(w http.ResponseWriter, r *http.Request) { + vars := mux.Vars(r) + pList := []string{"project-name", "composite-app-name", "composite-app-version"} + err := validation.IsValidParameterPresent(vars, pList) + if err != nil { + http.Error(w, err.Error(), http.StatusBadRequest) + } + p := vars["project-name"] + ca := vars["composite-app-name"] + v := vars["composite-app-version"] + + diList, err := h.client.GetAllDeploymentIntentGroups(p, ca, v) + if err != nil { + http.Error(w, err.Error(), http.StatusNotFound) + return + } + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(http.StatusOK) + err = json.NewEncoder(w).Encode(diList) + if err != nil { + http.Error(w, err.Error(), http.StatusNotFound) + return + } +} + func (h deploymentIntentGroupHandler) deleteDeploymentIntentGroupHandler(w http.ResponseWriter, r *http.Request) { vars := mux.Vars(r) |