@lindle/sharepoint_requests 0.1.14 → 0.1.15

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 (33) hide show
  1. package/README.md +5 -0
  2. package/dist/index.d.ts +17 -17
  3. package/dist/root/index.d.ts +85 -81
  4. package/dist/root/instance.d.ts +3 -3
  5. package/dist/root/internal/context.d.ts +11 -9
  6. package/dist/root/internal/digest.d.ts +2 -2
  7. package/dist/root/internal/emailRequests.d.ts +10 -10
  8. package/dist/root/internal/listRequests/createAttachment.d.ts +3 -3
  9. package/dist/root/internal/listRequests/createListItem.d.ts +3 -3
  10. package/dist/root/internal/listRequests/deleteItem.d.ts +3 -3
  11. package/dist/root/internal/listRequests/getFiles.d.ts +8 -8
  12. package/dist/root/internal/listRequests/getListItems.d.ts +8 -8
  13. package/dist/root/internal/listRequests/getOnly.d.ts +3 -3
  14. package/dist/root/internal/listRequests/index.d.ts +8 -7
  15. package/dist/root/internal/listRequests/updateListItem.d.ts +3 -3
  16. package/dist/root/internal/listRequests/uploadFile.d.ts +3 -0
  17. package/dist/root/internal/odata.d.ts +5 -5
  18. package/dist/root/internal/userRequests.d.ts +15 -15
  19. package/dist/sharepoint_requests.cjs.development.js +231 -50
  20. package/dist/sharepoint_requests.cjs.development.js.map +1 -1
  21. package/dist/sharepoint_requests.cjs.production.min.js +1 -1
  22. package/dist/sharepoint_requests.cjs.production.min.js.map +1 -1
  23. package/dist/sharepoint_requests.esm.js +231 -50
  24. package/dist/sharepoint_requests.esm.js.map +1 -1
  25. package/dist/types.d.ts +237 -232
  26. package/package.json +6 -3
  27. package/src/root/index.ts +51 -2
  28. package/src/root/internal/context.ts +2 -0
  29. package/src/root/internal/listRequests/createListItem.ts +18 -12
  30. package/src/root/internal/listRequests/index.ts +1 -0
  31. package/src/root/internal/listRequests/updateListItem.ts +21 -3
  32. package/src/root/internal/listRequests/uploadFile.ts +66 -0
  33. package/src/types.ts +10 -5
@@ -195,53 +195,72 @@ function _fetchDigest() {
195
195
  return _fetchDigest.apply(this, arguments);
196
196
  }
197
197
 
198
- function transformArraysToEdmStrings(data) {
199
- for (var key in data) {
200
- if (Array.isArray(data[key])) {
201
- data[key] = {
202
- __metadata: {
203
- type: 'Collection(Edm.String)'
204
- },
205
- results: data[key]
206
- };
207
- }
208
- }
198
+ function resolveMetadataType(_x) {
199
+ return _resolveMetadataType.apply(this, arguments);
209
200
  }
210
- function createListItem(_x, _x2) {
201
+ function _resolveMetadataType() {
202
+ _resolveMetadataType = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(context) {
203
+ return _regenerator().w(function (_context) {
204
+ while (1) switch (_context.n) {
205
+ case 0:
206
+ if (!context.resolveListItemEntityType) {
207
+ _context.n = 1;
208
+ break;
209
+ }
210
+ return _context.a(2, context.resolveListItemEntityType());
211
+ case 1:
212
+ if (!context.listItemEntityTypeFullName) {
213
+ _context.n = 2;
214
+ break;
215
+ }
216
+ return _context.a(2, context.listItemEntityTypeFullName);
217
+ case 2:
218
+ return _context.a(2, "SP.Data." + context.listName + "ListItem");
219
+ }
220
+ }, _callee);
221
+ }));
222
+ return _resolveMetadataType.apply(this, arguments);
223
+ }
224
+ function createListItem(_x2, _x3) {
211
225
  return _createListItem.apply(this, arguments);
212
226
  }
213
227
  function _createListItem() {
214
- _createListItem = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(context, listData) {
215
- var response, _t, _t2, _t3, _t4, _t5;
216
- return _regenerator().w(function (_context) {
217
- while (1) switch (_context.n) {
228
+ _createListItem = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(context, listData) {
229
+ var metadataType, payload, response, _t, _t2, _t3, _t4, _t5;
230
+ return _regenerator().w(function (_context2) {
231
+ while (1) switch (_context2.n) {
218
232
  case 0:
219
- transformArraysToEdmStrings(listData);
220
- listData.__metadata = {
221
- type: "SP.Data." + context.listName + "ListItem"
222
- };
233
+ _context2.n = 1;
234
+ return resolveMetadataType(context);
235
+ case 1:
236
+ metadataType = _context2.v;
237
+ payload = _extends({}, listData, {
238
+ __metadata: {
239
+ type: metadataType
240
+ }
241
+ });
223
242
  _t = context;
224
243
  _t2 = context.endpoint;
225
- _t3 = JSON.stringify(listData);
226
- _context.n = 1;
244
+ _t3 = JSON.stringify(payload);
245
+ _context2.n = 2;
227
246
  return fetchDigest(context.instance, context.baseURL);
228
- case 1:
229
- _t4 = _context.v;
247
+ case 2:
248
+ _t4 = _context2.v;
230
249
  _t5 = {
231
250
  'X-RequestDigest': _t4
232
251
  };
233
- _context.n = 2;
252
+ _context2.n = 3;
234
253
  return _t.instance.call(_t, {
235
254
  url: _t2,
236
255
  method: 'POST',
237
256
  data: _t3,
238
257
  headers: _t5
239
258
  });
240
- case 2:
241
- response = _context.v;
242
- return _context.a(2, response);
259
+ case 3:
260
+ response = _context2.v;
261
+ return _context2.a(2, response);
243
262
  }
244
- }, _callee);
263
+ }, _callee2);
245
264
  }));
246
265
  return _createListItem.apply(this, arguments);
247
266
  }
@@ -445,48 +464,145 @@ function _getOnly() {
445
464
  return _getOnly.apply(this, arguments);
446
465
  }
447
466
 
