NotFound,
InternalServerError,
HTTPException,
+ Conflict,
)
super().__init__(description=desc, response=resp)
+class ConflictException(Conflict):
+ def __init__(self, desc=None, resp=None):
+ super().__init__(description=desc, response=resp)
+
+
class ProblemDetails():
def __init__(self, code: int, detail: str,
title=None, instance=None
problem = ProblemDetails(404, str(error))
return problem.serialize(), 404
+ @app.errorhandler(ConflictException)
+ def handle_conflict_exception(error):
+ '''Return a custom message and 409 status code'''
+ problem = ProblemDetails(409, str(error))
+ return problem.serialize(), 409
+
@app.errorhandler(MethodNotAllowed)
def handle_methodnotallowed_exception(error):
'''Return a custom message and 405 status code'''
from o2common.service import unit_of_work, messagebus
from o2common.views.view import gen_filter, check_filter
from o2common.views.pagination_view import Pagination
-from o2common.views.route_exception import BadRequestException, \
- NotFoundException
+from o2common.views.route_exception import (
+ BadRequestException,
+ ConflictException,
+ NotFoundException,
+)
from o2ims.domain import events
from o2ims.views.alarm_dto import SubscriptionDTO
'consumerSubscriptionId') == consumer_subs_id)
count, _ = uow.alarm_subscriptions.list_with_count(*args)
if count > 0:
- raise BadRequestException("The value of parameters is duplicated")
+ raise ConflictException("The value of parameters is duplicated")
uow.alarm_subscriptions.add(subscription)
uow.commit()
first = uow.alarm_subscriptions.get(sub_uuid)
from o2common.config import config
from o2common.views.view import gen_filter, check_filter
from o2common.views.pagination_view import Pagination
-from o2common.views.route_exception import BadRequestException, \
- NotFoundException
+from o2common.views.route_exception import (
+ BadRequestException,
+ ConflictException,
+ NotFoundException,
+)
from o2ims.domain import ocloud
from o2ims.views.ocloud_dto import SubscriptionDTO
'consumerSubscriptionId') == consumer_subs_id)
count, _ = uow.subscriptions.list_with_count(*args)
if count > 0:
- raise BadRequestException("The value of parameters is duplicated")
+ raise ConflictException("The value of parameters is duplicated")
uow.subscriptions.add(subscription)
uow.commit()
first = uow.subscriptions.get(sub_uuid)