Add is_admin field

master
John Montagu, the 4th Earl of Sandvich 2025-05-13 17:55:13 -07:00
parent fcf8f7e3ce
commit cb9b6535c1
Signed by: sandvich
GPG Key ID: 9A39BE37E602B22D
2 changed files with 39 additions and 1 deletions

View File

@ -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 ###

View File

@ -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