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:
26
src/vm/vm.constants.ts
Normal file
26
src/vm/vm.constants.ts
Normal 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",
|
||||
};
|
||||
Reference in New Issue
Block a user