From 5c84e657aebbfd64ef9ed31998b8a9963c882473 Mon Sep 17 00:00:00 2001 From: Thomas Sunde Nielsen Date: Mon, 21 Oct 2024 17:54:54 +0200 Subject: [PATCH] URI decode resourceId (#1791) --- packages/server/src/api/rest/index.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/server/src/api/rest/index.ts b/packages/server/src/api/rest/index.ts index 4bf2dcfe..42bf0ef5 100644 --- a/packages/server/src/api/rest/index.ts +++ b/packages/server/src/api/rest/index.ts @@ -1231,15 +1231,16 @@ class RequestHandler extends APIHandlerBase { } private makePrismaIdFilter(idFields: FieldInfo[], resourceId: string) { + const decodedId = decodeURIComponent(resourceId); if (idFields.length === 1) { - return { [idFields[0].name]: this.coerce(idFields[0].type, resourceId) }; + return { [idFields[0].name]: this.coerce(idFields[0].type, decodedId) }; } else { return { // TODO: support `@@id` with custom name [idFields.map((idf) => idf.name).join(prismaIdDivider)]: idFields.reduce( (acc, curr, idx) => ({ ...acc, - [curr.name]: this.coerce(curr.type, resourceId.split(this.idDivider)[idx]), + [curr.name]: this.coerce(curr.type, decodedId.split(this.idDivider)[idx]), }), {} ),