2024-11-15 09:23:28 -08:00
|
|
|
from sqlalchemy import select
|
|
|
|
|
|
2021-03-10 13:55:06 +00:00
|
|
|
from app import create_uuid, db
|
2021-04-14 07:11:01 +01:00
|
|
|
from app.dao.dao_utils import autocommit, version_class
|
2024-01-15 16:45:55 -05:00
|
|
|
from app.enums import CallbackType
|
2024-01-16 07:37:21 -05:00
|
|
|
from app.models import ServiceCallbackApi
|
2024-05-23 13:59:51 -07:00
|
|
|
from app.utils import utc_now
|
2024-11-15 09:23:28 -08:00
|
|
|
|
2017-11-29 15:58:11 +00:00
|
|
|
|
2021-04-14 07:11:01 +01: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()
|
2024-05-23 13:59:51 -07:00
|
|
|
service_callback_api.created_at = utc_now()
|
2017-11-29 15:58:11 +00:00
|
|
|
db.session.add(service_callback_api)
|
|
|
|
|
|
|
|
|
|
|
2021-04-14 07:11:01 +01:00
|
|
|
@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
|
2024-05-23 13:59:51 -07:00
|
|
|
service_callback_api.updated_at = utc_now()
|
2017-11-29 15:58:11 +00:00
|
|
|
|
|
|
|
|
db.session.add(service_callback_api)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def get_service_callback_api(service_callback_api_id, service_id):
|
2024-11-15 09:23:28 -08:00
|
|
|
return (
|
|
|
|
|
db.session.execute(
|
2024-12-19 11:10:03 -08:00
|
|
|
select(ServiceCallbackApi).where(
|
|
|
|
|
ServiceCallbackApi.id == service_callback_api_id,
|
|
|
|
|
ServiceCallbackApi.service_id == service_id,
|
2024-11-15 09:23:28 -08:00
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
.scalars()
|
|
|
|
|
.first()
|
|
|
|
|
)
|
2017-11-29 15:58:11 +00:00
|
|
|
|
|
|
|
|
|
2018-07-18 10:14:32 +01:00
|
|
|
def get_service_delivery_status_callback_api_for_service(service_id):
|
2024-11-15 09:23:28 -08:00
|
|
|
return (
|
|
|
|
|
db.session.execute(
|
2024-12-19 11:10:03 -08:00
|
|
|
select(ServiceCallbackApi).where(
|
|
|
|
|
ServiceCallbackApi.service_id == service_id,
|
|
|
|
|
ServiceCallbackApi.callback_type == CallbackType.DELIVERY_STATUS,
|
2024-11-15 09:23:28 -08:00
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
.scalars()
|
|
|
|
|
.first()
|
|
|
|
|
)
|
2018-07-05 11:09:17 +01:00
|
|
|
|
|
|
|
|
|
2018-07-18 17:03:16 +01:00
|
|
|
def get_service_complaint_callback_api_for_service(service_id):
|
2024-11-15 09:23:28 -08:00
|
|
|
return (
|
|
|
|
|
db.session.execute(
|
2024-12-19 11:10:03 -08:00
|
|
|
select(ServiceCallbackApi).where(
|
|
|
|
|
ServiceCallbackApi.service_id == service_id,
|
|
|
|
|
ServiceCallbackApi.callback_type == CallbackType.COMPLAINT,
|
2024-11-15 09:23:28 -08:00
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
.scalars()
|
|
|
|
|
.first()
|
|
|
|
|
)
|
2018-07-18 17:03:16 +01:00
|
|
|
|
|
|
|
|
|
2021-04-14 07:11:01 +01:00
|
|
|
@autocommit
|
2018-07-05 11:09:17 +01:00
|
|
|
def delete_service_callback_api(service_callback_api):
|
|
|
|
|
db.session.delete(service_callback_api)
|