summaryrefslogtreecommitdiff
path: root/packages/backend
diff options
context:
space:
mode:
authorHazel K <acomputerdog@gmail.com>2024-10-08 17:02:31 -0400
committerHazelnoot <acomputerdog@gmail.com>2024-10-15 14:16:46 -0400
commit9d3292e6e95c3abea407d85fc807d6a626a1aaf7 (patch)
tree5ec97badf7c9b935c99db771b13213cabdbdaa38 /packages/backend
parentcorrect name of `SkLatestNote` (diff)
downloadsharkey-9d3292e6e95c3abea407d85fc807d6a626a1aaf7.tar.gz
sharkey-9d3292e6e95c3abea407d85fc807d6a626a1aaf7.tar.bz2
sharkey-9d3292e6e95c3abea407d85fc807d6a626a1aaf7.zip
add type columns to SkLatestNote
Diffstat (limited to 'packages/backend')
-rw-r--r--packages/backend/migration/1728420772835-track-latest-note-type.js24
-rw-r--r--packages/backend/src/models/LatestNote.ts18
2 files changed, 42 insertions, 0 deletions
diff --git a/packages/backend/migration/1728420772835-track-latest-note-type.js b/packages/backend/migration/1728420772835-track-latest-note-type.js
new file mode 100644
index 0000000000..cef379c7f3
--- /dev/null
+++ b/packages/backend/migration/1728420772835-track-latest-note-type.js
@@ -0,0 +1,24 @@
+/*
+ * SPDX-FileCopyrightText: hazelnoot and other Sharkey contributors
+ * SPDX-License-Identifier: AGPL-3.0-only
+ */
+
+export class TrackLatestNoteType1728420772835 {
+ name = 'TrackLatestNoteType1728420772835'
+
+ async up(queryRunner) {
+ await queryRunner.query(`ALTER TABLE "latest_note" DROP CONSTRAINT "PK_f619b62bfaafabe68f52fb50c9a"`);
+ await queryRunner.query(`ALTER TABLE "latest_note" ADD "isPublic" boolean NOT NULL DEFAULT false`);
+ await queryRunner.query(`ALTER TABLE "latest_note" ADD "isReply" boolean NOT NULL DEFAULT false`);
+ await queryRunner.query(`ALTER TABLE "latest_note" ADD "isQuote" boolean NOT NULL DEFAULT false`);
+ await queryRunner.query(`ALTER TABLE "latest_note" ADD CONSTRAINT "PK_a44ac8ca9cb916faeefc0912abd" PRIMARY KEY ("user_id", "isPublic", "isReply", "isQuote")`);
+ }
+
+ async down(queryRunner) {
+ await queryRunner.query(`ALTER TABLE "latest_note" DROP CONSTRAINT "PK_a44ac8ca9cb916faeefc0912abd"`);
+ await queryRunner.query(`ALTER TABLE "latest_note" DROP COLUMN "isQuote"`);
+ await queryRunner.query(`ALTER TABLE "latest_note" DROP COLUMN "isReply"`);
+ await queryRunner.query(`ALTER TABLE "latest_note" DROP COLUMN "isPublic"`);
+ await queryRunner.query(`ALTER TABLE "latest_note" ADD CONSTRAINT "PK_f619b62bfaafabe68f52fb50c9a" PRIMARY KEY ("user_id")`);
+ }
+}
diff --git a/packages/backend/src/models/LatestNote.ts b/packages/backend/src/models/LatestNote.ts
index d1c96adae2..f7b0ca6a23 100644
--- a/packages/backend/src/models/LatestNote.ts
+++ b/packages/backend/src/models/LatestNote.ts
@@ -21,6 +21,24 @@ export class SkLatestNote {
})
public userId: string;
+ @PrimaryColumn('boolean', {
+ name: 'is_public',
+ default: false,
+ })
+ public isPublic: boolean;
+
+ @PrimaryColumn('boolean', {
+ name: 'is_reply',
+ default: false,
+ })
+ public isReply: boolean;
+
+ @PrimaryColumn('boolean', {
+ name: 'is_quote',
+ default: false,
+ })
+ public isQuote: boolean;
+
@ManyToOne(() => MiUser, {
onDelete: 'CASCADE',
})