X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=capifcore%2Finternal%2Fpublishservice%2Fpublishservice.go;h=54a7f675d2e30f82588e94c85ba0a8ad5aa0f50e;hb=refs%2Fchanges%2F11%2F12711%2F6;hp=670d2ed53c9c5e69712579913f3287eb005bc16d;hpb=8fa464fbe92fe7fa2107915accfe93cb932fb021;p=nonrtric%2Fplt%2Fsme.git diff --git a/capifcore/internal/publishservice/publishservice.go b/capifcore/internal/publishservice/publishservice.go index 670d2ed..54a7f67 100644 --- a/capifcore/internal/publishservice/publishservice.go +++ b/capifcore/internal/publishservice/publishservice.go @@ -97,11 +97,11 @@ func (ps *PublishService) GetAllPublishedServices() []publishapi.ServiceAPIDescr func (ps *PublishService) GetAllowedPublishedServices(apiListRequestedServices []publishapi.ServiceAPIDescription) []publishapi.ServiceAPIDescription { apiListAllPublished := ps.GetAllPublishedServices() - allowedPublishedServices := intersection(apiListAllPublished, apiListRequestedServices) + allowedPublishedServices := join(apiListAllPublished, apiListRequestedServices) return allowedPublishedServices } -func intersection(a, b []publishapi.ServiceAPIDescription) []publishapi.ServiceAPIDescription { +func join(a, b []publishapi.ServiceAPIDescription) []publishapi.ServiceAPIDescription { var result []publishapi.ServiceAPIDescription if (a == nil) || (b == nil) || (len(a) == 0) || (len(b) == 0) { @@ -110,7 +110,7 @@ func intersection(a, b []publishapi.ServiceAPIDescription) []publishapi.ServiceA for _, itemA := range a { for _, itemB := range b { - if (itemA.ApiId != nil) && (itemB.ApiId != nil) && (*itemA.ApiId == *itemB.ApiId) { + if itemA.ApiName == itemB.ApiName { result = append(result, itemA) break } @@ -204,7 +204,7 @@ func (ps *PublishService) isServicePublished(newService publishapi.ServiceAPIDes func (ps *PublishService) installHelmChart(newServiceAPIDescription publishapi.ServiceAPIDescription, ctx echo.Context) (bool, error) { info := strings.Split(*newServiceAPIDescription.Description, ",") - if len(info) == 5 { + if (len(info) == 5) && (ps.helmManager != nil) { err := ps.helmManager.InstallHelmChart(info[1], info[2], info[3], info[4]) if err != nil { return true, sendCoreError(ctx, http.StatusBadRequest, fmt.Sprintf("Unable to install Helm chart %s due to: %s", info[3], err.Error())) @@ -221,7 +221,7 @@ func (ps *PublishService) DeleteApfIdServiceApisServiceApiId(ctx echo.Context, a pos, description := getServiceDescription(serviceApiId, serviceDescriptions) if description != nil { info := strings.Split(*description.Description, ",") - if len(info) == 5 { + if (len(info) == 5) && (ps.helmManager != nil) { ps.helmManager.UninstallHelmChart(info[1], info[3]) log.Debug("Deleted service: ", serviceApiId) }