mirror of
https://github.com/ToolJet/ToolJet
synced 2026-04-29 09:27:32 +00:00
* Constant file reconfig * lint * errors * smtp disabled * moved to constants * review changes * lint fix * improvement
30 lines
1 KiB
TypeScript
30 lines
1 KiB
TypeScript
import { Injectable } from '@nestjs/common';
|
|
import { getDefaultInstanceSettings } from './constants';
|
|
|
|
@Injectable()
|
|
export class InstanceSettingsService {
|
|
async getSettings(key?: string | string[], getAllData = false, type?: any): Promise<any> {
|
|
const defaultInstanceSettings = getDefaultInstanceSettings();
|
|
let settings = Object.keys(defaultInstanceSettings)
|
|
.filter((e) => (Array.isArray(key) ? key.includes(e) : key === e))
|
|
.map((e) => ({ key: e, value: defaultInstanceSettings[e] }));
|
|
|
|
if (!settings) {
|
|
settings = [];
|
|
}
|
|
(Array.isArray(key) ? key : [key]).forEach((s) => {
|
|
if (!settings.some((e) => e.key === s)) {
|
|
// Key is not included on settings, adding empty value
|
|
settings.push({ key: s, value: null });
|
|
}
|
|
});
|
|
|
|
const instanceConfigs = {};
|
|
settings?.forEach((config) => {
|
|
instanceConfigs[config.key] = getAllData ? config : config.value;
|
|
});
|
|
|
|
const res = Array.isArray(key) ? instanceConfigs : instanceConfigs[key];
|
|
return res;
|
|
}
|
|
}
|