@pnp/sp 2.8.0 → 2.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (306) hide show
  1. package/LICENSE +25 -25
  2. package/appcatalog/index.d.ts +8 -8
  3. package/appcatalog/index.js +30 -30
  4. package/appcatalog/types.d.ts +81 -81
  5. package/appcatalog/types.d.ts.map +1 -1
  6. package/appcatalog/types.js +177 -177
  7. package/appcatalog/types.js.map +1 -1
  8. package/appcatalog/web.d.ts +16 -16
  9. package/appcatalog/web.js +6 -6
  10. package/attachments/index.d.ts +2 -2
  11. package/attachments/index.js +2 -2
  12. package/attachments/item.d.ts +12 -12
  13. package/attachments/item.js +4 -4
  14. package/attachments/types.d.ts +92 -92
  15. package/attachments/types.js +240 -240
  16. package/batch.d.ts +17 -17
  17. package/batch.js +223 -223
  18. package/clientside-pages/funcs.d.ts +22 -22
  19. package/clientside-pages/funcs.js +25 -25
  20. package/clientside-pages/index.d.ts +2 -2
  21. package/clientside-pages/index.js +2 -2
  22. package/clientside-pages/types.d.ts +496 -494
  23. package/clientside-pages/types.d.ts.map +1 -1
  24. package/clientside-pages/types.js +1496 -1487
  25. package/clientside-pages/types.js.map +1 -1
  26. package/clientside-pages/web.d.ts +41 -41
  27. package/clientside-pages/web.js +57 -57
  28. package/column-defaults/folder.d.ts +27 -27
  29. package/column-defaults/folder.js +82 -82
  30. package/column-defaults/index.d.ts +3 -3
  31. package/column-defaults/index.js +2 -2
  32. package/column-defaults/list.d.ts +19 -19
  33. package/column-defaults/list.js +198 -198
  34. package/column-defaults/types.d.ts +21 -21
  35. package/column-defaults/types.js +1 -1
  36. package/comments/clientside-page.d.ts +57 -57
  37. package/comments/clientside-page.d.ts.map +1 -1
  38. package/comments/clientside-page.js +136 -136
  39. package/comments/index.d.ts +2 -2
  40. package/comments/index.js +2 -2
  41. package/comments/item.d.ts +29 -29
  42. package/comments/item.js +47 -47
  43. package/comments/item.js.map +1 -1
  44. package/comments/types.d.ts +107 -107
  45. package/comments/types.d.ts.map +1 -1
  46. package/comments/types.js +145 -145
  47. package/comments/types.js.map +1 -1
  48. package/content-types/index.d.ts +4 -4
  49. package/content-types/index.js +4 -4
  50. package/content-types/item.d.ts +12 -12
  51. package/content-types/item.js +4 -4
  52. package/content-types/list.d.ts +12 -12
  53. package/content-types/list.js +4 -4
  54. package/content-types/types.d.ts +107 -107
  55. package/content-types/types.js +166 -166
  56. package/content-types/web.d.ts +12 -12
  57. package/content-types/web.js +4 -4
  58. package/decorators.d.ts +11 -11
  59. package/decorators.js +28 -28
  60. package/features/index.d.ts +3 -3
  61. package/features/index.js +3 -3
  62. package/features/site.d.ts +12 -12
  63. package/features/site.js +4 -4
  64. package/features/types.d.ts +47 -47
  65. package/features/types.js +109 -109
  66. package/features/web.d.ts +12 -12
  67. package/features/web.js +4 -4
  68. package/fields/index.d.ts +4 -4
  69. package/fields/index.js +4 -4
  70. package/fields/list.d.ts +12 -12
  71. package/fields/list.js +4 -4
  72. package/fields/types.d.ts +368 -368
  73. package/fields/types.js +624 -624
  74. package/fields/web.d.ts +17 -17
  75. package/fields/web.js +5 -5
  76. package/files/folder.d.ts +12 -12
  77. package/files/folder.js +4 -4
  78. package/files/index.d.ts +4 -4
  79. package/files/index.js +4 -4
  80. package/files/item.d.ts +12 -12
  81. package/files/item.js +4 -4
  82. package/files/types.d.ts +421 -421
  83. package/files/types.js +853 -853
  84. package/files/types.js.map +1 -1
  85. package/files/web.d.ts +35 -35
  86. package/files/web.js +15 -15
  87. package/folders/index.d.ts +4 -4
  88. package/folders/index.js +4 -4
  89. package/folders/item.d.ts +9 -9
  90. package/folders/item.js +4 -4
  91. package/folders/list.d.ts +12 -12
  92. package/folders/list.js +4 -4
  93. package/folders/types.d.ts +207 -207
  94. package/folders/types.js +433 -433
  95. package/folders/types.js.map +1 -1
  96. package/folders/web.d.ts +39 -39
  97. package/folders/web.js +15 -15
  98. package/forms/index.d.ts +2 -2
  99. package/forms/index.js +2 -2
  100. package/forms/list.d.ts +9 -9
  101. package/forms/list.js +4 -4
  102. package/forms/types.d.ts +35 -35
  103. package/forms/types.js +41 -41
  104. package/hubsites/index.d.ts +12 -12
  105. package/hubsites/index.js +15 -15
  106. package/hubsites/site.d.ts +26 -26
  107. package/hubsites/site.js +39 -39
  108. package/hubsites/types.d.ts +55 -55
  109. package/hubsites/types.d.ts.map +1 -1
  110. package/hubsites/types.js +53 -53
  111. package/hubsites/web.d.ts +21 -21
  112. package/hubsites/web.js +23 -23
  113. package/index.d.ts +14 -14
  114. package/index.js +13 -13
  115. package/items/index.d.ts +2 -2
  116. package/items/index.js +2 -2
  117. package/items/list.d.ts +9 -9
  118. package/items/list.js +4 -4
  119. package/items/types.d.ts +226 -226
  120. package/items/types.js +549 -549
  121. package/lists/index.d.ts +2 -2
  122. package/lists/index.js +2 -2
  123. package/lists/types.d.ts +495 -495
  124. package/lists/types.js +522 -522
  125. package/lists/types.js.map +1 -1
  126. package/lists/web.d.ts +43 -43
  127. package/lists/web.js +27 -27
  128. package/navigation/index.d.ts +8 -8
  129. package/navigation/index.js +14 -14
  130. package/navigation/types.d.ts +154 -154
  131. package/navigation/types.js +219 -219
  132. package/navigation/web.d.ts +13 -13
  133. package/navigation/web.js +4 -4
  134. package/odata.d.ts +5 -5
  135. package/odata.js +90 -90
  136. package/odata.js.map +1 -1
  137. package/operations.d.ts +9 -9
  138. package/operations.js +63 -63
  139. package/package.json +4 -4
  140. package/presets/all.d.ts +72 -72
  141. package/presets/all.js +72 -72
  142. package/presets/core.d.ts +11 -11
  143. package/presets/core.js +11 -11
  144. package/profiles/index.d.ts +7 -7
  145. package/profiles/index.js +13 -13
  146. package/profiles/types.d.ts +357 -357
  147. package/profiles/types.js +454 -454
  148. package/readme.md +21 -21
  149. package/regional-settings/content-type.d.ts +7 -7
  150. package/regional-settings/content-type.js +4 -4
  151. package/regional-settings/field.d.ts +7 -7
  152. package/regional-settings/field.js +4 -4
  153. package/regional-settings/funcs.d.ts +2 -2
  154. package/regional-settings/funcs.js +8 -8
  155. package/regional-settings/index.d.ts +6 -6
  156. package/regional-settings/index.js +6 -6
  157. package/regional-settings/list.d.ts +7 -7
  158. package/regional-settings/list.js +4 -4
  159. package/regional-settings/types.d.ts +111 -111
  160. package/regional-settings/types.js +159 -159
  161. package/regional-settings/user-custom-actions.d.ts +7 -7
  162. package/regional-settings/user-custom-actions.js +4 -4
  163. package/regional-settings/web.d.ts +12 -12
  164. package/regional-settings/web.js +7 -7
  165. package/related-items/index.d.ts +1 -1
  166. package/related-items/index.js +1 -1
  167. package/related-items/types.d.ts +76 -76
  168. package/related-items/types.js +103 -103
  169. package/related-items/web.d.ts +12 -12
  170. package/related-items/web.js +9 -9
  171. package/rest.d.ts +44 -44
  172. package/rest.js +72 -72
  173. package/search/index.d.ts +30 -30
  174. package/search/index.js +25 -25
  175. package/search/query.d.ts +62 -62
  176. package/search/query.js +302 -302
  177. package/search/suggest.d.ts +76 -76
  178. package/search/suggest.js +66 -66
  179. package/search/types.d.ts +426 -426
  180. package/search/types.js +57 -57
  181. package/security/funcs.d.ts +43 -43
  182. package/security/funcs.js +142 -142
  183. package/security/index.d.ts +4 -4
  184. package/security/index.js +4 -4
  185. package/security/item.d.ts +7 -7
  186. package/security/item.js +14 -14
  187. package/security/list.d.ts +7 -7
  188. package/security/list.js +14 -14
  189. package/security/types.d.ts +318 -318
  190. package/security/types.js +399 -399
  191. package/security/web.d.ts +9 -9
  192. package/security/web.js +15 -15
  193. package/sharepointqueryable.d.ts +135 -135
  194. package/sharepointqueryable.js +265 -265
  195. package/sharing/file.d.ts +18 -18
  196. package/sharing/file.js +116 -116
  197. package/sharing/folder.d.ts +9 -9
  198. package/sharing/folder.js +136 -136
  199. package/sharing/funcs.d.ts +62 -62
  200. package/sharing/funcs.js +239 -239
  201. package/sharing/funcs.js.map +1 -1
  202. package/sharing/index.d.ts +5 -5
  203. package/sharing/index.js +5 -5
  204. package/sharing/item.d.ts +16 -16
  205. package/sharing/item.js +15 -15
  206. package/sharing/types.d.ts +583 -583
  207. package/sharing/types.js +113 -113
  208. package/sharing/web.d.ts +19 -19
  209. package/sharing/web.js +76 -76
  210. package/site-designs/index.d.ts +8 -8
  211. package/site-designs/index.js +14 -14
  212. package/site-designs/types.d.ts +319 -319
  213. package/site-designs/types.js +203 -203
  214. package/site-designs/web.d.ts +25 -25
  215. package/site-designs/web.js +11 -11
  216. package/site-groups/index.d.ts +2 -2
  217. package/site-groups/index.js +2 -2
  218. package/site-groups/types.d.ts +89 -89
  219. package/site-groups/types.js +125 -125
  220. package/site-groups/web.d.ts +40 -40
  221. package/site-groups/web.js +30 -30
  222. package/site-scripts/index.d.ts +9 -9
  223. package/site-scripts/index.js +15 -15
  224. package/site-scripts/list.d.ts +12 -12
  225. package/site-scripts/list.js +24 -24
  226. package/site-scripts/types.d.ts +183 -183
  227. package/site-scripts/types.js +141 -141
  228. package/site-scripts/web.d.ts +13 -13
  229. package/site-scripts/web.js +5 -5
  230. package/site-users/index.d.ts +2 -2
  231. package/site-users/index.js +2 -2
  232. package/site-users/types.d.ts +138 -138
  233. package/site-users/types.js +122 -122
  234. package/site-users/web.d.ts +31 -31
  235. package/site-users/web.js +27 -27
  236. package/sites/index.d.ts +7 -7
  237. package/sites/index.js +13 -13
  238. package/sites/types.d.ts +147 -147
  239. package/sites/types.js +321 -321
  240. package/social/index.d.ts +10 -10
  241. package/social/index.js +13 -13
  242. package/social/types.d.ts +309 -309
  243. package/social/types.js +322 -322
  244. package/sphttpclient.d.ts +18 -18
  245. package/sphttpclient.js +189 -189
  246. package/splibconfig.d.ts +22 -22
  247. package/splibconfig.js +13 -13
  248. package/sputilities/index.d.ts +7 -7
  249. package/sputilities/index.js +13 -13
  250. package/sputilities/types.d.ts +130 -130
  251. package/sputilities/types.js +118 -118
  252. package/subscriptions/index.d.ts +2 -2
  253. package/subscriptions/index.js +2 -2
  254. package/subscriptions/list.d.ts +13 -13
  255. package/subscriptions/list.js +4 -4
  256. package/subscriptions/types.d.ts +54 -54
  257. package/subscriptions/types.js +111 -111
  258. package/taxonomy/index.d.ts +7 -7
  259. package/taxonomy/index.js +13 -13
  260. package/taxonomy/types.d.ts +200 -200
  261. package/taxonomy/types.js +347 -347
  262. package/taxonomy/types.js.map +1 -1
  263. package/telemetry.d.ts +12 -12
  264. package/telemetry.js +48 -48
  265. package/types.d.ts +218 -218
  266. package/types.js +79 -79
  267. package/user-custom-actions/index.d.ts +4 -4
  268. package/user-custom-actions/index.js +4 -4
  269. package/user-custom-actions/list.d.ts +12 -12
  270. package/user-custom-actions/list.js +4 -4
  271. package/user-custom-actions/site.d.ts +12 -12
  272. package/user-custom-actions/site.js +4 -4
  273. package/user-custom-actions/types.d.ts +82 -82
  274. package/user-custom-actions/types.js +93 -93
  275. package/user-custom-actions/web.d.ts +15 -15
  276. package/user-custom-actions/web.js +4 -4
  277. package/utils/escapeQueryStrValue.d.ts +1 -1
  278. package/utils/escapeQueryStrValue.js +19 -19
  279. package/utils/extractweburl.d.ts +1 -1
  280. package/utils/extractweburl.js +15 -15
  281. package/utils/file-names.d.ts +17 -17
  282. package/utils/file-names.js +38 -38
  283. package/utils/metadata.d.ts +5 -5
  284. package/utils/metadata.js +5 -5
  285. package/utils/objectToSPKeyValueCollection.d.ts +20 -20
  286. package/utils/objectToSPKeyValueCollection.js +16 -16
  287. package/utils/toResourcePath.d.ts +7 -7
  288. package/utils/toResourcePath.js +6 -6
  289. package/utils/toabsoluteurl.d.ts +7 -7
  290. package/utils/toabsoluteurl.js +61 -61
  291. package/views/index.d.ts +2 -2
  292. package/views/index.js +2 -2
  293. package/views/list.d.ts +23 -23
  294. package/views/list.js +8 -8
  295. package/views/types.d.ts +140 -140
  296. package/views/types.js +184 -184
  297. package/webparts/file.d.ts +15 -15
  298. package/webparts/file.js +6 -6
  299. package/webparts/index.d.ts +2 -2
  300. package/webparts/index.js +2 -2
  301. package/webparts/types.d.ts +83 -83
  302. package/webparts/types.js +117 -117
  303. package/webs/index.d.ts +16 -16
  304. package/webs/index.js +16 -16
  305. package/webs/types.d.ts +210 -210
  306. package/webs/types.js +295 -295
