diff --git a/src/app/data-client.spec.ts b/src/app/data-client.spec.ts index 398c9bdc4..4ab6d084e 100644 --- a/src/app/data-client.spec.ts +++ b/src/app/data-client.spec.ts @@ -249,7 +249,7 @@ describe('DataClient tests', () => { it('get tabular data from MQL', async () => { const promise = await subject().tabularDataByMQL('some_org_id', [ - new TextEncoder().encode('some_mql_query'), + { query: 'some_mql_query' }, ]); const result = promise as typeof data; expect(result[0]?.key1).toBeInstanceOf(Date); diff --git a/src/app/data-client.ts b/src/app/data-client.ts index 75b3de978..3f409f2ee 100644 --- a/src/app/data-client.ts +++ b/src/app/data-client.ts @@ -155,10 +155,17 @@ export class DataClient { * @param query The MQL query to run as a list of BSON documents * @returns An array of data objects */ - async tabularDataByMQL(organizationId: string, query: Uint8Array[]) { + async tabularDataByMQL( + organizationId: string, + query: Uint8Array[] | Record[] + ) { + const binary: Uint8Array[] = + query[0] instanceof Uint8Array + ? (query as Uint8Array[]) + : query.map((value) => BSON.serialize(value)); const resp = await this.dataClient.tabularDataByMQL({ organizationId, - mqlBinary: query, + mqlBinary: binary, }); return resp.rawData.map((value) => BSON.deserialize(value)); }