Add rest of docstrings.
This commit is contained in:
@@ -41,6 +41,9 @@ class CategoryGroup(SQLModel, table=True):
|
|||||||
pad_length (int): The padding length for the category group, default is 12.
|
pad_length (int): The padding length for the category group, default is 12.
|
||||||
username_length (int): The username length for the category group, default is 12.
|
username_length (int): The username length for the category group, default is 12.
|
||||||
guild (Guild | None): The guild relationship back-populated from the Guild model.
|
guild (Guild | None): The guild relationship back-populated from the Guild model.
|
||||||
|
|
||||||
|
Table Constraints:
|
||||||
|
__table_args__: Unique constraint on guild_id and name to ensure unique category groups within a guild.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
__tablename__: str = "CategoryGroups"
|
__tablename__: str = "CategoryGroups"
|
||||||
@@ -66,9 +69,28 @@ class CategoryGroup(SQLModel, table=True):
|
|||||||
|
|
||||||
|
|
||||||
class Category(SQLModel, table=True):
|
class Category(SQLModel, table=True):
|
||||||
|
"""
|
||||||
|
Represents a category in the database.
|
||||||
|
|
||||||
|
Attributes:
|
||||||
|
id (int): The unique identifier for the category. Primary key.
|
||||||
|
name (str): The name of the category with a maximum length of 30 characters.
|
||||||
|
group_id (int): The identifier of the group to which the category belongs.
|
||||||
|
Foreign key referencing CategoryGroups.id.
|
||||||
|
size (int): The size attribute of the category, default is 3.
|
||||||
|
is_ascending (bool): Indicates if the category is in ascending order. Default is True.
|
||||||
|
is_time_record (bool): Indicates if the category is a time record. Default is False.
|
||||||
|
is_validated (bool): Indicates if the category is validated. Default is True.
|
||||||
|
category_group (CategoryGroup | None): The relationship to the CategoryGroup model.
|
||||||
|
scores (list["Score"] | None): The relationship to the Score model with cascade delete enabled.
|
||||||
|
|
||||||
|
Table Constraints:
|
||||||
|
__table_args__: Unique constraint on group_id and name to ensure unique category names within a group.
|
||||||
|
"""
|
||||||
|
|
||||||
__tablename__: str = "Categories"
|
__tablename__: str = "Categories"
|
||||||
|
|
||||||
id: int | None = Field(default=None, primary_key=True)
|
id: int = Field(default=None, primary_key=True)
|
||||||
name: str = Field(max_length=30)
|
name: str = Field(max_length=30)
|
||||||
group_id: int = Field(
|
group_id: int = Field(
|
||||||
sa_column=Column(
|
sa_column=Column(
|
||||||
@@ -89,6 +111,18 @@ class Category(SQLModel, table=True):
|
|||||||
|
|
||||||
|
|
||||||
class Score(SQLModel, table=True):
|
class Score(SQLModel, table=True):
|
||||||
|
"""
|
||||||
|
Represents a score entry in the database.
|
||||||
|
|
||||||
|
Attributes:
|
||||||
|
username (str): The username associated with the score. This is a primary key.
|
||||||
|
score (float): The score value.
|
||||||
|
category_id (int): The ID of the category this score belongs to. This is a primary key and a foreign key
|
||||||
|
referencing the Categories table.
|
||||||
|
category (Category | None): The relationship to the Category model, back-populated by the scores attribute
|
||||||
|
in the Category model.
|
||||||
|
"""
|
||||||
|
|
||||||
__tablename__: str = "Scores"
|
__tablename__: str = "Scores"
|
||||||
|
|
||||||
username: str = Field(max_length=30, nullable=False, primary_key=True)
|
username: str = Field(max_length=30, nullable=False, primary_key=True)
|
||||||
@@ -106,6 +140,19 @@ class Score(SQLModel, table=True):
|
|||||||
|
|
||||||
|
|
||||||
class Submission(SQLModel, table=True):
|
class Submission(SQLModel, table=True):
|
||||||
|
"""
|
||||||
|
Represents a submission in the database.
|
||||||
|
|
||||||
|
Attributes:
|
||||||
|
category_id (int): The ID of the category. This is a primary key.
|
||||||
|
group_id (int): The ID of the group.
|
||||||
|
guild_id (int): The ID of the guild.
|
||||||
|
message_id (int): The ID of the message.
|
||||||
|
score (str): The score of the submission, with a maximum length of 30 characters.
|
||||||
|
user_id (int): The ID of the user.
|
||||||
|
username (str): The username of the user. This is a primary key.
|
||||||
|
"""
|
||||||
|
|
||||||
__tablename__: str = "Submissions"
|
__tablename__: str = "Submissions"
|
||||||
|
|
||||||
category_id: int = Field(
|
category_id: int = Field(
|
||||||
|
|||||||
Reference in New Issue
Block a user