UNPKG

11.8 kBTypeScriptView Raw
1import { ISPQueryable, _SPQueryable } from "../spqueryable.js";
2export declare class _SiteDesigns extends _SPQueryable {
3 constructor(base: string | ISPQueryable, methodName?: string);
4 run<T>(props: any): Promise<T>;
5 /**
6 * Creates a new site design available to users when they create a new site from the SharePoint home page.
7 *
8 * @param creationInfo A sitedesign creation information object
9 */
10 createSiteDesign(creationInfo: ISiteDesignCreationInfo): Promise<ISiteDesignInfo>;
11 /**
12 * Applies a site design to an existing site collection.
13 *
14 * @param siteDesignId The ID of the site design to apply.
15 * @param webUrl The URL of the site collection where you want to apply the site design.
16 */
17 applySiteDesign(siteDesignId: string, webUrl: string): Promise<void>;
18 /**
19 * Gets the list of available site designs
20 */
21 getSiteDesigns(): Promise<ISiteDesignInfo[]>;
22 /**
23 * Gets information about a specific site design.
24 * @param id The ID of the site design to get information about.
25 */
26 getSiteDesignMetadata(id: string): Promise<ISiteDesignInfo>;
27 /**
28 * Updates a site design with new values. In the REST call, all parameters are optional except the site script Id.
29 * If you had previously set the IsDefault parameter to TRUE and wish it to remain true, you must pass in this parameter again (otherwise it will be reset to FALSE).
30 * @param updateInfo A sitedesign update information object
31 */
32 updateSiteDesign(updateInfo: ISiteDesignUpdateInfo): Promise<ISiteDesignInfo>;
33 /**
34 * Deletes a site design.
35 * @param id The ID of the site design to delete.
36 */
37 deleteSiteDesign(id: string): Promise<void>;
38 /**
39 * Gets a list of principals that have access to a site design.
40 * @param id The ID of the site design to get rights information from.
41 */
42 getSiteDesignRights(id: string): Promise<ISiteDesignPrincipals[]>;
43 /**
44 * Grants access to a site design for one or more principals.
45 * @param id The ID of the site design to grant rights on.
46 * @param principalNames An array of one or more principals to grant view rights.
47 * Principals can be users or mail-enabled security groups in the form of "alias" or "alias@<domain name>.com"
48 * @param grantedRights Always set to 1. This represents the View right.
49 */
50 grantSiteDesignRights(id: string, principalNames: string[], grantedRights?: number): Promise<void>;
51 /**
52 * Revokes access from a site design for one or more principals.
53 * @param id The ID of the site design to revoke rights from.
54 * @param principalNames An array of one or more principals to revoke view rights from.
55 * If all principals have rights revoked on the site design, the site design becomes viewable to everyone.
56 */
57 revokeSiteDesignRights(id: string, principalNames: string[]): Promise<void>;
58 /**
59 * Adds a site design task on the specified web url to be invoked asynchronously.
60 * @param webUrl The absolute url of the web on where to create the task
61 * @param siteDesignId The ID of the site design to create a task for
62 */
63 addSiteDesignTask(webUrl: string, siteDesignId: string): Promise<ISiteDesignTask>;
64 /**
65 * Adds a site design task on the current web to be invoked asynchronously.
66 * @param siteDesignId The ID of the site design to create a task for
67 */
68 addSiteDesignTaskToCurrentWeb(siteDesignId: string): Promise<ISiteDesignTask>;
69 /**
70 * Retrieves the site design task, if the task has finished running null will be returned
71 * @param id The ID of the site design task
72 */
73 getSiteDesignTask(id: string): Promise<ISiteDesignTask>;
74 /**
75 * Retrieves a list of site design that have run on a specific web
76 * @param webUrl The url of the web where the site design was applied
77 * @param siteDesignId (Optional) the site design ID, if not provided will return all site design runs
78 */
79 getSiteDesignRun(webUrl: string, siteDesignId?: string): Promise<ISiteDesignRun[]>;
80 /**
81 * Retrieves the status of a site design that has been run or is still running
82 * @param webUrl The url of the web where the site design was applied
83 * @param runId the run ID
84 */
85 getSiteDesignRunStatus(webUrl: string, runId: string): Promise<ISiteScriptActionStatus[]>;
86}
87export interface ISiteDesigns extends _SiteDesigns {
88}
89export declare const SiteDesigns: (baseUrl: string | ISPQueryable, methodName?: string) => ISiteDesigns;
90/**
91 * Result from creating or retrieving a site design
92 *
93 */
94export interface ISiteDesignInfo {
95 /**
96 * The ID of the site design to apply.
97 */
98 Id: string;
99 /**
100 * The display name of the site design.
101 */
102 Title: string;
103 /**
104 * Identifies which base template to add the design to. Use the value 64 for the Team site template, and the value 68 for the Communication site template.
105 */
106 WebTemplate: string;
107 /**
108 * An array of one or more site scripts. Each is identified by an ID. The scripts will run in the order listed.
109 */
110 SiteScriptIds: string[];
111 /**
112 * The display description of site design.
113 */
114 Description: string;
115 /**
116 * The URL of a preview image. If none is specified, SharePoint uses a generic image.
117 */
118 PreviewImageUrl: string;
119 /**
120 * The alt text description of the image for accessibility.
121 */
122 PreviewImageAltText: string;
123 /**
124 * True if the site design is applied as the default site design; otherwise, false.
125 * For more information see Customize a default site design https://docs.microsoft.com/en-us/sharepoint/dev/declarative-customization/customize-default-site-design.
126 */
127 IsDefault: boolean;
128 /**
129 * The version number of the site design
130 */
131 Version: string;
132}
133/**
134 * Data for creating a site design
135 *
136 */
137export interface ISiteDesignCreationInfo {
138 /**
139 * The display name of the site design.
140 */
141 Title: string;
142 /**
143 * Identifies which base template to add the design to. Use the value 64 for the Team site template, and the value 68 for the Communication site template.
144 */
145 WebTemplate: string;
146 /**
147 * An array of one or more site scripts. Each is identified by an ID. The scripts will run in the order listed.
148 */
149 SiteScriptIds?: string[];
150 /**
151 * (Optional) The display description of site design.
152 */
153 Description?: string;
154 /**
155 * (Optional) The URL of a preview image. If none is specified, SharePoint uses a generic image.
156 */
157 PreviewImageUrl?: string;
158 /**
159 * (Optional) The alt text description of the image for accessibility.
160 */
161 PreviewImageAltText?: string;
162 /**
163 * (Optional) True if the site design is applied as the default site design; otherwise, false.
164 * For more information see Customize a default site design https://docs.microsoft.com/en-us/sharepoint/dev/declarative-customization/customize-default-site-design.
165 */
166 IsDefault?: boolean;
167 /**
168 * Optional thumbnailed preview image data for the SiteDesign.
169 */
170 ThumbnailUrl?: string;
171 /**
172 * Design package associated with this SiteDesign.
173 */
174 DesignPackageId?: string;
175 /**
176 * Optional Template Features of the SiteDesign. It will be an user-readable list of what the site design does.
177 *
178 */
179 TemplateFeatures?: string[];
180 /**
181 * The supported web templates for this SiteDesign.
182 */
183 SupportedWebTemplates?: string[];
184 /**
185 * If true, indicates that the site design only works on a group-connected site.
186 */
187 RequiresGroupConnected?: boolean;
188 /**
189 * If true, indicates that the site design only works on a teams-connected site.
190 */
191 RequiresTeamsConnected?: boolean;
192 /**
193 * If true, indicates that the site design only works on a yammer-connected site.
194 */
195 RequiresYammerConnected?: boolean;
196 /**
197 * If true, indicates that the site design only works on an EDU class-connected site.
198 */
199 RequiresClassConnected?: boolean;
200 /**
201 * If true, indicates that the site design only works if the customer has a Syntex license
202 */
203 RequiresSyntexLicense?: boolean;
204 /**
205 * The site design is only for the tenant admin scenario.
206 */
207 IsTenantAdminOnly?: boolean;
208 /**
209 * The design type indicating whether it is a site or list design.
210 */
211 DesignType?: TemplateDesignType;
212 /**
213 * Indicates the default color associated with list design.
214 */
215 ListColor?: ListDesignColor;
216 /**
217 * Indicates the default icon associated with list design.
218 */
219 ListIcon?: ListDesignIcon;
220 /**
221 * Indicates the set of platforms the list design should be available on. (A List design can target multiple platforms.)
222 */
223 TargetPlatforms?: string[];
224}
225/**
226 * Data for updating a site design
227 *
228 */
229export interface ISiteDesignUpdateInfo extends Partial<ISiteDesignCreationInfo> {
230 Id: string;
231}
232export declare const enum TemplateDesignType {
233 Site = 0,
234 List = 1
235}
236export declare const enum ListDesignColor {
237 DarkRed = 0,
238 Red = 1,
239 Orange = 2,
240 Green = 3,
241 DarkGreen = 4,
242 Teal = 5,
243 Blue = 6,
244 NavyBlue = 7,
245 BluePurple = 8,
246 DarkBlue = 9,
247 Lavendar = 10,
248 Pink = 11
249}
250export declare const enum ListDesignIcon {
251 Bug = 0,
252 Calendar = 1,
253 BullseyeTarget = 2,
254 ClipboardList = 3,
255 Airplane = 4,
256 Rocket = 5,
257 Color = 6,
258 Insights = 7,
259 CubeShape = 8,
260 TestBeakerSolid = 9,
261 Robot = 10,
262 Savings = 11
263}
264/**
265 * Result from retrieving the rights for a site design
266 *
267 */
268export interface ISiteDesignPrincipals {
269 /**
270 * Display name
271 */
272 DisplayName: string;
273 /**
274 * The principal name
275 */
276 PrincipalName: string;
277 /**
278 * The principal name
279 */
280 Rights: number;
281}
282export interface ISiteDesignTask {
283 /**
284 * The ID of the site design task
285 */
286 ID: string;
287 /**
288 * Logonname of the user who created the task
289 */
290 LogonName: string;
291 /**
292 * The ID of the site design the task is running on
293 */
294 SiteDesignID: string;
295 /**
296 * The ID of the site collection
297 */
298 SiteID: string;
299 /**
300 * The ID of the web
301 */
302 WebID: string;
303}
304export interface ISiteScriptActionStatus {
305 /**
306 * Action index
307 */
308 ActionIndex: number;
309 /**
310 * Action key
311 */
312 ActionKey: string;
313 /**
314 * Action title
315 */
316 ActionTitle: string;
317 /**
318 * Last modified
319 */
320 LastModified: number;
321 /**
322 * Ordinal index
323 */
324 OrdinalIndex: string;
325 /**
326 * Outcome code
327 */
328 OutcomeCode: number;
329 /**
330 * Outcome text
331 */
332 OutcomeText: string;
333 /**
334 * Site script id
335 */
336 SiteScriptID: string;
337 /**
338 * Site script index
339 */
340 SiteScriptIndex: number;
341 /**
342 * Site script title
343 */
344 SiteScriptTitle: string;
345}
346export interface ISiteDesignRun {
347 /**
348 * The ID of the site design run
349 */
350 ID: string;
351 /**
352 * The ID of the site design that was applied
353 */
354 SiteDesignID: string;
355 /**
356 * The title of the site design that was applied
357 */
358 SiteDesignTitle: string;
359 /**
360 * The version of the site design that was applied
361 */
362 SiteDesignVersion: number;
363 /**
364 * The site id where the site design was applied
365 */
366 SiteID: string;
367 /**
368 * The start time when the site design was applied
369 */
370 StartTime: number;
371 /**
372 * The web id where the site design was applied
373 */
374 WebID: string;
375}
376//# sourceMappingURL=types.d.ts.map
\No newline at end of file