From 11cb6ea4579804af5eec71714849bf200cdcba65 Mon Sep 17 00:00:00 2001 From: Soner Sayakci Date: Wed, 4 Sep 2024 10:57:43 +0200 Subject: [PATCH] fix: score field in query usage --- packages/admin-sdk/src/data/Criteria.spec.ts | 26 +++++++++++++++++++- packages/admin-sdk/src/data/Criteria.ts | 4 +-- 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/packages/admin-sdk/src/data/Criteria.spec.ts b/packages/admin-sdk/src/data/Criteria.spec.ts index 99802f63b..bf26183f4 100644 --- a/packages/admin-sdk/src/data/Criteria.spec.ts +++ b/packages/admin-sdk/src/data/Criteria.spec.ts @@ -9,7 +9,7 @@ describe('Test Criteria class', () => { }); it('should respect altered default values', () => { - setDefaultValues({limit: 42}); + setDefaultValues({ limit: 42 }); const criteria = new Criteria(); expect(criteria.getLimit()).toBe(42); @@ -23,4 +23,28 @@ describe('Test Criteria class', () => { criteria.setTitle('foo'); expect(criteria.getTitle()).toBe('foo'); }); + + test('add query', () => { + const criteria = new Criteria(); + + criteria.addQuery(Criteria.equals("foo", "bar"), 100); + + const obj = criteria.parse(); + + expect(obj.query).toEqual([ + { score: 100, query: { type: "equals", field: "foo", value: "bar" } }, + ]); + }); + + test('add query with score field', () => { + const criteria = new Criteria(); + + criteria.addQuery(Criteria.equals("foo", "bar"), 100, 'test'); + + const obj = criteria.parse(); + + expect(obj.query).toEqual([ + { score: 100, query: { type: "equals", field: "foo", value: "bar" }, scoreField: 'test' }, + ]); + }); }); diff --git a/packages/admin-sdk/src/data/Criteria.ts b/packages/admin-sdk/src/data/Criteria.ts index ac4b4bf25..4f1fc3419 100644 --- a/packages/admin-sdk/src/data/Criteria.ts +++ b/packages/admin-sdk/src/data/Criteria.ts @@ -133,7 +133,7 @@ interface Association { interface Query { score: number, query: SingleFilter, - [scoreField: string]: unknown, + scoreField?: string } interface Sorting { field: string, @@ -387,7 +387,7 @@ export default class Criteria { const query: Query = { score: score, query: filter }; if (scoreField) { - query[scoreField] = scoreField; + query.scoreField = scoreField; } this.queries.push(query);