@omnia/fx-models
Version:
Provide Omnia Fx Models Stuffs.
143 lines (142 loc) • 4.09 kB
TypeScript
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;
}