diff --git a/server/src/entities/album-permission.entity.ts b/server/src/entities/album-permission.entity.ts index 3e6687ef16..c3e63a8c24 100644 --- a/server/src/entities/album-permission.entity.ts +++ b/server/src/entities/album-permission.entity.ts @@ -3,17 +3,19 @@ import { UserEntity } from 'src/entities/user.entity'; import { Column, Entity, Index, ManyToOne, PrimaryColumn } from 'typeorm'; @Entity('albums_shared_users_users') +// Indices for JoinTable @Index('IDX_427c350ad49bd3935a50baab73', ['albums']) @Index('IDX_f48513bf9bccefd6ff3ad30bd0', ['users']) -export class AlbumPermissionsEntity { - @PrimaryColumn({ type: 'uuid', name: 'albumsId', foreignKeyConstraintName: 'FK_f48513bf9bccefd6ff3ad30bd06' }) +export class AlbumPermissionEntity { + @PrimaryColumn({ type: 'uuid', name: 'albumsId' }) @ManyToOne(() => AlbumEntity, { onDelete: 'CASCADE', onUpdate: 'CASCADE', nullable: false }) albums!: AlbumEntity; - @PrimaryColumn({ type: 'uuid', name: 'usersId', foreignKeyConstraintName: 'FK_427c350ad49bd3935a50baab737' }) + @PrimaryColumn({ type: 'uuid', name: 'usersId' }) @ManyToOne(() => UserEntity, { onDelete: 'CASCADE', onUpdate: 'CASCADE', nullable: false }) users!: UserEntity; - @Column({ default: true }) + // Readonly is false when migrating previous entries + @Column({ default: false }) readonly!: boolean; } diff --git a/server/src/entities/album.entity.ts b/server/src/entities/album.entity.ts index 5be72f0771..fcd74fe81a 100644 --- a/server/src/entities/album.entity.ts +++ b/server/src/entities/album.entity.ts @@ -55,17 +55,7 @@ export class AlbumEntity { @ManyToMany(() => UserEntity) @JoinTable({ name: 'albums_shared_users_users', - inverseJoinColumn: { - name: 'usersId', - // referencedColumnName: 'id', - // foreignKeyConstraintName: 'FK_f48513bf9bccefd6ff3ad30bd06', - }, - joinColumn: { - name: 'albumsId', - // referencedColumnName: 'id', - // foreignKeyConstraintName: 'FK_427c350ad49bd3935a50baab737', - }, - synchronize: false, + synchronize: false, // Table is managed by AlbumPermissionEntity }) sharedUsers!: UserEntity[]; diff --git a/server/src/migrations/1712904446100-AddAlbumPermissions.ts b/server/src/migrations/1712905775156-AddAlbumPermission.ts similarity index 67% rename from server/src/migrations/1712904446100-AddAlbumPermissions.ts rename to server/src/migrations/1712905775156-AddAlbumPermission.ts index 50393e37b7..0e3012a5fe 100644 --- a/server/src/migrations/1712904446100-AddAlbumPermissions.ts +++ b/server/src/migrations/1712905775156-AddAlbumPermission.ts @@ -1,10 +1,10 @@ import { MigrationInterface, QueryRunner } from "typeorm"; -export class AddAlbumPermissions1712904446100 implements MigrationInterface { - name = 'AddAlbumPermissions1712904446100' +export class AddAlbumPermission1712905775156 implements MigrationInterface { + name = 'AddAlbumPermission1712905775156' public async up(queryRunner: QueryRunner): Promise { - await queryRunner.query(`ALTER TABLE "albums_shared_users_users" ADD "readonly" boolean NOT NULL DEFAULT true`); + await queryRunner.query(`ALTER TABLE "albums_shared_users_users" ADD "readonly" boolean NOT NULL DEFAULT false`); } public async down(queryRunner: QueryRunner): Promise {