refactor: renamed built_in_modules into modules
This commit is contained in:
@ -1,5 +1,5 @@
|
||||
from .board import BoardRepository as BoardRepository
|
||||
from .built_in_module import BuiltInModuleRepository as BuiltInModuleRepository
|
||||
from .module import ModuleRepository as ModuleRepository
|
||||
from .deal import DealRepository as DealRepository
|
||||
from .deal_group import DealGroupRepository as DealGroupRepository
|
||||
from .deal_tag import DealTagRepository as DealTagRepository
|
||||
|
||||
@ -1,18 +0,0 @@
|
||||
from models import Board, BuiltInModule
|
||||
from repositories.mixins import *
|
||||
|
||||
|
||||
class BuiltInModuleRepository(
|
||||
BaseRepository,
|
||||
RepGetAllMixin[BuiltInModule],
|
||||
):
|
||||
entity_class = BuiltInModule
|
||||
|
||||
def _process_get_all_stmt_with_args(self, stmt: Select, *args) -> Select:
|
||||
project_id = args[0]
|
||||
return stmt.where(Board.project_id == project_id).order_by(Board.lexorank)
|
||||
|
||||
async def get_by_ids(self, ids: list[int]) -> list[BuiltInModule]:
|
||||
stmt = select(BuiltInModule).where(BuiltInModule.id.in_(ids))
|
||||
built_in_modules = await self.session.scalars(stmt)
|
||||
return built_in_modules.all()
|
||||
18
repositories/module.py
Normal file
18
repositories/module.py
Normal file
@ -0,0 +1,18 @@
|
||||
from models import Board, Module
|
||||
from repositories.mixins import *
|
||||
|
||||
|
||||
class ModuleRepository(
|
||||
BaseRepository,
|
||||
RepGetAllMixin[Module],
|
||||
):
|
||||
entity_class = Module
|
||||
|
||||
def _process_get_all_stmt_with_args(self, stmt: Select, *args) -> Select:
|
||||
project_id = args[0]
|
||||
return stmt.where(Board.project_id == project_id).order_by(Board.lexorank)
|
||||
|
||||
async def get_by_ids(self, ids: list[int]) -> list[Module]:
|
||||
stmt = select(Module).where(Module.id.in_(ids))
|
||||
modules = await self.session.scalars(stmt)
|
||||
return modules.all()
|
||||
@ -2,7 +2,7 @@ from sqlalchemy.orm import selectinload
|
||||
|
||||
from models import DealTag
|
||||
from models.project import Project
|
||||
from repositories.built_in_module import BuiltInModuleRepository
|
||||
from repositories.module import ModuleRepository
|
||||
from repositories.mixins import *
|
||||
from schemas.project import CreateProjectSchema, UpdateProjectSchema
|
||||
|
||||
@ -26,10 +26,10 @@ class ProjectRepository(
|
||||
return self._apply_options(stmt)
|
||||
|
||||
async def update(self, project: Project, data: UpdateProjectSchema) -> Project:
|
||||
if data.built_in_modules is not None:
|
||||
built_in_modules = data.built_in_modules
|
||||
module_ids = [module.id for module in built_in_modules]
|
||||
data.built_in_modules = await BuiltInModuleRepository(
|
||||
if data.modules is not None:
|
||||
modules = data.modules
|
||||
module_ids = [module.id for module in modules]
|
||||
data.modules = await ModuleRepository(
|
||||
self.session
|
||||
).get_by_ids(module_ids)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user