diff options
| author | Hazel K <acomputerdog@gmail.com> | 2024-10-08 17:02:31 -0400 |
|---|---|---|
| committer | Hazelnoot <acomputerdog@gmail.com> | 2024-10-15 14:16:46 -0400 |
| commit | 9d3292e6e95c3abea407d85fc807d6a626a1aaf7 (patch) | |
| tree | 5ec97badf7c9b935c99db771b13213cabdbdaa38 /packages/backend | |
| parent | correct name of `SkLatestNote` (diff) | |
| download | sharkey-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.js | 24 | ||||
| -rw-r--r-- | packages/backend/src/models/LatestNote.ts | 18 |
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', }) |