import (
"e2mgr/e2managererrors"
"e2mgr/logger"
+ "e2mgr/managers"
"e2mgr/models"
"e2mgr/services"
"gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/common"
type DeleteEnbRequestHandler struct {
logger *logger.Logger
rNibDataService services.RNibDataService
+ ranListManager managers.RanListManager
}
-func NewDeleteEnbRequestHandler(logger *logger.Logger, rNibDataService services.RNibDataService) *DeleteEnbRequestHandler {
+func NewDeleteEnbRequestHandler(logger *logger.Logger, rNibDataService services.RNibDataService, ranListManager managers.RanListManager) *DeleteEnbRequestHandler {
return &DeleteEnbRequestHandler{
logger: logger,
rNibDataService: rNibDataService,
+ ranListManager: ranListManager,
}
}
return nil, e2managererrors.NewRequestValidationError()
}
+ if nodebInfo.GetSetupFromNetwork() {
+ h.logger.Errorf("#DeleteEnbRequestHandler.Handle - RAN name: %s - can't delete RAN which was created from network.", deleteEnbRequest.RanName)
+ return nil, e2managererrors.NewRequestValidationError()
+ }
err = h.rNibDataService.RemoveEnb(nodebInfo)
-
if err != nil {
h.logger.Errorf("#DeleteEnbRequestHandler.Handle - RAN name: %s - failed to delete nodeb entity in RNIB. Error: %s", deleteEnbRequest.RanName, err)
return nil, e2managererrors.NewRnibDbError()
}
+ err = h.ranListManager.RemoveNbIdentity(entities.Node_ENB, deleteEnbRequest.RanName)
+ if err != nil {
+ h.logger.Errorf("#DeleteEnbRequestHandler.Handle - RAN name: %s - failed to delete nbIdentity in RNIB. Error: %s", deleteEnbRequest.RanName, err)
+ return nil, e2managererrors.NewRnibDbError()
+ }
+
h.logger.Infof("#DeleteEnbRequestHandler.Handle - RAN name: %s - deleted successfully.", deleteEnbRequest.RanName)
- return models.NewDeleteEnbResponse(nodebInfo), nil
+ return models.NewNodebResponse(nodebInfo), nil
}
-