Добавлена загрузка конфигурации актуальных версий eccm
This commit is contained in:
parent
dae4563000
commit
3c034be7a8
4 changed files with 33 additions and 0 deletions
|
|
@ -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;
|
||||||
|
|
|
||||||
24
src/configs/eccm-versions.config.ts
Normal file
24
src/configs/eccm-versions.config.ts
Normal 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;
|
||||||
|
};
|
||||||
|
|
@ -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;
|
||||||
|
|
|
||||||
4
src/models/eccm-versions-config.model.ts
Normal file
4
src/models/eccm-versions-config.model.ts
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
/* eslint-disable @typescript-eslint/no-namespace */
|
||||||
|
export namespace EccmVersionsConfig {
|
||||||
|
export type Config = string[];
|
||||||
|
}
|
||||||
Loading…
Reference in a new issue