summary refs log tree commit diff
diff options
context:
space:
mode:
authorRory& <root@rory.gay>2026-02-03 02:10:36 +0100
committerRory& <root@rory.gay>2026-02-03 03:15:59 +0100
commit5a5c82f770f379470138f86c3abf9bea6541fba5 (patch)
tree5655026c1c992590f7791a344c0836b2c5e94bcf
parentupdate npm scripts to add a migration apply one (diff)
downloadserver-ts-5a5c82f770f379470138f86c3abf9bea6541fba5.tar.xz
Add user profile costomisation fields to db
-rw-r--r--src/util/entities/User.ts24
-rw-r--r--src/util/migration/postgres/1770062009127-UserProfileCustomisation.ts19
2 files changed, 42 insertions, 1 deletions
diff --git a/src/util/entities/User.ts b/src/util/entities/User.ts

index d3c01c1a..d8f52988 100644 --- a/src/util/entities/User.ts +++ b/src/util/entities/User.ts
@@ -27,7 +27,17 @@ import { Relationship } from "./Relationship"; import { SecurityKey } from "./SecurityKey"; import { Session } from "./Session"; import { UserSettings } from "./UserSettings"; -import { ChannelType, PrivateUserProjection, PublicUser, PublicUserProjection, UserPrivate } from "@spacebar/schemas"; +import { + AvatarDecorationData, + ChannelType, + Collectibles, + DisplayNameStyle, + PrimaryGuild, + PrivateUserProjection, + PublicUser, + PublicUserProjection, + UserPrivate, +} from "@spacebar/schemas"; @Entity({ name: "users", @@ -168,6 +178,18 @@ export class User extends BaseClass { @Column({ type: "simple-array", nullable: true }) badge_ids?: string[]; + @Column({ type: "simple-json", nullable: true }) + avatar_decoration_data?: AvatarDecorationData; + + @Column({ type: "simple-json", nullable: true }) + display_name_styles?: DisplayNameStyle; + + @Column({ type: "simple-json", nullable: true }) + collectibles?: Collectibles; + + @Column({ type: "simple-json", nullable: true }) + primary_guild?: PrimaryGuild; + // TODO: I don't like this method? validate() { if (this.discriminator) { diff --git a/src/util/migration/postgres/1770062009127-UserProfileCustomisation.ts b/src/util/migration/postgres/1770062009127-UserProfileCustomisation.ts new file mode 100644
index 00000000..c631d0d8 --- /dev/null +++ b/src/util/migration/postgres/1770062009127-UserProfileCustomisation.ts
@@ -0,0 +1,19 @@ +import { MigrationInterface, QueryRunner } from "typeorm"; + +export class UserProfileCustomisation1770062009127 implements MigrationInterface { + name = "UserProfileCustomisation1770062009127"; + + public async up(queryRunner: QueryRunner): Promise<void> { + await queryRunner.query(`ALTER TABLE "users" ADD "avatar_decoration_data" text`); + await queryRunner.query(`ALTER TABLE "users" ADD "display_name_styles" text`); + await queryRunner.query(`ALTER TABLE "users" ADD "collectibles" text`); + await queryRunner.query(`ALTER TABLE "users" ADD "primary_guild" text`); + } + + public async down(queryRunner: QueryRunner): Promise<void> { + await queryRunner.query(`ALTER TABLE "users" DROP COLUMN "primary_guild"`); + await queryRunner.query(`ALTER TABLE "users" DROP COLUMN "collectibles"`); + await queryRunner.query(`ALTER TABLE "users" DROP COLUMN "display_name_styles"`); + await queryRunner.query(`ALTER TABLE "users" DROP COLUMN "avatar_decoration_data"`); + } +}