@lindle/sharepoint_requests 0.1.19 → 0.1.21

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 (50) hide show
  1. package/dist/index.d.mts +490 -0
  2. package/dist/index.d.ts +481 -8
  3. package/dist/index.js +892 -5
  4. package/dist/index.js.map +1 -0
  5. package/dist/index.mjs +863 -0
  6. package/dist/index.mjs.map +1 -0
  7. package/package.json +5 -5
  8. package/src/index.ts +29 -3
  9. package/src/root/index.ts +31 -11
  10. package/src/root/instance.ts +7 -0
  11. package/src/root/internal/context.ts +0 -1
  12. package/src/root/internal/digest.ts +16 -10
  13. package/src/root/internal/emailRequests.ts +2 -5
  14. package/src/root/internal/listRequests/createAttachment.ts +2 -2
  15. package/src/root/internal/listRequests/createListItem.ts +3 -18
  16. package/src/root/internal/listRequests/deleteFile.ts +1 -2
  17. package/src/root/internal/listRequests/deleteItem.ts +1 -1
  18. package/src/root/internal/listRequests/getListItems.ts +34 -7
  19. package/src/root/internal/listRequests/resolveMetadataType.ts +14 -0
  20. package/src/root/internal/listRequests/updateListItem.ts +3 -19
  21. package/src/root/internal/listRequests/uploadFile.ts +8 -13
  22. package/src/root/internal/userRequests.ts +52 -28
  23. package/src/types.ts +15 -2
  24. package/dist/root/index.d.ts +0 -163
  25. package/dist/root/instance.d.ts +0 -3
  26. package/dist/root/internal/context.d.ts +0 -11
  27. package/dist/root/internal/digest.d.ts +0 -2
  28. package/dist/root/internal/emailRequests.d.ts +0 -10
  29. package/dist/root/internal/listRequests/createAttachment.d.ts +0 -3
  30. package/dist/root/internal/listRequests/createListItem.d.ts +0 -3
  31. package/dist/root/internal/listRequests/deleteFile.d.ts +0 -3
  32. package/dist/root/internal/listRequests/deleteItem.d.ts +0 -3
  33. package/dist/root/internal/listRequests/getFiles.d.ts +0 -8
  34. package/dist/root/internal/listRequests/getListItems.d.ts +0 -8
  35. package/dist/root/internal/listRequests/getOnly.d.ts +0 -3
  36. package/dist/root/internal/listRequests/index.d.ts +0 -9
  37. package/dist/root/internal/listRequests/normalizePayload.d.ts +0 -4
  38. package/dist/root/internal/listRequests/updateListItem.d.ts +0 -3
  39. package/dist/root/internal/listRequests/uploadFile.d.ts +0 -6
  40. package/dist/root/internal/listRequests/utils.d.ts +0 -2
  41. package/dist/root/internal/odata.d.ts +0 -5
  42. package/dist/root/internal/sharepointUrl.d.ts +0 -2
  43. package/dist/root/internal/userRequests.d.ts +0 -15
  44. package/dist/sharepoint_requests.cjs.development.js +0 -1497
  45. package/dist/sharepoint_requests.cjs.development.js.map +0 -1
  46. package/dist/sharepoint_requests.cjs.production.min.js +0 -2
  47. package/dist/sharepoint_requests.cjs.production.min.js.map +0 -1
  48. package/dist/sharepoint_requests.esm.js +0 -1490
  49. package/dist/sharepoint_requests.esm.js.map +0 -1
  50. package/dist/types.d.ts +0 -260
