from typing import List from .factory import ProjectSupervisorFactory, YearGroupProjectSupervisorsFactory from ..app.dependencies import db from ..app.project_supervisor.models import YearGroup from ..app.base.mode import ModeGroups def create_year_group(data: dict = None) -> YearGroup: if data is None: data = {'mode': ModeGroups.STATIONARY.value, 'name': '2022/2023'} yg = YearGroup(**data) db.session.add(yg) db.session.commit() return yg def create_project_supervisors(yg: YearGroup, amount: int) -> List[ProjectSupervisorFactory]: ps = [ProjectSupervisorFactory() for _ in range(amount)] db.session.add_all(ps) db.session.commit() db.session.add_all( [YearGroupProjectSupervisorsFactory(limit_group=3, year_group_id=yg.id, project_supervisor_id=p.id) for p in ps]) db.session.commit() return ps