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 { const settings = await this.queryExecuterService.projectSettingService.getAll( this.query.project.id ); return settings[property]; } onFinish() { // No resources to clean up } }