Добавлена загрузка конфигурации актуальных версий eccm

This commit is contained in:
Pavel Gnedov 2022-10-04 06:59:27 +07:00
parent dae4563000
commit 3c034be7a8
4 changed files with 33 additions and 0 deletions

View file

@ -5,10 +5,12 @@ import { parse } from 'jsonc-parser';
import { AppConfig } from 'src/models/app-config.model'; import { AppConfig } from 'src/models/app-config.model';
import RedmineStatusesConfigLoader from './statuses.config'; import RedmineStatusesConfigLoader from './statuses.config';
import RedmineStatusChangesConfigLoader from './status-changes.config'; import RedmineStatusChangesConfigLoader from './status-changes.config';
import RedmineEccmVersionsConfig from './eccm-versions.config';
const redmineIssueEventEmitterConfig = RedmineIssueEventEmitterConfigLoader(); const redmineIssueEventEmitterConfig = RedmineIssueEventEmitterConfigLoader();
const redmineStatusesConfig = RedmineStatusesConfigLoader(); const redmineStatusesConfig = RedmineStatusesConfigLoader();
const redmineStatusChanges = RedmineStatusChangesConfigLoader(); const redmineStatusChanges = RedmineStatusChangesConfigLoader();
const redmineEccmVersions = RedmineEccmVersionsConfig();
let appConfig: AppConfig; let appConfig: AppConfig;
@ -30,6 +32,7 @@ export default (): AppConfig => {
redmineStatuses: redmineStatusesConfig, redmineStatuses: redmineStatusesConfig,
redmineIssueEventEmitterConfig: redmineIssueEventEmitterConfig, redmineIssueEventEmitterConfig: redmineIssueEventEmitterConfig,
redmineStatusChanges: redmineStatusChanges, redmineStatusChanges: redmineStatusChanges,
redmineEccmVersions: redmineEccmVersions,
}; };
return appConfig; return appConfig;

View file

@ -0,0 +1,24 @@
import { readFileSync } from 'fs';
import { join } from 'path';
import { EccmVersionsConfig } from 'src/models/eccm-versions-config.model';
import { parse } from 'jsonc-parser';
let eccmVersion: EccmVersionsConfig.Config;
export default (): EccmVersionsConfig.Config => {
if (eccmVersion) {
return eccmVersion;
}
const userDefinedConfigPath =
process.env['ELTEX_REDMINE_HELPER_ECCM_VERSIONS_CONFIG_PATH'];
const defaultConfigPath = join('configs', 'eccm-versions-config.jsonc');
const configPath = userDefinedConfigPath || defaultConfigPath;
const rawData = readFileSync(configPath, { encoding: 'utf-8' });
eccmVersion = parse(rawData);
return eccmVersion;
};

View file

@ -1,4 +1,5 @@
import { MainConfigModel } from '@app/event-emitter/models/main-config-model'; import { MainConfigModel } from '@app/event-emitter/models/main-config-model';
import { EccmVersionsConfig } from './eccm-versions-config.model';
import { StatusChangesConfig } from './status-changes-config.model'; import { StatusChangesConfig } from './status-changes-config.model';
import { StatusesConfig } from './statuses-config.model'; import { StatusesConfig } from './statuses-config.model';
@ -6,6 +7,7 @@ export type AppConfig = {
redmineIssueEventEmitterConfig: MainConfigModel; redmineIssueEventEmitterConfig: MainConfigModel;
redmineStatuses: StatusesConfig.Config; redmineStatuses: StatusesConfig.Config;
redmineStatusChanges: StatusChangesConfig.Config; redmineStatusChanges: StatusChangesConfig.Config;
redmineEccmVersions: EccmVersionsConfig.Config;
couchDb: { couchDb: {
dbs: { dbs: {
changes: string; changes: string;

View file

@ -0,0 +1,4 @@
/* eslint-disable @typescript-eslint/no-namespace */
export namespace EccmVersionsConfig {
export type Config = string[];
}