mirror of
https://github.com/GSA/notifications-api.git
synced 2026-09-11 18:38:14 -04:00
sqlalchemy 2.0 changes
This commit is contained in:
+18
-11
@@ -2,7 +2,7 @@ import uuid
|
||||
from datetime import datetime, timedelta
|
||||
|
||||
from flask import current_app
|
||||
from sqlalchemy import Float, cast
|
||||
from sqlalchemy import Float, cast, select
|
||||
from sqlalchemy.orm import joinedload
|
||||
from sqlalchemy.sql.expression import and_, asc, case, func
|
||||
|
||||
@@ -48,7 +48,9 @@ from app.utils import (
|
||||
|
||||
|
||||
def dao_fetch_all_services(only_active=False):
|
||||
query = Service.query.order_by(asc(Service.created_at)).options(joinedload("users"))
|
||||
query = Service.query.order_by(asc(Service.created_at)).options(
|
||||
joinedload(Service.users)
|
||||
)
|
||||
|
||||
if only_active:
|
||||
query = query.filter(Service.active)
|
||||
@@ -174,12 +176,17 @@ def dao_fetch_live_services_data():
|
||||
|
||||
|
||||
def dao_fetch_service_by_id(service_id, only_active=False):
|
||||
query = Service.query.filter_by(id=service_id).options(joinedload("users"))
|
||||
stmt = (
|
||||
select(Service)
|
||||
.options(joinedload(Service.users))
|
||||
.where(Service.id == service_id)
|
||||
)
|
||||
|
||||
if only_active:
|
||||
query = query.filter(Service.active)
|
||||
stmt = stmt.where(Service.active)
|
||||
|
||||
return query.one()
|
||||
result = db.session.execute(stmt)
|
||||
return result.unique().scalars().first()
|
||||
|
||||
|
||||
def dao_fetch_service_by_inbound_number(number):
|
||||
@@ -194,7 +201,7 @@ def dao_fetch_service_by_inbound_number(number):
|
||||
|
||||
|
||||
def dao_fetch_service_by_id_with_api_keys(service_id, only_active=False):
|
||||
query = Service.query.filter_by(id=service_id).options(joinedload("api_keys"))
|
||||
query = Service.query.filter_by(id=service_id).options(joinedload(Service.api_keys))
|
||||
|
||||
if only_active:
|
||||
query = query.filter(Service.active)
|
||||
@@ -234,9 +241,9 @@ def dao_archive_service(service_id):
|
||||
# to ensure that db.session still contains the models when it comes to creating history objects
|
||||
service = (
|
||||
Service.query.options(
|
||||
joinedload("templates"),
|
||||
joinedload("templates.template_redacted"),
|
||||
joinedload("api_keys"),
|
||||
joinedload(Service.templates),
|
||||
joinedload(Service.templates.template_redacted),
|
||||
joinedload(Service.api_keys),
|
||||
)
|
||||
.filter(Service.id == service_id)
|
||||
.one()
|
||||
@@ -258,7 +265,7 @@ def dao_archive_service(service_id):
|
||||
def dao_fetch_service_by_id_and_user(service_id, user_id):
|
||||
return (
|
||||
Service.query.filter(Service.users.any(id=user_id), Service.id == service_id)
|
||||
.options(joinedload("users"))
|
||||
.options(joinedload(Service.users))
|
||||
.one()
|
||||
)
|
||||
|
||||
@@ -478,7 +485,7 @@ def dao_suspend_service(service_id):
|
||||
# to ensure that db.session still contains the models when it comes to creating history objects
|
||||
service = (
|
||||
Service.query.options(
|
||||
joinedload("api_keys"),
|
||||
joinedload(Service.api_keys),
|
||||
)
|
||||
.filter(Service.id == service_id)
|
||||
.one()
|
||||
|
||||
Reference in New Issue
Block a user