Files
notifications-api/app/dao/service_callback_api_dao.py

56 lines
1.6 KiB
Python
Raw Normal View History

2017-11-29 15:58:11 +00:00
from datetime import datetime
2021-03-10 13:55:06 +00:00
from app import create_uuid, db
from app.dao.dao_utils import autocommit, version_class
2021-03-10 13:55:06 +00:00
from app.models import (
COMPLAINT_CALLBACK_TYPE,
DELIVERY_STATUS_CALLBACK_TYPE,
ServiceCallbackApi,
)
2017-11-29 15:58:11 +00:00
@autocommit
2017-11-29 15:58:11 +00:00
@version_class(ServiceCallbackApi)
def save_service_callback_api(service_callback_api):
service_callback_api.id = create_uuid()
2017-11-30 12:39:19 +00:00
service_callback_api.created_at = datetime.utcnow()
2017-11-29 15:58:11 +00:00
db.session.add(service_callback_api)
@autocommit
2017-11-29 15:58:11 +00:00
@version_class(ServiceCallbackApi)
2023-08-29 14:54:30 -07:00
def reset_service_callback_api(
service_callback_api, updated_by_id, url=None, bearer_token=None
):
2017-11-29 15:58:11 +00:00
if url:
service_callback_api.url = url
if bearer_token:
service_callback_api.bearer_token = bearer_token
service_callback_api.updated_by_id = updated_by_id
service_callback_api.updated_at = datetime.utcnow()
db.session.add(service_callback_api)
def get_service_callback_api(service_callback_api_id, service_id):
2023-08-29 14:54:30 -07:00
return ServiceCallbackApi.query.filter_by(
id=service_callback_api_id, service_id=service_id
).first()
2017-11-29 15:58:11 +00:00
def get_service_delivery_status_callback_api_for_service(service_id):
return ServiceCallbackApi.query.filter_by(
2023-08-29 14:54:30 -07:00
service_id=service_id, callback_type=DELIVERY_STATUS_CALLBACK_TYPE
).first()
def get_service_complaint_callback_api_for_service(service_id):
return ServiceCallbackApi.query.filter_by(
2023-08-29 14:54:30 -07:00
service_id=service_id, callback_type=COMPLAINT_CALLBACK_TYPE
).first()
@autocommit
def delete_service_callback_api(service_callback_api):
db.session.delete(service_callback_api)