mirror of
https://github.com/koloideal/Quizzi.git
synced 2026-06-10 10:25:28 +03:00
Initial commit
This commit is contained in:
@@ -0,0 +1,29 @@
|
|||||||
|
"""test fix
|
||||||
|
|
||||||
|
Revision ID: bec177451434
|
||||||
|
Revises: a879badde4a5
|
||||||
|
Create Date: 2026-01-02 21:54:33.772279
|
||||||
|
|
||||||
|
"""
|
||||||
|
from collections.abc import Sequence
|
||||||
|
|
||||||
|
from alembic import op
|
||||||
|
import sqlalchemy as sa
|
||||||
|
|
||||||
|
|
||||||
|
revision: str = 'bec177451434'
|
||||||
|
down_revision: str | None = 'a879badde4a5'
|
||||||
|
branch_labels: str | Sequence[str] | None = None
|
||||||
|
depends_on: str | Sequence[str] | None = None
|
||||||
|
|
||||||
|
|
||||||
|
def upgrade() -> None:
|
||||||
|
# ### commands auto generated by Alembic - please adjust! ###
|
||||||
|
op.add_column('tests', sa.Column('attempts', sa.Integer(), nullable=True))
|
||||||
|
# ### end Alembic commands ###
|
||||||
|
|
||||||
|
|
||||||
|
def downgrade() -> None:
|
||||||
|
# ### commands auto generated by Alembic - please adjust! ###
|
||||||
|
op.drop_column('tests', 'attempts')
|
||||||
|
# ### end Alembic commands ###
|
||||||
@@ -31,6 +31,7 @@ class Test:
|
|||||||
for_group: int | None = None
|
for_group: int | None = None
|
||||||
password: str | None = None
|
password: str | None = None
|
||||||
expires_at: datetime | None = None
|
expires_at: datetime | None = None
|
||||||
|
attempts: int | None = None
|
||||||
is_active: bool = True
|
is_active: bool = True
|
||||||
created_at: datetime | None = None
|
created_at: datetime | None = None
|
||||||
updated_at: datetime | None = None
|
updated_at: datetime | None = None
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ class TestDAO:
|
|||||||
for_group: int | None = None,
|
for_group: int | None = None,
|
||||||
password: str | None = None,
|
password: str | None = None,
|
||||||
expires_at: datetime | None = None,
|
expires_at: datetime | None = None,
|
||||||
|
attempts: int | None = None,
|
||||||
is_active: bool = True,
|
is_active: bool = True,
|
||||||
) -> DomainTest:
|
) -> DomainTest:
|
||||||
test = Test(
|
test = Test(
|
||||||
@@ -41,6 +42,7 @@ class TestDAO:
|
|||||||
for_group=for_group,
|
for_group=for_group,
|
||||||
password=password,
|
password=password,
|
||||||
expires_at=expires_at,
|
expires_at=expires_at,
|
||||||
|
attempts=attempts,
|
||||||
is_active=is_active,
|
is_active=is_active,
|
||||||
)
|
)
|
||||||
self.session.add(test)
|
self.session.add(test)
|
||||||
@@ -56,6 +58,7 @@ class TestDAO:
|
|||||||
for_group: int | None = None,
|
for_group: int | None = None,
|
||||||
password: str | None = None,
|
password: str | None = None,
|
||||||
expires_at: datetime | None = None,
|
expires_at: datetime | None = None,
|
||||||
|
attempts: int | None = None,
|
||||||
is_active: bool | None = None,
|
is_active: bool | None = None,
|
||||||
) -> DomainTest | None:
|
) -> DomainTest | None:
|
||||||
result = await self.session.execute(
|
result = await self.session.execute(
|
||||||
@@ -75,6 +78,8 @@ class TestDAO:
|
|||||||
test.password = password
|
test.password = password
|
||||||
if expires_at is not None:
|
if expires_at is not None:
|
||||||
test.expires_at = expires_at
|
test.expires_at = expires_at
|
||||||
|
if attempts is not None:
|
||||||
|
test.attempts = attempts
|
||||||
if is_active is not None:
|
if is_active is not None:
|
||||||
test.is_active = is_active
|
test.is_active = is_active
|
||||||
|
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ class TestDTO:
|
|||||||
for_group=self.model.for_group,
|
for_group=self.model.for_group,
|
||||||
password=self.model.password,
|
password=self.model.password,
|
||||||
expires_at=self.model.expires_at,
|
expires_at=self.model.expires_at,
|
||||||
|
attempts=self.model.attempts,
|
||||||
is_active=self.model.is_active,
|
is_active=self.model.is_active,
|
||||||
created_at=self.model.created_at,
|
created_at=self.model.created_at,
|
||||||
updated_at=self.model.updated_at,
|
updated_at=self.model.updated_at,
|
||||||
|
|||||||
@@ -59,6 +59,7 @@ class Test(Base):
|
|||||||
for_group: Mapped[int | None] = mapped_column(default=None)
|
for_group: Mapped[int | None] = mapped_column(default=None)
|
||||||
password: Mapped[str | None] = mapped_column(String(255), default=None)
|
password: Mapped[str | None] = mapped_column(String(255), default=None)
|
||||||
expires_at: Mapped[datetime | None] = mapped_column(default=None)
|
expires_at: Mapped[datetime | None] = mapped_column(default=None)
|
||||||
|
attempts: Mapped[int | None] = mapped_column(Integer, default=None)
|
||||||
is_active: Mapped[bool] = mapped_column(default=True)
|
is_active: Mapped[bool] = mapped_column(default=True)
|
||||||
created_at: Mapped[datetime] = mapped_column(server_default=func.now())
|
created_at: Mapped[datetime] = mapped_column(server_default=func.now())
|
||||||
updated_at: Mapped[datetime] = mapped_column(server_default=func.now(), onupdate=func.now())
|
updated_at: Mapped[datetime] = mapped_column(server_default=func.now(), onupdate=func.now())
|
||||||
|
|||||||
Reference in New Issue
Block a user