Implement get the charts by name
[ric-plt/ricdms.git] / pkg / resthooks / resthooks.go
index cc144d4..b461344 100644 (file)
@@ -58,3 +58,32 @@ func (rh *Resthook) GetCharts() (resp middleware.Responder) {
        }
        return charts.NewGetChartsListOK().WithPayload(chartList)
 }
+
+func (rh *Resthook) DownloadChart(chartname, version string) (resp middleware.Responder) {
+       ricdms.Logger.Debug("DownloadCharts: invoked")
+       reader, err := rh.ChartMgr.DownloadChart(chartname, version)
+
+       if err != nil {
+               ricdms.Logger.Error("Error : %v", err)
+               return charts.NewDownloadHelmChartInternalServerError()
+       }
+
+       return charts.NewDownloadHelmChartOK().WithPayload(reader)
+}
+
+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)
+}