@@ -1,1497 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
6
-
7
- var axios = require('axios');
8
- var axios__default = _interopDefault(axios);
9
-
10
- function _arrayLikeToArray(r, a) {
11
- (null == a || a > r.length) && (a = r.length);
12
- for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
13
- return n;
14
- }
15
- function asyncGeneratorStep(n, t, e, r, o, a, c) {
16
- try {
17
- var i = n[a](c),
18
- u = i.value;
19
- } catch (n) {
20
- return void e(n);
21
- }
22
- i.done ? t(u) : Promise.resolve(u).then(r, o);
23
- }
24
- function _asyncToGenerator(n) {
25
- return function () {
26
- var t = this,
27
- e = arguments;
28
- return new Promise(function (r, o) {
29
- var a = n.apply(t, e);
30
- function _next(n) {
31
- asyncGeneratorStep(a, r, o, _next, _throw, "next", n);
32
- }
33
- function _throw(n) {
34
- asyncGeneratorStep(a, r, o, _next, _throw, "throw", n);
35
- }
36
- _next(void 0);
37
- });
38
- };
39
- }
40
- function _createForOfIteratorHelperLoose(r, e) {
41
- var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
42
- if (t) return (t = t.call(r)).next.bind(t);
43
- if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) {
44
- t && (r = t);
45
- var o = 0;
46
- return function () {
47
- return o >= r.length ? {
48
- done: !0
49
- } : {
50
- done: !1,
51
- value: r[o++]
52
- };
53
- };
54
- }
55
- throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
56
- }
57
- function _extends() {
58
- return _extends = Object.assign ? Object.assign.bind() : function (n) {
59
- for (var e = 1; e < arguments.length; e++) {
60
- var t = arguments[e];
61
- for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
62
- }
63
- return n;
64
- }, _extends.apply(null, arguments);
65
- }
66
- function _regenerator() {
67
- /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
68
- var e,
69
- t,
70
- r = "function" == typeof Symbol ? Symbol : {},
71
- n = r.iterator || "@@iterator",
72
- o = r.toStringTag || "@@toStringTag";
73
- function i(r, n, o, i) {
74
- var c = n && n.prototype instanceof Generator ? n : Generator,
75
- u = Object.create(c.prototype);
76
- return _regeneratorDefine(u, "_invoke", function (r, n, o) {
77
- var i,
78
- c,
79
- u,
80
- f = 0,
81
- p = o || [],
82
- y = !1,
83
- G = {
84
- p: 0,
85
- n: 0,
86
- v: e,
87
- a: d,
88
- f: d.bind(e, 4),
89
- d: function (t, r) {
90
- return i = t, c = 0, u = e, G.n = r, a;
91
- }
92
- };
93
- function d(r, n) {
94
- for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) {
95
- var o,
96
- i = p[t],
97
- d = G.p,
98
- l = i[2];
99
- r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0));
100
- }
101
- if (o || r > 1) return a;
102
- throw y = !0, n;
103
- }
104
- return function (o, p, l) {
105
- if (f > 1) throw TypeError("Generator is already running");
106
- for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) {
107
- i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u);
108
- try {
109
- if (f = 2, i) {
110
- if (c || (o = "next"), t = i[o]) {
111
- if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object");
112
- if (!t.done) return t;
113
- u = t.value, c < 2 && (c = 0);
114
- } else 1 === c && (t = i.return) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1);
115
- i = e;
116
- } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break;
117
- } catch (t) {
118
- i = e, c = 1, u = t;
119
- } finally {
120
- f = 1;
121
- }
122
- }
123
- return {
124
- value: t,
125
- done: y
126
- };
127
- };
128
- }(r, o, i), !0), u;
129
- }
130
- var a = {};
131
- function Generator() {}
132
- function GeneratorFunction() {}
133
- function GeneratorFunctionPrototype() {}
134
- t = Object.getPrototypeOf;
135
- var c = [][n] ? t(t([][n]())) : (_regeneratorDefine(t = {}, n, function () {
136
- return this;
137
- }), t),
138
- u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c);
139
- function f(e) {
140
- return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e;
141
- }
142
- return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine(u), _regeneratorDefine(u, o, "Generator"), _regeneratorDefine(u, n, function () {
143
- return this;
144
- }), _regeneratorDefine(u, "toString", function () {
145
- return "[object Generator]";
146
- }), (_regenerator = function () {
147
- return {
148
- w: i,
149
- m: f
150
- };
151
- })();
152
- }
153
- function _regeneratorDefine(e, r, n, t) {
154
- var i = Object.defineProperty;
155
- try {
156
- i({}, "", {});
157
- } catch (e) {
158
- i = 0;
159
- }
160
- _regeneratorDefine = function (e, r, n, t) {
161
- function o(r, n) {
162
- _regeneratorDefine(e, r, function (e) {
163
- return this._invoke(r, n, e);
164
- });
165
- }
166
- r ? i ? i(e, r, {
167
- value: n,
168
- enumerable: !t,
169
- configurable: !t,
170
- writable: !t
171
- }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2));
172
- }, _regeneratorDefine(e, r, n, t);
173
- }
174
- function _unsupportedIterableToArray(r, a) {
175
- if (r) {
176
- if ("string" == typeof r) return _arrayLikeToArray(r, a);
177
- var t = {}.toString.call(r).slice(8, -1);
178
- return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;
179
- }
180
- }
181
-
182
- var defaultConfig = {
183
- headers: {
184
- Accept: 'application/json; odata=verbose',
185
- 'Content-Type': 'application/json; odata=verbose'
186
- },
187
- timeout: 15000,
188
- withCredentials: true
189
- };
190
- var instance = function instance(baseURL, config) {
191
- var _config$headers;
192
- var userHeaders = (config == null ? void 0 : config.headers) instanceof axios.AxiosHeaders ? config.headers.toJSON() : (_config$headers = config == null ? void 0 : config.headers) != null ? _config$headers : {};
193
- return axios__default.create(_extends({}, defaultConfig, config, {
194
- baseURL: baseURL,
195
- headers: _extends({}, defaultConfig.headers, userHeaders)
196
- }));
197
- };
198
-
199
- function fetchDigest(_x, _x2) {
200
- return _fetchDigest.apply(this, arguments);
201
- }
202
- function _fetchDigest() {
203
- _fetchDigest = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(instance, baseURL) {
204
- var _response$data, response, formDigestValue, cause, _t;
205
- return _regenerator().w(function (_context) {
206
- while (1) switch (_context.p = _context.n) {
207
- case 0:
208
- _context.p = 0;
209
- _context.n = 1;
210
- return instance.post(baseURL + "_api/contextinfo");
211
- case 1:
212
- response = _context.v;
213
- formDigestValue = (_response$data = response.data) == null || (_response$data = _response$data.d) == null || (_response$data = _response$data.GetContextWebInformation) == null ? void 0 : _response$data.FormDigestValue;
214
- if (formDigestValue) {
215
- _context.n = 2;
216
- break;
217
- }
218
- throw new Error('Invalid response structure: Missing FormDigestValue');
219
- case 2:
220
- return _context.a(2, formDigestValue);
221
- case 3:
222
- _context.p = 3;
223
- _t = _context.v;
224
- cause = _t instanceof Error ? _t.message : 'Unknown contextinfo error';
225
- throw new Error("Error retrieving Form Digest Value: " + cause);
226
- case 4:
227
- return _context.a(2);
228
- }
229
- }, _callee, null, [[0, 3]]);
230
- }));
231
- return _fetchDigest.apply(this, arguments);
232
- }
233
-
234
- function sendEmail(_x, _x2) {
235
- return _sendEmail.apply(this, arguments);
236
- }
237
- function _sendEmail() {
238
- _sendEmail = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(context, _ref) {
239
- var From, To, Subject, Body, httpRequest, response, _t, _t2, _t3, _t4, _t5;
240
- return _regenerator().w(function (_context) {
241
- while (1) switch (_context.n) {
242
- case 0:
243
- From = _ref.From, To = _ref.To, Subject = _ref.Subject, Body = _ref.Body;
244
- httpRequest = '_api/SP.Utilities.Utility.SendEmail';
245
- _t = context;
246
- _t2 = httpRequest;
247
- _context.n = 1;
248
- return fetchDigest(context.instance, context.baseURL);
249
- case 1:
250
- _t3 = _context.v;
251
- _t4 = {
252
- 'X-RequestDigest': _t3,
253
- 'X-Http-Method': 'POST',
254
- 'Content-Type': 'application/json;odata=verbose'
255
- };
256
- _t5 = JSON.stringify({
257
- properties: {
258
- __metadata: {
259
- type: 'SP.Utilities.EmailProperties'
260
- },
261
- From: From,
262
- To: {
263
- results: Array.isArray(To) ? To : [To]
264
- },
265
- Body: Body,
266
- Subject: Subject
267
- }
268
- });
269
- _context.n = 2;
270
- return _t.instance.call(_t, {
271
- url: _t2,
272
- method: 'POST',
273
- headers: _t4,
274
- data: _t5
275
- });
276
- case 2:
277
- response = _context.v;
278
- return _context.a(2, response);
279
- }
280
- }, _callee);
281
- }));
282
- return _sendEmail.apply(this, arguments);
283
- }
284
-
285
- var LOOKUP_ID_KEYS = ['lookupId', 'LookupId', 'lookupID', 'LookupID', 'Id', 'ID'];
286
- function isPlainObject(value) {
287
- return !!value && typeof value === 'object' && !Array.isArray(value);
288
- }
289
- function extractLookupPrimitive(value, allowGenericId) {
290
- for (var _iterator = _createForOfIteratorHelperLoose(LOOKUP_ID_KEYS), _step; !(_step = _iterator()).done;) {
291
- var key = _step.value;
292
- if (!allowGenericId && (key === 'Id' || key === 'ID')) {
293
- continue;
294
- }
295
- if (value[key] !== undefined && value[key] !== null) {
296
- return value[key];
297
- }
298
- }
299
- return undefined;
300
- }
301
- function normalizeLookupValue(value) {
302
- if (Array.isArray(value)) {
303
- return {
304
- results: value
305
- };
306
- }
307
- if (isPlainObject(value)) {
308
- if (Array.isArray(value.results)) {
309
- return {
310
- results: value.results
311
- };
312
- }
313
- var primitive = extractLookupPrimitive(value, true);
314
- if (primitive !== undefined) {
315
- return primitive;
316
- }
317
- }
318
- if (typeof value === 'string') {
319
- var trimmed = value.trim();
320
- if (!trimmed) {
321
- return value;
322
- }
323
- var numeric = Number(trimmed);
324
- return Number.isNaN(numeric) ? trimmed : numeric;
325
- }
326
- return value;
327
- }
328
- function resolveLookupField(key, value) {
329
- var lower = key.toLowerCase();
330
- var endsWithId = lower.endsWith('id');
331
- var endsWithRef = lower.endsWith('ref');
332
- var endsWithLookup = lower.endsWith('lookup');
333
- var hasLookupHint = endsWithId || endsWithRef || endsWithLookup;
334
- if (value === undefined) {
335
- return null;
336
- }
337
- if (Array.isArray(value)) {
338
- var _targetKey = endsWithId ? key : key + "Id";
339
- return {
340
- key: _targetKey,
341
- value: {
342
- results: value
343
- }
344
- };
345
- }
346
- if (isPlainObject(value)) {
347
- var primitive = extractLookupPrimitive(value, hasLookupHint);
348
- if (primitive !== undefined) {
349
- var _targetKey2 = endsWithId ? key : key + "Id";
350
- return {
351
- key: _targetKey2,
352
- value: normalizeLookupValue(primitive)
353
- };
354
- }
355
- if (Array.isArray(value.results)) {
356
- var _targetKey3 = endsWithId ? key : key + "Id";
357
- return {
358
- key: _targetKey3,
359
- value: {
360
- results: value.results
361
- }
362
- };
363
- }
364
- if (!hasLookupHint) {
365
- return null;
366
- }
367
- } else if (!hasLookupHint) {
368
- return null;
369
- }
370
- var targetKey = endsWithId ? key : key + "Id";
371
- if (value === null) {
372
- return {
373
- key: targetKey,
374
- value: null
375
- };
376
- }
377
- if (typeof value === 'number') {
378
- return {
379
- key: targetKey,
380
- value: value
381
- };
382
- }
383
- if (typeof value === 'string') {
384
- var trimmed = value.trim();
385
- if (!trimmed) {
386
- return {
387
- key: targetKey,
388
- value: ''
389
- };
390
- }
391
- var numeric = Number(trimmed);
392
- return {
393
- key: targetKey,
394
- value: Number.isNaN(numeric) ? trimmed : numeric
395
- };
396
- }
397
- return null;
398
- }
399
- function normalizeListPayload(data) {
400
- var result = {};
401
- if (!data) {
402
- return result;
403
- }
404
- for (var _i = 0, _Object$entries = Object.entries(data); _i < _Object$entries.length; _i++) {
405
- var _Object$entries$_i = _Object$entries[_i],
406
- key = _Object$entries$_i[0],
407
- value = _Object$entries$_i[1];
408
- if (key === '__metadata') {
409
- continue;
410
- }
411
- var lookupField = resolveLookupField(key, value);
412
- if (lookupField) {
413
- result[lookupField.key] = lookupField.value;
414
- continue;
415
- }
416
- if (value !== undefined) {
417
- result[key] = value;
418
- }
419
- }
420
- return result;
421
- }
422
-
423
- function resolveMetadataType(_x) {
424
- return _resolveMetadataType.apply(this, arguments);
425
- }
426
- function _resolveMetadataType() {
427
- _resolveMetadataType = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(context) {
428
- return _regenerator().w(function (_context) {
429
- while (1) switch (_context.n) {
430
- case 0:
431
- if (!context.resolveListItemEntityType) {
432
- _context.n = 1;
433
- break;
434
- }
435
- return _context.a(2, context.resolveListItemEntityType());
436
- case 1:
437
- if (!context.listItemEntityTypeFullName) {
438
- _context.n = 2;
439
- break;
440
- }
441
- return _context.a(2, context.listItemEntityTypeFullName);
442
- case 2:
443
- return _context.a(2, "SP.Data." + context.listName + "ListItem");
444
- }
445
- }, _callee);
446
- }));
447
- return _resolveMetadataType.apply(this, arguments);
448
- }
449
- function createListItem(_x2, _x3) {
450
- return _createListItem.apply(this, arguments);
451
- }
452
- function _createListItem() {
453
- _createListItem = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(context, listData) {
454
- var normalizedData, payload, metadataType, userMetadata, response, _t, _t2, _t3, _t4, _t5;
455
- return _regenerator().w(function (_context2) {
456
- while (1) switch (_context2.n) {
457
- case 0:
458
- normalizedData = normalizeListPayload(listData);
459
- payload = normalizedData;
460
- if (!(context.sharepointVersion === '2013')) {
461
- _context2.n = 2;
462
- break;
463
- }
464
- _context2.n = 1;
465
- return resolveMetadataType(context);
466
- case 1:
467
- metadataType = _context2.v;
468
- userMetadata = listData.__metadata;
469
- payload = _extends({}, normalizedData, {
470
- __metadata: _extends({}, userMetadata && typeof userMetadata === 'object' ? userMetadata : {}, {
471
- type: metadataType
472
- })
473
- });
474
- case 2:
475
- _t = context;
476
- _t2 = context.endpoint;
477
- _t3 = JSON.stringify(payload);
478
- _context2.n = 3;
479
- return fetchDigest(context.instance, context.baseURL);
480
- case 3:
481
- _t4 = _context2.v;
482
- _t5 = {
483
- 'X-RequestDigest': _t4
484
- };
485
- _context2.n = 4;
486
- return _t.instance.call(_t, {
487
- url: _t2,
488
- method: 'POST',
489
- data: _t3,
490
- headers: _t5
491
- });
492
- case 4:
493
- response = _context2.v;
494
- return _context2.a(2, response);
495
- }
496
- }, _callee2);
497
- }));
498
- return _createListItem.apply(this, arguments);
499
- }
500
-
501
- function escapeODataStringLiteral(value) {
502
- return value.replace(/'/g, "''");
503
- }
504
- function buildListByTitleEndpoint(listName) {
505
- return "_api/web/lists/GetByTitle('" + escapeODataStringLiteral(listName) + "')";
506
- }
507
-
508
- function buildLibraryPath(folderPath) {
509
- if (!folderPath) {
510
- return '';
511
- }
512
- var segments = Array.isArray(folderPath) ? folderPath : folderPath.split('/').filter(Boolean);
513
- if (!segments.length) {
514
- return '';
515
- }
516
- var escapedSegments = segments.map(function (segment) {
517
- if (!segment.trim()) {
518
- throw new Error('Folder path segments cannot be empty.');
519
- }
520
- var sanitized = segment.replace(/'/g, "''");
521
- return "/Folders('" + encodeURIComponent(sanitized) + "')";
522
- });
523
- return escapedSegments.join('');
524
- }
525
- function encodeFileName(fileName) {
526
- if (!fileName.trim()) {
527
- throw new Error('File name cannot be empty.');
528
- }
529
- return encodeURIComponent(fileName.replace(/'/g, "''"));
530
- }
531
-
532
- function createAttachment(_x, _x2) {
533
- return _createAttachment.apply(this, arguments);
534
- }
535
- function _createAttachment() {
536
- _createAttachment = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(context, _ref) {
537
- var file, itemId, encodedFileName, requestUrl, response, _t, _t2, _t3, _t4, _t5;
538
- return _regenerator().w(function (_context) {
539
- while (1) switch (_context.n) {
540
- case 0:
541
- file = _ref.file, itemId = _ref.itemId;
542
- if (!(context.sharepointVersion !== '2013')) {
543
- _context.n = 1;
544
- break;
545
- }
546
- throw new Error('createAttachment is only supported for SharePoint 2013 REST endpoints.');
547
- case 1:
548
- encodedFileName = encodeFileName(file.name);
549
- requestUrl = buildListByTitleEndpoint(context.listName) + "/items(" + itemId + ")/AttachmentFiles/add(FileName='" + encodedFileName + "')";
550
- _t = context.instance;
551
- _t2 = requestUrl;
552
- _t3 = file;
553
- _context.n = 2;
554
- return fetchDigest(context.instance, context.baseURL);
555
- case 2:
556
- _t4 = _context.v;
557
- _t5 = {
558
- 'X-RequestDigest': _t4
559
- };
560
- _context.n = 3;
561
- return _t.post.call(_t, _t2, _t3, {
562
- headers: _t5,
563
- withCredentials: true
564
- });
565
- case 3:
566
- response = _context.v;
567
- return _context.a(2, response);
568
- }
569
- }, _callee);
570
- }));
571
- return _createAttachment.apply(this, arguments);
572
- }
573
-
574
- function deleteItem(_x, _x2) {
575
- return _deleteItem.apply(this, arguments);
576
- }
577
- function _deleteItem() {
578
- _deleteItem = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(context, id) {
579
- var requestDigest, url, response;
580
- return _regenerator().w(function (_context) {
581
- while (1) switch (_context.n) {
582
- case 0:
583
- _context.n = 1;
584
- return fetchDigest(context.instance, context.baseURL);
585
- case 1:
586
- requestDigest = _context.v;
587
- url = context.sharepointVersion === '2013' ? buildListByTitleEndpoint(context.listName) + "/items(" + id + ")" : context.endpoint + "(" + id + ")";
588
- _context.n = 2;
589
- return context.instance.post(url, undefined, {
590
- headers: {
591
- 'X-RequestDigest': requestDigest,
592
- 'IF-MATCH': '*',
593
- 'X-HTTP-Method': 'DELETE'
594
- }
595
- });
596
- case 2:
597
- response = _context.v;
598
- return _context.a(2, response);
599
- }
600
- }, _callee);
601
- }));
602
- return _deleteItem.apply(this, arguments);
603
- }
604
-
605
- var SUPPORTED_VERSION = '2013';
606
- function deleteFile(_x, _x2) {
607
- return _deleteFile.apply(this, arguments);
608
- }
609
- function _deleteFile() {
610
- _deleteFile = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(context, _ref) {
611
- var fileName, folderPath, encodedFileName, requestUrl, digest, response;
612
- return _regenerator().w(function (_context) {
613
- while (1) switch (_context.n) {
614
- case 0:
615
- fileName = _ref.fileName, folderPath = _ref.folderPath;
616
- if (!(context.sharepointVersion !== SUPPORTED_VERSION)) {
617
- _context.n = 1;
618
- break;
619
- }
620
- throw new Error('deleteFile is only supported for SharePoint 2013 REST endpoints.');
621
- case 1:
622
- encodedFileName = encodeFileName(fileName);
623
- requestUrl = buildListByTitleEndpoint(context.listName) + "/RootFolder";
624
- requestUrl += buildLibraryPath(folderPath);
625
- requestUrl += "/Files('" + encodedFileName + "')";
626
- _context.n = 2;
627
- return fetchDigest(context.instance, context.baseURL);
628
- case 2:
629
- digest = _context.v;
630
- _context.n = 3;
631
- return context.instance.post(requestUrl, undefined, {
632
- headers: {
633
- 'X-HTTP-Method': 'DELETE',
634
- 'IF-MATCH': '*',
635
- 'X-RequestDigest': digest
636
- },
637
- withCredentials: true
638
- });
639
- case 3:
640
- response = _context.v;
641
- return _context.a(2, response);
642
- }
643
- }, _callee);
644
- }));
645
- return _deleteFile.apply(this, arguments);
646
- }
647
-
648
- function buildODataParams(options, orderBySeparator) {
649
- if (orderBySeparator === void 0) {
650
- orderBySeparator = ',';
651
- }
652
- var _ref = options || {},
653
- expand = _ref.expand,
654
- orderBy = _ref.orderBy,
655
- limit = _ref.limit,
656
- filter = _ref.filter,
657
- cols = _ref.cols,
658
- skip = _ref.skip;
659
- var params = {
660
- $expand: Array.isArray(expand) ? expand.join(',') : expand,
661
- $top: limit,
662
- $skip: skip,
663
- $select: Array.isArray(cols) ? cols.join(',') : cols,
664
- $filter: filter,
665
- $orderby: Array.isArray(orderBy) ? orderBy.join(orderBySeparator) : orderBy
666
- };
667
- return params;
668
- }
669
- function appendParamsToUrl(baseUrl, params) {
670
- Object.entries(params).forEach(function (_ref2) {
671
- var key = _ref2[0],
672
- value = _ref2[1];
673
- if (value !== undefined && value !== null) {
674
- baseUrl.searchParams.append(key, String(value));
675
- }
676
- });
677
- }
678
-
679
- function getFiles(_x, _x2) {
680
- return _getFiles.apply(this, arguments);
681
- }
682
- function _getFiles() {
683
- _getFiles = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(context, options) {
684
- var _ref, _response$data$d$resu, _response$data, _response$data2;
685
- var params, url, response, data, meta;
686
- return _regenerator().w(function (_context) {
687
- while (1) switch (_context.n) {
688
- case 0:
689
- params = buildODataParams(options, ',');
690
- url = new URL(context.endpoint, context.instance.defaults.baseURL);
691
- appendParamsToUrl(url, params);
692
- _context.n = 1;
693
- return context.instance.request({
694
- url: context.endpoint,
695
- method: 'GET',
696
- params: params
697
- });
698
- case 1:
699
- response = _context.v;
700
- data = (_ref = (_response$data$d$resu = (_response$data = response.data) == null || (_response$data = _response$data.d) == null ? void 0 : _response$data.results) != null ? _response$data$d$resu : (_response$data2 = response.data) == null ? void 0 : _response$data2.d) != null ? _ref : response.data;
701
- meta = {
702
- url: url
703
- };
704
- return _context.a(2, {
705
- data: data,
706
- meta: meta
707
- });
708
- }
709
- }, _callee);
710
- }));
711
- return _getFiles.apply(this, arguments);
712
- }
713
-
714
- function getListItems(_x, _x2) {
715
- return _getListItems.apply(this, arguments);
716
- }
717
- function _getListItems() {
718
- _getListItems = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(context, options) {
719
- var _ref, _response$data$d$resu, _response$data, _response$data2;
720
- var params, url, response, rawData, cols, keys, filterItem, data, meta;
721
- return _regenerator().w(function (_context) {
722
- while (1) switch (_context.n) {
723
- case 0:
724
- params = buildODataParams(options, ' ');
725
- url = new URL(context.endpoint, context.instance.defaults.baseURL);
726
- appendParamsToUrl(url, params);
727
- _context.n = 1;
728
- return context.instance.request({
729
- url: context.endpoint,
730
- method: 'GET',
731
- params: params
732
- });
733
- case 1:
734
- response = _context.v;
735
- rawData = (_ref = (_response$data$d$resu = (_response$data = response.data) == null || (_response$data = _response$data.d) == null ? void 0 : _response$data.results) != null ? _response$data$d$resu : (_response$data2 = response.data) == null ? void 0 : _response$data2.d) != null ? _ref : response.data;
736
- cols = options == null ? void 0 : options.cols;
737
- keys = cols ? (Array.isArray(cols) ? cols : [cols]).filter(Boolean) : undefined;
738
- filterItem = function filterItem(item) {
739
- if (!keys || !item || typeof item !== 'object') {
740
- return item;
741
- }
742
- return keys.reduce(function (acc, key) {
743
- if (key in item) {
744
- acc[key] = item[key];
745
- }
746
- return acc;
747
- }, {});
748
- };
749
- data = Array.isArray(rawData) ? rawData.map(filterItem) : filterItem(rawData);
750
- meta = {
751
- url: url
752
- };
753
- return _context.a(2, {
754
- data: data,
755
- meta: meta
756
- });
757
- }
758
- }, _callee);
759
- }));
760
- return _getListItems.apply(this, arguments);
761
- }
762
-
763
- function getOnly(_x, _x2, _x3) {
764
- return _getOnly.apply(this, arguments);
765
- }
766
- function _getOnly() {
767
- _getOnly = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(instance, endpoint, options) {
768
- var params, _yield$instance$get, data;
769
- return _regenerator().w(function (_context) {
770
- while (1) switch (_context.n) {
771
- case 0:
772
- params = buildODataParams(options, ',');
773
- _context.n = 1;
774
- return instance.get(endpoint, {
775
- params: params
776
- });
777
- case 1:
778
- _yield$instance$get = _context.v;
779
- data = _yield$instance$get.data;
780
- if (data) {
781
- _context.n = 2;
782
- break;
783
- }
784
- return _context.a(2, undefined);
785
- case 2:
786
- if (!data.d) {
787
- _context.n = 3;
788
- break;
789
- }
790
- return _context.a(2, data.d.results ? data.d.results : data.d);
791
- case 3:
792
- return _context.a(2, data);
793
- }
794
- }, _callee);
795
- }));
796
- return _getOnly.apply(this, arguments);
797
- }
798
-
799
- function resolveMetadataType$1(_x) {
800
- return _resolveMetadataType$1.apply(this, arguments);
801
- }
802
- function _resolveMetadataType$1() {
803
- _resolveMetadataType$1 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(context) {
804
- return _regenerator().w(function (_context) {
805
- while (1) switch (_context.n) {
806
- case 0:
807
- if (!context.resolveListItemEntityType) {
808
- _context.n = 1;
809
- break;
810
- }
811
- return _context.a(2, context.resolveListItemEntityType());
812
- case 1:
813
- if (!context.listItemEntityTypeFullName) {
814
- _context.n = 2;
815
- break;
816
- }
817
- return _context.a(2, context.listItemEntityTypeFullName);
818
- case 2:
819
- return _context.a(2, "SP.Data." + context.listName + "ListItem");
820
- }
821
- }, _callee);
822
- }));
823
- return _resolveMetadataType$1.apply(this, arguments);
824
- }
825
- function updateListItem(_x2, _x3, _x4, _x5) {
826
- return _updateListItem.apply(this, arguments);
827
- }
828
- function _updateListItem() {
829
- _updateListItem = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(context, id, data, digest) {
830
- var formDigestValue, normalizedData, payload, metadataType, userMetadata, url, response, _t;
831
- return _regenerator().w(function (_context2) {
832
- while (1) switch (_context2.n) {
833
- case 0:
834
- _t = digest;
835
- if (_t) {
836
- _context2.n = 2;
837
- break;
838
- }
839
- _context2.n = 1;
840
- return fetchDigest(context.instance, context.baseURL);
841
- case 1:
842
- _t = _context2.v;
843
- case 2:
844
- formDigestValue = _t;
845
- normalizedData = normalizeListPayload(data);
846
- payload = normalizedData;
847
- if (!(context.sharepointVersion === '2013')) {
848
- _context2.n = 4;
849
- break;
850
- }
851
- _context2.n = 3;
852
- return resolveMetadataType$1(context);
853
- case 3:
854
- metadataType = _context2.v;
855
- userMetadata = data.__metadata;
856
- payload = _extends({}, normalizedData, {
857
- __metadata: _extends({}, userMetadata && typeof userMetadata === 'object' ? userMetadata : {}, {
858
- type: metadataType
859
- })
860
- });
861
- case 4:
862
- url = context.sharepointVersion === '2013' ? buildListByTitleEndpoint(context.listName) + "/items(" + id + ")" : context.endpoint + "(" + id + ")";
863
- _context2.n = 5;
864
- return context.instance({
865
- url: url,
866
- method: 'POST',
867
- data: JSON.stringify(payload),
868
- headers: {
869
- 'X-RequestDigest': formDigestValue,
870
- 'IF-MATCH': '*',
871
- 'X-HTTP-Method': 'MERGE'
872
- }
873
- });
874
- case 5:
875
- response = _context2.v;
876
- return _context2.a(2, response);
877
- }
878
- }, _callee2);
879
- }));
880
- return _updateListItem.apply(this, arguments);
881
- }
882
-
883
- var SUPPORTED_VERSION$1 = '2013';
884
- function uploadFile(_x, _x2) {
885
- return _uploadFile.apply(this, arguments);
886
- }
887
- function _uploadFile() {
888
- _uploadFile = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(context, _ref) {
889
- var _response$data$d, _response$data, _ref2, _ref3, _listItemFields$Id, _listItemFields$__def;
890
- var file, folderPath, _ref$overwrite, overwrite, requestUrl, encodedFileName, digest, response, responseData, listItemFields, itemId, _listItemResponse$dat, _listItemResponse$dat2, _listItemResponse$dat3, listItemResponse, deferredId;
891
- return _regenerator().w(function (_context) {
892
- while (1) switch (_context.n) {
893
- case 0:
894
- file = _ref.file, folderPath = _ref.folderPath, _ref$overwrite = _ref.overwrite, overwrite = _ref$overwrite === void 0 ? true : _ref$overwrite;
895
- if (!(context.sharepointVersion !== SUPPORTED_VERSION$1)) {
896
- _context.n = 1;
897
- break;
898
- }
899
- throw new Error('uploadFile is only supported for SharePoint 2013 REST endpoints.');
900
- case 1:
901
- if (file != null && file.name) {
902
- _context.n = 2;
903
- break;
904
- }
905
- throw new Error('A file with a valid name must be provided.');
906
- case 2:
907
- requestUrl = buildListByTitleEndpoint(context.listName) + "/RootFolder";
908
- requestUrl += buildLibraryPath(folderPath);
909
- encodedFileName = encodeFileName(file.name);
910
- requestUrl += "/Files/add(url='" + encodedFileName + "',overwrite=" + (overwrite ? 'true' : 'false') + ")?$expand=ListItemAllFields&$select=ListItemAllFields/Id";
911
- _context.n = 3;
912
- return fetchDigest(context.instance, context.baseURL);
913
- case 3:
914
- digest = _context.v;
915
- _context.n = 4;
916
- return context.instance.post(requestUrl, file, {
917
- headers: {
918
- 'Content-Type': file.type || 'application/octet-stream',
919
- 'X-RequestDigest': digest
920
- },
921
- withCredentials: true
922
- });
923
- case 4:
924
- response = _context.v;
925
- responseData = (_response$data$d = (_response$data = response.data) == null ? void 0 : _response$data.d) != null ? _response$data$d : response.data;
926
- listItemFields = responseData == null ? void 0 : responseData.ListItemAllFields;
927
- itemId = (_ref2 = (_ref3 = (_listItemFields$Id = listItemFields == null ? void 0 : listItemFields.Id) != null ? _listItemFields$Id : listItemFields == null ? void 0 : listItemFields.ID) != null ? _ref3 : responseData == null ? void 0 : responseData.Id) != null ? _ref2 : responseData == null ? void 0 : responseData.ID;
928
- if (!(typeof itemId !== 'undefined')) {
929
- _context.n = 5;
930
- break;
931
- }
932
- response.itemId = itemId;
933
- _context.n = 7;
934
- break;
935
- case 5:
936
- if (!(listItemFields != null && (_listItemFields$__def = listItemFields.__deferred) != null && _listItemFields$__def.uri)) {
937
- _context.n = 7;
938
- break;
939
- }
940
- _context.n = 6;
941
- return context.instance.get(listItemFields.__deferred.uri);
942
- case 6:
943
- listItemResponse = _context.v;
944
- deferredId = (_listItemResponse$dat = (_listItemResponse$dat2 = listItemResponse.data) == null || (_listItemResponse$dat2 = _listItemResponse$dat2.d) == null ? void 0 : _listItemResponse$dat2.Id) != null ? _listItemResponse$dat : (_listItemResponse$dat3 = listItemResponse.data) == null ? void 0 : _listItemResponse$dat3.Id;
945
- if (typeof deferredId !== 'undefined') {
946
- response.itemId = deferredId;
947
- }
948
- case 7:
949
- return _context.a(2, response);
950
- }
951
- }, _callee);
952
- }));
953
- return _uploadFile.apply(this, arguments);
954
- }
955
-
956
- function typeAhead(_x, _x2, _x3) {
957
- return _typeAhead.apply(this, arguments);
958
- }
959
- function _typeAhead() {
960
- _typeAhead = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(instance, input, filter) {
961
- var _response$data$d$Clie, _response$data, _response$data2;
962
- var requestUrl, data, response, searchResults, parsed;
963
- return _regenerator().w(function (_context) {
964
- while (1) switch (_context.n) {
965
- case 0:
966
- requestUrl = "_api/SP.UI.ApplicationPages.ClientPeoplePickerWebServiceInterface.clientPeoplePickerSearchUser";
967
- data = {
968
- queryParams: {
969
- __metadata: {
970
- type: 'SP.UI.ApplicationPages.ClientPeoplePickerQueryParameters'
971
- },
972
- AllowEmailAddresses: true,
973
- AllowMultipleEntities: false,
974
- AllUrlZones: false,
975
- MaximumEntitySuggestions: 10,
976
- PrincipalSource: 15,
977
- PrincipalType: 1,
978
- QueryString: input
979
- }
980
- };
981
- if (filter) {
982
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
983
- data.queryParams.RequiredProperties = [filter];
984
- }
985
- _context.n = 1;
986
- return instance.post(requestUrl, JSON.stringify(data), {
987
- headers: {
988
- Accept: 'application/json; odata=verbose',
989
- 'Content-Type': 'application/json;odata=verbose'
990
- }
991
- });
992
- case 1:
993
- response = _context.v;
994
- searchResults = (_response$data$d$Clie = (_response$data = response.data) == null || (_response$data = _response$data.d) == null ? void 0 : _response$data.ClientPeoplePickerSearchUser) != null ? _response$data$d$Clie : (_response$data2 = response.data) == null ? void 0 : _response$data2.ClientPeoplePickerSearchUser;
995
- if (!(typeof searchResults === 'string')) {
996
- _context.n = 3;
997
- break;
998
- }
999
- parsed = JSON.parse(searchResults);
1000
- if (!(Array.isArray(parsed) && parsed.length > 0)) {
1001
- _context.n = 2;
1002
- break;
1003
- }
1004
- return _context.a(2, parsed[0]);
1005
- case 2:
1006
- throw new Error('People picker returned no results.');
1007
- case 3:
1008
- if (!(Array.isArray(searchResults) && searchResults.length > 0)) {
1009
- _context.n = 4;
1010
- break;
1011
- }
1012
- return _context.a(2, searchResults[0]);
1013
- case 4:
1014
- if (!(searchResults && typeof searchResults === 'object')) {
1015
- _context.n = 5;
1016
- break;
1017
- }
1018
- return _context.a(2, searchResults);
1019
- case 5:
1020
- throw new Error('Invalid people picker response.');
1021
- case 6:
1022
- return _context.a(2);
1023
- }
1024
- }, _callee);
1025
- }));
1026
- return _typeAhead.apply(this, arguments);
1027
- }
1028
- function currentUserProperties(_x4) {
1029
- return _currentUserProperties.apply(this, arguments);
1030
- }
1031
- function _currentUserProperties() {
1032
- _currentUserProperties = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(instance) {
1033
- var requestUrl, profile;
1034
- return _regenerator().w(function (_context2) {
1035
- while (1) switch (_context2.n) {
1036
- case 0:
1037
- requestUrl = '_api/sp.userprofiles.peoplemanager/getmyproperties';
1038
- _context2.n = 1;
1039
- return instance.get(requestUrl);
1040
- case 1:
1041
- profile = _context2.v;
1042
- profile = profile.data.d;
1043
- profile.UserProfileProperties.results.forEach(function (prop) {
1044
- if (prop.Key === 'FirstName') {
1045
- profile.FirstName = prop.Value;
1046
- }
1047
- if (prop.Key === 'LastName') {
1048
- profile.LastName = prop.Value;
1049
- }
1050
- if (prop.Key === 'Country') {
1051
- profile.Country = prop.Value;
1052
- }
1053
- if (prop.Key === 'UserName') {
1054
- profile.UserName = prop.Value;
1055
- }
1056
- });
1057
- return _context2.a(2, profile);
1058
- }
1059
- }, _callee2);
1060
- }));
1061
- return _currentUserProperties.apply(this, arguments);
1062
- }
1063
- function getSiteUser(_x5, _x6) {
1064
- return _getSiteUser.apply(this, arguments);
1065
- }
1066
- function _getSiteUser() {
1067
- _getSiteUser = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(instance, searchValue) {
1068
- var safeSearchValue, response;
1069
- return _regenerator().w(function (_context3) {
1070
- while (1) switch (_context3.n) {
1071
- case 0:
1072
- safeSearchValue = escapeODataStringLiteral(searchValue);
1073
- _context3.n = 1;
1074
- return instance.get('_api/web/siteusers', {
1075
- params: {
1076
- $filter: "substringof('" + safeSearchValue + "', Title) or substringof('" + safeSearchValue + "', LoginName) or substringof('" + safeSearchValue + "', Email)",
1077
- $top: 50,
1078
- $expand: 'Groups'
1079
- }
1080
- });
1081
- case 1:
1082
- response = _context3.v;
1083
- return _context3.a(2, response.data.d);
1084
- }
1085
- }, _callee3);
1086
- }));
1087
- return _getSiteUser.apply(this, arguments);
1088
- }
1089
- function roleDefinitions(_x7) {
1090
- return _roleDefinitions.apply(this, arguments);
1091
- }
1092
- function _roleDefinitions() {
1093
- _roleDefinitions = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(instance) {
1094
- var requestUrl, response;
1095
- return _regenerator().w(function (_context4) {
1096
- while (1) switch (_context4.n) {
1097
- case 0:
1098
- requestUrl = "_api/Web/RoleDefinitions";
1099
- _context4.n = 1;
1100
- return instance.get(requestUrl);
1101
- case 1:
1102
- response = _context4.v;
1103
- return _context4.a(2, response.data.d.results);
1104
- }
1105
- }, _callee4);
1106
- }));
1107
- return _roleDefinitions.apply(this, arguments);
1108
- }
1109
- function getEffectiveBasePermissions(_x8) {
1110
- return _getEffectiveBasePermissions.apply(this, arguments);
1111
- }
1112
- function _getEffectiveBasePermissions() {
1113
- _getEffectiveBasePermissions = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5(instance) {
1114
- var requestUrl, response;
1115
- return _regenerator().w(function (_context5) {
1116
- while (1) switch (_context5.n) {
1117
- case 0:
1118
- requestUrl = "_api/Web/effectiveBasePermissions";
1119
- _context5.n = 1;
1120
- return instance.get(requestUrl);
1121
- case 1:
1122
- response = _context5.v;
1123
- return _context5.a(2, response.data.d.EffectiveBasePermissions);
1124
- }
1125
- }, _callee5);
1126
- }));
1127
- return _getEffectiveBasePermissions.apply(this, arguments);
1128
- }
1129
- function currentUserPermissions(_x9) {
1130
- return _currentUserPermissions.apply(this, arguments);
1131
- }
1132
- function _currentUserPermissions() {
1133
- _currentUserPermissions = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee6(context) {
1134
- var _yield$getEffectiveBa, High, definitions, result;
1135
- return _regenerator().w(function (_context6) {
1136
- while (1) switch (_context6.n) {
1137
- case 0:
1138
- _context6.n = 1;
1139
- return getEffectiveBasePermissions(context.instance);
1140
- case 1:
1141
- _yield$getEffectiveBa = _context6.v;
1142
- High = _yield$getEffectiveBa.High;
1143
- _context6.n = 2;
1144
- return roleDefinitions(context.instance);
1145
- case 2:
1146
- definitions = _context6.v;
1147
- result = definitions.find(function (_ref) {
1148
- var BasePermissions = _ref.BasePermissions;
1149
- return BasePermissions.High === High;
1150
- });
1151
- if (result) {
1152
- _context6.n = 3;
1153
- break;
1154
- }
1155
- throw new Error("Unable to resolve current user permission for BasePermissions.High=\"" + High + "\".");
1156
- case 3:
1157
- return _context6.a(2, result);
1158
- }
1159
- }, _callee6);
1160
- }));
1161
- return _currentUserPermissions.apply(this, arguments);
1162
- }
1163
-
1164
- var HTTPSharePointRequests = /*#__PURE__*/function () {
1165
- function HTTPSharePointRequests(baseURL, config) {
1166
- var _this = this;
1167
- this.baseURL = void 0;
1168
- this.instance = void 0;
1169
- this.listItemEntityTypeCache = void 0;
1170
- this.email = void 0;
1171
- this.user = {
1172
- properties: function properties() {
1173
- return {
1174
- get: function get() {
1175
- return currentUserProperties(_this.instance);
1176
- }
1177
- };
1178
- },
1179
- searchSiteUser: function searchSiteUser(searchValue) {
1180
- return getSiteUser(_this.instance, searchValue);
1181
- },
1182
- searchUser: function searchUser(input, filter) {
1183
- return typeAhead(_this.instance, input, filter);
1184
- },
1185
- current: function current() {
1186
- return {
1187
- get: function get() {
1188
- return getOnly(_this.instance, '_api/web/currentUser');
1189
- }
1190
- };
1191
- },
1192
- currentPermission: function currentPermission() {
1193
- return {
1194
- get: function get() {
1195
- return currentUserPermissions(_this.createContext({
1196
- endpoint: '_api/web/effectiveBasePermissions',
1197
- listName: '',
1198
- sharepointVersion: '2013'
1199
- }));
1200
- }
1201
- };
1202
- }
1203
- };
1204
- this.baseURL = baseURL.endsWith('/') ? baseURL : baseURL + "/";
1205
- this.instance = instance(this.baseURL, config);
1206
- this.listItemEntityTypeCache = new Map();
1207
- this.email = Object.assign(function (from, to, subject, body) {
1208
- return _this.sendEmail({
1209
- From: from,
1210
- To: to,
1211
- Subject: subject,
1212
- Body: body
1213
- });
1214
- }, {
1215
- send: function send(props) {
1216
- return _this.sendEmail(props);
1217
- }
1218
- });
1219
- }
1220
- var _proto = HTTPSharePointRequests.prototype;
1221
- _proto.createContext = function createContext(_ref) {
1222
- var endpoint = _ref.endpoint,
1223
- listName = _ref.listName,
1224
- sharepointVersion = _ref.sharepointVersion,
1225
- listItemEntityTypeFullName = _ref.listItemEntityTypeFullName,
1226
- resolveListItemEntityType = _ref.resolveListItemEntityType;
1227
- return {
1228
- instance: this.instance,
1229
- baseURL: this.baseURL,
1230
- endpoint: endpoint,
1231
- listName: listName,
1232
- sharepointVersion: sharepointVersion,
1233
- listItemEntityTypeFullName: listItemEntityTypeFullName,
1234
- resolveListItemEntityType: resolveListItemEntityType
1235
- };
1236
- };
1237
- _proto.resolveListItemEntityTypeFullName = /*#__PURE__*/function () {
1238
- var _resolveListItemEntityTypeFullName = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(listName) {
1239
- var _response$data$d$List, _response$data, _response$data2;
1240
- var cacheKey, cachedType, response, entityType;
1241
- return _regenerator().w(function (_context) {
1242
- while (1) switch (_context.n) {
1243
- case 0:
1244
- cacheKey = listName;
1245
- cachedType = this.listItemEntityTypeCache.get(cacheKey);
1246
- if (!cachedType) {
1247
- _context.n = 1;
1248
- break;
1249
- }
1250
- return _context.a(2, cachedType);
1251
- case 1:
1252
- _context.n = 2;
1253
- return this.instance.get(buildListByTitleEndpoint(listName) + "?$select=ListItemEntityTypeFullName");
1254
- case 2:
1255
- response = _context.v;
1256
- entityType = (_response$data$d$List = (_response$data = response.data) == null || (_response$data = _response$data.d) == null ? void 0 : _response$data.ListItemEntityTypeFullName) != null ? _response$data$d$List : (_response$data2 = response.data) == null ? void 0 : _response$data2.ListItemEntityTypeFullName;
1257
- if (!(!entityType || typeof entityType !== 'string')) {
1258
- _context.n = 3;
1259
- break;
1260
- }
1261
- throw new Error("Unable to resolve ListItemEntityTypeFullName for list \"" + listName + "\".");
1262
- case 3:
1263
- this.listItemEntityTypeCache.set(cacheKey, entityType);
1264
- return _context.a(2, entityType);
1265
- }
1266
- }, _callee, this);
1267
- }));
1268
- function resolveListItemEntityTypeFullName(_x) {
1269
- return _resolveListItemEntityTypeFullName.apply(this, arguments);
1270
- }
1271
- return resolveListItemEntityTypeFullName;
1272
- }();
1273
- _proto.buildListScope = function buildListScope(listName, version) {
1274
- var _this2 = this;
1275
- var listNameValue = String(listName);
1276
- var endpoint = version === '2013' ? buildListByTitleEndpoint(listNameValue) + "/items" : "_vti_bin/ListData.svc/" + encodeURIComponent(listNameValue);
1277
- var scopedEntityType;
1278
- var resolveListItemEntityType = /*#__PURE__*/function () {
1279
- var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2() {
1280
- return _regenerator().w(function (_context2) {
1281
- while (1) switch (_context2.n) {
1282
- case 0:
1283
- if (!scopedEntityType) {
1284
- _context2.n = 1;
1285
- break;
1286
- }
1287
- return _context2.a(2, scopedEntityType);
1288
- case 1:
1289
- if (!(version !== '2013')) {
1290
- _context2.n = 2;
1291
- break;
1292
- }
1293
- scopedEntityType = "SP.Data." + listNameValue + "ListItem";
1294
- return _context2.a(2, scopedEntityType);
1295
- case 2:
1296
- _context2.n = 3;
1297
- return _this2.resolveListItemEntityTypeFullName(listNameValue);
1298
- case 3:
1299
- scopedEntityType = _context2.v;
1300
- return _context2.a(2, scopedEntityType);
1301
- }
1302
- }, _callee2);
1303
- }));
1304
- return function resolveListItemEntityType() {
1305
- return _ref2.apply(this, arguments);
1306
- };
1307
- }();
1308
- var getContext = function getContext() {
1309
- return _this2.createContext({
1310
- endpoint: endpoint,
1311
- listName: listNameValue,
1312
- sharepointVersion: version,
1313
- listItemEntityTypeFullName: scopedEntityType,
1314
- resolveListItemEntityType: resolveListItemEntityType
1315
- });
1316
- };
1317
- var removeItem = function removeItem(id) {
1318
- return deleteItem(getContext(), id);
1319
- };
1320
- var removeFile = function removeFile(props) {
1321
- return deleteFile(getContext(), props);
1322
- };
1323
- return {
1324
- create: function create(data) {
1325
- return createListItem(getContext(), data);
1326
- },
1327
- get: function get(options) {
1328
- return getListItems(getContext(), options);
1329
- },
1330
- update: function update(id, data, digest) {
1331
- return updateListItem(getContext(), id, data, digest);
1332
- },
1333
- "delete": removeItem,
1334
- remove: removeItem,
1335
- createFile: function createFile(props) {
1336
- return createAttachment(getContext(), props);
1337
- },
1338
- uploadFile: function uploadFile$1(props) {
1339
- return uploadFile(getContext(), props);
1340
- },
1341
- deleteFile: removeFile,
1342
- removeFile: removeFile,
1343
- fields: function fields(options) {
1344
- var fieldsEndpoint = !(options != null && options.fieldName) ? buildListByTitleEndpoint(listNameValue) + "/fields" : buildListByTitleEndpoint(listNameValue) + "/fields/getbytitle('" + escapeODataStringLiteral(String(options.fieldName)) + "')";
1345
- return {
1346
- get: function get() {
1347
- return getOnly(_this2.instance, fieldsEndpoint, options);
1348
- }
1349
- };
1350
- },
1351
- items: {
1352
- create: function create(data) {
1353
- return createListItem(getContext(), data);
1354
- },
1355
- get: function get(options) {
1356
- return getListItems(getContext(), options);
1357
- },
1358
- update: function update(id, data, digest) {
1359
- return updateListItem(getContext(), id, data, digest);
1360
- },
1361
- "delete": removeItem,
1362
- remove: removeItem
1363
- },
1364
- files: {
1365
- attach: function attach(props) {
1366
- return createAttachment(getContext(), props);
1367
- },
1368
- upload: function upload(props) {
1369
- return uploadFile(getContext(), props);
1370
- },
1371
- "delete": removeFile,
1372
- remove: removeFile
1373
- }
1374
- };
1375
- }
1376
- /**
1377
- * @deprecated Use `from(listName, '2010')` instead.
1378
- */;
1379
- _proto.list = function list(listName) {
1380
- return this.from(listName, '2010');
1381
- };
1382
- _proto.from = function from(listName, sharepointVersion) {
1383
- var version = sharepointVersion != null ? sharepointVersion : '2013';
1384
- return this.buildListScope(listName, version);
1385
- };
1386
- _proto.field = function field(listName, fieldName, sharepointVersion) {
1387
- return this.from(listName, sharepointVersion).fields({
1388
- fieldName: fieldName
1389
- }).get();
1390
- };
1391
- _proto.lists = function lists(options) {
1392
- var context = this.createContext({
1393
- endpoint: '_api/web/lists',
1394
- listName: '',
1395
- sharepointVersion: '2013'
1396
- });
1397
- return {
1398
- get: function get() {
1399
- return getListItems(context, options);
1400
- }
1401
- };
1402
- };
1403
- _proto.getDigest = function getDigest() {
1404
- return fetchDigest(this.instance, this.baseURL);
1405
- };
1406
- _proto.folders = function folders(options) {
1407
- var context = this.createContext({
1408
- endpoint: '_api/web/folders',
1409
- listName: '',
1410
- sharepointVersion: '2013'
1411
- });
1412
- return {
1413
- get: function get() {
1414
- return getFiles(context, options);
1415
- }
1416
- };
1417
- };
1418
- _proto.folder = function folder(folderName) {
1419
- var _this3 = this;
1420
- var defaultPath = ['Shared Documents'];
1421
- var segments = folderName ? Array.isArray(folderName) ? [].concat(defaultPath, folderName) : [].concat(defaultPath, folderName.split('/').filter(Boolean)) : defaultPath;
1422
- var serverRelativePath = escapeODataStringLiteral(segments.join('/'));
1423
- var baseEndpoint = "_api/web/GetFolderByServerRelativeUrl('" + serverRelativePath + "')";
1424
- return {
1425
- get: function get(options) {
1426
- var _options$type;
1427
- var folderType = (_options$type = options == null ? void 0 : options.type) != null ? _options$type : 'Files';
1428
- var endpoint = baseEndpoint + "/" + folderType;
1429
- var context = _this3.createContext({
1430
- endpoint: endpoint,
1431
- listName: '',
1432
- sharepointVersion: '2013'
1433
- });
1434
- return getFiles(context, _extends({}, options, {
1435
- type: folderType
1436
- }));
1437
- }
1438
- };
1439
- };
1440
- _proto.users = function users(options) {
1441
- var context = this.createContext({
1442
- endpoint: '_api/web/SiteUserInfoList/items',
1443
- listName: '',
1444
- sharepointVersion: '2013'
1445
- });
1446
- return {
1447
- get: function get() {
1448
- return getListItems(context, options);
1449
- }
1450
- };
1451
- };
1452
- _proto.sendEmail = function sendEmail$1(props) {
1453
- var context = this.createContext({
1454
- endpoint: '_api/SP.Utilities.Utility.SendEmail',
1455
- listName: '',
1456
- sharepointVersion: '2013'
1457
- });
1458
- return sendEmail(context, props);
1459
- };
1460
- _proto.getCurrentUser = function getCurrentUser() {
1461
- return this.user.current().get();
1462
- };
1463
- _proto.currentUserProperties = function currentUserProperties() {
1464
- return this.user.properties().get();
1465
- };
1466
- _proto.currentUserPermission = function currentUserPermission() {
1467
- return this.user.currentPermission().get();
1468
- };
1469
- return HTTPSharePointRequests;
1470
- }();
1471
-
1472
- // Load environment variables from .env file
1473
- function createBase() {
1474
- function create(_ref) {
1475
- var baseURL = _ref.baseURL,
1476
- config = _ref.config;
1477
- if (!baseURL) {
1478
- throw new Error('A valid SharePoint URL must be provided.');
1479
- }
1480
- return new HTTPSharePointRequests(baseURL, config);
1481
- }
1482
- return {
1483
- /**
1484
- * @deprecated Use `create` instead.
1485
- */
1486
- baseURL: function baseURL(url, config) {
1487
- return create({
1488
- baseURL: url,
1489
- config: config
1490
- });
1491
- },
1492
- create: create
1493
- };
1494
- }
1495
-
1496
- exports.default = createBase;
1497
- //# sourceMappingURL=sharepoint_requests.cjs.development.js.map