migrator completed

This commit is contained in:
2024-11-14 18:11:53 +03:00
parent ac037ae54a
commit 1ae1264ace
23 changed files with 439 additions and 207 deletions

View File

@@ -9,10 +9,10 @@ from sqlalchemy.orm import (
Mapped,
mapped_column,
)
from databases.sql_models.core_mixin import BaseCollection
from databases.sql_models.core_mixin import CrudCollection
class ApiEnumDropdown(BaseCollection):
class ApiEnumDropdown(CrudCollection):
__tablename__ = "api_enum_dropdown"
__exclude__fields__ = ["enum_class"]
@@ -31,35 +31,30 @@ class ApiEnumDropdown(BaseCollection):
@classmethod
def get_by_uuid(cls, uuid: str):
return cls.query.filter(cls.uu_id == uuid).first()
return cls.filter_by_one(system=True, uu_id=str(uuid)).data
@classmethod
def get_debit_search(cls, search_debit: str = None, search_uu_id: str = None):
if search_uu_id:
if search := cls.query.filter(
cls.enum_class.in_(["DebitTypes"]),
cls.uu_id == search_uu_id,
cls.active == True,
).first():
if search := cls.filter_one(
cls.enum_class.in_(["DebitTypes"]), cls.uu_id == search_uu_id, system=True
).data:
return search
elif search_debit:
if search := cls.query.filter(
cls.enum_class.in_(["DebitTypes"]),
cls.key == search_debit,
cls.active == True,
).first():
if search := cls.filter_one(
cls.enum_class.in_(["DebitTypes"]), cls.key == search_debit, system=True
).data:
return search
return cls.query.filter(
cls.enum_class.in_(["DebitTypes"]),
cls.active == True,
).all()
return cls.filter_all(
cls.enum_class.in_(["DebitTypes"]), system=True
).data
@classmethod
def get_due_types(cls):
if due_list := cls.filter_all(
cls.enum_class == "BuildDuesTypes",
cls.key.in_(["BDT-A", "BDT-D"]),
cls.active == True,
system=True
).data:
return [due.uu_id.__str__() for due in due_list]
raise HTTPException(
@@ -70,23 +65,21 @@ class ApiEnumDropdown(BaseCollection):
@classmethod
def due_type_search(cls, search_management: str = None, search_uu_id: str = None):
if search_uu_id:
if search := cls.query.filter(
cls.enum_class.in_(["BuildDuesTypes"]),
cls.uu_id == search_uu_id,
cls.active == True,
).first():
if search := cls.filter_one(
cls.enum_class.in_(["BuildDuesTypes"]), cls.uu_id == search_uu_id,
system=True
).data:
return search
elif search_management:
if search := cls.query.filter(
cls.enum_class.in_(["BuildDuesTypes"]),
cls.key == search_management,
cls.active == True,
).first():
if search := cls.filter_one(
cls.enum_class.in_(["BuildDuesTypes"]), cls.key == search_management,
system=True
).data:
return search
return cls.query.filter(
return cls.filter_all(
cls.enum_class.in_(["BuildDuesTypes"]),
cls.active == True,
).all()
system=True
).data
def get_enum_dict(self):
return {
@@ -101,7 +94,7 @@ class ApiEnumDropdown(BaseCollection):
def uuid_of_enum(cls, enum_class: str, key: str):
return str(
getattr(
cls.filter_one(cls.enum_class == enum_class, cls.key == key).data,
cls.filter_one(cls.enum_class == enum_class, cls.key == key, system=True).data,
"uu_id",
None,
)