diff options
Diffstat (limited to 'src/orchestrator/api/api.go')
-rw-r--r-- | src/orchestrator/api/api.go | 29 |
1 files changed, 21 insertions, 8 deletions
diff --git a/src/orchestrator/api/api.go b/src/orchestrator/api/api.go index 83f17bbe..1cb4299e 100644 --- a/src/orchestrator/api/api.go +++ b/src/orchestrator/api/api.go @@ -1,5 +1,5 @@ /* -Copyright 2018 Intel Corporation. +Copyright 2020 Intel Corporation. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at @@ -14,25 +14,38 @@ limitations under the License. package api import ( - "github.com/onap/multicloud-k8s/src/orchestrator/internal/project" + moduleLib "github.com/onap/multicloud-k8s/src/orchestrator/pkg/module" "github.com/gorilla/mux" ) +var moduleClient *moduleLib.Client + // NewRouter creates a router that registers the various urls that are supported -func NewRouter(projectClient project.ProjectManager) *mux.Router { +func NewRouter(projectClient moduleLib.ProjectManager, compositeAppClient moduleLib.CompositeAppManager) *mux.Router { router := mux.NewRouter().PathPrefix("/v2").Subrouter() - + moduleClient = moduleLib.NewClient() if projectClient == nil { - projectClient = project.NewProjectClient() + projectClient = moduleClient.Project } projHandler := projectHandler{ client: projectClient, } - router.HandleFunc("/project", projHandler.createHandler).Methods("POST") - router.HandleFunc("/project/{project-name}", projHandler.getHandler).Methods("GET") - router.HandleFunc("/project/{project-name}", projHandler.deleteHandler).Methods("DELETE") + router.HandleFunc("/projects", projHandler.createHandler).Methods("POST") + router.HandleFunc("/projects/{project-name}", projHandler.getHandler).Methods("GET") + router.HandleFunc("/projects/{project-name}", projHandler.deleteHandler).Methods("DELETE") + + if compositeAppClient == nil { + compositeAppClient = moduleClient.CompositeApp + } + compAppHandler := compositeAppHandler{ + client: compositeAppClient, + } + + router.HandleFunc("/projects/{project-name}/composite-apps", compAppHandler.createHandler).Methods("POST") + router.HandleFunc("/projects/{project-name}/composite-apps/{composite-app-name}/{version}", compAppHandler.getHandler).Methods("GET") + router.HandleFunc("/projects/{project-name}/composite-apps/{composite-app-name}/{version}", compAppHandler.deleteHandler).Methods("DELETE") return router } |