feat(bot): ✨ Add past bans to p.user.
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
from tortoise import BaseDBAsyncClient
|
||||
|
||||
|
||||
async def upgrade(db: BaseDBAsyncClient) -> str:
|
||||
return """
|
||||
DROP INDEX "idx_ban_user_id_37a9cf";
|
||||
ALTER TABLE "ban" ADD "unbanned_by_id" BIGINT;
|
||||
CREATE INDEX "idx_ban_user_id_37a9cf" ON "ban" ("user_id", "expires_at");;
|
||||
ALTER TABLE "ban" ADD CONSTRAINT "fk_ban_user_e41857cf" FOREIGN KEY ("unbanned_by_id") REFERENCES "user" ("id") ON DELETE CASCADE;
|
||||
CREATE INDEX "idx_report_status_d6b157" ON "report" ("status", "priority");;"""
|
||||
|
||||
|
||||
async def downgrade(db: BaseDBAsyncClient) -> str:
|
||||
return """
|
||||
DROP INDEX "idx_report_status_d6b157";
|
||||
ALTER TABLE "ban" DROP CONSTRAINT "fk_ban_user_e41857cf";
|
||||
DROP INDEX "idx_ban_user_id_37a9cf";
|
||||
ALTER TABLE "ban" DROP COLUMN "unbanned_by_id";
|
||||
CREATE INDEX "idx_ban_user_id_37a9cf" ON "ban" ("user_id", "expires_at");"""
|
||||
@@ -2,7 +2,7 @@ from datetime import datetime
|
||||
|
||||
import enum
|
||||
|
||||
from tortoise import models, fields
|
||||
from tortoise import models, fields, indexes
|
||||
|
||||
import discord
|
||||
from discord import webhook
|
||||
@@ -375,6 +375,9 @@ class Report(models.Model):
|
||||
)
|
||||
created_at: datetime = fields.DatetimeField(auto_now_add=True)
|
||||
|
||||
class Meta:
|
||||
indexes = [indexes.Index(fields=("status", "priority"))]
|
||||
|
||||
|
||||
class Ban(models.Model):
|
||||
user_id: int = fields.BigIntField()
|
||||
@@ -389,8 +392,11 @@ class Ban(models.Model):
|
||||
banned_by: fields.ForeignKeyRelation["User"] = fields.ForeignKeyField(
|
||||
"models.User", related_name="bans_created", null=True
|
||||
)
|
||||
unbanned_by: fields.ForeignKeyNullableRelation["User"] = fields.ForeignKeyField(
|
||||
"models.User", related_name="bans_removed", null=True, default=None
|
||||
)
|
||||
created_at: datetime = fields.DatetimeField(auto_now_add=True, db_index=True)
|
||||
expires_at: datetime | None = fields.DatetimeField(null=True)
|
||||
|
||||
class Meta:
|
||||
indexes = [("user_id", "expires_at"), ("status", "priority")]
|
||||
indexes = [indexes.Index(fields=("user_id", "expires_at"))]
|
||||
|
||||
Reference in New Issue
Block a user