This commit is contained in:
@@ -0,0 +1,32 @@
|
|||||||
|
"""File holds all model definitions of SQL tables."""
|
||||||
|
|
||||||
|
from sqlalchemy.dialects.mysql import BIGINT, VARCHAR
|
||||||
|
from sqlmodel import Column, Field, SQLModel
|
||||||
|
|
||||||
|
|
||||||
|
class ElectionInformation(SQLModel, table=True):
|
||||||
|
"""Represents all required information for an election.
|
||||||
|
|
||||||
|
Attributes:
|
||||||
|
name: Name of the election.
|
||||||
|
thread_id: Thread of where all the election related messages take place.
|
||||||
|
council_vote_msg_id: Message where the council vote is presented.
|
||||||
|
high_council_vote_msg_id: Message where the high council vote is presented.
|
||||||
|
council_nomination_msg_id: Message where council nomination button is held.
|
||||||
|
high_council_nomination_msg_id: Message where high council nomination button is held.
|
||||||
|
"""
|
||||||
|
|
||||||
|
name: str = Field(sa_column=Column("ElectionName", VARCHAR, primary_key=True, unique=True), max_length=30)
|
||||||
|
thread_id: int = Field(sa_column=Column("ThreadId", BIGINT(unsigned=True), nullable=False))
|
||||||
|
council_vote_msg_id: int | None = Field(
|
||||||
|
sa_column=Column("CouncilVoteMsgId", BIGINT(unsigned=True), nullable=True), default=None
|
||||||
|
)
|
||||||
|
high_council_vote_msg_id: int | None = Field(
|
||||||
|
sa_column=Column("HighCouncilVoteMsgId", BIGINT(unsigned=True), nullable=True), default=None
|
||||||
|
)
|
||||||
|
council_nomination_msg_id: int | None = Field(
|
||||||
|
sa_column=Column("CouncilNominationMsgId", BIGINT(unsigned=True), nullable=True), default=None
|
||||||
|
)
|
||||||
|
high_council_nomination_msg_id: int | None = Field(
|
||||||
|
sa_column=Column("HighCouncilNominationMsgId", BIGINT(unsigned=True), nullable=True), default=None
|
||||||
|
)
|
||||||
Reference in New Issue
Block a user