X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=pkg%2Fxapp%2Fsubscription.go;h=8f49e996867a179635c21efe98bc9e7f631852d8;hb=2a05b784df856f77c8c4c0a64ddc4200f14adf13;hp=efaf0f8697e9658c4eabe6db826e6d92eadc5601;hpb=dba83dfb6f135fb2f6987e55beec8552c6a8b74e;p=ric-plt%2Fxapp-frame.git diff --git a/pkg/xapp/subscription.go b/pkg/xapp/subscription.go index efaf0f8..8f49e99 100755 --- a/pkg/xapp/subscription.go +++ b/pkg/xapp/subscription.go @@ -44,9 +44,9 @@ import ( "gerrit.o-ran-sc.org/r/ric-plt/xapp-frame/pkg/restapi/operations/common" ) -type SubscriptionHandler func(interface{}) (*models.SubscriptionResponse, error) +type SubscriptionHandler func(interface{}) (*models.SubscriptionResponse, int) type SubscriptionQueryHandler func() (models.SubscriptionList, error) -type SubscriptionDeleteHandler func(string) error +type SubscriptionDeleteHandler func(string) int type SubscriptionResponseCallback func(*apimodel.SubscriptionResponse) type Subscriber struct { @@ -120,21 +120,33 @@ func (r *Subscriber) Listen(createSubscription SubscriptionHandler, getSubscript // Subscription: Subscribe api.CommonSubscribeHandler = common.SubscribeHandlerFunc( func(params common.SubscribeParams) middleware.Responder { - Logger.Error("Subscribe: Params=%+v", params.SubscriptionParams) - if resp, err := createSubscription(params.SubscriptionParams); err == nil { - return common.NewSubscribeCreated().WithPayload(resp) + resp, retCode := createSubscription(params.SubscriptionParams) + if retCode != common.SubscribeCreatedCode { + if retCode == common.SubscribeBadRequestCode { + return common.NewSubscribeBadRequest() + } else if retCode == common.SubscribeNotFoundCode { + return common.NewSubscribeNotFound() + } else if retCode == common.SubscribeServiceUnavailableCode { + return common.NewSubscribeServiceUnavailable() + } else { + return common.NewSubscribeInternalServerError() + } } - return common.NewSubscribeInternalServerError() + return common.NewSubscribeCreated().WithPayload(resp) }) // Subscription: Unsubscribe api.CommonUnsubscribeHandler = common.UnsubscribeHandlerFunc( func(p common.UnsubscribeParams) middleware.Responder { - Logger.Error("Unsubscribe: SubscriptionID=%+v", p.SubscriptionID) - if err := delSubscription(p.SubscriptionID); err == nil { - return common.NewUnsubscribeNoContent() + retCode := delSubscription(p.SubscriptionID) + if retCode != common.UnsubscribeNoContentCode { + if retCode == common.UnsubscribeBadRequestCode { + return common.NewUnsubscribeBadRequest() + } else { + return common.NewUnsubscribeInternalServerError() + } } - return common.NewUnsubscribeInternalServerError() + return common.NewUnsubscribeNoContent() }) server := restapi.NewServer(api) @@ -199,7 +211,6 @@ func (r *Subscriber) Subscribe(p *apimodel.SubscriptionParams) (*apimodel.Subscr if err != nil { return &apimodel.SubscriptionResponse{}, err } - return result.Payload, err }