mirror of
https://github.com/ToolJet/ToolJet
synced 2026-05-24 09:28:31 +00:00
29 lines
No EOL
971 B
TypeScript
29 lines
No EOL
971 B
TypeScript
import { Injectable } from '@nestjs/common';
|
|
import { defaultInstanceSettings } from './constants';
|
|
|
|
@Injectable()
|
|
export class InstanceSettingsService {
|
|
async getSettings(key?: string | string[], getAllData = false, type?: any): Promise<any> {
|
|
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;
|
|
}
|
|
} |