package/sites/types.js CHANGED
@@ -1,322 +1,322 @@
1
- import { __awaiter, __decorate, __extends, __generator } from "tslib";
2
- import { SharePointQueryable, _SharePointQueryableInstance, spInvokableFactory } from "../sharepointqueryable.js";
3
- import { defaultPath } from "../decorators.js";
4
- import { Web } from "../webs/types.js";
5
- import { hOP, assign } from "@pnp/common";
6
- import { body } from "@pnp/odata";
7
- import { odataUrlFrom } from "../odata.js";
8
- import { spPost } from "../operations.js";
9
- import { SPBatch } from "../batch.js";
10
- import { escapeQueryStrValue } from "../utils/escapeQueryStrValue.js";
11
- import { tag } from "../telemetry.js";
12
- import { metadata } from "../utils/metadata.js";
13
- import { extractWebUrl } from "../utils/extractweburl.js";
14
- import { emptyGuid } from "../splibconfig.js";
15
- var _Site = /** @class */ (function (_super) {
16
- __extends(_Site, _super);
17
- function _Site() {
18
- return _super !== null && _super.apply(this, arguments) || this;
19
- }
20
- Object.defineProperty(_Site.prototype, "rootWeb", {
21
- /**
22
- * Gets the root web of the site collection
23
- *
24
- */
25
- get: function () {
26
- return tag.configure(Web(this, "rootweb").configureFrom(this), "si.rootWeb");
27
- },
28
- enumerable: false,
29
- configurable: true
30
- });
31
- /**
32
- * Returns the collection of changes from the change log that have occurred within the list, based on the specified query
33
- *
34
- * @param query The change query
35
- */
36
- _Site.prototype.getChanges = function (query) {
37
- var postBody = body({ "query": assign(metadata("SP.ChangeQuery"), query) });
38
- return spPost(this.clone(Web, "getchanges"), postBody);
39
- };
40
- /**
41
- * Opens a web by id (using POST)
42
- *
43
- * @param webId The GUID id of the web to open
44
- */
45
- _Site.prototype.openWebById = function (webId) {
46
- return __awaiter(this, void 0, void 0, function () {
47
- var data;
48
- return __generator(this, function (_a) {
49
- switch (_a.label) {
50
- case 0: return [4 /*yield*/, spPost(this.clone(Site, "openWebById('" + webId + "')"))];
51
- case 1:
52
- data = _a.sent();
53
- return [2 /*return*/, {
54
- data: data,
55
- web: Web(extractWebUrl(odataUrlFrom(data))).configureFrom(this),
56
- }];
57
- }
58
- });
59
- });
60
- };
61
- /**
62
- * Gets a Web instance representing the root web of the site collection
63
- * correctly setup for chaining within the library
64
- */
65
- _Site.prototype.getRootWeb = function () {
66
- return __awaiter(this, void 0, void 0, function () {
67
- var web;
68
- return __generator(this, function (_a) {
69
- switch (_a.label) {
70
- case 0: return [4 /*yield*/, this.rootWeb.select("Url")()];
71
- case 1:
72
- web = _a.sent();
73
- return [2 /*return*/, tag.configure(Web(web.Url).configureFrom(this), "si.getRootWeb")];
74
- }
75
- });
76
- });
77
- };
78
- /**
79
- * Gets the context information for this site collection
80
- */
81
- _Site.prototype.getContextInfo = function () {
82
- return __awaiter(this, void 0, void 0, function () {
83
- var site, q, data, info;
84
- return __generator(this, function (_a) {
85
- switch (_a.label) {
86
- case 0:
87
- site = Site(this.parentUrl, "_api/contextinfo").configureFrom(this);
88
- q = tag.configure(site, "si.getContextInfo");
89
- return [4 /*yield*/, spPost(q)];
90
- case 1:
91
- data = _a.sent();
92
- if (hOP(data, "GetContextWebInformation")) {
93
- info = data.GetContextWebInformation;
94
- info.SupportedSchemaVersions = info.SupportedSchemaVersions.results;
95
- return [2 /*return*/, info];
96
- }
97
- else {
98
- return [2 /*return*/, data];
99
- }
100
- return [2 /*return*/];
101
- }
102
- });
103
- });
104
- };
105
- _Site.prototype.createBatch = function () {
106
- return new SPBatch(this.parentUrl, this.getRuntime());
107
- };
108
- /**
109
- * Deletes the current site
110
- *
111
- */
112
- _Site.prototype.delete = function () {
113
- return __awaiter(this, void 0, void 0, function () {
114
- var site, q;
115
- return __generator(this, function (_a) {
116
- switch (_a.label) {
117
- case 0: return [4 /*yield*/, this.clone(Site, "").select("Id")()];
118
- case 1:
119
- site = _a.sent();
120
- q = tag.configure(Site(this.parentUrl, "_api/SPSiteManager/Delete"), "si.delete");
121
- return [4 /*yield*/, spPost(q, body({ siteId: site.Id }))];
122
- case 2:
123
- _a.sent();
124
- return [2 /*return*/];
125
- }
126
- });
127
- });
128
- };
129
- /**
130
- * Gets the document libraries on a site. Static method. (SharePoint Online only)
131
- *
132
- * @param absoluteWebUrl The absolute url of the web whose document libraries should be returned
133
- */
134
- _Site.prototype.getDocumentLibraries = function (absoluteWebUrl) {
135
- return __awaiter(this, void 0, void 0, function () {
136
- var q, data;
137
- return __generator(this, function (_a) {
138
- switch (_a.label) {
139
- case 0:
140
- q = tag.configure(SharePointQueryable("", "_api/sp.web.getdocumentlibraries(@v)"), "si.getDocumentLibraries");
141
- q.query.set("@v", "'" + escapeQueryStrValue(absoluteWebUrl) + "'");
142
- return [4 /*yield*/, q()];
143
- case 1:
144
- data = _a.sent();
145
- return [2 /*return*/, hOP(data, "GetDocumentLibraries") ? data.GetDocumentLibraries : data];
146
- }
147
- });
148
- });
149
- };
150
- /**
151
- * Gets the site url from a page url
152
- *
153
- * @param absolutePageUrl The absolute url of the page
154
- */
155
- _Site.prototype.getWebUrlFromPageUrl = function (absolutePageUrl) {
156
- return __awaiter(this, void 0, void 0, function () {
157
- var q, data;
158
- return __generator(this, function (_a) {
159
- switch (_a.label) {
160
- case 0:
161
- q = tag.configure(SharePointQueryable("", "_api/sp.web.getweburlfrompageurl(@v)"), "si.getWebUrlFromPageUrl");
162
- q.query.set("@v", "'" + escapeQueryStrValue(absolutePageUrl) + "'");
163
- return [4 /*yield*/, q()];
164
- case 1:
165
- data = _a.sent();
166
- return [2 /*return*/, hOP(data, "GetWebUrlFromPageUrl") ? data.GetWebUrlFromPageUrl : data];
167
- }
168
- });
169
- });
170
- };
171
- /**
172
- * Creates a Modern communication site.
173
- *
174
- * @param title The title of the site to create
175
- * @param lcid The language to use for the site. If not specified will default to 1033 (English).
176
- * @param shareByEmailEnabled If set to true, it will enable sharing files via Email. By default it is set to false
177
- * @param url The fully qualified URL (e.g. https://yourtenant.sharepoint.com/sites/mysitecollection) of the site.
178
- * @param description The description of the communication site.
179
- * @param classification The Site classification to use. For instance 'Contoso Classified'. See https://www.youtube.com/watch?v=E-8Z2ggHcS0 for more information
180
- * @param siteDesignId The Guid of the site design to be used.
181
- * You can use the below default OOTB GUIDs:
182
- * Topic: 00000000-0000-0000-0000-000000000000
183
- * Showcase: 6142d2a0-63a5-4ba0-aede-d9fefca2c767
184
- * Blank: f6cc5403-0d63-442e-96c0-285923709ffc
185
- * @param hubSiteId The id of the hub site to which the new site should be associated
186
- * @param owner Optional owner value, required if executing the method in app only mode
187
- */
188
- _Site.prototype.createCommunicationSite = function (title, lcid, shareByEmailEnabled, url, description, classification, siteDesignId, hubSiteId, owner) {
189
- if (lcid === void 0) { lcid = 1033; }
190
- if (shareByEmailEnabled === void 0) { shareByEmailEnabled = false; }
191
- return __awaiter(this, void 0, void 0, function () {
192
- return __generator(this, function (_a) {
193
- return [2 /*return*/, this.createCommunicationSiteFromProps({
194
- Classification: classification,
195
- Description: description,
196
- HubSiteId: hubSiteId,
197
- Lcid: lcid,
198
- Owner: owner,
199
- ShareByEmailEnabled: shareByEmailEnabled,
200
- SiteDesignId: siteDesignId,
201
- Title: title,
202
- Url: url,
203
- })];
204
- });
205
- });
206
- };
207
- _Site.prototype.createCommunicationSiteFromProps = function (props) {
208
- return __awaiter(this, void 0, void 0, function () {
209
- var p, postBody;
210
- return __generator(this, function (_a) {
211
- p = Object.assign({}, {
212
- Classification: "",
213
- Description: "",
214
- HubSiteId: emptyGuid,
215
- Lcid: 1033,
216
- ShareByEmailEnabled: false,
217
- SiteDesignId: emptyGuid,
218
- WebTemplate: "SITEPAGEPUBLISHING#0",
219
- WebTemplateExtensionId: emptyGuid,
220
- }, props);
221
- postBody = body({
222
- "request": assign(metadata("Microsoft.SharePoint.Portal.SPSiteCreationRequest"), p),
223
- });
224
- return [2 /*return*/, spPost(Site(extractWebUrl(this.toUrl()), "/_api/SPSiteManager/Create"), postBody)];
225
- });
226
- });
227
- };
228
- /**
229
- *
230
- * @param url Site Url that you want to check if exists
231
- */
232
- _Site.prototype.exists = function (url) {
233
- return __awaiter(this, void 0, void 0, function () {
234
- var postBody, value;
235
- return __generator(this, function (_a) {
236
- switch (_a.label) {
237
- case 0:
238
- postBody = body({ url: url });
239
- return [4 /*yield*/, spPost(Site(extractWebUrl(this.toUrl()), "/_api/SP.Site.Exists"), postBody)];
240
- case 1:
241
- value = _a.sent();
242
- return [2 /*return*/, value];
243
- }
244
- });
245
- });
246
- };
247
- /**
248
- * Creates a Modern team site backed by Office 365 group. For use in SP Online only. This will not work with App-only tokens
249
- *
250
- * @param displayName The title or display name of the Modern team site to be created
251
- * @param alias Alias of the underlying Office 365 Group
252
- * @param isPublic Defines whether the Office 365 Group will be public (default), or private.
253
- * @param lcid The language to use for the site. If not specified will default to English (1033).
254
- * @param description The description of the site to be created.
255
- * @param classification The Site classification to use. For instance 'Contoso Classified'. See https://www.youtube.com/watch?v=E-8Z2ggHcS0 for more information
256
- * @param owners The Owners of the site to be created
257
- */
258
- _Site.prototype.createModernTeamSite = function (displayName, alias, isPublic, lcid, description, classification, owners, hubSiteId, siteDesignId) {
259
- return __awaiter(this, void 0, void 0, function () {
260
- return __generator(this, function (_a) {
261
- return [2 /*return*/, this.createModernTeamSiteFromProps({
262
- alias: alias,
263
- classification: classification,
264
- description: description,
265
- displayName: displayName,
266
- hubSiteId: hubSiteId,
267
- isPublic: isPublic,
268
- lcid: lcid,
269
- owners: owners,
270
- siteDesignId: siteDesignId,
271
- })];
272
- });
273
- });
274
- };
275
- _Site.prototype.createModernTeamSiteFromProps = function (props) {
276
- return __awaiter(this, void 0, void 0, function () {
277
- var p, postBody;
278
- return __generator(this, function (_a) {
279
- p = Object.assign({}, {
280
- classification: "",
281
- description: "",
282
- hubSiteId: emptyGuid,
283
- isPublic: true,
284
- lcid: 1033,
285
- owners: [],
286
- }, props);
287
- postBody = {
288
- alias: p.alias,
289
- displayName: p.displayName,
290
- isPublic: p.isPublic,
291
- optionalParams: {
292
- Classification: p.classification,
293
- CreationOptions: {
294
- "results": ["SPSiteLanguage:" + p.lcid, "HubSiteId:" + p.hubSiteId],
295
- },
296
- Description: p.description,
297
- Owners: {
298
- "results": p.owners,
299
- },
300
- },
301
- };
302
- if (p.siteDesignId) {
303
- postBody.optionalParams.CreationOptions.results.push("implicit_formula_292aa8a00786498a87a5ca52d9f4214a_" + p.siteDesignId);
304
- }
305
- return [2 /*return*/, spPost(Site(extractWebUrl(this.toUrl()), "/_api/GroupSiteManager/CreateGroupEx"), body(postBody))];
306
- });
307
- });
308
- };
309
- __decorate([
310
- tag("si.getChanges")
311
- ], _Site.prototype, "getChanges", null);
312
- __decorate([
313
- tag("si.openWebById")
314
- ], _Site.prototype, "openWebById", null);
315
- _Site = __decorate([
316
- defaultPath("_api/site")
317
- ], _Site);
318
- return _Site;
319
- }(_SharePointQueryableInstance));
320
- export { _Site };
321
- export var Site = spInvokableFactory(_Site);
1
+ import { __awaiter, __decorate, __extends, __generator } from "tslib";
2
+ import { SharePointQueryable, _SharePointQueryableInstance, spInvokableFactory } from "../sharepointqueryable.js";
3
+ import { defaultPath } from "../decorators.js";
4
+ import { Web } from "../webs/types.js";
5
+ import { hOP, assign } from "@pnp/common";
6
+ import { body } from "@pnp/odata";
7
+ import { odataUrlFrom } from "../odata.js";
8
+ import { spPost } from "../operations.js";
9
+ import { SPBatch } from "../batch.js";
10
+ import { escapeQueryStrValue } from "../utils/escapeQueryStrValue.js";
11
+ import { tag } from "../telemetry.js";
12
+ import { metadata } from "../utils/metadata.js";
13
+ import { extractWebUrl } from "../utils/extractweburl.js";
14
+ import { emptyGuid } from "../splibconfig.js";
15
+ var _Site = /** @class */ (function (_super) {
16
+ __extends(_Site, _super);
17
+ function _Site() {
18
+ return _super !== null && _super.apply(this, arguments) || this;
19
+ }
20
+ Object.defineProperty(_Site.prototype, "rootWeb", {
21
+ /**
22
+ * Gets the root web of the site collection
23
+ *
24
+ */
25
+ get: function () {
26
+ return tag.configure(Web(this, "rootweb").configureFrom(this), "si.rootWeb");
27
+ },
28
+ enumerable: false,
29
+ configurable: true
30
+ });
31
+ /**
32
+ * Returns the collection of changes from the change log that have occurred within the list, based on the specified query
33
+ *
34
+ * @param query The change query
35
+ */
36
+ _Site.prototype.getChanges = function (query) {
37
+ var postBody = body({ "query": assign(metadata("SP.ChangeQuery"), query) });
38
+ return spPost(this.clone(Web, "getchanges"), postBody);
39
+ };
40
+ /**
41
+ * Opens a web by id (using POST)
42
+ *
43
+ * @param webId The GUID id of the web to open
44
+ */
45
+ _Site.prototype.openWebById = function (webId) {
46
+ return __awaiter(this, void 0, void 0, function () {
47
+ var data;
48
+ return __generator(this, function (_a) {
49
+ switch (_a.label) {
50
+ case 0: return [4 /*yield*/, spPost(this.clone(Site, "openWebById('" + webId + "')"))];
51
+ case 1:
52
+ data = _a.sent();
53
+ return [2 /*return*/, {
54
+ data: data,
55
+ web: Web(extractWebUrl(odataUrlFrom(data))).configureFrom(this),
56
+ }];
57
+ }
58
+ });
59
+ });
60
+ };
61
+ /**
62
+ * Gets a Web instance representing the root web of the site collection
63
+ * correctly setup for chaining within the library
64
+ */
65
+ _Site.prototype.getRootWeb = function () {
66
+ return __awaiter(this, void 0, void 0, function () {
67
+ var web;
68
+ return __generator(this, function (_a) {
69
+ switch (_a.label) {
70
+ case 0: return [4 /*yield*/, this.rootWeb.select("Url")()];
71
+ case 1:
72
+ web = _a.sent();
73
+ return [2 /*return*/, tag.configure(Web(web.Url).configureFrom(this), "si.getRootWeb")];
74
+ }
75
+ });
76
+ });
77
+ };
78
+ /**
79
+ * Gets the context information for this site collection
80
+ */
81
+ _Site.prototype.getContextInfo = function () {
82
+ return __awaiter(this, void 0, void 0, function () {
83
+ var site, q, data, info;
84
+ return __generator(this, function (_a) {
85
+ switch (_a.label) {
86
+ case 0:
87
+ site = Site(this.parentUrl, "_api/contextinfo").configureFrom(this);
88
+ q = tag.configure(site, "si.getContextInfo");
89
+ return [4 /*yield*/, spPost(q)];
90
+ case 1:
91
+ data = _a.sent();
92
+ if (hOP(data, "GetContextWebInformation")) {
93
+ info = data.GetContextWebInformation;
94
+ info.SupportedSchemaVersions = info.SupportedSchemaVersions.results;
95
+ return [2 /*return*/, info];
96
+ }
97
+ else {
98
+ return [2 /*return*/, data];
99
+ }
100
+ return [2 /*return*/];
101
+ }
102
+ });
103
+ });
104
+ };
105
+ _Site.prototype.createBatch = function () {
106
+ return new SPBatch(this.parentUrl, this.getRuntime());
107
+ };
108
+ /**
109
+ * Deletes the current site
110
+ *
111
+ */
112
+ _Site.prototype.delete = function () {
113
+ return __awaiter(this, void 0, void 0, function () {
114
+ var site, q;
115
+ return __generator(this, function (_a) {
116
+ switch (_a.label) {
117
+ case 0: return [4 /*yield*/, this.clone(Site, "").select("Id")()];
118
+ case 1:
119
+ site = _a.sent();
120
+ q = tag.configure(Site(this.parentUrl, "_api/SPSiteManager/Delete"), "si.delete");
121
+ return [4 /*yield*/, spPost(q, body({ siteId: site.Id }))];
122
+ case 2:
123
+ _a.sent();
124
+ return [2 /*return*/];
125
+ }
126
+ });
127
+ });
128
+ };
129
+ /**
130
+ * Gets the document libraries on a site. Static method. (SharePoint Online only)
131
+ *
132
+ * @param absoluteWebUrl The absolute url of the web whose document libraries should be returned
133
+ */
134
+ _Site.prototype.getDocumentLibraries = function (absoluteWebUrl) {
135
+ return __awaiter(this, void 0, void 0, function () {
136
+ var q, data;
137
+ return __generator(this, function (_a) {
138
+ switch (_a.label) {
139
+ case 0:
140
+ q = tag.configure(SharePointQueryable("", "_api/sp.web.getdocumentlibraries(@v)"), "si.getDocumentLibraries");
141
+ q.query.set("@v", "'" + escapeQueryStrValue(absoluteWebUrl) + "'");
142
+ return [4 /*yield*/, q()];
143
+ case 1:
144
+ data = _a.sent();
145
+ return [2 /*return*/, hOP(data, "GetDocumentLibraries") ? data.GetDocumentLibraries : data];
146
+ }
147
+ });
148
+ });
149
+ };
150
+ /**
151
+ * Gets the site url from a page url
152
+ *
153
+ * @param absolutePageUrl The absolute url of the page
154
+ */
155
+ _Site.prototype.getWebUrlFromPageUrl = function (absolutePageUrl) {
156
+ return __awaiter(this, void 0, void 0, function () {
157
+ var q, data;
158
+ return __generator(this, function (_a) {
159
+ switch (_a.label) {
160
+ case 0:
161
+ q = tag.configure(SharePointQueryable("", "_api/sp.web.getweburlfrompageurl(@v)"), "si.getWebUrlFromPageUrl");
162
+ q.query.set("@v", "'" + escapeQueryStrValue(absolutePageUrl) + "'");
163
+ return [4 /*yield*/, q()];
164
+ case 1:
165
+ data = _a.sent();
166
+ return [2 /*return*/, hOP(data, "GetWebUrlFromPageUrl") ? data.GetWebUrlFromPageUrl : data];
167
+ }
168
+ });
169
+ });
170
+ };
171
+ /**
172
+ * Creates a Modern communication site.
173
+ *
174
+ * @param title The title of the site to create
175
+ * @param lcid The language to use for the site. If not specified will default to 1033 (English).
176
+ * @param shareByEmailEnabled If set to true, it will enable sharing files via Email. By default it is set to false
177
+ * @param url The fully qualified URL (e.g. https://yourtenant.sharepoint.com/sites/mysitecollection) of the site.
178
+ * @param description The description of the communication site.
179
+ * @param classification The Site classification to use. For instance 'Contoso Classified'. See https://www.youtube.com/watch?v=E-8Z2ggHcS0 for more information
180
+ * @param siteDesignId The Guid of the site design to be used.
181
+ * You can use the below default OOTB GUIDs:
182
+ * Topic: 00000000-0000-0000-0000-000000000000
183
+ * Showcase: 6142d2a0-63a5-4ba0-aede-d9fefca2c767
184
+ * Blank: f6cc5403-0d63-442e-96c0-285923709ffc
185
+ * @param hubSiteId The id of the hub site to which the new site should be associated
186
+ * @param owner Optional owner value, required if executing the method in app only mode
187
+ */
188
+ _Site.prototype.createCommunicationSite = function (title, lcid, shareByEmailEnabled, url, description, classification, siteDesignId, hubSiteId, owner) {
189
+ if (lcid === void 0) { lcid = 1033; }
190
+ if (shareByEmailEnabled === void 0) { shareByEmailEnabled = false; }
191
+ return __awaiter(this, void 0, void 0, function () {
192
+ return __generator(this, function (_a) {
193
+ return [2 /*return*/, this.createCommunicationSiteFromProps({
194
+ Classification: classification,
195
+ Description: description,
196
+ HubSiteId: hubSiteId,
197
+ Lcid: lcid,
198
+ Owner: owner,
199
+ ShareByEmailEnabled: shareByEmailEnabled,
200
+ SiteDesignId: siteDesignId,
201
+ Title: title,
202
+ Url: url,
203
+ })];
204
+ });
205
+ });
206
+ };
207
+ _Site.prototype.createCommunicationSiteFromProps = function (props) {
208
+ return __awaiter(this, void 0, void 0, function () {
209
+ var p, postBody;
210
+ return __generator(this, function (_a) {
211
+ p = Object.assign({}, {
212
+ Classification: "",
213
+ Description: "",
214
+ HubSiteId: emptyGuid,
215
+ Lcid: 1033,
216
+ ShareByEmailEnabled: false,
217
+ SiteDesignId: emptyGuid,
218
+ WebTemplate: "SITEPAGEPUBLISHING#0",
219
+ WebTemplateExtensionId: emptyGuid,
220
+ }, props);
221
+ postBody = body({
222
+ "request": assign(metadata("Microsoft.SharePoint.Portal.SPSiteCreationRequest"), p),
223
+ });
224
+ return [2 /*return*/, spPost(Site(extractWebUrl(this.toUrl()), "/_api/SPSiteManager/Create"), postBody)];
225
+ });
226
+ });
227
+ };
228
+ /**
229
+ *
230
+ * @param url Site Url that you want to check if exists
231
+ */
232
+ _Site.prototype.exists = function (url) {
233
+ return __awaiter(this, void 0, void 0, function () {
234
+ var postBody, value;
235
+ return __generator(this, function (_a) {
236
+ switch (_a.label) {
237
+ case 0:
238
+ postBody = body({ url: url });
239
+ return [4 /*yield*/, spPost(Site(extractWebUrl(this.toUrl()), "/_api/SP.Site.Exists"), postBody)];
240
+ case 1:
241
+ value = _a.sent();
242
+ return [2 /*return*/, value];
243
+ }
244
+ });
245
+ });
246
+ };
247
+ /**
248
+ * Creates a Modern team site backed by Office 365 group. For use in SP Online only. This will not work with App-only tokens
249
+ *
250
+ * @param displayName The title or display name of the Modern team site to be created
251
+ * @param alias Alias of the underlying Office 365 Group
252
+ * @param isPublic Defines whether the Office 365 Group will be public (default), or private.
253
+ * @param lcid The language to use for the site. If not specified will default to English (1033).
254
+ * @param description The description of the site to be created.
255
+ * @param classification The Site classification to use. For instance 'Contoso Classified'. See https://www.youtube.com/watch?v=E-8Z2ggHcS0 for more information
256
+ * @param owners The Owners of the site to be created
257
+ */
258
+ _Site.prototype.createModernTeamSite = function (displayName, alias, isPublic, lcid, description, classification, owners, hubSiteId, siteDesignId) {
259
+ return __awaiter(this, void 0, void 0, function () {
260
+ return __generator(this, function (_a) {
261
+ return [2 /*return*/, this.createModernTeamSiteFromProps({
262
+ alias: alias,
263
+ classification: classification,
264
+ description: description,
265
+ displayName: displayName,
266
+ hubSiteId: hubSiteId,
267
+ isPublic: isPublic,
268
+ lcid: lcid,
269
+ owners: owners,
270
+ siteDesignId: siteDesignId,
271
+ })];
272
+ });
273
+ });
274
+ };
275
+ _Site.prototype.createModernTeamSiteFromProps = function (props) {
276
+ return __awaiter(this, void 0, void 0, function () {
277
+ var p, postBody;
278
+ return __generator(this, function (_a) {
279
+ p = Object.assign({}, {
280
+ classification: "",
281
+ description: "",
282
+ hubSiteId: emptyGuid,
283
+ isPublic: true,
284
+ lcid: 1033,
285
+ owners: [],
286
+ }, props);
287
+ postBody = {
288
+ alias: p.alias,
289
+ displayName: p.displayName,
290
+ isPublic: p.isPublic,
291
+ optionalParams: {
292
+ Classification: p.classification,
293
+ CreationOptions: {
294
+ "results": ["SPSiteLanguage:" + p.lcid, "HubSiteId:" + p.hubSiteId],
295
+ },
296
+ Description: p.description,
297
+ Owners: {
298
+ "results": p.owners,
299
+ },
300
+ },
301
+ };
302
+ if (p.siteDesignId) {
303
+ postBody.optionalParams.CreationOptions.results.push("implicit_formula_292aa8a00786498a87a5ca52d9f4214a_" + p.siteDesignId);
304
+ }
305
+ return [2 /*return*/, spPost(Site(extractWebUrl(this.toUrl()), "/_api/GroupSiteManager/CreateGroupEx"), body(postBody))];
306
+ });
307
+ });
308
+ };
309
+ __decorate([
310
+ tag("si.getChanges")
311
+ ], _Site.prototype, "getChanges", null);
312
+ __decorate([
313
+ tag("si.openWebById")
314
+ ], _Site.prototype, "openWebById", null);
315
+ _Site = __decorate([
316
+ defaultPath("_api/site")
317
+ ], _Site);
318
+ return _Site;
319
+ }(_SharePointQueryableInstance));
320
+ export { _Site };
321
+ export var Site = spInvokableFactory(_Site);
322
322
  //# sourceMappingURL=types.js.map