Files
few-line-engine/src/vm/plugins/settings.plugin.ts

30 lines
798 B
TypeScript

import { Query } from "src/query/entities/query.entity";
import { Plugin } from "../plugin.class";
import { QueryExecuterService } from "src/query/executer/query.executer.service";
export class SettingsPlugin extends Plugin {
constructor(
name: string,
private query: Query,
private queryExecuterService: QueryExecuterService
) {
super(name, ["get"]);
}
static async init(query: Query, queryExecuterService: QueryExecuterService) {
return new SettingsPlugin("settings", query, queryExecuterService);
}
async get(property: string): Promise<any> {
const settings =
await this.queryExecuterService.projectSettingService.getAll(
this.query.project.id
);
return settings[property];
}
onFinish() {
// No resources to clean up
}
}