mirror of
https://github.com/immich-app/immich
synced 2025-10-17 18:19:27 +00:00
feat(server): visibility column (#17939)
* feat: private view * pr feedback * sql generation * feat: visibility column * fix: set visibility value as the same as the still part after unlinked live photos * fix: test * pr feedback
This commit is contained in:
parent
016d7a6ceb
commit
d33ce13561
90 changed files with 1137 additions and 867 deletions
|
|
@ -0,0 +1,37 @@
|
|||
import { Kysely, sql } from 'kysely';
|
||||
|
||||
export async function up(db: Kysely<any>): Promise<void> {
|
||||
await sql`CREATE TYPE "asset_visibility_enum" AS ENUM ('archive','timeline','hidden');`.execute(db);
|
||||
await sql`ALTER TABLE "assets"
|
||||
ADD "visibility" asset_visibility_enum NOT NULL DEFAULT 'timeline';`.execute(db);
|
||||
|
||||
await sql`
|
||||
UPDATE "assets"
|
||||
SET "visibility" = CASE
|
||||
WHEN "isArchived" THEN 'archive'::asset_visibility_enum
|
||||
WHEN "isVisible" THEN 'timeline'::asset_visibility_enum
|
||||
ELSE 'hidden'::asset_visibility_enum
|
||||
END;
|
||||
`.execute(db);
|
||||
|
||||
await sql`ALTER TABLE "assets" DROP COLUMN "isVisible";`.execute(db);
|
||||
await sql`ALTER TABLE "assets" DROP COLUMN "isArchived";`.execute(db);
|
||||
}
|
||||
|
||||
export async function down(db: Kysely<any>): Promise<void> {
|
||||
await sql`ALTER TABLE "assets" ADD COLUMN "isArchived" BOOLEAN NOT NULL DEFAULT FALSE;`.execute(db);
|
||||
await sql`ALTER TABLE "assets" ADD COLUMN "isVisible" BOOLEAN NOT NULL DEFAULT TRUE;`.execute(db);
|
||||
|
||||
await sql`
|
||||
UPDATE "assets"
|
||||
SET
|
||||
"isArchived" = ("visibility" = 'archive'::asset_visibility_enum),
|
||||
"isVisible" = CASE
|
||||
WHEN "visibility" = 'timeline'::asset_visibility_enum THEN TRUE
|
||||
WHEN "visibility" = 'archive'::asset_visibility_enum THEN TRUE
|
||||
ELSE FALSE
|
||||
END;
|
||||
`.execute(db);
|
||||
await sql`ALTER TABLE "assets" DROP COLUMN "visibility";`.execute(db);
|
||||
await sql`DROP TYPE "asset_visibility_enum";`.execute(db);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue