@digital-ai/plugin-dai-release-backend
Version:
Backend functionalities for the dai-release backstage plugin
42 lines (38 loc) • 1.22 kB
JavaScript
;
var responseUtil = require('../api/responseUtil.cjs.js');
class ReleaseConfig {
constructor(instances) {
this.instances = instances;
}
static instanceList;
/**
* Read all Release instance configurations.
* @param config - Root configuration
* @returns A ReleaseConfig that contains all configured Release instances.
*/
static fromConfig(config) {
const releaseConfig = config.getConfig("daiRelease");
this.instanceList = releaseConfig.getOptionalConfigArray("instances")?.map((c) => ({
name: responseUtil.readValues(c, "name"),
host: responseUtil.readValues(c, "host"),
token: responseUtil.readValues(c, "token")
})) || [];
return new ReleaseConfig(this.instanceList);
}
getInstanceConfig(instanceName) {
const instanceConfig = ReleaseConfig.instanceList.find(
(c) => c.name === instanceName
);
if (!instanceConfig) {
throw new Error(
`Couldn't find a release instance '${instanceName}' in the config`
);
}
return instanceConfig;
}
getInstanceList() {
return ReleaseConfig.instanceList;
}
}
exports.ReleaseConfig = ReleaseConfig;
//# sourceMappingURL=releaseInstanceConfig.cjs.js.map