This commit is contained in:
2026-01-02 21:31:44 +03:00
parent 8e38fd6d56
commit a0e9467b0d
11 changed files with 103 additions and 20 deletions
@@ -18,7 +18,9 @@ class TestDAO:
return TestDTO(model).to_domain() if model else None
async def get_all(self) -> list[DomainTest]:
result = await self.session.execute(select(Test))
result = await self.session.execute(
select(Test).order_by(Test.id)
)
models = list(result.scalars().all())
return [TestDTO(model).to_domain() for model in models]
@@ -28,6 +28,7 @@ class UserDAO:
first_name: str,
username: str | None = None,
last_name: str | None = None,
name: str | None = None,
group: int | None = None,
is_admin: bool = False,
) -> DomainUser:
@@ -36,6 +37,7 @@ class UserDAO:
username=username,
first_name=first_name,
last_name=last_name,
name=name,
group=group,
is_admin=is_admin,
)
@@ -50,6 +52,7 @@ class UserDAO:
username: str | None = None,
first_name: str | None = None,
last_name: str | None = None,
name: str | None = None,
group: int | None = None,
is_admin: bool | None = None,
) -> DomainUser | None:
@@ -66,6 +69,8 @@ class UserDAO:
user.first_name = first_name
if last_name is not None:
user.last_name = last_name
if name is not None:
user.name = name
if group is not None:
user.group = group
if is_admin is not None:
@@ -93,6 +98,7 @@ class UserDAO:
first_name: str,
username: str | None = None,
last_name: str | None = None,
name: str | None = None,
group: int | None = None,
is_admin: bool = False,
) -> DomainUser:
@@ -108,6 +114,8 @@ class UserDAO:
user.first_name = first_name
if last_name is not None:
user.last_name = last_name
if name is not None:
user.name = name
if group is not None:
user.group = group
if is_admin is not None:
@@ -121,6 +129,7 @@ class UserDAO:
username=username,
first_name=first_name,
last_name=last_name,
name=name,
group=group,
is_admin=is_admin,
)
@@ -12,6 +12,7 @@ class UserDTO:
username=self.model.username,
first_name=self.model.first_name,
last_name=self.model.last_name,
name=self.model.name,
group=self.model.group,
is_admin=self.model.is_admin,
created_at=self.model.created_at,
@@ -19,6 +19,7 @@ class User(Base):
username: Mapped[str | None] = mapped_column(String(32))
first_name: Mapped[str] = mapped_column(String(64))
last_name: Mapped[str | None] = mapped_column(String(64))
name: Mapped[str | None] = mapped_column(String(128))
group: Mapped[int | None] = mapped_column(CheckConstraint("group >= 1000 AND group <= 9999"))
is_admin: Mapped[bool] = mapped_column(default=False)
created_at: Mapped[datetime] = mapped_column(server_default=func.now())