From ef8f71e56b1a60326ebe88bcf7a4c5ec41eb16a8 Mon Sep 17 00:00:00 2001 From: Noam Honig Date: Fri, 17 Nov 2023 08:01:44 +0200 Subject: [PATCH] apiRequireId returns 403 when using in Statement #290 --- CHANGELOG.md | 1 + projects/core/src/data-api.ts | 4 ++- projects/core/src/remult3/remult3.ts | 3 +++ .../tests/tests/basicRowFunctionality.spec.ts | 27 +++++++++++++++++++ 4 files changed, 34 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a368e61bc..d202497df 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -27,6 +27,7 @@ All notable changes to this project will be documented in this file. - Fixed issue with sort result after live query - Fix issue with compound id on middleware based servers - Added with remult for sveltekit for usage before the remult hook +- Fixed issue with requireId not respecting in statement #290 ## [0.22.9] 2023-10-06 diff --git a/projects/core/src/data-api.ts b/projects/core/src/data-api.ts index c093aed34..c030ac532 100644 --- a/projects/core/src/data-api.ts +++ b/projects/core/src/data-api.ts @@ -136,7 +136,9 @@ export class DataApi { databaseCustom: () => {}, isGreaterOrEqualTo: () => {}, isGreaterThan: () => {}, - isIn: () => {}, + isIn: (col) => { + if (this.repository.metadata.idMetadata.isIdField(col)) hasId = true + }, isLessOrEqualTo: () => {}, isLessThan: () => {}, isNotNull: () => {}, diff --git a/projects/core/src/remult3/remult3.ts b/projects/core/src/remult3/remult3.ts index 893456cdc..abead86e6 100644 --- a/projects/core/src/remult3/remult3.ts +++ b/projects/core/src/remult3/remult3.ts @@ -721,3 +721,6 @@ remult.apiClient.url='localhost:3007/api */ +//p1 - with remult promise for remultexpress +//p1 - 'update tasks set where id = $1 +//p1 - live query refresh of view on table update diff --git a/projects/tests/tests/basicRowFunctionality.spec.ts b/projects/tests/tests/basicRowFunctionality.spec.ts index 91f5890b9..0dbfeec5d 100644 --- a/projects/tests/tests/basicRowFunctionality.spec.ts +++ b/projects/tests/tests/basicRowFunctionality.spec.ts @@ -1261,6 +1261,33 @@ describe('data api', () => { await api.get(t, 1) d.test() }) + it.only('apiRequireId in', async () => { + let type = class extends newCategories {} + Entity('', { + apiRequireId: true, + })(type) + let [c, remult] = await createData(async (i) => { + await i(1, 'noam', 'a') + await i(2, 'yael', 'b') + await i(3, 'yoni', 'a') + }, type) + + var api = new DataApi(c, remult) + + var t = new TestDataApiResponse() + var d = new Done() + t.success = (result) => { + expect(result.length).toBe(2) + d.ok() + } + await api.getArray(t, { + get: (x) => { + if (x == 'id.in') return ['1', '2'] + return undefined + }, + }) + d.test() + }) it('delete id not Allowed for specific row', async () => { let type = class extends newCategories {} Entity('', {