@omnia/tooling-composers
Version:
Provide tooling to work with manifest things.
33 lines (32 loc) • 1.71 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.SecurityProviderManifestRegistry = void 0;
const ManifestRegistry_1 = require("./ManifestRegistry");
const index_1 = require("./models/index");
class SecurityProviderManifestRegistry {
}
exports.SecurityProviderManifestRegistry = SecurityProviderManifestRegistry;
SecurityProviderManifestRegistry.SecurityProviders = [];
SecurityProviderManifestRegistry.getServerManifests = (currentServiceId) => {
let result = [];
//Sanity check
for (let provider of SecurityProviderManifestRegistry.SecurityProviders) {
if (provider.type == index_1.SecurityProviderTypes.Combined &&
provider.securityProviderRules.length == 0) {
throw new Error("Can't specify a combined security provider without any dependencies to other providers: " + JSON.stringify(provider));
}
}
let securityProviderManifest = {
manifestType: index_1.ServerManifestTypes.SecurityProvider,
securityProviders: SecurityProviderManifestRegistry.SecurityProviders
};
result.push(securityProviderManifest);
return result;
};
SecurityProviderManifestRegistry.AddSecurityProvider = (securityProvider) => {
SecurityProviderManifestRegistry.SecurityProviders.push(securityProvider);
};
SecurityProviderManifestRegistry.clearState = () => {
SecurityProviderManifestRegistry.SecurityProviders = [];
};
SecurityProviderManifestRegistry.ServerSubscription = ManifestRegistry_1.ManifestRegistry.registerServerManifestProvider(new ManifestRegistry_1.StaticServerManifestProviderProxy(SecurityProviderManifestRegistry.getServerManifests, SecurityProviderManifestRegistry.clearState));