diff options
author | Srivahni Chivukula <srivahni.chivukula@intel.com> | 2020-02-14 05:11:08 -0800 |
---|---|---|
committer | Srivahni Chivukula <srivahni.chivukula@intel.com> | 2020-02-20 03:41:00 -0800 |
commit | b11b37f11fa45ab149e8a88a183b70f077c0f48e (patch) | |
tree | a9e0d2c0c65d7d822a736caf4e093f7df2f5aed3 /src/orchestrator/api/api.go | |
parent | 38df1b0ee0f1d6cd3bf11f94adf7c952f32c191c (diff) |
Add Composite Application API
Implemented Composite application API and added create,
get and delete handlers for the composite applications.
Formatted Project related .go files
Issue-ID: MULTICLOUD-994
Signed-off-by: Srivahni Chivukula <srivahni.chivukula@intel.com>
Change-Id: I7cef1a2c75f8cb39f397dcbb3f5d7bb2a57b4a72
Diffstat (limited to 'src/orchestrator/api/api.go')
-rw-r--r-- | src/orchestrator/api/api.go | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/src/orchestrator/api/api.go b/src/orchestrator/api/api.go index e37b158a..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 @@ -10,6 +10,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ + package api import ( @@ -17,9 +18,11 @@ import ( "github.com/gorilla/mux" ) + var moduleClient *moduleLib.Client + // NewRouter creates a router that registers the various urls that are supported -func NewRouter(projectClient moduleLib.ProjectManager) *mux.Router { +func NewRouter(projectClient moduleLib.ProjectManager, compositeAppClient moduleLib.CompositeAppManager) *mux.Router { router := mux.NewRouter().PathPrefix("/v2").Subrouter() moduleClient = moduleLib.NewClient() @@ -33,5 +36,16 @@ func NewRouter(projectClient moduleLib.ProjectManager) *mux.Router { 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 -}
\ No newline at end of file +} |