X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=capifcore%2Finternal%2Finvokermanagement%2Finvokermanagement.go;fp=capifcore%2Finternal%2Finvokermanagement%2Finvokermanagement.go;h=20bba33de57264c87e51003fc335fb2600e8e889;hb=712247934a771ca533b0febcca4b2702225b17cb;hp=2de6ca66bb571bcacbcd8cf64700a00c4dc01b15;hpb=d0199885b0bc379f22dbb7012545f0049f979bac;p=nonrtric%2Fplt%2Fsme.git diff --git a/capifcore/internal/invokermanagement/invokermanagement.go b/capifcore/internal/invokermanagement/invokermanagement.go index 2de6ca6..20bba33 100644 --- a/capifcore/internal/invokermanagement/invokermanagement.go +++ b/capifcore/internal/invokermanagement/invokermanagement.go @@ -93,8 +93,8 @@ func (im *InvokerManager) PostOnboardedInvokers(ctx echo.Context) error { return sendCoreError(ctx, http.StatusBadRequest, "Invalid format for invoker") } - coreError := im.validateInvoker(newInvoker, ctx) - if coreError != nil { + shouldReturn, coreError := im.validateInvoker(newInvoker, ctx) + if shouldReturn { return coreError } @@ -143,8 +143,8 @@ func (im *InvokerManager) PutOnboardedInvokersOnboardingId(ctx echo.Context, onb return sendCoreError(ctx, http.StatusBadRequest, "Invoker ApiInvokerId not matching") } - coreError := im.validateInvoker(invoker, ctx) - if coreError != nil { + shouldReturn, coreError := im.validateInvoker(invoker, ctx) + if shouldReturn { return coreError } @@ -170,20 +170,20 @@ func (im *InvokerManager) ModifyIndApiInvokeEnrolment(ctx echo.Context, onboardi return ctx.NoContent(http.StatusNotImplemented) } -func (im *InvokerManager) validateInvoker(invoker invokerapi.APIInvokerEnrolmentDetails, ctx echo.Context) error { +func (im *InvokerManager) validateInvoker(invoker invokerapi.APIInvokerEnrolmentDetails, ctx echo.Context) (bool, error) { if invoker.NotificationDestination == "" { - return sendCoreError(ctx, http.StatusBadRequest, "Invoker missing required NotificationDestination") + return true, sendCoreError(ctx, http.StatusBadRequest, "Invoker missing required NotificationDestination") } if invoker.OnboardingInformation.ApiInvokerPublicKey == "" { - return sendCoreError(ctx, http.StatusBadRequest, "Invoker missing required OnboardingInformation.ApiInvokerPublicKey") + return true, sendCoreError(ctx, http.StatusBadRequest, "Invoker missing required OnboardingInformation.ApiInvokerPublicKey") } if !im.areAPIsRegistered(invoker.ApiList) { - return sendCoreError(ctx, http.StatusBadRequest, "Some APIs needed by invoker are not registered") + return true, sendCoreError(ctx, http.StatusBadRequest, "Some APIs needed by invoker are not registered") } - return nil + return false, nil } func (im *InvokerManager) areAPIsRegistered(apis *invokerapi.APIList) bool {