Refactor VM and Plugin Management

- Removed the `plugins.constants.ts` file as it was no longer needed.
- Updated the `vm.class.ts` to improve result handling and logging.
- Introduced `vm.constants.ts` to manage registered plugins and modules.
- Simplified the test payload in `case1-payload.js` by removing unnecessary insert logic.
- Enhanced `case1.ts` to include database and migration setup, improving test clarity.
- Deleted unused functions for adding modules and plugins, streamlining the codebase.
This commit is contained in:
lborv
2025-09-29 20:58:51 +03:00
parent 1b552e651f
commit 593acf2a9a
21 changed files with 5391 additions and 469 deletions

26
src/vm/vm.constants.ts Normal file
View File

@ -0,0 +1,26 @@
import { QueryExecuterService } from "src/query/executer/query.executer.service";
import { DatabasePlugin } from "./plugins/database.plugin";
import { Query } from "src/query/entities/query.entity";
export const registeredPlugins = {
db: {
class: DatabasePlugin,
initMethod: async (service: QueryExecuterService, query: Query) => {
const databaseConnection =
await service.databaseManagerService.getConnectionOptions(
query.project.id
);
if (!databaseConnection) {
throw new Error("Database connection not found");
}
return DatabasePlugin.init("db", databaseConnection);
},
},
};
export const registeredModules = {
squel: "dist/vm/modules/squel.js",
asyncCall: "dist/vm/modules/async.js",
};