fix template folder dao

This commit is contained in:
Kenneth Kehl
2024-10-14 08:34:29 -07:00
parent eac1122dae
commit 5a48c359c6
3 changed files with 33 additions and 22 deletions

View File

@@ -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)

View File

@@ -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

View File

@@ -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()