Add get swagger path for APIs
[nonrtric/plt/sme.git] / capifcore / internal / invokermanagement / invokermanagement.go
index 2de6ca6..7f5782e 100644 (file)
@@ -46,15 +46,15 @@ type InvokerRegister interface {
 
 type InvokerManager struct {
        onboardedInvokers map[string]invokerapi.APIInvokerEnrolmentDetails
-       apiRegister       publishservice.APIRegister
+       publishRegister   publishservice.PublishRegister
        nextId            int64
        lock              sync.Mutex
 }
 
-func NewInvokerManager(apiRegister publishservice.APIRegister) *InvokerManager {
+func NewInvokerManager(publishRegister publishservice.PublishRegister) *InvokerManager {
        return &InvokerManager{
                onboardedInvokers: make(map[string]invokerapi.APIInvokerEnrolmentDetails),
-               apiRegister:       apiRegister,
+               publishRegister:   publishRegister,
                nextId:            1000,
        }
 }
@@ -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,27 +170,27 @@ 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")
+       if !im.areAPIsPublished(invoker.ApiList) {
+               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 {
+func (im *InvokerManager) areAPIsPublished(apis *invokerapi.APIList) bool {
        if apis == nil {
                return true
        }
-       return im.apiRegister.AreAPIsRegistered((*[]publishapi.ServiceAPIDescription)(apis))
+       return im.publishRegister.AreAPIsPublished((*[]publishapi.ServiceAPIDescription)(apis))
 }
 
 func (im *InvokerManager) getId(invokerInfo *string) *string {