+
+func (rh *Resthook) GetChartsByName(name string) middleware.Responder {
+ ricdms.Logger.Debug("GetChartByName: invoked")
+ res, err := rh.ChartMgr.GetChartsByName(name)
+
+ if err != nil {
+ ricdms.Logger.Error("error: %v", err)
+ return charts.NewGetChartInternalServerError()
+ }
+
+ response := make([]interface{}, 0)
+ for _, item := range res {
+ response = append(response, item)
+ }
+
+ return charts.NewGetChartOK().WithPayload(response)
+}
+
+func (rh *Resthook) GetChartByNameAndVersion(name, version string) middleware.Responder {
+ ricdms.Logger.Debug("GetChartByNameAndVersion is invoked")
+ resp, err := rh.ChartMgr.GetChartsByNameAndVersion(name, version)
+
+ if err != nil {
+ return charts.NewGetChartsFetcherInternalServerError()
+ }
+
+ return charts.NewGetChartsFetcherOK().WithPayload(resp)
+}
+
+func (rh *Resthook) DownloadAndInstallChart(appname, version, namespace string) middleware.Responder {
+ ricdms.Logger.Debug("DownloadAndInstall Chart is invoked")
+ reader, err := rh.ChartMgr.DownloadChart(appname, version)
+
+ if err != nil {
+ ricdms.Logger.Error("error in downloading the chart : %v", err)
+ return dp.NewPostDeployInternalServerError()
+ }
+
+ err = rh.DeployMgr.Deploy(reader, appname, version, namespace)
+ if err != nil {
+ return dp.NewPostDeployInternalServerError()
+ }
+ return dp.NewPostDeployCreated()
+}
+
+func (rh *Resthook) UninstallChart(appname, version, namespace string) middleware.Responder {
+ ricdms.Logger.Debug("Uninstall chart is invoked")
+ err := rh.DeployMgr.Uninstall(appname, version, namespace)
+ if err != nil {
+ ricdms.Logger.Error("Uninstall failed: %v", err)
+ return dp.NewDeleteDeployInternalServerError()
+ }
+
+ return dp.NewDeleteDeployCreated()
+}