@omnia/tooling-composers
Version:
Provide tooling to work with manifest things.
41 lines (40 loc) • 2.49 kB
TypeScript
import { BuildOptions, ServiceOptions, RoleBasedSecurityProviderOptions, CombinedSecurityProviderOptions } from './models';
import { ICombinableSecurityProviderComposer, SecurityProviderCombinableRuleComposer } from './CombinableSecurityProviderComposer';
import { IServiceManifestComposer, ServiceManifestComposer } from './ServiceManifestComposer';
import { IClientServiceConfigurator } from './ConfigurationClientServiceRegistry';
export interface IWebAppServiceComposer extends IServiceManifestComposer<IWebAppServiceComposer> {
/**
* Set options to build process
* @param options the options for defining the build with options.
*/
withBuildOptions: (options: BuildOptions) => IWebAppServiceComposer;
/**
* Add a security provider for this omnia service
* This security provider is connected to the security roles concept in omnia.
* @param options the options for defining a role based security provider.
*/
AddRoleBasedSecurityProvider: (options: RoleBasedSecurityProviderOptions) => IWebAppServiceComposer;
/**
* Add a security provider for this omnia service
* This security provider is a combination of other security providers.
*
* Using this Security provider would mean avaluating the logical combination of access to other security providers
*
* @param options the options for defining a combined security provider.
*/
AddCombinedSecurityProvider: (options: CombinedSecurityProviderOptions) => ICombinableSecurityProviderComposer<IWebAppServiceComposer>;
/**
* Add a configuration to enable features at the runtimes.
* @param configurationType the type for defining a configuration.
*/
configuration: <T extends IClientServiceConfigurator<IWebAppServiceComposer>>(configurationType: any) => T;
}
export declare class WebAppServiceComposer extends ServiceManifestComposer<WebAppServiceComposer> implements IWebAppServiceComposer {
private manifestId;
private manifestTitle;
constructor(manifestId: string, manifestTitle: string, serviceOptions: ServiceOptions);
configuration: <T extends IClientServiceConfigurator<IWebAppServiceComposer>>(configurationType: any) => T;
withBuildOptions: (options: BuildOptions) => this;
AddRoleBasedSecurityProvider: (options: RoleBasedSecurityProviderOptions) => this;
AddCombinedSecurityProvider: (options: CombinedSecurityProviderOptions) => SecurityProviderCombinableRuleComposer<IWebAppServiceComposer>;
}