mirror of
https://github.com/GSA/notifications-api.git
synced 2026-08-23 15:56:45 -04:00
fix template folder dao
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
from sqlalchemy import delete, select
|
from sqlalchemy import delete, select, update
|
||||||
from sqlalchemy.sql.expression import func
|
from sqlalchemy.sql.expression import func
|
||||||
|
|
||||||
from app import db
|
from app import db
|
||||||
@@ -69,7 +69,8 @@ def dao_create_organization(organization):
|
|||||||
@autocommit
|
@autocommit
|
||||||
def dao_update_organization(organization_id, **kwargs):
|
def dao_update_organization(organization_id, **kwargs):
|
||||||
domains = kwargs.pop("domains", None)
|
domains = kwargs.pop("domains", None)
|
||||||
num_updated = Organization.query.filter_by(id=organization_id).update(kwargs)
|
stmt = update(Organization).where(id=organization_id).values(**kwargs)
|
||||||
|
num_updated = db.session.execute(stmt).rowcount
|
||||||
|
|
||||||
if isinstance(domains, list):
|
if isinstance(domains, list):
|
||||||
stmt = delete(Domain).filter_by(organization_id=organization_id)
|
stmt = delete(Domain).filter_by(organization_id=organization_id)
|
||||||
|
|||||||
@@ -1,16 +1,20 @@
|
|||||||
|
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
|
||||||
from app.models import TemplateFolder
|
from app.models import TemplateFolder
|
||||||
|
|
||||||
|
|
||||||
def dao_get_template_folder_by_id_and_service_id(template_folder_id, service_id):
|
def dao_get_template_folder_by_id_and_service_id(template_folder_id, service_id):
|
||||||
return TemplateFolder.query.filter(
|
stmt = select(TemplateFolder).filter(
|
||||||
TemplateFolder.id == template_folder_id, TemplateFolder.service_id == service_id
|
TemplateFolder.id == template_folder_id, TemplateFolder.service_id == service_id
|
||||||
).one()
|
)
|
||||||
|
return db.session.execute(stmt).scalars().one()
|
||||||
|
|
||||||
|
|
||||||
def dao_get_valid_template_folders_by_id(folder_ids):
|
def dao_get_valid_template_folders_by_id(folder_ids):
|
||||||
return TemplateFolder.query.filter(TemplateFolder.id.in_(folder_ids)).all()
|
stmt = select(TemplateFolder).filter(TemplateFolder.id.in_(folder_ids))
|
||||||
|
return db.session.execute(stmt).scalars().all()
|
||||||
|
|
||||||
|
|
||||||
@autocommit
|
@autocommit
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import uuid
|
import uuid
|
||||||
|
|
||||||
from sqlalchemy import asc, desc
|
from sqlalchemy import asc, desc, select
|
||||||
|
|
||||||
from app import db
|
from app import db
|
||||||
from app.dao.dao_utils import VersionOptions, autocommit, version_class
|
from app.dao.dao_utils import VersionOptions, autocommit, version_class
|
||||||
@@ -46,24 +46,29 @@ def dao_redact_template(template, user_id):
|
|||||||
|
|
||||||
def dao_get_template_by_id_and_service_id(template_id, service_id, version=None):
|
def dao_get_template_by_id_and_service_id(template_id, service_id, version=None):
|
||||||
if version is not None:
|
if version is not None:
|
||||||
return TemplateHistory.query.filter_by(
|
stmt = select(TemplateHistory).filter_by(
|
||||||
id=template_id, hidden=False, service_id=service_id, version=version
|
id=template_id, hidden=False, service_id=service_id, version=version
|
||||||
).one()
|
)
|
||||||
return Template.query.filter_by(
|
return db.session.execute(stmt).scalars().one()
|
||||||
|
stmt = select(Template).filter_by(
|
||||||
id=template_id, hidden=False, service_id=service_id
|
id=template_id, hidden=False, service_id=service_id
|
||||||
).one()
|
)
|
||||||
|
return db.session.execute(stmt).scalars().one()
|
||||||
|
|
||||||
|
|
||||||
def dao_get_template_by_id(template_id, version=None):
|
def dao_get_template_by_id(template_id, version=None):
|
||||||
if version is not None:
|
if version is not None:
|
||||||
return TemplateHistory.query.filter_by(id=template_id, version=version).one()
|
stmt = select(TemplateHistory).filter_by(id=template_id, version=version)
|
||||||
return Template.query.filter_by(id=template_id).one()
|
return db.session.execute(stmt).scalars().one()
|
||||||
|
stmt = select(Template).filter_by(id=template_id)
|
||||||
|
return db.session.execute(stmt).scalars().one()
|
||||||
|
|
||||||
|
|
||||||
def dao_get_all_templates_for_service(service_id, template_type=None):
|
def dao_get_all_templates_for_service(service_id, template_type=None):
|
||||||
if template_type is not None:
|
if template_type is not None:
|
||||||
return (
|
stmt = (
|
||||||
Template.query.filter_by(
|
select(Template)
|
||||||
|
.filter_by(
|
||||||
service_id=service_id,
|
service_id=service_id,
|
||||||
template_type=template_type,
|
template_type=template_type,
|
||||||
hidden=False,
|
hidden=False,
|
||||||
@@ -73,26 +78,27 @@ def dao_get_all_templates_for_service(service_id, template_type=None):
|
|||||||
asc(Template.name),
|
asc(Template.name),
|
||||||
asc(Template.template_type),
|
asc(Template.template_type),
|
||||||
)
|
)
|
||||||
.all()
|
|
||||||
)
|
)
|
||||||
|
return db.session.execute(stmt).scalars().all()
|
||||||
return (
|
stmt = (
|
||||||
Template.query.filter_by(service_id=service_id, hidden=False, archived=False)
|
select(Template)
|
||||||
|
.filter_by(service_id=service_id, hidden=False, archived=False)
|
||||||
.order_by(
|
.order_by(
|
||||||
asc(Template.name),
|
asc(Template.name),
|
||||||
asc(Template.template_type),
|
asc(Template.template_type),
|
||||||
)
|
)
|
||||||
.all()
|
|
||||||
)
|
)
|
||||||
|
return db.session.execute(stmt).scalars().all()
|
||||||
|
|
||||||
|
|
||||||
def dao_get_template_versions(service_id, template_id):
|
def dao_get_template_versions(service_id, template_id):
|
||||||
return (
|
stmt = (
|
||||||
TemplateHistory.query.filter_by(
|
select(TemplateHistory)
|
||||||
|
.filter_by(
|
||||||
service_id=service_id,
|
service_id=service_id,
|
||||||
id=template_id,
|
id=template_id,
|
||||||
hidden=False,
|
hidden=False,
|
||||||
)
|
)
|
||||||
.order_by(desc(TemplateHistory.version))
|
.order_by(desc(TemplateHistory.version))
|
||||||
.all()
|
|
||||||
)
|
)
|
||||||
|
return db.session.execute(stmt).scalars().all()
|
||||||
|
|||||||
Reference in New Issue
Block a user