30 lines
798 B
TypeScript
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
|
|
}
|
|
}
|