UNPKG

10.7 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/**
169 * Data for updating a site design
170 *
171 */
172export interface ISiteDesignUpdateInfo {
173 /**
174 * The ID of the site design to apply.
175 */
176 Id: string;
177 /**
178 * (Optional) The new display name of the updated site design.
179 */
180 Title?: string;
181 /**
182 * (Optional) The new template to add the site design to. Use the value 64 for the Team site template, and the value 68 for the Communication site template.
183 */
184 WebTemplate?: string;
185 /**
186 * (Optional) A new array of one or more site scripts. Each is identified by an ID. The scripts run in the order listed.
187 */
188 SiteScriptIds?: string[];
189 /**
190 * (Optional) The new display description of the updated site design.
191 */
192 Description?: string;
193 /**
194 * (Optional) The new URL of a preview image.
195 */
196 PreviewImageUrl?: string;
197 /**
198 * (Optional) The new alt text description of the image for accessibility.
199 */
200 PreviewImageAltText?: string;
201 /**
202 * (Optional) True if the site design is applied as the default site design; otherwise, false.
203 * For more information see Customize a default site design https://docs.microsoft.com/en-us/sharepoint/dev/declarative-customization/customize-default-site-design.
204 * 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).
205 */
206 IsDefault?: boolean;
207}
208/**
209 * Result from retrieving the rights for a site design
210 *
211 */
212export interface ISiteDesignPrincipals {
213 /**
214 * Display name
215 */
216 DisplayName: string;
217 /**
218 * The principal name
219 */
220 PrincipalName: string;
221 /**
222 * The principal name
223 */
224 Rights: number;
225}
226export interface ISiteDesignTask {
227 /**
228 * The ID of the site design task
229 */
230 ID: string;
231 /**
232 * Logonname of the user who created the task
233 */
234 LogonName: string;
235 /**
236 * The ID of the site design the task is running on
237 */
238 SiteDesignID: string;
239 /**
240 * The ID of the site collection
241 */
242 SiteID: string;
243 /**
244 * The ID of the web
245 */
246 WebID: string;
247}
248export interface ISiteScriptActionStatus {
249 /**
250 * Action index
251 */
252 ActionIndex: number;
253 /**
254 * Action key
255 */
256 ActionKey: string;
257 /**
258 * Action title
259 */
260 ActionTitle: string;
261 /**
262 * Last modified
263 */
264 LastModified: number;
265 /**
266 * Ordinal index
267 */
268 OrdinalIndex: string;
269 /**
270 * Outcome code
271 */
272 OutcomeCode: number;
273 /**
274 * Outcome text
275 */
276 OutcomeText: string;
277 /**
278 * Site script id
279 */
280 SiteScriptID: string;
281 /**
282 * Site script index
283 */
284 SiteScriptIndex: number;
285 /**
286 * Site script title
287 */
288 SiteScriptTitle: string;
289}
290export interface ISiteDesignRun {
291 /**
292 * The ID of the site design run
293 */
294 ID: string;
295 /**
296 * The ID of the site design that was applied
297 */
298 SiteDesignID: string;
299 /**
300 * The title of the site design that was applied
301 */
302 SiteDesignTitle: string;
303 /**
304 * The version of the site design that was applied
305 */
306 SiteDesignVersion: number;
307 /**
308 * The site id where the site design was applied
309 */
310 SiteID: string;
311 /**
312 * The start time when the site design was applied
313 */
314 StartTime: number;
315 /**
316 * The web id where the site design was applied
317 */
318 WebID: string;
319}
320//# sourceMappingURL=types.d.ts.map
\No newline at end of file