@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
@@ -202,53 +202,72 @@ function _fetchDigest() {
202
202
  return _fetchDigest.apply(this, arguments);
203
203
  }
204
204
 
205
- function transformArraysToEdmStrings(data) {
206
- for (var key in data) {
207
- if (Array.isArray(data[key])) {
208
- data[key] = {
209
- __metadata: {
210
- type: 'Collection(Edm.String)'
211
- },
212
- results: data[key]
213
- };
214
- }
215
- }
205
+ function resolveMetadataType(_x) {
206
+ return _resolveMetadataType.apply(this, arguments);
216
207
  }
217
- function createListItem(_x, _x2) {
208
+ function _resolveMetadataType() {
209
+ _resolveMetadataType = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(context) {
210
+ return _regenerator().w(function (_context) {
211
+ while (1) switch (_context.n) {
212
+ case 0:
213
+ if (!context.resolveListItemEntityType) {
214
+ _context.n = 1;
215
+ break;
216
+ }
217
+ return _context.a(2, context.resolveListItemEntityType());
218
+ case 1:
219
+ if (!context.listItemEntityTypeFullName) {
220
+ _context.n = 2;
221
+ break;
222
+ }
223
+ return _context.a(2, context.listItemEntityTypeFullName);
224
+ case 2:
225
+ return _context.a(2, "SP.Data." + context.listName + "ListItem");
226
+ }
227
+ }, _callee);
228
+ }));
229
+ return _resolveMetadataType.apply(this, arguments);
230
+ }
231
+ function createListItem(_x2, _x3) {
218
232
  return _createListItem.apply(this, arguments);
219
233
  }
220
234
  function _createListItem() {
221
- _createListItem = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(context, listData) {
222
- var response, _t, _t2, _t3, _t4, _t5;
223
- return _regenerator().w(function (_context) {
224
- while (1) switch (_context.n) {
235
+ _createListItem = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(context, listData) {
236
+ var metadataType, payload, response, _t, _t2, _t3, _t4, _t5;
237
+ return _regenerator().w(function (_context2) {
238
+ while (1) switch (_context2.n) {
225
239
  case 0:
226
- transformArraysToEdmStrings(listData);
227
- listData.__metadata = {
228
- type: "SP.Data." + context.listName + "ListItem"
229
- };
240
+ _context2.n = 1;
241
+ return resolveMetadataType(context);
242
+ case 1:
243
+ metadataType = _context2.v;
244
+ payload = _extends({}, listData, {
245
+ __metadata: {
246
+ type: metadataType
247
+ }
248
+ });
230
249
  _t = context;
231
250
  _t2 = context.endpoint;
232
- _t3 = JSON.stringify(listData);
233
- _context.n = 1;
251
+ _t3 = JSON.stringify(payload);
252
+ _context2.n = 2;
234
253
  return fetchDigest(context.instance, context.baseURL);
235
- case 1:
236
- _t4 = _context.v;
254
+ case 2:
255
+ _t4 = _context2.v;
237
256
  _t5 = {
238
257
  'X-RequestDigest': _t4
239
258
  };
240
- _context.n = 2;
259
+ _context2.n = 3;
241
260
  return _t.instance.call(_t, {
242
261
  url: _t2,
243
262
  method: 'POST',
244
263
  data: _t3,
245
264
  headers: _t5
246
265
  });
247
- case 2:
248
- response = _context.v;
249
- return _context.a(2, response);
266
+ case 3:
267
+ response = _context2.v;
268
+ return _context2.a(2, response);
250
269
  }
251
- }, _callee);
270
+ }, _callee2);
252
271
  }));
253
272
  return _createListItem.apply(this, arguments);
254
273
  }
@@ -452,48 +471,145 @@ function _getOnly() {
452
471
  return _getOnly.apply(this, arguments);
453
472
  }
454
473
 