448
- function updateListItem(_x, _x2, _x3, _x4) {
449
- return _updateListItem.apply(this, arguments);
467
+ function resolveMetadataType$1(_x) {
468
+ return _resolveMetadataType$1.apply(this, arguments);
450
469
  }
451
- function _updateListItem() {
452
- _updateListItem = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(context, id, data, digest) {
453
- var formDigestValue, url, response, _t;
470
+ function _resolveMetadataType$1() {
471
+ _resolveMetadataType$1 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(context) {
454
472
  return _regenerator().w(function (_context) {
455
473
  while (1) switch (_context.n) {
474
+ case 0:
475
+ if (!context.resolveListItemEntityType) {
476
+ _context.n = 1;
477
+ break;
478
+ }
479
+ return _context.a(2, context.resolveListItemEntityType());
480
+ case 1:
481
+ if (!context.listItemEntityTypeFullName) {
482
+ _context.n = 2;
483
+ break;
484
+ }
485
+ return _context.a(2, context.listItemEntityTypeFullName);
486
+ case 2:
487
+ return _context.a(2, "SP.Data." + context.listName + "ListItem");
488
+ }
489
+ }, _callee);
490
+ }));
491
+ return _resolveMetadataType$1.apply(this, arguments);
492
+ }
493
+ function updateListItem(_x2, _x3, _x4, _x5) {
494
+ return _updateListItem.apply(this, arguments);
495
+ }
496
+ function _updateListItem() {
497
+ _updateListItem = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(context, id, data, digest) {
498
+ var formDigestValue, metadataType, payload, url, response, _t;
499
+ return _regenerator().w(function (_context2) {
500
+ while (1) switch (_context2.n) {
456
501
  case 0:
457
502
  _t = digest;
458
503
  if (_t) {
459
- _context.n = 2;
504
+ _context2.n = 2;
460
505
  break;
461
506
  }
462
- _context.n = 1;
507
+ _context2.n = 1;
463
508
  return fetchDigest(context.instance, context.baseURL);
464
509
  case 1:
465
- _t = _context.v;
510
+ _t = _context2.v;
466
511
  case 2:
467
512
  formDigestValue = _t;
468
- data.__metadata = {
469
- type: "SP.Data." + context.listName + "ListItem"
470
- };
513
+ _context2.n = 3;
514
+ return resolveMetadataType$1(context);
515
+ case 3:
516
+ metadataType = _context2.v;
517
+ payload = _extends({}, data, {
518
+ __metadata: {
519
+ type: metadataType
520
+ }
521
+ });
471
522
  url = "_api/lists/getbytitle('" + context.listName + "')/getItemById('" + id + "')";
472
- _context.n = 3;
523
+ _context2.n = 4;
473
524
  return context.instance({
474
525
  url: url,
475
526
  method: 'POST',
476
- data: JSON.stringify(data),
527
+ data: JSON.stringify(payload),
477
528
  headers: {
478
529
  'X-RequestDigest': formDigestValue,
479
530
  'IF-MATCH': '*',
480
531
  'X-Http-Method': 'PATCH'
481
532
  }
482
533
  });
534
+ case 4:
535
+ response = _context2.v;
536
+ return _context2.a(2, response);
537
+ }
538
+ }, _callee2);
539
+ }));
540
+ return _updateListItem.apply(this, arguments);
541
+ }
542
+
543
+ var SUPPORTED_VERSION = '2013';
544
+ function normalizeFolderPath(folderPath) {
545
+ var segments = Array.isArray(folderPath) ? folderPath : folderPath.split('/').filter(Boolean);
546
+ if (!segments.length) {
547
+ return '';
548
+ }
549
+ var escapedSegments = segments.map(function (segment) {
550
+ if (!segment.trim()) {
551
+ throw new Error('Folder path segments cannot be empty.');
552
+ }
553
+ // SharePoint expects single quotes to be doubled in OData paths.
554
+ var sanitized = segment.replace(/'/g, "''");
555
+ return "/Folders('" + encodeURIComponent(sanitized) + "')";
556
+ });
557
+ return escapedSegments.join('');
558
+ }
559
+ function uploadFile(_x, _x2) {
560
+ return _uploadFile.apply(this, arguments);
561
+ }
562
+ function _uploadFile() {
563
+ _uploadFile = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(context, _ref) {
564
+ var file, folderPath, _ref$overwrite, overwrite, requestUrl, encodedFileName, digest, response;
565
+ return _regenerator().w(function (_context) {
566
+ while (1) switch (_context.n) {
567
+ case 0:
568
+ file = _ref.file, folderPath = _ref.folderPath, _ref$overwrite = _ref.overwrite, overwrite = _ref$overwrite === void 0 ? true : _ref$overwrite;
569
+ if (!(context.sharepointVersion !== SUPPORTED_VERSION)) {
570
+ _context.n = 1;
571
+ break;
572
+ }
573
+ throw new Error('uploadFile is only supported for SharePoint 2013 REST endpoints.');
574
+ case 1:
575
+ if (file != null && file.name) {
576
+ _context.n = 2;
577
+ break;
578
+ }
579
+ throw new Error('A file with a valid name must be provided.');
580
+ case 2:
581
+ requestUrl = "_api/web/lists/getbytitle('" + context.listName + "')/RootFolder";
582
+ if (folderPath) {
583
+ requestUrl += normalizeFolderPath(folderPath);
584
+ }
585
+ encodedFileName = encodeURIComponent(file.name.replace(/'/g, "''"));
586
+ requestUrl += "/Files/add(url='" + encodedFileName + "',overwrite=" + (overwrite ? 'true' : 'false') + ")";
587
+ _context.n = 3;
588
+ return fetchDigest(context.instance, context.baseURL);
483
589
  case 3:
590
+ digest = _context.v;
591
+ _context.n = 4;
592
+ return context.instance.post(requestUrl, file, {
593
+ headers: {
594
+ 'Content-Type': file.type || 'application/octet-stream',
595
+ 'X-RequestDigest': digest
596
+ },
597
+ withCredentials: true
598
+ });
599
+ case 4:
484
600
  response = _context.v;
485
601
  return _context.a(2, response);
486
602
  }
487
603
  }, _callee);
488
604
  }));
489
- return _updateListItem.apply(this, arguments);
605
+ return _uploadFile.apply(this, arguments);
490
606
  }
491
607
 
492
608
  function sendEmail(_x, _x2) {
@@ -710,6 +826,12 @@ function _currentUserPermissions() {
710
826
  var HTTPSharePointRequests = /*#__PURE__*/function () {
711
827
  function HTTPSharePointRequests(baseURL, config) {
712
828
  var _this = this;
829
+ this.baseURL = void 0;
830
+ this.endpoint = void 0;
831
+ this.listName = void 0;
832
+ this.instance = void 0;
833
+ this.sharepointVersion = void 0;
834
+ this.listItemEntityTypeFullName = void 0;
713
835
  this.lists = {
714
836
  get: function get() {
715
837
  _this.endpoint = '_api/web/lists';
@@ -770,6 +892,7 @@ var HTTPSharePointRequests = /*#__PURE__*/function () {
770
892
  this.listName = '';
771
893
  this.instance = instance(this.baseURL, config);
772
894
  this.sharepointVersion = '2013';
895
+ this.listItemEntityTypeFullName = undefined;
773
896
  }
774
897
  var _proto = HTTPSharePointRequests.prototype;
775
898
  _proto.getContext = function getContext() {
@@ -778,23 +901,78 @@ var HTTPSharePointRequests = /*#__PURE__*/function () {
778
901
  baseURL: this.baseURL,
779
902
  endpoint: this.endpoint,
780
903
  listName: this.listName,
781
- sharepointVersion: this.sharepointVersion
904
+ sharepointVersion: this.sharepointVersion,
905
+ listItemEntityTypeFullName: this.listItemEntityTypeFullName,
906
+ resolveListItemEntityType: this.resolveListItemEntityTypeFullName.bind(this)
782
907
  };
783
- }
784
- /**
785
- * @deprecated Use `from` instead.
786
- */;
908
+ };
909
+ _proto.resolveListItemEntityTypeFullName = /*#__PURE__*/function () {
910
+ var _resolveListItemEntityTypeFullName = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
911
+ var _response$data$d$List, _response$data, _response$data2;
912
+ var response, entityType;
913
+ return _regenerator().w(function (_context) {
914
+ while (1) switch (_context.n) {
915
+ case 0:
916
+ if (!this.listItemEntityTypeFullName) {
917
+ _context.n = 1;
918
+ break;
919
+ }
920
+ return _context.a(2, this.listItemEntityTypeFullName);
921
+ case 1:
922
+ if (this.listName) {
923
+ _context.n = 2;
924
+ break;
925
+ }
926
+ throw new Error('List name is not set.');
927
+ case 2:
928
+ if (!(this.sharepointVersion !== '2013')) {
929
+ _context.n = 3;
930
+ break;
931
+ }
932
+ this.listItemEntityTypeFullName = "SP.Data." + this.listName + "ListItem";
933
+ return _context.a(2, this.listItemEntityTypeFullName);
934
+ case 3:
935
+ _context.n = 4;
936
+ return this.instance.get("_api/web/lists/GetByTitle('" + this.listName + "')?$select=ListItemEntityTypeFullName");
937
+ case 4:
938
+ response = _context.v;
939
+ 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;
940
+ if (!(!entityType || typeof entityType !== 'string')) {
941
+ _context.n = 5;
942
+ break;
943
+ }
944
+ throw new Error("Unable to resolve ListItemEntityTypeFullName for list \"" + this.listName + "\".");
945
+ case 5:
946
+ this.listItemEntityTypeFullName = entityType;
947
+ return _context.a(2, this.listItemEntityTypeFullName);
948
+ }
949
+ }, _callee, this);
950
+ }));
951
+ function resolveListItemEntityTypeFullName() {
952
+ return _resolveListItemEntityTypeFullName.apply(this, arguments);
953
+ }
954
+ return resolveListItemEntityTypeFullName;
955
+ }()
956
+ /**
957
+ * @deprecated Use `from` instead.
958
+ */
959
+ ;
787
960
  _proto.list = function list(listName) {
788
961
  this.listName = listName;
789
962
  this.endpoint = "_vti_bin/ListData.svc/" + listName;
790
963
  this.sharepointVersion = '2010';
964
+ this.listItemEntityTypeFullName = undefined;
791
965
  return this;
792
966
  };
967
+ _proto.getDigest = function getDigest() {
968
+ return fetchDigest(this.instance, this.baseURL);
969
+ };
793
970
  _proto.from = function from(listName, sharepoint_ver) {
794
971
  var _this2 = this;
795
972
  var version = sharepoint_ver != null ? sharepoint_ver : '2013';
796
973
  this.listName = listName;
797
974
  this.sharepointVersion = version;
975
+ this.listItemEntityTypeFullName = undefined;
798
976
  this.endpoint = version === '2013' ? "_api/web/lists/GetByTitle('" + this.listName + "')/items" : "_vti_bin/ListData.svc/" + listName;
799
977
  var getContext = function getContext() {
800
978
  return _this2.getContext();
@@ -815,6 +993,9 @@ var HTTPSharePointRequests = /*#__PURE__*/function () {
815
993
  createFile: function createFile(props) {
816
994
  return createAttachment(getContext(), props);
817
995
  },
996
+ uploadFile: function uploadFile$1(props) {
997
+ return uploadFile(getContext(), props);
998
+ },
818
999
  fields: function fields(options) {
819
1000
  _this2.endpoint = !(options != null && options.fieldName) ? "_api/web/lists/GetByTitle('" + _this2.listName + "')/fields" : "_api/web/lists/GetByTitle('" + _this2.listName + "')/fields/getbytitle('" + options.fieldName + "')";
820
1001
  return {
@@ -871,8 +1052,8 @@ function createBase() {
871
1052
  return new HTTPSharePointRequests(baseURL, config);
872
1053
  }
873
1054
  return {
874
- /**
875
- * @deprecated Use `create` instead.
1055
+ /**
1056
+ * @deprecated Use `create` instead.
876
1057
  */
877
1058
  baseURL: function baseURL(url, config) {
878
1059
  return create({
@@ -1 +1 @@
1
- {"version":3,"file":"sharepoint_requests.esm.js","sources":["../src/root/instance.ts","../src/root/internal/digest.ts","../src/root/internal/listRequests/createListItem.ts","../src/root/internal/listRequests/createAttachment.ts","../src/root/internal/listRequests/deleteItem.ts","../src/root/internal/odata.ts","../src/root/internal/listRequests/getFiles.ts","../src/root/internal/listRequests/getListItems.ts","../src/root/internal/listRequests/getOnly.ts","../src/root/internal/listRequests/updateListItem.ts","../src/root/internal/emailRequests.ts","../src/root/internal/userRequests.ts","../src/root/index.ts","../src/index.ts"],"sourcesContent":["import axios, { AxiosHeaders, CreateAxiosDefaults as AxiosConfig } from 'axios';\n\nconst defaultConfig: AxiosConfig = {\n headers: {\n Accept: 'application/json; odata=verbose',\n 'Content-Type': 'application/json; odata=verbose',\n },\n timeout: 15000,\n withCredentials: true,\n};\n\nexport const instance = (baseURL: string, config?: AxiosConfig) => {\n const userHeaders =\n config?.headers instanceof AxiosHeaders\n ? config.headers.toJSON()\n : config?.headers ?? {};\n\n return axios.create({\n ...defaultConfig,\n ...config,\n baseURL,\n headers: {\n ...defaultConfig.headers,\n ...userHeaders,\n },\n });\n};\n\nexport default instance;\n","import type { AxiosInstance } from 'axios';\n\nexport async function fetchDigest(\n instance: AxiosInstance,\n baseURL: string\n): Promise<string> {\n try {\n const response = await instance.post(`${baseURL}_api/contextinfo`);\n\n const formDigestValue =\n response.data?.d?.GetContextWebInformation?.FormDigestValue;\n\n if (!formDigestValue) {\n throw new Error('Invalid response structure: Missing FormDigestValue');\n }\n\n return formDigestValue;\n } catch (error) {\n console.error('Failed to retrieve the Form Digest Value:', error);\n throw new Error(`Error retrieving Form Digest Value`);\n }\n}\n","import type { ListData, SHAREPOINT_VER } from '../../../types';\nimport { fetchDigest } from '../digest';\nimport type { RequestContext } from '../context';\n\nfunction transformArraysToEdmStrings(data: ListData) {\n for (const key in data) {\n if (Array.isArray(data[key])) {\n data[key] = {\n __metadata: { type: 'Collection(Edm.String)' },\n results: data[key],\n };\n }\n }\n}\n\nexport async function createListItem<V extends SHAREPOINT_VER = '2013'>(\n context: RequestContext<V>,\n listData: ListData\n) {\n transformArraysToEdmStrings(listData);\n listData.__metadata = {\n type: `SP.Data.${context.listName}ListItem`,\n };\n\n const response = await context.instance({\n url: context.endpoint,\n method: 'POST',\n data: JSON.stringify(listData),\n headers: {\n 'X-RequestDigest': await fetchDigest(context.instance, context.baseURL),\n },\n });\n\n return response;\n}\n","import type { CreateFileProps, SHAREPOINT_VER } from '../../../types';\nimport { fetchDigest } from '../digest';\nimport type { RequestContext } from '../context';\n\nexport async function createAttachment<V extends SHAREPOINT_VER = '2013'>(\n context: RequestContext<V>,\n { file, itemId }: CreateFileProps\n) {\n const requestUrl = `_api/lists/getbytitle('${context.listName}')/items(${itemId})/AttachmentFiles/add(FileName='${file.name}')`;\n const response = await context.instance.post(requestUrl, file, {\n headers: {\n 'X-RequestDigest': await fetchDigest(context.instance, context.baseURL),\n },\n withCredentials: true,\n });\n\n return response;\n}\n","import type { SHAREPOINT_VER } from '../../../types';\nimport type { RequestContext } from '../context';\n\nexport async function deleteItem<V extends SHAREPOINT_VER = '2013'>(\n context: RequestContext<V>,\n id: number | string\n) {\n const response = await context.instance.delete(`${context.endpoint}(${id})`);\n return response;\n}\n","import type { Folder_Options, Options, SHAREPOINT_VER } from '../../types';\n\ntype QueryableOptions<T, V extends SHAREPOINT_VER = '2013'> =\n | Options<T, V>\n | Folder_Options<T>;\n\nexport function buildODataParams<T, V extends SHAREPOINT_VER = '2013'>(\n options: QueryableOptions<T, V> | undefined,\n orderBySeparator: ',' | ' ' = ','\n) {\n const { expand, orderBy, limit, filter, cols, skip } = options || {};\n\n const params: Record<string, string | number | undefined> = {\n $expand: Array.isArray(expand) ? expand.join(',') : expand,\n $top: limit,\n $skip: skip,\n $select: Array.isArray(cols) ? cols.join(',') : cols,\n $filter: filter,\n $orderby: Array.isArray(orderBy)\n ? orderBy.join(orderBySeparator)\n : orderBy,\n };\n\n return params;\n}\n\nexport function appendParamsToUrl(\n baseUrl: URL,\n params: Record<string, string | number | undefined | null>\n) {\n Object.entries(params).forEach(([key, value]) => {\n if (value !== undefined && value !== null) {\n baseUrl.searchParams.append(key, String(value));\n }\n });\n}\n","import type { Folder_Options, SHAREPOINT_VER } from '../../../types';\nimport { appendParamsToUrl, buildODataParams } from '../odata';\nimport type { RequestContext } from '../context';\n\nexport async function getFiles<\n T,\n V extends SHAREPOINT_VER = '2013'\n>(\n context: RequestContext<V>,\n options?: Folder_Options<T>\n) {\n const params = buildODataParams(options, ',');\n const url = new URL(context.endpoint, context.instance.defaults.baseURL);\n\n appendParamsToUrl(url, params);\n\n const response = await context.instance.request({\n url: context.endpoint,\n method: 'GET',\n params,\n });\n\n const data =\n options?.limit || !response.data.d.results\n ? response.data.d\n : response.data.d.results;\n\n const meta = { url };\n\n return { data, meta };\n}\n","import type { Options, SPItem, SHAREPOINT_VER } from '../../../types';\nimport { appendParamsToUrl, buildODataParams } from '../odata';\nimport type { RequestContext } from '../context';\n\nexport async function getListItems<\n K,\n V extends SHAREPOINT_VER = '2013'\n>(\n context: RequestContext<V>,\n options?: Options<K, V>\n): Promise<{ data: (K & Partial<SPItem<V>>)[]; meta: { url: URL } }> {\n const params = buildODataParams(options, ' ');\n\n const url = new URL(context.endpoint, context.instance.defaults.baseURL);\n appendParamsToUrl(url, params);\n\n const response = await context.instance.request({\n url: context.endpoint,\n method: 'GET',\n params,\n });\n\n const rawData = response.data?.d?.results ?? response.data?.d ?? response.data;\n const cols = options?.cols;\n const keys = cols\n ? (Array.isArray(cols) ? cols : [cols]).filter(Boolean)\n : undefined;\n\n const filterItem = (item: unknown) => {\n if (!keys || !item || typeof item !== 'object') {\n return item;\n }\n\n return keys.reduce<Record<string, unknown>>((acc, key) => {\n if (key in item) {\n acc[key] = (item as Record<string, unknown>)[key];\n }\n\n return acc;\n }, {});\n };\n\n const data = Array.isArray(rawData)\n ? rawData.map(filterItem)\n : filterItem(rawData);\n\n const meta = { url };\n\n return { data: data as (K & Partial<SPItem<V>>)[], meta };\n}\n","import type { AxiosInstance } from 'axios';\nimport type { Options, SHAREPOINT_VER } from '../../../types';\nimport { buildODataParams } from '../odata';\n\nexport async function getOnly<\n T,\n V extends SHAREPOINT_VER = '2013'\n>(\n instance: AxiosInstance,\n endpoint: string,\n options?: Options<T, V>\n) {\n const params = buildODataParams(options, ',');\n const { data } = await instance.get(endpoint, { params });\n if (data) {\n return data.d.results ? data.d.results : data.d;\n }\n}\n","import type { ListData, SHAREPOINT_VER } from '../../../types';\nimport { fetchDigest } from '../digest';\nimport type { RequestContext } from '../context';\n\nexport async function updateListItem<V extends SHAREPOINT_VER = '2013'>(\n context: RequestContext<V>,\n id: number | string,\n data: ListData,\n digest?: string\n) {\n const formDigestValue =\n digest || (await fetchDigest(context.instance, context.baseURL));\n\n data.__metadata = {\n type: `SP.Data.${context.listName}ListItem`,\n };\n\n const url = `_api/lists/getbytitle('${context.listName}')/getItemById('${id}')`;\n\n const response = await context.instance({\n url,\n method: 'POST',\n data: JSON.stringify(data),\n headers: {\n 'X-RequestDigest': formDigestValue,\n 'IF-MATCH': '*',\n 'X-Http-Method': 'PATCH',\n },\n });\n\n return response;\n}\n","import type { AxiosResponse } from 'axios';\nimport type { EmailProps } from '../../types';\nimport { fetchDigest } from './digest';\nimport type { RequestContext } from './context';\n\ntype SendEmailResponse = AxiosResponse<{\n d: {\n SendEmail: null;\n };\n}>;\n\nexport async function sendEmail(\n context: RequestContext,\n { From, To, Subject, Body }: EmailProps\n): Promise<SendEmailResponse> {\n const httpRequest = '_api/SP.Utilities.Utility.SendEmail';\n\n const response = await context.instance({\n url: httpRequest,\n method: 'POST',\n headers: {\n 'X-RequestDigest': await fetchDigest(\n context.instance,\n context.baseURL\n ),\n 'X-Http-Method': 'POST',\n 'Content-Type': 'application/json;odata=verbose',\n },\n data: JSON.stringify({\n properties: {\n __metadata: {\n type: 'SP.Utilities.EmailProperties',\n },\n From,\n To: {\n results: Array.isArray(To) ? To : [To],\n },\n Body,\n Subject,\n },\n }),\n });\n\n return response;\n}\n","import type { AxiosInstance } from 'axios';\nimport type {\n PersonField,\n UserPermision,\n UserProfile,\n} from '../../types';\nimport type { RequestContext } from './context';\n\ntype RoleDefinition = {\n BasePermissions: {\n High: string;\n };\n};\n\nexport async function typeAhead(\n instance: AxiosInstance,\n input: string,\n filter?: string\n): Promise<PersonField> {\n const requestUrl = `_api/SP.UI.ApplicationPages.ClientPeoplePickerWebServiceInterface.clientPeoplePickerSearchUser`;\n\n const data = {\n queryParams: {\n __metadata: {\n type: 'SP.UI.ApplicationPages.ClientPeoplePickerQueryParameters',\n },\n AllowEmailAddresses: true,\n AllowMultipleEntities: false,\n AllUrlZones: false,\n MaximumEntitySuggestions: 10,\n PrincipalSource: 15,\n PrincipalType: 1,\n QueryString: input,\n },\n };\n\n if (filter) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (data.queryParams as any).RequiredProperties = [filter];\n }\n\n const response = await instance.post(requestUrl, JSON.stringify(data), {\n headers: {\n Accept: 'application/json; odata=verbose',\n 'Content-Type': 'application/json;odata=verbose',\n },\n });\n\n return response.data.d.ClientPeoplePickerSearchUser;\n}\n\nexport async function currentUserProperties(\n instance: AxiosInstance\n): Promise<UserProfile> {\n const requestUrl = '_api/sp.userprofiles.peoplemanager/getmyproperties';\n let profile: any = await instance.get(requestUrl);\n\n profile = profile.data.d;\n\n profile.UserProfileProperties.results.forEach(\n (prop: { Key: string; Value: string }) => {\n if (prop.Key === 'FirstName') {\n profile.FirstName = prop.Value;\n }\n if (prop.Key === 'LastName') {\n profile.LastName = prop.Value;\n }\n if (prop.Key === 'Country') {\n profile.Country = prop.Value;\n }\n if (prop.Key === 'UserName') {\n profile.UserName = prop.Value;\n }\n }\n );\n\n return profile;\n}\n\nexport async function getSiteUser(instance: AxiosInstance, searchValue: string) {\n const requestUrl = `_api/web/siteusers?&$filter=substringof('${searchValue}', Title) or substringof('${searchValue}', LoginName) or substringof('${searchValue}', Email)&$top=50&$expand=Groups`;\n const response = await instance.get(requestUrl);\n return response.data.d;\n}\n\nexport async function roleDefinitions(instance: AxiosInstance) {\n const requestUrl = `_api/Web/RoleDefinitions`;\n const response = await instance.get(requestUrl);\n return response.data.d.results as RoleDefinition[];\n}\n\nexport async function getEffectiveBasePermissions(instance: AxiosInstance) {\n const requestUrl = `_api/Web/effectiveBasePermissions`;\n const response = await instance.get(requestUrl);\n return response.data.d.EffectiveBasePermissions;\n}\n\nexport async function currentUserPermissions(\n context: RequestContext\n): Promise<UserPermision> {\n const { High } = await getEffectiveBasePermissions(context.instance);\n const definitions = await roleDefinitions(context.instance);\n\n const result = definitions.find(\n ({ BasePermissions }: RoleDefinition) => BasePermissions.High === High\n );\n\n return result as UserPermision;\n}\n","import { AxiosInstance, CreateAxiosDefaults as AxiosConfig } from 'axios';\nimport instance from './instance';\nimport {\n CreateFileProps,\n CurrentUser,\n EmailProps,\n Field_Options,\n Folder_Options,\n IListName,\n ItemID,\n ListData,\n Options,\n PersonField,\n SHAREPOINT_VER,\n UserPermision,\n UserProfile,\n} from '../types';\nimport { RequestContext } from './internal/context';\nimport {\n createAttachment,\n createListItem,\n deleteItem,\n getFiles,\n getListItems,\n getOnly,\n updateListItem,\n} from './internal/listRequests';\nimport { sendEmail as sendEmailRequest } from './internal/emailRequests';\nimport {\n currentUserPermissions as resolveCurrentUserPermissions,\n currentUserProperties as loadCurrentUserProperties,\n getSiteUser as fetchSiteUser,\n typeAhead,\n} from './internal/userRequests';\n\nclass HTTPSharePointRequests<\n T extends {\n LISTS: Record<string, unknown>;\n FOLDERS?: Record<string, unknown>;\n }\n> {\n private baseURL: string;\n private endpoint: string;\n private listName: string;\n private instance: AxiosInstance;\n private sharepointVersion: SHAREPOINT_VER;\n\n constructor(baseURL: string, config?: AxiosConfig) {\n this.baseURL = baseURL.endsWith('/') ? baseURL : `${baseURL}/`;\n this.endpoint = '/api';\n this.listName = '';\n this.instance = instance(this.baseURL, config);\n this.sharepointVersion = '2013';\n }\n\n private getContext<V extends SHAREPOINT_VER = '2013'>(): RequestContext<V> {\n return {\n instance: this.instance,\n baseURL: this.baseURL,\n endpoint: this.endpoint,\n listName: this.listName,\n sharepointVersion: this.sharepointVersion as V,\n };\n }\n\n /**\n * @deprecated Use `from` instead.\n */\n list(listName: IListName<T>) {\n this.listName = listName;\n this.endpoint = `_vti_bin/ListData.svc/${listName}`;\n this.sharepointVersion = '2010';\n return this;\n }\n\n public readonly lists = {\n get: () => {\n this.endpoint = '_api/web/lists';\n this.sharepointVersion = '2013';\n return getListItems(this.getContext());\n },\n };\n\n from<\n K extends Extract<keyof T['LISTS'], string>,\n V extends SHAREPOINT_VER = '2013'\n >(listName: K, sharepoint_ver?: V) {\n const version = (sharepoint_ver ?? '2013') as V;\n\n this.listName = listName;\n this.sharepointVersion = version;\n this.endpoint =\n version === '2013'\n ? `_api/web/lists/GetByTitle('${this.listName}')/items`\n : `_vti_bin/ListData.svc/${listName}`;\n\n const getContext = () => this.getContext<V>();\n\n return {\n create: (data: ListData) => createListItem(getContext(), data),\n get: (options?: Options<T['LISTS'][K], V>) =>\n getListItems<T['LISTS'][K], V>(getContext(), options),\n update: (id: ItemID, data: ListData, digest?: string) =>\n updateListItem(getContext(), id, data, digest),\n delete: (id: ItemID) => deleteItem(getContext(), id),\n createFile: (props: CreateFileProps) =>\n createAttachment(getContext(), props),\n fields: (options?: Field_Options<T['LISTS'][K], V>) => {\n this.endpoint = !options?.fieldName\n ? `_api/web/lists/GetByTitle('${this.listName}')/fields`\n : `_api/web/lists/GetByTitle('${this.listName}')/fields/getbytitle('${options.fieldName}')`;\n return {\n get: () => getOnly<T['LISTS'][K], V>(this.instance, this.endpoint, options),\n };\n },\n };\n }\n\n public folders = {\n get: () => {\n this.endpoint = '_api/web/folders';\n this.sharepointVersion = '2013';\n getListItems(this.getContext());\n },\n };\n\n public folder(folderName?: string | string[]) {\n let filePath = ['Shared Documents'];\n\n if (folderName) {\n filePath = Array.isArray(folderName)\n ? [...filePath, ...folderName]\n : [...filePath, folderName];\n }\n\n this.endpoint = `_api/web/GetFolderByServerRelativeUrl('${filePath.join(\n '/'\n )}')`;\n this.sharepointVersion = '2013';\n\n const getContext = () => this.getContext();\n\n return {\n get: (options?: Folder_Options<any>) => {\n if (!options?.type) {\n this.endpoint += '/Files';\n } else {\n this.endpoint += `/${options.type}`;\n }\n return getFiles(getContext(), options);\n },\n };\n }\n\n public users(options?: Options<any>) {\n this.endpoint = '_api/web/SiteUserInfoList/items';\n this.sharepointVersion = '2013';\n return {\n get: () => getListItems(this.getContext(), options),\n };\n }\n\n public email = {\n send: (props: EmailProps) => {\n this.sharepointVersion = '2013';\n return sendEmailRequest(this.getContext(), props);\n },\n };\n\n public user = {\n properties: () => ({\n get: (): Promise<UserProfile> => {\n this.sharepointVersion = '2013';\n return loadCurrentUserProperties(this.instance);\n },\n }),\n searchSiteUser: (searchValue: string) => {\n this.sharepointVersion = '2013';\n return fetchSiteUser(this.instance, searchValue);\n },\n searchUser: (input: string, filter?: string): Promise<PersonField> => {\n this.sharepointVersion = '2013';\n return typeAhead(this.instance, input, filter);\n },\n current: () => {\n this.endpoint = '_api/web/currentUser';\n this.sharepointVersion = '2013';\n return {\n get: (): Promise<CurrentUser> => getOnly(this.instance, this.endpoint),\n };\n },\n currentPermission: () => ({\n get: (): Promise<UserPermision> => {\n this.sharepointVersion = '2013';\n return resolveCurrentUserPermissions(this.getContext());\n },\n }),\n };\n}\n\nexport default HTTPSharePointRequests;\n","import SHAREPOINT_REQUESTS from './root';\n\nimport type { CreateAxiosDefaults as AxiosConfig } from 'axios';\nimport type { LookupField, ChoiceField, PersonField } from './types';\n\n// Load environment variables from .env file\n\nexport default function createBase<\n T extends { LISTS: Record<string, any>; FOLDERS?: Record<string, any> } = any\n>(){\n function create({\n baseURL,\n config,\n }: {\n baseURL: string;\n config?: AxiosConfig;\n }) {\n if (!baseURL) {\n throw new Error('A valid SharePoint URL must be provided.');\n }\n return new SHAREPOINT_REQUESTS<T>(baseURL, config);\n }\n\n return {\n /**\n * @deprecated Use `create` instead.\n */\n baseURL(url: string, config?: AxiosConfig) {\n return create({ baseURL: url, config });\n },\n create,\n };\n}\n\nexport { LookupField, ChoiceField, PersonField };\n\n\n"],"names":["defaultConfig","headers","Accept","timeout","withCredentials","instance","baseURL","config","userHeaders","AxiosHeaders","toJSON","_config$headers","axios","create","_extends","fetchDigest","_x","_x2","_fetchDigest","apply","arguments","_asyncToGenerator","_regenerator","m","_callee","_response$data","response","formDigestValue","_t","w","_context","p","n","post","v","data","d","GetContextWebInformation","FormDigestValue","Error","a","console","error","transformArraysToEdmStrings","key","Array","isArray","__metadata","type","results","createListItem","_createListItem","context","listData","_t2","_t3","_t4","_t5","listName","endpoint","JSON","stringify","call","url","method","createAttachment","_createAttachment","_ref","file","itemId","requestUrl","name","deleteItem","_deleteItem","id","buildODataParams","options","orderBySeparator","expand","orderBy","limit","filter","cols","skip","params","$expand","join","$top","$skip","$select","$filter","$orderby","appendParamsToUrl","baseUrl","Object","entries","forEach","_ref2","value","undefined","searchParams","append","String","getFiles","_getFiles","meta","URL","defaults","request","getListItems","_getListItems","_response$data$d$resu","_response$data2","rawData","keys","filterItem","Boolean","item","reduce","acc","map","getOnly","_x3","_getOnly","_yield$instance$get","get","updateListItem","_x4","_updateListItem","digest","sendEmail","_sendEmail","From","To","Subject","Body","httpRequest","properties","typeAhead","_typeAhead","input","queryParams","AllowEmailAddresses","AllowMultipleEntities","AllUrlZones","MaximumEntitySuggestions","PrincipalSource","PrincipalType","QueryString","RequiredProperties","ClientPeoplePickerSearchUser","currentUserProperties","_currentUserProperties","_callee2","profile","_context2","UserProfileProperties","prop","Key","FirstName","Value","LastName","Country","UserName","getSiteUser","_x5","_x6","_getSiteUser","_callee3","searchValue","_context3","roleDefinitions","_x7","_roleDefinitions","_callee4","_context4","getEffectiveBasePermissions","_x8","_getEffectiveBasePermissions","_callee5","_context5","EffectiveBasePermissions","currentUserPermissions","_x9","_currentUserPermissions","_callee6","_yield$getEffectiveBa","High","definitions","result","_context6","find","BasePermissions","HTTPSharePointRequests","_this","sharepointVersion","getContext","send","props","sendEmailRequest","loadCurrentUserProperties","searchSiteUser","fetchSiteUser","searchUser","current","currentPermission","resolveCurrentUserPermissions","endsWith","_proto","prototype","list","from","sharepoint_ver","version","_this2","update","delete","createFile","fields","fieldName","folder","folderName","filePath","concat","_this3","users","_this4","createBase","SHAREPOINT_REQUESTS"],"mappings":"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"}
1
+ {"version":3,"file":"sharepoint_requests.esm.js","sources":["../src/root/instance.ts","../src/root/internal/digest.ts","../src/root/internal/listRequests/createListItem.ts","../src/root/internal/listRequests/createAttachment.ts","../src/root/internal/listRequests/deleteItem.ts","../src/root/internal/odata.ts","../src/root/internal/listRequests/getFiles.ts","../src/root/internal/listRequests/getListItems.ts","../src/root/internal/listRequests/getOnly.ts","../src/root/internal/listRequests/updateListItem.ts","../src/root/internal/listRequests/uploadFile.ts","../src/root/internal/emailRequests.ts","../src/root/internal/userRequests.ts","../src/root/index.ts","../src/index.ts"],"sourcesContent":["import axios, { AxiosHeaders, CreateAxiosDefaults as AxiosConfig } from 'axios';\n\nconst defaultConfig: AxiosConfig = {\n headers: {\n Accept: 'application/json; odata=verbose',\n 'Content-Type': 'application/json; odata=verbose',\n },\n timeout: 15000,\n withCredentials: true,\n};\n\nexport const instance = (baseURL: string, config?: AxiosConfig) => {\n const userHeaders =\n config?.headers instanceof AxiosHeaders\n ? config.headers.toJSON()\n : config?.headers ?? {};\n\n return axios.create({\n ...defaultConfig,\n ...config,\n baseURL,\n headers: {\n ...defaultConfig.headers,\n ...userHeaders,\n },\n });\n};\n\nexport default instance;\n","import type { AxiosInstance } from 'axios';\n\nexport async function fetchDigest(\n instance: AxiosInstance,\n baseURL: string\n): Promise<string> {\n try {\n const response = await instance.post(`${baseURL}_api/contextinfo`);\n\n const formDigestValue =\n response.data?.d?.GetContextWebInformation?.FormDigestValue;\n\n if (!formDigestValue) {\n throw new Error('Invalid response structure: Missing FormDigestValue');\n }\n\n return formDigestValue;\n } catch (error) {\n console.error('Failed to retrieve the Form Digest Value:', error);\n throw new Error(`Error retrieving Form Digest Value`);\n }\n}\n","import type { ListData, SHAREPOINT_VER } from '../../../types';\nimport { fetchDigest } from '../digest';\nimport type { RequestContext } from '../context';\n\nasync function resolveMetadataType<V extends SHAREPOINT_VER>(\n context: RequestContext<V>\n) {\n if (context.resolveListItemEntityType) {\n return context.resolveListItemEntityType();\n }\n\n if (context.listItemEntityTypeFullName) {\n return context.listItemEntityTypeFullName;\n }\n\n return `SP.Data.${context.listName}ListItem`;\n}\n\nexport async function createListItem<V extends SHAREPOINT_VER = '2013'>(\n context: RequestContext<V>,\n listData: ListData\n) {\n const metadataType = await resolveMetadataType(context);\n const payload = {\n ...listData,\n __metadata: {\n type: metadataType,\n },\n };\n\n const response = await context.instance({\n url: context.endpoint,\n method: 'POST',\n data: JSON.stringify(payload),\n headers: {\n 'X-RequestDigest': await fetchDigest(context.instance, context.baseURL),\n },\n });\n\n return response;\n}\n","import type { CreateFileProps, SHAREPOINT_VER } from '../../../types';\nimport { fetchDigest } from '../digest';\nimport type { RequestContext } from '../context';\n\nexport async function createAttachment<V extends SHAREPOINT_VER = '2013'>(\n context: RequestContext<V>,\n { file, itemId }: CreateFileProps\n) {\n const requestUrl = `_api/lists/getbytitle('${context.listName}')/items(${itemId})/AttachmentFiles/add(FileName='${file.name}')`;\n const response = await context.instance.post(requestUrl, file, {\n headers: {\n 'X-RequestDigest': await fetchDigest(context.instance, context.baseURL),\n },\n withCredentials: true,\n });\n\n return response;\n}\n","import type { SHAREPOINT_VER } from '../../../types';\nimport type { RequestContext } from '../context';\n\nexport async function deleteItem<V extends SHAREPOINT_VER = '2013'>(\n context: RequestContext<V>,\n id: number | string\n) {\n const response = await context.instance.delete(`${context.endpoint}(${id})`);\n return response;\n}\n","import type { Folder_Options, Options, SHAREPOINT_VER } from '../../types';\n\ntype QueryableOptions<T, V extends SHAREPOINT_VER = '2013'> =\n | Options<T, V>\n | Folder_Options<T>;\n\nexport function buildODataParams<T, V extends SHAREPOINT_VER = '2013'>(\n options: QueryableOptions<T, V> | undefined,\n orderBySeparator: ',' | ' ' = ','\n) {\n const { expand, orderBy, limit, filter, cols, skip } = options || {};\n\n const params: Record<string, string | number | undefined> = {\n $expand: Array.isArray(expand) ? expand.join(',') : expand,\n $top: limit,\n $skip: skip,\n $select: Array.isArray(cols) ? cols.join(',') : cols,\n $filter: filter,\n $orderby: Array.isArray(orderBy)\n ? orderBy.join(orderBySeparator)\n : orderBy,\n };\n\n return params;\n}\n\nexport function appendParamsToUrl(\n baseUrl: URL,\n params: Record<string, string | number | undefined | null>\n) {\n Object.entries(params).forEach(([key, value]) => {\n if (value !== undefined && value !== null) {\n baseUrl.searchParams.append(key, String(value));\n }\n });\n}\n","import type { Folder_Options, SHAREPOINT_VER } from '../../../types';\nimport { appendParamsToUrl, buildODataParams } from '../odata';\nimport type { RequestContext } from '../context';\n\nexport async function getFiles<\n T,\n V extends SHAREPOINT_VER = '2013'\n>(\n context: RequestContext<V>,\n options?: Folder_Options<T>\n) {\n const params = buildODataParams(options, ',');\n const url = new URL(context.endpoint, context.instance.defaults.baseURL);\n\n appendParamsToUrl(url, params);\n\n const response = await context.instance.request({\n url: context.endpoint,\n method: 'GET',\n params,\n });\n\n const data =\n options?.limit || !response.data.d.results\n ? response.data.d\n : response.data.d.results;\n\n const meta = { url };\n\n return { data, meta };\n}\n","import type { Options, SPItem, SHAREPOINT_VER } from '../../../types';\nimport { appendParamsToUrl, buildODataParams } from '../odata';\nimport type { RequestContext } from '../context';\n\nexport async function getListItems<\n K,\n V extends SHAREPOINT_VER = '2013'\n>(\n context: RequestContext<V>,\n options?: Options<K, V>\n): Promise<{ data: (K & Partial<SPItem<V>>)[]; meta: { url: URL } }> {\n const params = buildODataParams(options, ' ');\n\n const url = new URL(context.endpoint, context.instance.defaults.baseURL);\n appendParamsToUrl(url, params);\n\n const response = await context.instance.request({\n url: context.endpoint,\n method: 'GET',\n params,\n });\n\n const rawData = response.data?.d?.results ?? response.data?.d ?? response.data;\n const cols = options?.cols;\n const keys = cols\n ? (Array.isArray(cols) ? cols : [cols]).filter(Boolean)\n : undefined;\n\n const filterItem = (item: unknown) => {\n if (!keys || !item || typeof item !== 'object') {\n return item;\n }\n\n return keys.reduce<Record<string, unknown>>((acc, key) => {\n if (key in item) {\n acc[key] = (item as Record<string, unknown>)[key];\n }\n\n return acc;\n }, {});\n };\n\n const data = Array.isArray(rawData)\n ? rawData.map(filterItem)\n : filterItem(rawData);\n\n const meta = { url };\n\n return { data: data as (K & Partial<SPItem<V>>)[], meta };\n}\n","import type { AxiosInstance } from 'axios';\nimport type { Options, SHAREPOINT_VER } from '../../../types';\nimport { buildODataParams } from '../odata';\n\nexport async function getOnly<\n T,\n V extends SHAREPOINT_VER = '2013'\n>(\n instance: AxiosInstance,\n endpoint: string,\n options?: Options<T, V>\n) {\n const params = buildODataParams(options, ',');\n const { data } = await instance.get(endpoint, { params });\n if (data) {\n return data.d.results ? data.d.results : data.d;\n }\n}\n","import type { ListData, SHAREPOINT_VER } from '../../../types';\nimport { fetchDigest } from '../digest';\nimport type { RequestContext } from '../context';\n\nasync function resolveMetadataType<V extends SHAREPOINT_VER>(\n context: RequestContext<V>\n) {\n if (context.resolveListItemEntityType) {\n return context.resolveListItemEntityType();\n }\n\n if (context.listItemEntityTypeFullName) {\n return context.listItemEntityTypeFullName;\n }\n\n return `SP.Data.${context.listName}ListItem`;\n}\n\nexport async function updateListItem<V extends SHAREPOINT_VER = '2013'>(\n context: RequestContext<V>,\n id: number | string,\n data: ListData,\n digest?: string\n) {\n const formDigestValue =\n digest || (await fetchDigest(context.instance, context.baseURL));\n\n const metadataType = await resolveMetadataType(context);\n const payload = {\n ...data,\n __metadata: {\n type: metadataType,\n },\n };\n\n const url = `_api/lists/getbytitle('${context.listName}')/getItemById('${id}')`;\n\n const response = await context.instance({\n url,\n method: 'POST',\n data: JSON.stringify(payload),\n headers: {\n 'X-RequestDigest': formDigestValue,\n 'IF-MATCH': '*',\n 'X-Http-Method': 'PATCH',\n },\n });\n\n return response;\n}\n","import type { SHAREPOINT_VER, UploadFileProps } from '../../../types';\nimport { fetchDigest } from '../digest';\nimport type { RequestContext } from '../context';\n\nconst SUPPORTED_VERSION: SHAREPOINT_VER = '2013';\n\nfunction normalizeFolderPath(folderPath: string | string[]) {\n const segments = Array.isArray(folderPath)\n ? folderPath\n : folderPath.split('/').filter(Boolean);\n\n if (!segments.length) {\n return '';\n }\n\n const escapedSegments = segments.map((segment) => {\n if (!segment.trim()) {\n throw new Error('Folder path segments cannot be empty.');\n }\n\n // SharePoint expects single quotes to be doubled in OData paths.\n const sanitized = segment.replace(/'/g, \"''\");\n\n return `/Folders('${encodeURIComponent(sanitized)}')`;\n });\n\n return escapedSegments.join('');\n}\n\nexport async function uploadFile<V extends SHAREPOINT_VER = '2013'>(\n context: RequestContext<V>,\n { file, folderPath, overwrite = true }: UploadFileProps\n) {\n if (context.sharepointVersion !== SUPPORTED_VERSION) {\n throw new Error(\n 'uploadFile is only supported for SharePoint 2013 REST endpoints.'\n );\n }\n\n if (!file?.name) {\n throw new Error('A file with a valid name must be provided.');\n }\n\n let requestUrl = `_api/web/lists/getbytitle('${context.listName}')/RootFolder`;\n\n if (folderPath) {\n requestUrl += normalizeFolderPath(folderPath);\n }\n\n const encodedFileName = encodeURIComponent(file.name.replace(/'/g, \"''\"));\n requestUrl += `/Files/add(url='${encodedFileName}',overwrite=${\n overwrite ? 'true' : 'false'\n })`;\n\n const digest = await fetchDigest(context.instance, context.baseURL);\n\n const response = await context.instance.post(requestUrl, file, {\n headers: {\n 'Content-Type': file.type || 'application/octet-stream',\n 'X-RequestDigest': digest,\n },\n withCredentials: true,\n });\n\n return response;\n}\n","import type { AxiosResponse } from 'axios';\nimport type { EmailProps } from '../../types';\nimport { fetchDigest } from './digest';\nimport type { RequestContext } from './context';\n\ntype SendEmailResponse = AxiosResponse<{\n d: {\n SendEmail: null;\n };\n}>;\n\nexport async function sendEmail(\n context: RequestContext,\n { From, To, Subject, Body }: EmailProps\n): Promise<SendEmailResponse> {\n const httpRequest = '_api/SP.Utilities.Utility.SendEmail';\n\n const response = await context.instance({\n url: httpRequest,\n method: 'POST',\n headers: {\n 'X-RequestDigest': await fetchDigest(\n context.instance,\n context.baseURL\n ),\n 'X-Http-Method': 'POST',\n 'Content-Type': 'application/json;odata=verbose',\n },\n data: JSON.stringify({\n properties: {\n __metadata: {\n type: 'SP.Utilities.EmailProperties',\n },\n From,\n To: {\n results: Array.isArray(To) ? To : [To],\n },\n Body,\n Subject,\n },\n }),\n });\n\n return response;\n}\n","import type { AxiosInstance } from 'axios';\nimport type {\n PersonField,\n UserPermision,\n UserProfile,\n} from '../../types';\nimport type { RequestContext } from './context';\n\ntype RoleDefinition = {\n BasePermissions: {\n High: string;\n };\n};\n\nexport async function typeAhead(\n instance: AxiosInstance,\n input: string,\n filter?: string\n): Promise<PersonField> {\n const requestUrl = `_api/SP.UI.ApplicationPages.ClientPeoplePickerWebServiceInterface.clientPeoplePickerSearchUser`;\n\n const data = {\n queryParams: {\n __metadata: {\n type: 'SP.UI.ApplicationPages.ClientPeoplePickerQueryParameters',\n },\n AllowEmailAddresses: true,\n AllowMultipleEntities: false,\n AllUrlZones: false,\n MaximumEntitySuggestions: 10,\n PrincipalSource: 15,\n PrincipalType: 1,\n QueryString: input,\n },\n };\n\n if (filter) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (data.queryParams as any).RequiredProperties = [filter];\n }\n\n const response = await instance.post(requestUrl, JSON.stringify(data), {\n headers: {\n Accept: 'application/json; odata=verbose',\n 'Content-Type': 'application/json;odata=verbose',\n },\n });\n\n return response.data.d.ClientPeoplePickerSearchUser;\n}\n\nexport async function currentUserProperties(\n instance: AxiosInstance\n): Promise<UserProfile> {\n const requestUrl = '_api/sp.userprofiles.peoplemanager/getmyproperties';\n let profile: any = await instance.get(requestUrl);\n\n profile = profile.data.d;\n\n profile.UserProfileProperties.results.forEach(\n (prop: { Key: string; Value: string }) => {\n if (prop.Key === 'FirstName') {\n profile.FirstName = prop.Value;\n }\n if (prop.Key === 'LastName') {\n profile.LastName = prop.Value;\n }\n if (prop.Key === 'Country') {\n profile.Country = prop.Value;\n }\n if (prop.Key === 'UserName') {\n profile.UserName = prop.Value;\n }\n }\n );\n\n return profile;\n}\n\nexport async function getSiteUser(instance: AxiosInstance, searchValue: string) {\n const requestUrl = `_api/web/siteusers?&$filter=substringof('${searchValue}', Title) or substringof('${searchValue}', LoginName) or substringof('${searchValue}', Email)&$top=50&$expand=Groups`;\n const response = await instance.get(requestUrl);\n return response.data.d;\n}\n\nexport async function roleDefinitions(instance: AxiosInstance) {\n const requestUrl = `_api/Web/RoleDefinitions`;\n const response = await instance.get(requestUrl);\n return response.data.d.results as RoleDefinition[];\n}\n\nexport async function getEffectiveBasePermissions(instance: AxiosInstance) {\n const requestUrl = `_api/Web/effectiveBasePermissions`;\n const response = await instance.get(requestUrl);\n return response.data.d.EffectiveBasePermissions;\n}\n\nexport async function currentUserPermissions(\n context: RequestContext\n): Promise<UserPermision> {\n const { High } = await getEffectiveBasePermissions(context.instance);\n const definitions = await roleDefinitions(context.instance);\n\n const result = definitions.find(\n ({ BasePermissions }: RoleDefinition) => BasePermissions.High === High\n );\n\n return result as UserPermision;\n}\n","import { AxiosInstance, CreateAxiosDefaults as AxiosConfig } from 'axios';\nimport instance from './instance';\nimport {\n CreateFileProps,\n CurrentUser,\n EmailProps,\n Field_Options,\n Folder_Options,\n UploadFileProps,\n IListName,\n ItemID,\n ListData,\n Options,\n PersonField,\n SHAREPOINT_VER,\n UserPermision,\n UserProfile,\n} from '../types';\nimport { RequestContext } from './internal/context';\nimport {\n createAttachment,\n createListItem,\n deleteItem,\n getFiles,\n getListItems,\n getOnly,\n updateListItem,\n uploadFile,\n} from './internal/listRequests';\nimport { sendEmail as sendEmailRequest } from './internal/emailRequests';\nimport {\n currentUserPermissions as resolveCurrentUserPermissions,\n currentUserProperties as loadCurrentUserProperties,\n getSiteUser as fetchSiteUser,\n typeAhead,\n} from './internal/userRequests';\nimport { fetchDigest } from './internal/digest';\n\nclass HTTPSharePointRequests<\n T extends {\n LISTS: Record<string, unknown>;\n FOLDERS?: Record<string, unknown>;\n }\n> {\n private baseURL: string;\n private endpoint: string;\n private listName: string;\n private instance: AxiosInstance;\n private sharepointVersion: SHAREPOINT_VER;\n private listItemEntityTypeFullName?: string;\n\n constructor(baseURL: string, config?: AxiosConfig) {\n this.baseURL = baseURL.endsWith('/') ? baseURL : `${baseURL}/`;\n this.endpoint = '/api';\n this.listName = '';\n this.instance = instance(this.baseURL, config);\n this.sharepointVersion = '2013';\n this.listItemEntityTypeFullName = undefined;\n }\n\n private getContext<V extends SHAREPOINT_VER = '2013'>(): RequestContext<V> {\n return {\n instance: this.instance,\n baseURL: this.baseURL,\n endpoint: this.endpoint,\n listName: this.listName,\n sharepointVersion: this.sharepointVersion as V,\n listItemEntityTypeFullName: this.listItemEntityTypeFullName,\n resolveListItemEntityType: this.resolveListItemEntityTypeFullName.bind(\n this\n ),\n };\n }\n\n private async resolveListItemEntityTypeFullName(): Promise<string> {\n if (this.listItemEntityTypeFullName) {\n return this.listItemEntityTypeFullName;\n }\n\n if (!this.listName) {\n throw new Error('List name is not set.');\n }\n\n if (this.sharepointVersion !== '2013') {\n this.listItemEntityTypeFullName = `SP.Data.${this.listName}ListItem`;\n return this.listItemEntityTypeFullName;\n }\n\n const response = await this.instance.get(\n `_api/web/lists/GetByTitle('${this.listName}')?$select=ListItemEntityTypeFullName`\n );\n\n const entityType =\n response.data?.d?.ListItemEntityTypeFullName ??\n response.data?.ListItemEntityTypeFullName;\n\n if (!entityType || typeof entityType !== 'string') {\n throw new Error(\n `Unable to resolve ListItemEntityTypeFullName for list \"${this.listName}\".`\n );\n }\n\n this.listItemEntityTypeFullName = entityType;\n return this.listItemEntityTypeFullName;\n }\n\n /**\n * @deprecated Use `from` instead.\n */\n list(listName: IListName<T>) {\n this.listName = listName;\n this.endpoint = `_vti_bin/ListData.svc/${listName}`;\n this.sharepointVersion = '2010';\n this.listItemEntityTypeFullName = undefined;\n return this;\n }\n\n public readonly lists = {\n get: () => {\n this.endpoint = '_api/web/lists';\n this.sharepointVersion = '2013';\n return getListItems(this.getContext());\n },\n };\n\n public getDigest() {\n return fetchDigest(this.instance, this.baseURL);\n }\n\n public from<\n K extends Extract<keyof T['LISTS'], string>,\n V extends SHAREPOINT_VER = '2013'\n >(listName: K, sharepoint_ver?: V) {\n const version = (sharepoint_ver ?? '2013') as V;\n\n this.listName = listName;\n this.sharepointVersion = version;\n this.listItemEntityTypeFullName = undefined;\n this.endpoint =\n version === '2013'\n ? `_api/web/lists/GetByTitle('${this.listName}')/items`\n : `_vti_bin/ListData.svc/${listName}`;\n\n const getContext = () => this.getContext<V>();\n\n return {\n create: (data: ListData) => createListItem(getContext(), data),\n get: (options?: Options<T['LISTS'][K], V>) =>\n getListItems<T['LISTS'][K], V>(getContext(), options),\n update: (id: ItemID, data: ListData, digest?: string) =>\n updateListItem(getContext(), id, data, digest),\n delete: (id: ItemID) => deleteItem(getContext(), id),\n createFile: (props: CreateFileProps) =>\n createAttachment(getContext(), props),\n uploadFile: (props: UploadFileProps) => uploadFile(getContext(), props),\n fields: (options?: Field_Options<T['LISTS'][K], V>) => {\n this.endpoint = !options?.fieldName\n ? `_api/web/lists/GetByTitle('${this.listName}')/fields`\n : `_api/web/lists/GetByTitle('${this.listName}')/fields/getbytitle('${options.fieldName}')`;\n return {\n get: () =>\n getOnly<T['LISTS'][K], V>(this.instance, this.endpoint, options),\n };\n },\n };\n }\n\n public folders = {\n get: () => {\n this.endpoint = '_api/web/folders';\n this.sharepointVersion = '2013';\n getListItems(this.getContext());\n },\n };\n\n public folder(folderName?: string | string[]) {\n let filePath = ['Shared Documents'];\n\n if (folderName) {\n filePath = Array.isArray(folderName)\n ? [...filePath, ...folderName]\n : [...filePath, folderName];\n }\n\n this.endpoint = `_api/web/GetFolderByServerRelativeUrl('${filePath.join(\n '/'\n )}')`;\n this.sharepointVersion = '2013';\n\n const getContext = () => this.getContext();\n\n return {\n get: (options?: Folder_Options<any>) => {\n if (!options?.type) {\n this.endpoint += '/Files';\n } else {\n this.endpoint += `/${options.type}`;\n }\n return getFiles(getContext(), options);\n },\n };\n }\n\n public users(options?: Options<any>) {\n this.endpoint = '_api/web/SiteUserInfoList/items';\n this.sharepointVersion = '2013';\n return {\n get: () => getListItems(this.getContext(), options),\n };\n }\n\n public email = {\n send: (props: EmailProps) => {\n this.sharepointVersion = '2013';\n return sendEmailRequest(this.getContext(), props);\n },\n };\n\n public user = {\n properties: () => ({\n get: (): Promise<UserProfile> => {\n this.sharepointVersion = '2013';\n return loadCurrentUserProperties(this.instance);\n },\n }),\n searchSiteUser: (searchValue: string) => {\n this.sharepointVersion = '2013';\n return fetchSiteUser(this.instance, searchValue);\n },\n searchUser: (input: string, filter?: string): Promise<PersonField> => {\n this.sharepointVersion = '2013';\n return typeAhead(this.instance, input, filter);\n },\n current: () => {\n this.endpoint = '_api/web/currentUser';\n this.sharepointVersion = '2013';\n return {\n get: (): Promise<CurrentUser> => getOnly(this.instance, this.endpoint),\n };\n },\n currentPermission: () => ({\n get: (): Promise<UserPermision> => {\n this.sharepointVersion = '2013';\n return resolveCurrentUserPermissions(this.getContext());\n },\n }),\n };\n}\n\nexport default HTTPSharePointRequests;\n","import SHAREPOINT_REQUESTS from './root';\n\nimport type { CreateAxiosDefaults as AxiosConfig } from 'axios';\nimport type { LookupField, ChoiceField, PersonField } from './types';\n\n// Load environment variables from .env file\n\nexport default function createBase<\n T extends { LISTS: Record<string, any>; FOLDERS?: Record<string, any> } = any\n>(){\n function create({\n baseURL,\n config,\n }: {\n baseURL: string;\n config?: AxiosConfig;\n }) {\n if (!baseURL) {\n throw new Error('A valid SharePoint URL must be provided.');\n }\n return new SHAREPOINT_REQUESTS<T>(baseURL, config);\n }\n\n return {\n /**\n * @deprecated Use `create` instead.\n */\n baseURL(url: string, config?: AxiosConfig) {\n return create({ baseURL: url, config });\n },\n create,\n };\n}\n\nexport { LookupField, ChoiceField, PersonField };\n\n\n"],"names":["defaultConfig","headers","Accept","timeout","withCredentials","instance","baseURL","config","userHeaders","AxiosHeaders","toJSON","_config$headers","axios","create","_extends","fetchDigest","_x","_x2","_fetchDigest","apply","arguments","_asyncToGenerator","_regenerator","m","_callee","_response$data","response","formDigestValue","_t","w","_context","p","n","post","v","data","d","GetContextWebInformation","FormDigestValue","Error","a","console","error","resolveMetadataType","_resolveMetadataType","context","resolveListItemEntityType","listItemEntityTypeFullName","listName","createListItem","_x3","_createListItem","_callee2","listData","metadataType","payload","_t2","_t3","_t4","_t5","_context2","__metadata","type","endpoint","JSON","stringify","call","url","method","createAttachment","_createAttachment","_ref","file","itemId","requestUrl","name","deleteItem","_deleteItem","id","buildODataParams","options","orderBySeparator","expand","orderBy","limit","filter","cols","skip","params","$expand","Array","isArray","join","$top","$skip","$select","$filter","$orderby","appendParamsToUrl","baseUrl","Object","entries","forEach","_ref2","key","value","undefined","searchParams","append","String","getFiles","_getFiles","meta","URL","defaults","request","results","getListItems","_getListItems","_response$data$d$resu","_response$data2","rawData","keys","filterItem","Boolean","item","reduce","acc","map","getOnly","_getOnly","_yield$instance$get","get","updateListItem","_x4","_x5","_updateListItem","digest","SUPPORTED_VERSION","normalizeFolderPath","folderPath","segments","split","length","escapedSegments","segment","trim","sanitized","replace","encodeURIComponent","uploadFile","_uploadFile","_ref$overwrite","overwrite","encodedFileName","sharepointVersion","sendEmail","_sendEmail","From","To","Subject","Body","httpRequest","properties","typeAhead","_typeAhead","input","queryParams","AllowEmailAddresses","AllowMultipleEntities","AllUrlZones","MaximumEntitySuggestions","PrincipalSource","PrincipalType","QueryString","RequiredProperties","ClientPeoplePickerSearchUser","currentUserProperties","_currentUserProperties","profile","UserProfileProperties","prop","Key","FirstName","Value","LastName","Country","UserName","getSiteUser","_x6","_getSiteUser","_callee3","searchValue","_context3","roleDefinitions","_x7","_roleDefinitions","_callee4","_context4","getEffectiveBasePermissions","_x8","_getEffectiveBasePermissions","_callee5","_context5","EffectiveBasePermissions","currentUserPermissions","_x9","_currentUserPermissions","_callee6","_yield$getEffectiveBa","High","definitions","result","_context6","find","BasePermissions","HTTPSharePointRequests","lists","_this","getContext","folders","email","send","props","sendEmailRequest","user","loadCurrentUserProperties","searchSiteUser","fetchSiteUser","searchUser","current","currentPermission","resolveCurrentUserPermissions","endsWith","_proto","prototype","resolveListItemEntityTypeFullName","bind","_resolveListItemEntityTypeFullName","_response$data$d$List","entityType","ListItemEntityTypeFullName","list","getDigest","from","sharepoint_ver","version","_this2","update","delete","createFile","fields","fieldName","folder","folderName","filePath","concat","_this3","users","_this4","createBase","SHAREPOINT_REQUESTS"],"mappings":"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"}