@omnia/foundation
Version:
Provide omnia foundation typings and tooling work on client side for omnia extension.
160 lines (159 loc) • 5.34 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;
userCanChangePrivacy?: boolean;
privacy?: Enums.PrivacyType;
createAsOfficeGroup?: boolean;
allowAdministrationOfSPGroups?: boolean;
}
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;
yammerGroupValidateResult?: ISiteRequestYammerGroupValidateResult;
transactionId?: string;
customFields?: Array<ISiteTemplateCustomField>;
privacy?: Enums.PrivacyType;
sendInvitationEmail?: boolean;
isPublic?: boolean;
allowAdministrationOfSPGroups?: boolean;
}
interface ISiteRequestResult {
siteRequestId: string;
transactionId: string;
}
interface ISiteRequestUrlValidateResult {
urlValidated?: boolean;
invalidUrl?: boolean;
existedWeb?: Shared.IPortalWeb;
validateUrlInProcess?: boolean;
validateUrlTimeout?: any;
}
interface ISiteRequestYammerGroupValidateResult {
groupValidated?: boolean;
groupIsExisted?: boolean;
validateGroupInProcess?: boolean;
validateGroupTimeout?: any;
}
interface ISiteProvisioningResult {
isSiteCreated: boolean;
welcomePageUrl: string;
}
interface IOfficeGroupRequest {
displayName?: string;
alias?: string;
isPublic?: boolean;
optionalParams?: IOptionalParams;
}
interface IOptionalParams {
Description?: string;
Classification: string;
CreationOptions: {
results: Array<string>;
};
}
interface IOfficeGroupResponse {
documentsUrl?: any;
errorMessage?: any;
groupId?: string;
siteStatus?: number;
siteUrl?: string;
}
}