From 2154ab04e04a01b3d00f0b59b88a1e31ca360de4 Mon Sep 17 00:00:00 2001 From: mgabor <> Date: Wed, 17 Apr 2024 09:51:51 +0200 Subject: [PATCH] fix joincolumn as primary key --- server/src/entities/album-user.entity.ts | 8 ++++++-- server/src/queries/access.repository.sql | 10 +++++++++- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/server/src/entities/album-user.entity.ts b/server/src/entities/album-user.entity.ts index 4617b07757..7dcd08727a 100644 --- a/server/src/entities/album-user.entity.ts +++ b/server/src/entities/album-user.entity.ts @@ -12,12 +12,16 @@ export enum AlbumUserRole { @Index('IDX_427c350ad49bd3935a50baab73', ['album']) @Index('IDX_f48513bf9bccefd6ff3ad30bd0', ['user']) export class AlbumUserEntity { - @PrimaryColumn({ type: 'uuid', name: 'albumsId' }) + @PrimaryColumn({ type: 'uuid' }) + albumsId!: string; + + @PrimaryColumn({ type: 'uuid' }) + usersId!: string; + @JoinColumn({ name: 'albumsId' }) @ManyToOne(() => AlbumEntity, { onDelete: 'CASCADE', onUpdate: 'CASCADE', nullable: false }) album!: AlbumEntity; - @PrimaryColumn({ type: 'uuid', name: 'usersId' }) @JoinColumn({ name: 'usersId' }) @ManyToOne(() => UserEntity, { onDelete: 'CASCADE', onUpdate: 'CASCADE', nullable: false }) user!: UserEntity; diff --git a/server/src/queries/access.repository.sql b/server/src/queries/access.repository.sql index cfc38605d6..4c0b786057 100644 --- a/server/src/queries/access.repository.sql +++ b/server/src/queries/access.repository.sql @@ -74,6 +74,10 @@ SELECT FROM "albums" "AlbumEntity" LEFT JOIN "albums_shared_users_users" "AlbumEntity__AlbumEntity_sharedUsers" ON "AlbumEntity__AlbumEntity_sharedUsers"."albumsId" = "AlbumEntity"."id" + LEFT JOIN "users" "c20102de0f4f51a0efbaca481ef9bb2f99dd7c0a" ON "c20102de0f4f51a0efbaca481ef9bb2f99dd7c0a"."id" = "AlbumEntity__AlbumEntity_sharedUsers"."usersId" + AND ( + "c20102de0f4f51a0efbaca481ef9bb2f99dd7c0a"."deletedAt" IS NULL + ) WHERE ( ( @@ -81,7 +85,11 @@ WHERE AND ( ( ( - "AlbumEntity__AlbumEntity_sharedUsers"."usersId" = $2 + ( + ( + "c20102de0f4f51a0efbaca481ef9bb2f99dd7c0a"."id" = $2 + ) + ) ) AND ( "AlbumEntity__AlbumEntity_sharedUsers"."role" IN ($3, $4)