@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;
}