@omnia/fx-models
Version: 
Provide Omnia Fx Models Stuffs.
57 lines (56 loc) • 1.62 kB
TypeScript
import { IIcon } from "./Icon";
import { GuidValue } from "@omnia/fx-models/internal-do-not-import-from-here/shared/models";
import { FeatureInstanceStatus } from "./Enums";
import { ServiceParam } from "./ServiceParam";
import { AzureAdAppPermissionInfo } from "./AzureAdAppPermissions";
export interface FeatureParam extends ServiceParam {
    isRequiredToBuildTarget: boolean;
}
export interface FeatureUIOption {
    /**
     * Element name rendering the feature
     * (Web compoenent)
     * If not specified deafult feature renderer may be used
     * */
    customRendererElement: string;
}
export interface Feature {
    id: GuidValue;
    serviceId: GuidValue;
    version: string;
    title: string;
    description: string;
    consentInformation: string;
    icons: IIcon[];
    category: string;
    parameters: FeatureParam[];
    permissionRole: GuidValue;
    targetResolverType: string;
    hasProviderHandling: boolean;
    uiOptions: FeatureUIOption;
    hidden: boolean;
    requiresAzureAdAppPermissions: AzureAdAppPermissionInfo[];
    configuration: IFeatureConfiguration;
}
export interface IFeatureConfiguration {
    readonly typeId: GuidValue;
}
export interface FeatureInstanceProperties {
    contextParams: {
        [name: string]: string;
    };
    properties: any;
}
export interface FeatureInstance {
    id: GuidValue;
    featureId: GuidValue;
    target: string;
    version: string;
    error: string;
    status: FeatureInstanceStatus;
    transactionId: GuidValue;
    properties: FeatureInstanceProperties;
    outputInfo: any;
    modifiedAt: Date;
    isActivated: boolean;
}