455
- function updateListItem(_x, _x2, _x3, _x4) {
456
- return _updateListItem.apply(this, arguments);
474
+ function resolveMetadataType$1(_x) {
475
+ return _resolveMetadataType$1.apply(this, arguments);
457
476
  }
458
- function _updateListItem() {
459
- _updateListItem = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(context, id, data, digest) {
460
- var formDigestValue, url, response, _t;
477
+ function _resolveMetadataType$1() {
478
+ _resolveMetadataType$1 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(context) {
461
479
  return _regenerator().w(function (_context) {
462
480
  while (1) switch (_context.n) {
481
+ case 0:
482
+ if (!context.resolveListItemEntityType) {
483
+ _context.n = 1;
484
+ break;
485
+ }
486
+ return _context.a(2, context.resolveListItemEntityType());
487
+ case 1:
488
+ if (!context.listItemEntityTypeFullName) {
489
+ _context.n = 2;
490
+ break;
491
+ }
492
+ return _context.a(2, context.listItemEntityTypeFullName);
493
+ case 2:
494
+ return _context.a(2, "SP.Data." + context.listName + "ListItem");
495
+ }
496
+ }, _callee);
497
+ }));
498
+ return _resolveMetadataType$1.apply(this, arguments);
499
+ }
500
+ function updateListItem(_x2, _x3, _x4, _x5) {
501
+ return _updateListItem.apply(this, arguments);
502
+ }
503
+ function _updateListItem() {
504
+ _updateListItem = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(context, id, data, digest) {
505
+ var formDigestValue, metadataType, payload, url, response, _t;
506
+ return _regenerator().w(function (_context2) {
507
+ while (1) switch (_context2.n) {
463
508
  case 0:
464
509
  _t = digest;
465
510
  if (_t) {
466
- _context.n = 2;
511
+ _context2.n = 2;
467
512
  break;
468
513
  }
469
- _context.n = 1;
514
+ _context2.n = 1;
470
515
  return fetchDigest(context.instance, context.baseURL);
471
516
  case 1:
472
- _t = _context.v;
517
+ _t = _context2.v;
473
518
  case 2:
474
519
  formDigestValue = _t;
475
- data.__metadata = {
476
- type: "SP.Data." + context.listName + "ListItem"
477
- };
520
+ _context2.n = 3;
521
+ return resolveMetadataType$1(context);
522
+ case 3:
523
+ metadataType = _context2.v;
524
+ payload = _extends({}, data, {
525
+ __metadata: {
526
+ type: metadataType
527
+ }
528
+ });
478
529
  url = "_api/lists/getbytitle('" + context.listName + "')/getItemById('" + id + "')";
479
- _context.n = 3;
530
+ _context2.n = 4;
480
531
  return context.instance({
481
532
  url: url,
482
533
  method: 'POST',
483
- data: JSON.stringify(data),
534
+ data: JSON.stringify(payload),
484
535
  headers: {
485
536
  'X-RequestDigest': formDigestValue,
486
537
  'IF-MATCH': '*',
487
538
  'X-Http-Method': 'PATCH'
488
539
  }
489
540
  });
541
+ case 4:
542
+ response = _context2.v;
543
+ return _context2.a(2, response);
544
+ }
545
+ }, _callee2);
546
+ }));
547
+ return _updateListItem.apply(this, arguments);
548
+ }
549
+
550
+ var SUPPORTED_VERSION = '2013';
551
+ function normalizeFolderPath(folderPath) {
552
+ var segments = Array.isArray(folderPath) ? folderPath : folderPath.split('/').filter(Boolean);
553
+ if (!segments.length) {
554
+ return '';
555
+ }
556
+ var escapedSegments = segments.map(function (segment) {
557
+ if (!segment.trim()) {
558
+ throw new Error('Folder path segments cannot be empty.');
559
+ }
560
+ // SharePoint expects single quotes to be doubled in OData paths.
561
+ var sanitized = segment.replace(/'/g, "''");
562
+ return "/Folders('" + encodeURIComponent(sanitized) + "')";
563
+ });
564
+ return escapedSegments.join('');
565
+ }
566
+ function uploadFile(_x, _x2) {
567
+ return _uploadFile.apply(this, arguments);
568
+ }
569
+ function _uploadFile() {
570
+ _uploadFile = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(context, _ref) {
571
+ var file, folderPath, _ref$overwrite, overwrite, requestUrl, encodedFileName, digest, response;
572
+ return _regenerator().w(function (_context) {
573
+ while (1) switch (_context.n) {
574
+ case 0:
575
+ file = _ref.file, folderPath = _ref.folderPath, _ref$overwrite = _ref.overwrite, overwrite = _ref$overwrite === void 0 ? true : _ref$overwrite;
576
+ if (!(context.sharepointVersion !== SUPPORTED_VERSION)) {
577
+ _context.n = 1;
578
+ break;
579
+ }
580
+ throw new Error('uploadFile is only supported for SharePoint 2013 REST endpoints.');
581
+ case 1:
582
+ if (file != null && file.name) {
583
+ _context.n = 2;
584
+ break;
585
+ }
586
+ throw new Error('A file with a valid name must be provided.');
587
+ case 2:
588
+ requestUrl = "_api/web/lists/getbytitle('" + context.listName + "')/RootFolder";
589
+ if (folderPath) {
590
+ requestUrl += normalizeFolderPath(folderPath);
591
+ }
592
+ encodedFileName = encodeURIComponent(file.name.replace(/'/g, "''"));
593
+ requestUrl += "/Files/add(url='" + encodedFileName + "',overwrite=" + (overwrite ? 'true' : 'false') + ")";
594
+ _context.n = 3;
595
+ return fetchDigest(context.instance, context.baseURL);
490
596
  case 3:
597
+ digest = _context.v;
598
+ _context.n = 4;
599
+ return context.instance.post(requestUrl, file, {
600
+ headers: {
601
+ 'Content-Type': file.type || 'application/octet-stream',
602
+ 'X-RequestDigest': digest
603
+ },
604
+ withCredentials: true
605
+ });
606
+ case 4:
491
607
  response = _context.v;
492
608
  return _context.a(2, response);
493
609
  }
494
610
  }, _callee);
495
611
  }));
496
- return _updateListItem.apply(this, arguments);
612
+ return _uploadFile.apply(this, arguments);
497
613
  }
498
614
 
499
615
  function sendEmail(_x, _x2) {
@@ -717,6 +833,12 @@ function _currentUserPermissions() {
717
833
  var HTTPSharePointRequests = /*#__PURE__*/function () {
718
834
  function HTTPSharePointRequests(baseURL, config) {
719
835
  var _this = this;
836
+ this.baseURL = void 0;
837
+ this.endpoint = void 0;
838
+ this.listName = void 0;
839
+ this.instance = void 0;
840
+ this.sharepointVersion = void 0;
841
+ this.listItemEntityTypeFullName = void 0;
720
842
  this.lists = {
721
843
  get: function get() {
722
844
  _this.endpoint = '_api/web/lists';
@@ -777,6 +899,7 @@ var HTTPSharePointRequests = /*#__PURE__*/function () {
777
899
  this.listName = '';
778
900
  this.instance = instance(this.baseURL, config);
779
901
  this.sharepointVersion = '2013';
902
+ this.listItemEntityTypeFullName = undefined;
780
903
  }
781
904
  var _proto = HTTPSharePointRequests.prototype;
782
905
  _proto.getContext = function getContext() {
@@ -785,23 +908,78 @@ var HTTPSharePointRequests = /*#__PURE__*/function () {
785
908
  baseURL: this.baseURL,
786
909
  endpoint: this.endpoint,
787
910
  listName: this.listName,
788
- sharepointVersion: this.sharepointVersion
911
+ sharepointVersion: this.sharepointVersion,
912
+ listItemEntityTypeFullName: this.listItemEntityTypeFullName,
913
+ resolveListItemEntityType: this.resolveListItemEntityTypeFullName.bind(this)
789
914
  };
790
- }
791
- /**
792
- * @deprecated Use `from` instead.
793
- */;
915
+ };
916
+ _proto.resolveListItemEntityTypeFullName = /*#__PURE__*/function () {
917
+ var _resolveListItemEntityTypeFullName = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
918
+ var _response$data$d$List, _response$data, _response$data2;
919
+ var response, entityType;
920
+ return _regenerator().w(function (_context) {
921
+ while (1) switch (_context.n) {
922
+ case 0:
923
+ if (!this.listItemEntityTypeFullName) {
924
+ _context.n = 1;
925
+ break;
926
+ }
927
+ return _context.a(2, this.listItemEntityTypeFullName);
928
+ case 1:
929
+ if (this.listName) {
930
+ _context.n = 2;
931
+ break;
932
+ }
933
+ throw new Error('List name is not set.');
934
+ case 2:
935
+ if (!(this.sharepointVersion !== '2013')) {
936
+ _context.n = 3;
937
+ break;
938
+ }
939
+ this.listItemEntityTypeFullName = "SP.Data." + this.listName + "ListItem";
940
+ return _context.a(2, this.listItemEntityTypeFullName);
941
+ case 3:
942
+ _context.n = 4;
943
+ return this.instance.get("_api/web/lists/GetByTitle('" + this.listName + "')?$select=ListItemEntityTypeFullName");
944
+ case 4:
945
+ response = _context.v;
946
+ 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;
947
+ if (!(!entityType || typeof entityType !== 'string')) {
948
+ _context.n = 5;
949
+ break;
950
+ }
951
+ throw new Error("Unable to resolve ListItemEntityTypeFullName for list \"" + this.listName + "\".");
952
+ case 5:
953
+ this.listItemEntityTypeFullName = entityType;
954
+ return _context.a(2, this.listItemEntityTypeFullName);
955
+ }
956
+ }, _callee, this);
957
+ }));
958
+ function resolveListItemEntityTypeFullName() {
959
+ return _resolveListItemEntityTypeFullName.apply(this, arguments);
960
+ }
961
+ return resolveListItemEntityTypeFullName;
962
+ }()
963
+ /**
964
+ * @deprecated Use `from` instead.
965
+ */
966
+ ;
794
967
  _proto.list = function list(listName) {
795
968
  this.listName = listName;
796
969
  this.endpoint = "_vti_bin/ListData.svc/" + listName;
797
970
  this.sharepointVersion = '2010';
971
+ this.listItemEntityTypeFullName = undefined;
798
972
  return this;
799
973
  };
974
+ _proto.getDigest = function getDigest() {
975
+ return fetchDigest(this.instance, this.baseURL);
976
+ };
800
977
  _proto.from = function from(listName, sharepoint_ver) {
801
978
  var _this2 = this;
802
979
  var version = sharepoint_ver != null ? sharepoint_ver : '2013';
803
980
  this.listName = listName;
804
981
  this.sharepointVersion = version;
982
+ this.listItemEntityTypeFullName = undefined;
805
983
  this.endpoint = version === '2013' ? "_api/web/lists/GetByTitle('" + this.listName + "')/items" : "_vti_bin/ListData.svc/" + listName;
806
984
  var getContext = function getContext() {
807
985
  return _this2.getContext();
@@ -822,6 +1000,9 @@ var HTTPSharePointRequests = /*#__PURE__*/function () {
822
1000
  createFile: function createFile(props) {
823
1001
  return createAttachment(getContext(), props);
824
1002
  },
1003
+ uploadFile: function uploadFile$1(props) {
1004
+ return uploadFile(getContext(), props);
1005
+ },
825
1006
  fields: function fields(options) {
826
1007
  _this2.endpoint = !(options != null && options.fieldName) ? "_api/web/lists/GetByTitle('" + _this2.listName + "')/fields" : "_api/web/lists/GetByTitle('" + _this2.listName + "')/fields/getbytitle('" + options.fieldName + "')";
827
1008
  return {
@@ -878,8 +1059,8 @@ function createBase() {
878
1059
  return new HTTPSharePointRequests(baseURL, config);
879
1060
  }
880
1061
  return {
881
- /**
882
- * @deprecated Use `create` instead.
1062
+ /**
1063
+ * @deprecated Use `create` instead.
883
1064
  */
884
1065
  baseURL: function baseURL(url, config) {
885
1066
  return create({
@@ -1 +1 @@
1
- {"version":3,"file":"sharepoint_requests.cjs.development.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.cjs.development.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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"}