From 2e8a7c24442164f9fb58443a4cf64c94bfb7a2f1 Mon Sep 17 00:00:00 2001 From: Leo Hemsted Date: Fri, 14 Aug 2020 17:37:16 +0100 Subject: [PATCH] move dao_create/dao_update fn to dao_utils they're totally generic anyway --- app/broadcast_message/rest.py | 12 +++++------- app/dao/broadcast_message_dao.py | 12 ------------ app/dao/dao_utils.py | 6 ++++++ 3 files changed, 11 insertions(+), 19 deletions(-) diff --git a/app/broadcast_message/rest.py b/app/broadcast_message/rest.py index 322f6bce2..db7f459c8 100644 --- a/app/broadcast_message/rest.py +++ b/app/broadcast_message/rest.py @@ -3,13 +3,12 @@ from datetime import datetime import iso8601 from flask import Blueprint, jsonify, request, current_app from app.config import QueueNames +from app.dao.dao_utils import dao_save_object from app.dao.templates_dao import dao_get_template_by_id_and_service_id from app.dao.users_dao import get_user_by_id from app.dao.broadcast_message_dao import ( - dao_create_broadcast_message, dao_get_broadcast_message_by_id_and_service_id, dao_get_broadcast_messages_for_service, - dao_update_broadcast_message, ) from app.dao.services_dao import dao_fetch_service_by_id from app.errors import register_errors, InvalidRequest @@ -109,7 +108,7 @@ def create_broadcast_message(service_id): created_by_id=user.id, ) - dao_create_broadcast_message(broadcast_message) + dao_save_object(broadcast_message) return jsonify(broadcast_message.serialize()), 201 @@ -137,7 +136,7 @@ def update_broadcast_message(service_id, broadcast_message_id): if 'areas' in data: broadcast_message.areas = data['areas'] - dao_update_broadcast_message(broadcast_message) + dao_save_object(broadcast_message) return jsonify(broadcast_message.serialize()), 200 @@ -153,7 +152,7 @@ def update_broadcast_message_status(service_id, broadcast_message_id): updating_user = get_user_by_id(data['created_by']) _update_broadcast_message(broadcast_message, new_status, updating_user) - dao_update_broadcast_message(broadcast_message) + dao_save_object(broadcast_message) if new_status in {BroadcastStatusType.BROADCASTING, BroadcastStatusType.CANCELLED}: _create_broadcast_event(broadcast_message) @@ -193,8 +192,7 @@ def _create_broadcast_event(broadcast_message): transmitted_finishes_at=transmitted_finishes_at, ) - # save to the DB - dao_create_broadcast_message(event) + dao_save_object(event) send_broadcast_event.apply_async( kwargs={'broadcast_event_id': str(event.id)}, diff --git a/app/dao/broadcast_message_dao.py b/app/dao/broadcast_message_dao.py index 68b208352..0c7f560a7 100644 --- a/app/dao/broadcast_message_dao.py +++ b/app/dao/broadcast_message_dao.py @@ -1,16 +1,4 @@ -from app import db from app.models import BroadcastMessage, BroadcastEvent -from app.dao.dao_utils import transactional - - -@transactional -def dao_create_broadcast_message(broadcast_message): - db.session.add(broadcast_message) - - -@transactional -def dao_update_broadcast_message(broadcast_message): - db.session.add(broadcast_message) def dao_get_broadcast_message_by_id_and_service_id(broadcast_message_id, service_id): diff --git a/app/dao/dao_utils.py b/app/dao/dao_utils.py index d8a273ccf..f5515d8b6 100644 --- a/app/dao/dao_utils.py +++ b/app/dao/dao_utils.py @@ -73,3 +73,9 @@ def version_class(*version_options): def dao_rollback(): db.session.rollback() + + +@transactional +def dao_save_object(obj): + # add/update object in db + db.session.add(obj)