@mcma/client
Version:
Node module with classes and functions used to access services in an MCMA environment
29 lines (28 loc) • 1.11 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ResourceManagerProvider = void 0;
const core_1 = require("@mcma/core");
const resource_manager_1 = require("./resource-manager");
const config_variables_ext_1 = require("./config-variables-ext");
class ResourceManagerProvider {
authProvider;
defaultConfig;
constructor(authProvider, defaultConfig) {
this.authProvider = authProvider;
this.defaultConfig = defaultConfig;
}
get(config) {
config = config ?? this.defaultConfig;
if (!config) {
config = core_1.ConfigVariables.getInstance();
}
if (config instanceof core_1.ConfigVariables) {
config = (0, config_variables_ext_1.getResourceManagerConfig)(config);
}
if (!config) {
throw new core_1.McmaException("Config for resource manager not provided, and there is no default config available");
}
return new resource_manager_1.ResourceManager(config, this.authProvider);
}
}
exports.ResourceManagerProvider = ResourceManagerProvider;