feat(shard): ✨ Let people know when their report helped moderators ban or warn someone.
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
from tortoise import BaseDBAsyncClient
|
||||
|
||||
|
||||
async def upgrade(db: BaseDBAsyncClient) -> str:
|
||||
return """
|
||||
ALTER TABLE "report" ADD "reported_by_id" BIGINT;
|
||||
ALTER TABLE "report" ADD CONSTRAINT "fk_report_user_3a7d2f49" FOREIGN KEY ("reported_by_id") REFERENCES "user" ("id") ON DELETE CASCADE;"""
|
||||
|
||||
|
||||
async def downgrade(db: BaseDBAsyncClient) -> str:
|
||||
return """
|
||||
ALTER TABLE "report" DROP CONSTRAINT IF EXISTS "fk_report_user_3a7d2f49";
|
||||
ALTER TABLE "report" DROP COLUMN "reported_by_id";"""
|
||||
+12
-3
@@ -28,8 +28,13 @@ class Report(models.Model):
|
||||
reply_user_avatar_url = fields.TextField(null=True, default=None)
|
||||
created_at = fields.DatetimeField(auto_now_add=True)
|
||||
resolved = fields.BooleanField(default=False, index=True)
|
||||
reported_by = fields.ForeignKeyField(
|
||||
"models.User", related_name="reports", null=True
|
||||
)
|
||||
resolved_at = fields.DatetimeField(null=True)
|
||||
resolved_by = fields.ForeignKeyField("models.User", null=True)
|
||||
resolved_by = fields.ForeignKeyField(
|
||||
"models.User", related_name="resolved_reports", null=True
|
||||
)
|
||||
|
||||
|
||||
class UserFlag(enum.IntFlag):
|
||||
@@ -150,7 +155,9 @@ class Ban(models.Model):
|
||||
created_at = fields.DatetimeField(auto_now_add=True)
|
||||
expires_at = fields.DatetimeField(null=True)
|
||||
created_by = fields.ForeignKeyField("models.User", related_name="created_bans")
|
||||
expired_by = fields.ForeignKeyField("models.User", related_name="expired_bans", null=True)
|
||||
expired_by = fields.ForeignKeyField(
|
||||
"models.User", related_name="expired_bans", null=True
|
||||
)
|
||||
|
||||
@property
|
||||
def is_expired(self) -> bool:
|
||||
@@ -158,7 +165,9 @@ class Ban(models.Model):
|
||||
Whether the ban is expired.
|
||||
"""
|
||||
|
||||
return self.expires_at is not None and self.expires_at < datetime.now(timezone.utc)
|
||||
return self.expires_at is not None and self.expires_at < datetime.now(
|
||||
timezone.utc
|
||||
)
|
||||
|
||||
class Meta:
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user