UNPKG

@omnia/fx-models

Version:
143 lines (142 loc) 4.09 kB
import { IconPickerModel, IIcon } from './Icon'; import { GuidValue } from './Guid'; import { AppInstanceStatus, AppTemplatePermissionLevel } from './Enums'; import { ServiceParam } from './ServiceParam'; import { ProvisioningTemplateEnterpriseProperty } from './EnterpriseProperty'; import { MultilingualString } from './MultilingualString'; import { AppProvisioningStepInfo } from '.'; export interface AppInstanceIdentities { admin: string[]; } export interface AppTemplateProperties { disallowUserEdit?: boolean; enable?: boolean; permissionLevel?: AppTemplatePermissionLevel; approvers?: Array<string>; enterpriseProperties?: Array<ProvisioningTemplateEnterpriseProperty>; appProvisioningStepInfos?: Array<AppProvisioningStepInfo>; [id: string]: any; } export interface AppDefinitionUIOption { appTemplateRendererElement: string; appInstanceRendererElement: string; } export interface AppDefinition { id: GuidValue; serviceId: GuidValue; version: string; title: string; description: string; icons: IIcon[]; uiOptions: AppDefinitionUIOption; parameters: ServiceParam[]; providedParameters: ServiceParam[]; appTemplates: AppTemplate[]; } export interface AppTemplate { id: GuidValue; appDefinitionId: GuidValue; title: MultilingualString; description: MultilingualString; icons: IconPickerModel[]; features: GuidValue[]; permissionIdentities: string[]; properties: AppTemplateProperties; createdBy: string; modifiedBy: string; createdAt: Date; modifiedAt: Date; appDefinition: AppDefinition; isDeleting?: boolean; } export interface AppInstanceOutput { absoluteAppUrl: string; } export interface AppInstanceProperties { contextParams: { [name: string]: string; }; properties: any; featureProperties: { [name: string]: any; }; pendingRequestUrl: string; processedFeaturesIndex: number[]; } export interface AppInstance { id: GuidValue; appDefinitionId: GuidValue; appTemplateId: GuidValue; appDefinitionVersion: string; title: string; description: string; showInPublicListings: boolean; error: string; status: AppInstanceStatus; transactionId: GuidValue; properties: AppInstanceProperties; permissionIdentities: AppInstanceIdentities; enterpriseProperties: { [internalName: string]: any; }; outputInfo: any; createdBy: string; modifiedBy: string; createdAt: Date; modifiedAt: Date; appTemplate: AppTemplate; } export interface AppInstanceInputInfo { title: string; description: string; showInPublicListings: boolean; permissionIdentities: AppInstanceIdentities; properties: any; featureProperties: { [id: string]: any; }; pendingRequestUrl?: string; enterpriseProperties?: { [internalName: string]: any; }; } export interface AppInstancesResult { appDefinitionId: GuidValue; appInstances: AppInstance[]; authorityUrl: string; } export interface AppInstanceCreateInfo { appTemplateId: GuidValue; inputInfo: AppInstanceInputInfo; contextParams: { [name: string]: string; }; } export interface AppInstanceUpdateInfo { appInstanceId: GuidValue; inputInfo: AppInstanceInputInfo; } export interface AppInstanceRejectInfo { appInstanceId: GuidValue; appDefinitionId: GuidValue; comment: string; } export interface AppInstanceOutputInfo { id: string; businessProfileId: string; title: string; outputInfo: AppInstanceOutput; status: AppInstanceStatus; } export interface AppInstanceQuery { includeTotal: boolean; itemLimit?: number; skip?: number; keyWord?: string; orderBy?: AppInstanceQueryOrderBy; statuses?: AppInstanceStatus[]; } export interface AppInstanceQueryOrderBy { descending: boolean; propertyName: string; }