From f357bc5e61e9aca1517cedfb64789f14ae2db4d4 Mon Sep 17 00:00:00 2001 From: Boris D Date: Thu, 9 Oct 2025 12:57:32 +0300 Subject: [PATCH] feat: enhance QueryPlugin run method with error handling and update logging in Vm class --- src/vm/plugins/query.plugin.ts | 26 ++++++++++++++++++++++++-- src/vm/vm.class.ts | 2 +- tests/base/case1-payload.js | 2 +- 3 files changed, 26 insertions(+), 4 deletions(-) diff --git a/src/vm/plugins/query.plugin.ts b/src/vm/plugins/query.plugin.ts index bed8148..e5dcde2 100644 --- a/src/vm/plugins/query.plugin.ts +++ b/src/vm/plugins/query.plugin.ts @@ -15,8 +15,30 @@ export class QueryPlugin extends Plugin { return new QueryPlugin("query", query, queryExecuterService); } - async run(data): Promise { - return await this.QueryExecuterService.runQuery(this.query.id, data); + async run(data: { + token: string; + queryData: any; + headers?: Record; + }): Promise { + const query = await this.QueryExecuterService.queryRepository.findOne({ + where: { id: this.query.id }, + }); + + if (!query) { + throw new Error(`Query with id ${this.query.id} not found`); + } + + if (query.isCommand && !this.query.isCommand) { + throw new Error( + `Query with id ${this.query.id} is a command and cannot be called from query` + ); + } + + return await this.QueryExecuterService.runQuery( + query.id, + data.queryData, + data.headers + ); } onFinish() { diff --git a/src/vm/vm.class.ts b/src/vm/vm.class.ts index 052e9ef..26397a5 100644 --- a/src/vm/vm.class.ts +++ b/src/vm/vm.class.ts @@ -85,7 +85,7 @@ export class Vm { }); this.setFunction("returnResult", (res) => { - console.log("Returning result from VM:", res); + // console.log("Returning result from VM:", res); resolvePromise(res); }); diff --git a/tests/base/case1-payload.js b/tests/base/case1-payload.js index 3eb2860..c560a60 100644 --- a/tests/base/case1-payload.js +++ b/tests/base/case1-payload.js @@ -17,7 +17,7 @@ async function main(input, headers) { const res = await db.execute(sql); - log(res); + // log(res); return { response: {