move dao_create/dao_update fn to dao_utils

they're totally generic anyway
This commit is contained in:
Leo Hemsted
2020-08-14 17:37:16 +01:00
parent bdf2253298
commit 2e8a7c2444
3 changed files with 11 additions and 19 deletions

View File

@@ -3,13 +3,12 @@ from datetime import datetime
import iso8601 import iso8601
from flask import Blueprint, jsonify, request, current_app from flask import Blueprint, jsonify, request, current_app
from app.config import QueueNames 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.templates_dao import dao_get_template_by_id_and_service_id
from app.dao.users_dao import get_user_by_id from app.dao.users_dao import get_user_by_id
from app.dao.broadcast_message_dao import ( from app.dao.broadcast_message_dao import (
dao_create_broadcast_message,
dao_get_broadcast_message_by_id_and_service_id, dao_get_broadcast_message_by_id_and_service_id,
dao_get_broadcast_messages_for_service, dao_get_broadcast_messages_for_service,
dao_update_broadcast_message,
) )
from app.dao.services_dao import dao_fetch_service_by_id from app.dao.services_dao import dao_fetch_service_by_id
from app.errors import register_errors, InvalidRequest from app.errors import register_errors, InvalidRequest
@@ -109,7 +108,7 @@ def create_broadcast_message(service_id):
created_by_id=user.id, created_by_id=user.id,
) )
dao_create_broadcast_message(broadcast_message) dao_save_object(broadcast_message)
return jsonify(broadcast_message.serialize()), 201 return jsonify(broadcast_message.serialize()), 201
@@ -137,7 +136,7 @@ def update_broadcast_message(service_id, broadcast_message_id):
if 'areas' in data: if 'areas' in data:
broadcast_message.areas = data['areas'] broadcast_message.areas = data['areas']
dao_update_broadcast_message(broadcast_message) dao_save_object(broadcast_message)
return jsonify(broadcast_message.serialize()), 200 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']) updating_user = get_user_by_id(data['created_by'])
_update_broadcast_message(broadcast_message, new_status, updating_user) _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}: if new_status in {BroadcastStatusType.BROADCASTING, BroadcastStatusType.CANCELLED}:
_create_broadcast_event(broadcast_message) _create_broadcast_event(broadcast_message)
@@ -193,8 +192,7 @@ def _create_broadcast_event(broadcast_message):
transmitted_finishes_at=transmitted_finishes_at, transmitted_finishes_at=transmitted_finishes_at,
) )
# save to the DB dao_save_object(event)
dao_create_broadcast_message(event)
send_broadcast_event.apply_async( send_broadcast_event.apply_async(
kwargs={'broadcast_event_id': str(event.id)}, kwargs={'broadcast_event_id': str(event.id)},

View File

@@ -1,16 +1,4 @@
from app import db
from app.models import BroadcastMessage, BroadcastEvent 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): def dao_get_broadcast_message_by_id_and_service_id(broadcast_message_id, service_id):

View File

@@ -73,3 +73,9 @@ def version_class(*version_options):
def dao_rollback(): def dao_rollback():
db.session.rollback() db.session.rollback()
@transactional
def dao_save_object(obj):
# add/update object in db
db.session.add(obj)