@omnia/foundation
Version:
Provide omnia foundation typings and tooling work on client side for omnia extension
125 lines (124 loc) • 4.19 kB
TypeScript
import { Shared } from "./IShared";
import { SharePoint } from "./ISharePoint";
import { Enums } from '../extensibility';
export declare module Sites {
interface IBaseSiteTemplate {
id?: string;
title?: string;
description?: string;
}
interface ISiteTemplate {
id?: string;
title?: string;
description?: string;
createAsSiteCollection?: boolean;
lcid?: number;
storageMaximumLevel?: number;
location?: string;
icon?: ISiteTemplateIcon;
image?: string;
defaultTimeZone?: string;
useCurrentSiteLocation?: boolean;
baseTemplate?: string;
permissionLevel?: number;
userCanChangeLanguage?: boolean;
uniquePermission?: boolean;
siteCollectionFeatures?: Array<string>;
siteFeatures?: Array<string>;
isUserCreatedTemplate?: boolean;
userDefinedProperties?: ISiteTemplateUserDefinedProperties;
customFields?: Array<ISiteTemplateCustomField>;
createdBy?: string;
}
interface IValidateSiteTemplateInfo {
isExistSiteTemplate: boolean;
isActivatedSiteDynamicProperties: boolean;
isHaveProperties: boolean;
}
interface IMigrateSiteInfo {
status: Enums.MigrateSitesStatus;
startedDate?: string;
sitesAlreadyMigrate: Array<string>;
sitesNeedMigration: Array<string>;
}
interface ISiteTemplateUserDefinedProperties {
approvers?: Array<SharePoint.IPeoplePickerPrincipal>;
displayTo?: Array<SharePoint.IPeoplePickerPrincipal>;
defaultAdministrator?: Array<SharePoint.IPeoplePickerPrincipal>;
defaultVisitors?: Array<SharePoint.IPeoplePickerPrincipal>;
templateGroup?: string;
migrationInfo: IMigrateSiteInfo;
}
interface ISiteTemplateIcon {
iconType: Enums.SiteTemplateIconType;
fontValue?: string;
customValue?: string;
}
interface ISiteCreationValidation {
siteTemplate?: ISiteTemplate;
isFeatureDependencyValid: boolean;
isUserPermissionValid: boolean;
}
interface ISiteTemplateCustomField {
id?: string;
displayName?: string;
internalName?: string;
fieldType?: Enums.CustomFieldTypes;
isRequired?: boolean;
isMultiple?: boolean;
isFilterable?: boolean;
isViewable?: boolean;
termStoreId?: string;
termGroupId?: string;
termGroupName?: string;
termSetId?: string;
termSetName?: string;
value?: any;
fieldValidation?: ISiteTemplateCustomFieldValidation;
}
interface ISiteTemplateCustomFieldValidation {
duplicatedDisplayName?: boolean;
duplicatedInternalName?: boolean;
}
interface ISiteRequest {
id?: string;
siteTemplateId?: string;
title?: string;
description?: string;
location?: string;
url?: string;
keywords?: Array<string>;
lcid?: number;
timeZone?: string;
approvers?: string;
owners?: Array<string>;
members?: Array<string>;
readers?: Array<string>;
status?: Enums.SiteRequestStatus;
requestType?: Enums.SiteRequestType;
createdBy?: string;
createdAt?: Date;
processedBy?: string;
processedAt?: Date;
comment?: string;
createdByUser?: SharePoint.IUser;
urlValidateResult?: ISiteRequestUrlValidateResult;
transactionId?: string;
customFields?: Array<ISiteTemplateCustomField>;
}
interface ISiteRequestResult {
siteRequestId: string;
transactionId: string;
}
interface ISiteRequestUrlValidateResult {
urlValidated?: boolean;
invalidUrl?: boolean;
existedWeb?: Shared.IPortalWeb;
validateUrlInProcess?: boolean;
validateUrlTimeout?: any;
}
interface ISiteProvisioningResult {
isSiteCreated: boolean;
welcomePageUrl: string;
}
}