From cb9b6535c1164c8c03d6e88e57ba2fa409cec021 Mon Sep 17 00:00:00 2001 From: HumanoidSandvichDispenser Date: Tue, 13 May 2025 17:55:13 -0700 Subject: [PATCH] Add is_admin field --- .../f8588cdf998e_add_is_admin_field.py | 32 +++++++++++++++++++ backend-flask/models/player.py | 8 ++++- 2 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 backend-flask/migrations/versions/f8588cdf998e_add_is_admin_field.py diff --git a/backend-flask/migrations/versions/f8588cdf998e_add_is_admin_field.py b/backend-flask/migrations/versions/f8588cdf998e_add_is_admin_field.py new file mode 100644 index 0000000..e6a8930 --- /dev/null +++ b/backend-flask/migrations/versions/f8588cdf998e_add_is_admin_field.py @@ -0,0 +1,32 @@ +"""Add is_admin field + +Revision ID: f8588cdf998e +Revises: 3b18d4bfc6ac +Create Date: 2025-05-13 17:15:53.887878 + +""" +from alembic import op +import sqlalchemy as sa + + +# revision identifiers, used by Alembic. +revision = 'f8588cdf998e' +down_revision = '3b18d4bfc6ac' +branch_labels = None +depends_on = None + + +def upgrade(): + # ### commands auto generated by Alembic - please adjust! ### + with op.batch_alter_table('players', schema=None) as batch_op: + batch_op.add_column(sa.Column('is_admin', sa.Boolean(), nullable=False, default=False)) + + # ### end Alembic commands ### + + +def downgrade(): + # ### commands auto generated by Alembic - please adjust! ### + with op.batch_alter_table('players', schema=None) as batch_op: + batch_op.drop_column('is_admin') + + # ### end Alembic commands ### diff --git a/backend-flask/models/player.py b/backend-flask/models/player.py index 7ed4e8a..331a057 100644 --- a/backend-flask/models/player.py +++ b/backend-flask/models/player.py @@ -12,6 +12,7 @@ class Player(app_db.BaseModel): steam_id: Mapped[int] = mapped_column(BigInteger, primary_key=True) username: Mapped[str] = mapped_column(String(63)) + is_admin: Mapped[bool] = mapped_column(default=False) teams: Mapped[list["PlayerTeam"]] = relationship(back_populates="player") auth_sessions: Mapped[list["AuthSession"]] = relationship(back_populates="player") @@ -23,10 +24,15 @@ class Player(app_db.BaseModel): class PlayerSchema(spec.BaseModel): steam_id: str username: str + is_admin: bool = False @classmethod def from_model(cls, player: Player): - return cls(steam_id=str(player.steam_id), username=player.username) + return cls( + steam_id=str(player.steam_id), + username=player.username, + is_admin=player.is_admin + ) from models.auth_session import AuthSession