X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=pkg%2Fresthooks%2Fresthooks.go;h=519e636a4a24366251fb940f9176b3178c4b0933;hb=be3a036a01ca73d2959aadc1c5f9b71ec569ac95;hp=500b32e69b0d61314ada22d3841232ffd9d4c54b;hpb=cd6cc6ad28c32ccce6a2833917f7408a798e45fc;p=ric-plt%2Fricdms.git diff --git a/pkg/resthooks/resthooks.go b/pkg/resthooks/resthooks.go index 500b32e..519e636 100644 --- a/pkg/resthooks/resthooks.go +++ b/pkg/resthooks/resthooks.go @@ -21,15 +21,21 @@ package resthooks import ( + ch "gerrit.o-ran-sc.org/r/ric-plt/ricdms/pkg/charts" ph "gerrit.o-ran-sc.org/r/ric-plt/ricdms/pkg/health" + "gerrit.o-ran-sc.org/r/ric-plt/ricdms/pkg/models" + "gerrit.o-ran-sc.org/r/ric-plt/ricdms/pkg/onboard" + "gerrit.o-ran-sc.org/r/ric-plt/ricdms/pkg/restapi/operations/charts" "gerrit.o-ran-sc.org/r/ric-plt/ricdms/pkg/restapi/operations/health" "gerrit.o-ran-sc.org/r/ric-plt/ricdms/pkg/ricdms" "github.com/go-openapi/runtime/middleware" ) -func NewResthook(h ph.IHealthChecker) *Resthook { +func NewResthook(h ph.IHealthChecker, o onboard.IOnboarder, chMgr ch.IChartMgr) *Resthook { return &Resthook{ HealthChecker: h, + Onboarder: o, + ChartMgr: chMgr, } } @@ -37,3 +43,58 @@ func (rh *Resthook) GetDMSHealth() (resp middleware.Responder) { ricdms.Logger.Debug("healthchecker : %v\n", rh.HealthChecker) return health.NewGetHealthCheckOK().WithPayload(rh.HealthChecker.GetStatus()) } + +func (rh *Resthook) OnBoard(params *models.Descriptor) (resp middleware.Responder) { + ricdms.Logger.Debug("onboarder: invoked") + return rh.Onboarder.Onboard(params) +} + +func (rh *Resthook) GetCharts() (resp middleware.Responder) { + ricdms.Logger.Debug("getcharts: invoked") + chartList, err := rh.ChartMgr.GetCharts() + + if err != nil { + return charts.NewGetChartsListInternalServerError() + } + 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) +} + +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) +}