summary refs log tree commit diff
diff options
context:
space:
mode:
authorRory& <root@rory.gay>2026-03-07 00:30:19 +0100
committerRory& <root@rory.gay>2026-03-07 00:30:19 +0100
commiteaf697eb1931a997d3ccfe7f98523be8b518d68f (patch)
tree5ac4977ad1d296d76a5920291f1c60a8eb684594
parent[rel/1518] make PartialEmoji accept id-only (diff)
downloadserver-ts-eaf697eb1931a997d3ccfe7f98523be8b518d68f.tar.xz
[rel/1518] Member flags
-rw-r--r--src/schemas/api/users/Member.ts4
-rw-r--r--src/util/entities/Member.ts4
-rw-r--r--src/util/migration/postgres/1772404321400-MemberFlags.ts13
3 files changed, 20 insertions, 1 deletions
diff --git a/src/schemas/api/users/Member.ts b/src/schemas/api/users/Member.ts

index cc2c3342..89e09650 100644 --- a/src/schemas/api/users/Member.ts +++ b/src/schemas/api/users/Member.ts
@@ -69,7 +69,8 @@ export type PublicMemberKeys = | "bio" | "theme_colors" | "pronouns" - | "communication_disabled_until"; + | "communication_disabled_until" + | "flags"; export const PublicMemberProjection: PublicMemberKeys[] = [ "id", @@ -87,6 +88,7 @@ export const PublicMemberProjection: PublicMemberKeys[] = [ "theme_colors", "pronouns", "communication_disabled_until", + "flags", ]; export type PublicMember = Omit<Pick<Member, PublicMemberKeys>, "roles"> & { diff --git a/src/util/entities/Member.ts b/src/util/entities/Member.ts
index 163c25f7..1b60b72d 100644 --- a/src/util/entities/Member.ts +++ b/src/util/entities/Member.ts
@@ -51,6 +51,7 @@ export const MemberPrivateProjection: (keyof Member)[] = [ "theme_colors", "pronouns", "communication_disabled_until", + "flags", ]; @Entity({ @@ -156,6 +157,9 @@ export class Member extends BaseClassWithoutId { @Column({ type: "simple-json", nullable: true }) collectibles?: Collectibles; + @Column({ type: "int", default: 0 }) + flags: number = 0; + @BeforeUpdate() @BeforeInsert() validate() { diff --git a/src/util/migration/postgres/1772404321400-MemberFlags.ts b/src/util/migration/postgres/1772404321400-MemberFlags.ts new file mode 100644
index 00000000..bc1bd68b --- /dev/null +++ b/src/util/migration/postgres/1772404321400-MemberFlags.ts
@@ -0,0 +1,13 @@ +import { MigrationInterface, QueryRunner } from "typeorm"; + +export class MemberFlags1772404321400 implements MigrationInterface { + name = "MemberFlags1772404321400"; + + public async up(queryRunner: QueryRunner): Promise<void> { + await queryRunner.query(`ALTER TABLE "members" ADD "flags" integer NOT NULL DEFAULT '0'`); + } + + public async down(queryRunner: QueryRunner): Promise<void> { + await queryRunner.query(`ALTER TABLE "members" DROP COLUMN "flags"`); + } +} \ No newline at end of file