revert and try again

This commit is contained in:
Kenneth Kehl
2024-10-17 11:24:10 -07:00
parent 9a98db12da
commit 6bc20acba0

View File

@@ -1,4 +1,4 @@
from sqlalchemy import and_, select, update from sqlalchemy import select
from app import db from app import db
from app.dao.dao_utils import autocommit from app.dao.dao_utils import autocommit
@@ -14,17 +14,15 @@ def dao_get_available_inbound_numbers():
stmt = select(InboundNumber).filter( stmt = select(InboundNumber).filter(
InboundNumber.active, InboundNumber.service_id.is_(None) InboundNumber.active, InboundNumber.service_id.is_(None)
) )
return db.session.execute(stmt).scalars().all() return db.session.execute(stmt).all()
def dao_get_inbound_number_for_service(service_id): def dao_get_inbound_number_for_service(service_id):
stmt = select(InboundNumber).filter(InboundNumber.service_id == service_id) return InboundNumber.query.filter(InboundNumber.service_id == service_id).first()
return db.session.execute(stmt).scalars().first()
def dao_get_inbound_number(inbound_number_id): def dao_get_inbound_number(inbound_number_id):
stmt = select(InboundNumber).filter(InboundNumber.id == inbound_number_id) return InboundNumber.query.filter(InboundNumber.id == inbound_number_id).first()
return db.session.execute(stmt).scalars().first()
@autocommit @autocommit
@@ -35,8 +33,9 @@ def dao_set_inbound_number_to_service(service_id, inbound_number):
@autocommit @autocommit
def dao_set_inbound_number_active_flag(service_id, active): def dao_set_inbound_number_active_flag(service_id, active):
stmt = select(InboundNumber).filter(InboundNumber.service_id == service_id) inbound_number = InboundNumber.query.filter(
inbound_number = db.session.execute(stmt).scalars().first() InboundNumber.service_id == service_id
).first()
inbound_number.active = active inbound_number.active = active
db.session.add(inbound_number) db.session.add(inbound_number)
@@ -44,19 +43,9 @@ def dao_set_inbound_number_active_flag(service_id, active):
@autocommit @autocommit
def dao_allocate_number_for_service(service_id, inbound_number_id): def dao_allocate_number_for_service(service_id, inbound_number_id):
stmt = ( updated = InboundNumber.query.filter_by(
update(InboundNumber) id=inbound_number_id, active=True, service_id=None
.where( ).update({"service_id": service_id})
and_( if not updated:
InboundNumber.id == inbound_number_id,
InboundNumber.active is True,
InboundNumber.service_id is None,
)
)
.values({"service_id": service_id})
)
result = db.session.execute(stmt)
db.session.commit()
if not result.rowcount == 0:
raise Exception("Inbound number: {} is not available".format(inbound_number_id)) raise Exception("Inbound number: {} is not available".format(inbound_number_id))
return db.session.get(InboundNumber, inbound_number_id) return InboundNumber.query.get(inbound_number_id)