Update dependencies and fix import paths for consistency

This commit is contained in:
lborv
2025-09-17 17:13:19 +03:00
parent db58d6ecb1
commit 750e7125ad
15 changed files with 96 additions and 27 deletions

View File

@ -1,8 +1,8 @@
import { Column, Entity, ManyToMany, PrimaryGeneratedColumn } from "typeorm";
import { Query } from "./query.enitity";
import { Query } from "./query.entity";
@Entity("module")
export class Module {
export class VMModule {
@PrimaryGeneratedColumn("uuid")
id: string;

View File

@ -1,4 +1,4 @@
import { Project } from "src/project/entities/project.entity";
import { Project } from "../../project/entities/project.entity";
import {
Column,
Entity,
@ -6,7 +6,7 @@ import {
ManyToOne,
PrimaryGeneratedColumn,
} from "typeorm";
import { Module } from "./module.entity";
import { VMModule } from "./module.entity";
@Entity("query")
export class Query {
@ -22,6 +22,6 @@ export class Query {
@Column({ type: "tinyint", default: 1 })
isActive: number;
@ManyToMany(() => Module, (module) => module.queries)
modules: Module[];
@ManyToMany(() => VMModule, (module) => module.queries)
modules: VMModule[];
}

View File

@ -1,9 +1,9 @@
import { Injectable } from "@nestjs/common";
import { InjectRepository } from "@nestjs/typeorm";
import { Query } from "../entities/query.enitity";
import { Query } from "../entities/query.entity";
import { Repository } from "typeorm";
import { Vm } from "src/vm/vm.class";
import { Module } from "src/vm/module.class";
import { Vm } from "../../vm/vm.class";
import { VModule } from "../../vm/module.class";
@Injectable()
export class QueryExecuterService {
@ -23,6 +23,10 @@ export class QueryExecuterService {
const vm = this.createVm(query);
vm.setFunction("result", (result: string) => {
console.log("Query Result:", result);
});
await vm.runScript(query.source);
// Here you would add the logic to actually execute the query
@ -34,7 +38,7 @@ export class QueryExecuterService {
return new Vm({
memoryLimit: 5,
modules: query.modules.map((module) => {
return new Module(module.name, module.sourcePath);
return new VModule(module.name, module.sourcePath);
}),
});
}

View File

@ -1,8 +1,15 @@
import { Module } from "@nestjs/common";
import { TypeOrmModule } from "@nestjs/typeorm";
import { Query } from "./entities/query.entity";
import { VMModule } from "./entities/module.entity";
import { QueryExecuterController } from "./executer/query.executer.controller";
import { QueryHandlerController } from "./handler/query.handler.controller";
import { QueryExecuterService } from "./executer/query.executer.service";
import { QueryHandlerService } from "./handler/query.handler.service";
@Module({
imports: [],
controllers: [],
providers: [],
imports: [TypeOrmModule.forFeature([Query, VMModule])],
controllers: [QueryExecuterController, QueryHandlerController],
providers: [QueryExecuterService, QueryHandlerService],
})
export class QueryModule {}