From 14b213c57192ade881a75d216102912f90f73561 Mon Sep 17 00:00:00 2001 From: Kenrick Tandrian <60643640+KenTandrian@users.noreply.github.com> Date: Sat, 21 Jun 2025 14:27:28 +0700 Subject: [PATCH 1/2] Bugfix/fix variable resolution in HtmlTemplateMiddleware (#4975) * Fix variable resolution in HtmlTemplateMiddleware * Update changelog --- CHANGELOG.md | 4 ++++ apps/api/src/main.ts | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 93ec69abd..1999c836e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Improved the language localization for French (`fr`) - Upgraded `class-validator` from version `0.14.1` to `0.14.2` +### Fixed + +- Fixed an issue in the `HtmlTemplateMiddleware` related to incorrect variable resolution + ## 2.172.0 - 2025-06-19 ### Added diff --git a/apps/api/src/main.ts b/apps/api/src/main.ts index bf14ebb90..41f156cbf 100644 --- a/apps/api/src/main.ts +++ b/apps/api/src/main.ts @@ -48,7 +48,8 @@ async function bootstrap() { exclude: [ 'sitemap.xml', ...SUPPORTED_LANGUAGE_CODES.map((languageCode) => { - return `/${languageCode}/*wildcard`; + // Exclude language-specific routes with an optional wildcard + return `/${languageCode}{/*wildcard}`; }) ] }); From d5d74eb4db881e0dc9e6d7aa885996e42255ed9d Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Sat, 21 Jun 2025 09:42:41 +0200 Subject: [PATCH 2/2] Feature/rename GranteeUser to granteeUser in Access database schema (#4979) * Rename GranteeUser to granteeUser in Access database schema * Update changelog --- CHANGELOG.md | 1 + apps/api/src/app/access/access.controller.ts | 10 +++++----- apps/api/src/app/access/access.service.ts | 2 +- apps/api/src/app/user/user.service.ts | 2 +- .../services/impersonation/impersonation.service.ts | 4 ++-- .../src/lib/types/access-with-grantee-user.type.ts | 2 +- prisma/schema.prisma | 2 +- 7 files changed, 12 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1999c836e..3d77ae783 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- Renamed `GranteeUser` to `granteeUser` in the `Access` database schema - Improved the language localization for French (`fr`) - Upgraded `class-validator` from version `0.14.1` to `0.14.2` diff --git a/apps/api/src/app/access/access.controller.ts b/apps/api/src/app/access/access.controller.ts index 9913a5c1b..bc2d22e51 100644 --- a/apps/api/src/app/access/access.controller.ts +++ b/apps/api/src/app/access/access.controller.ts @@ -37,20 +37,20 @@ export class AccessController { public async getAllAccesses(): Promise { const accessesWithGranteeUser = await this.accessService.accesses({ include: { - GranteeUser: true + granteeUser: true }, orderBy: { granteeUserId: 'asc' }, where: { userId: this.request.user.id } }); return accessesWithGranteeUser.map( - ({ alias, GranteeUser, id, permissions }) => { - if (GranteeUser) { + ({ alias, granteeUser, id, permissions }) => { + if (granteeUser) { return { alias, id, permissions, - grantee: GranteeUser?.id, + grantee: granteeUser?.id, type: 'PRIVATE' }; } @@ -85,7 +85,7 @@ export class AccessController { try { return this.accessService.createAccess({ alias: data.alias || undefined, - GranteeUser: data.granteeUserId + granteeUser: data.granteeUserId ? { connect: { id: data.granteeUserId } } : undefined, permissions: data.permissions, diff --git a/apps/api/src/app/access/access.service.ts b/apps/api/src/app/access/access.service.ts index ccba595e3..8403cdc09 100644 --- a/apps/api/src/app/access/access.service.ts +++ b/apps/api/src/app/access/access.service.ts @@ -13,7 +13,7 @@ export class AccessService { ): Promise { return this.prismaService.access.findFirst({ include: { - GranteeUser: true + granteeUser: true }, where: accessWhereInput }); diff --git a/apps/api/src/app/user/user.service.ts b/apps/api/src/app/user/user.service.ts index cb40a1005..b95801b41 100644 --- a/apps/api/src/app/user/user.service.ts +++ b/apps/api/src/app/user/user.service.ts @@ -104,7 +104,7 @@ export class UserService { user: true }, orderBy: { alias: 'asc' }, - where: { GranteeUser: { id } } + where: { granteeUserId: id } }), this.prismaService.order.count({ where: { userId: id } diff --git a/apps/api/src/services/impersonation/impersonation.service.ts b/apps/api/src/services/impersonation/impersonation.service.ts index 4bf23576a..71c543a43 100644 --- a/apps/api/src/services/impersonation/impersonation.service.ts +++ b/apps/api/src/services/impersonation/impersonation.service.ts @@ -16,7 +16,7 @@ export class ImpersonationService { if (this.request.user) { const accessObject = await this.prismaService.access.findFirst({ where: { - GranteeUser: { id: this.request.user.id }, + granteeUserId: this.request.user.id, id: aId } }); @@ -35,7 +35,7 @@ export class ImpersonationService { // Public access const accessObject = await this.prismaService.access.findFirst({ where: { - GranteeUser: null, + granteeUserId: null, user: { id: aId } } }); diff --git a/libs/common/src/lib/types/access-with-grantee-user.type.ts b/libs/common/src/lib/types/access-with-grantee-user.type.ts index 18c045fc7..98551e0fd 100644 --- a/libs/common/src/lib/types/access-with-grantee-user.type.ts +++ b/libs/common/src/lib/types/access-with-grantee-user.type.ts @@ -1,3 +1,3 @@ import { Access, User } from '@prisma/client'; -export type AccessWithGranteeUser = Access & { GranteeUser?: User }; +export type AccessWithGranteeUser = Access & { granteeUser?: User }; diff --git a/prisma/schema.prisma b/prisma/schema.prisma index 2c9f0e4bf..5f95c1e84 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -12,12 +12,12 @@ datasource db { model Access { alias String? createdAt DateTime @default(now()) + granteeUser User? @relation("accessGet", fields: [granteeUserId], onDelete: Cascade, references: [id]) granteeUserId String? id String @id @default(uuid()) permissions AccessPermission[] @default([READ_RESTRICTED]) updatedAt DateTime @updatedAt userId String - GranteeUser User? @relation("accessGet", fields: [granteeUserId], onDelete: Cascade, references: [id]) user User @relation("accessGive", fields: [userId], onDelete: Cascade, references: [id]) @@index([alias])