UNPKG

@omnia/tooling-composers

Version:

Provide tooling to work with manifest things.

33 lines (32 loc) 1.71 kB
"use strict"; 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));