@lindle/sharepoint_requests 0.1.10 → 0.1.11

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.
@@ -150,7 +150,7 @@ var instance = function instance(baseURL, config) {
150
150
  Accept: 'application/json; odata=verbose',
151
151
  'Content-Type': 'application/json; odata=verbose'
152
152
  },
153
- timeout: 1000,
153
+ timeout: 15000,
154
154
  withCredentials: true
155
155
  };
156
156
  }
@@ -160,15 +160,30 @@ var instance = function instance(baseURL, config) {
160
160
  };
161
161
 
162
162
  var HTTPSharePointRequests = /*#__PURE__*/function () {
163
+ /**
164
+ * Creates an HTTP SharePoint requester bound to the provided base URL.
165
+ *
166
+ * @param baseURL The root SharePoint site URL (with or without trailing slash).
167
+ */
163
168
  function HTTPSharePointRequests(baseURL) {
164
169
  var _this = this;
165
170
  this.lists = {
171
+ /**
172
+ * Fetches all SharePoint lists available to the current site.
173
+ *
174
+ * @returns Promise resolving to the list collection response payload.
175
+ */
166
176
  get: function get() {
167
177
  _this.endpoint = '_api/web/lists';
168
178
  return _this.get_v2();
169
179
  }
170
180
  };
171
181
  this.folders = {
182
+ /**
183
+ * Retrieves SharePoint folders from the default folders endpoint.
184
+ *
185
+ * @returns A promise resolving with folder metadata.
186
+ */
172
187
  get: function get() {
173
188
  _this.endpoint = '_api/web/folders';
174
189
  _this.get_v2();
@@ -204,6 +219,11 @@ var HTTPSharePointRequests = /*#__PURE__*/function () {
204
219
  }
205
220
  };
206
221
  this.user = {
222
+ /**
223
+ * Provides accessors for the current user's profile information.
224
+ *
225
+ * @returns Helper exposing a `get` function to retrieve profile details.
226
+ */
207
227
  properties: function properties() {
208
228
  return {
209
229
  get: function get() {
@@ -211,12 +231,30 @@ var HTTPSharePointRequests = /*#__PURE__*/function () {
211
231
  }
212
232
  };
213
233
  },
234
+ /**
235
+ * Searches across site users and their groups.
236
+ *
237
+ * @param searchValue Query string to match site users.
238
+ * @returns Promise resolving to matching site users.
239
+ */
214
240
  searchSiteUser: function searchSiteUser(searchValue) {
215
241
  return _this.getSiteUser(searchValue);
216
242
  },
243
+ /**
244
+ * Performs a people-picker search scoped to the current site collection.
245
+ *
246
+ * @param input Search prefix.
247
+ * @param filter Optional additional filter condition.
248
+ * @returns Promise with type-ahead person results.
249
+ */
217
250
  searchUser: function searchUser(input, filter) {
218
251
  return _this.typeAhead(input, filter);
219
252
  },
253
+ /**
254
+ * Fetches the currently authenticated SharePoint user.
255
+ *
256
+ * @returns Helper exposing `get` that resolves to the current user payload.
257
+ */
220
258
  current: function current() {
221
259
  _this.endpoint = '_api/web/currentUser';
222
260
  return {
@@ -225,6 +263,11 @@ var HTTPSharePointRequests = /*#__PURE__*/function () {
225
263
  }
226
264
  };
227
265
  },
266
+ /**
267
+ * Retrieves calculated permission level for the current user.
268
+ *
269
+ * @returns Helper exposing `get` resolving to the user's permission definition.
270
+ */
228
271
  currentPermission: function currentPermission() {
229
272
  return {
230
273
  get: function get() {
@@ -238,6 +281,12 @@ var HTTPSharePointRequests = /*#__PURE__*/function () {
238
281
  this.listName = '';
239
282
  this.instance = instance(this.baseURL);
240
283
  }
284
+ /**
285
+ * Converts array values in a payload to the `Collection(Edm.String)` structure
286
+ * expected by SharePoint REST endpoints.
287
+ *
288
+ * @param data The list item payload to harmonise in-place.
289
+ */
241
290
  var _proto = HTTPSharePointRequests.prototype;
242
291
  _proto.transformArraysToEdmStrings = function transformArraysToEdmStrings(data) {
243
292
  for (var key in data) {
@@ -258,7 +307,14 @@ var HTTPSharePointRequests = /*#__PURE__*/function () {
258
307
  this.listName = listName;
259
308
  this.endpoint = "_vti_bin/ListData.svc/" + listName;
260
309
  return this;
261
- };
310
+ }
311
+ /**
312
+ * Selects a SharePoint list and exposes list-scoped CRUD helpers.
313
+ *
314
+ * @param listName Logical list key configured in the generic type map.
315
+ * @param sharepoint_ver SharePoint version used to choose the correct REST endpoint.
316
+ * @returns Chainable helpers bound to the selected list.
317
+ */;
262
318
  _proto.from = function from(listName, sharepoint_ver) {
263
319
  var _this2 = this;
264
320
  if (sharepoint_ver === void 0) {
@@ -292,7 +348,13 @@ var HTTPSharePointRequests = /*#__PURE__*/function () {
292
348
  };
293
349
  }
294
350
  };
295
- };
351
+ }
352
+ /**
353
+ * Targets a SharePoint folder path and exposes file retrieval helpers.
354
+ *
355
+ * @param folderName Optional folder path relative to `Shared Documents`.
356
+ * @returns Helper exposing `get` to fetch files or sub-folders.
357
+ */;
296
358
  _proto.folder = function folder(folderName) {
297
359
  var _this3 = this;
298
360
  var filePath = ['Shared Documents'];
@@ -301,6 +363,12 @@ var HTTPSharePointRequests = /*#__PURE__*/function () {
301
363
  }
302
364
  this.endpoint = "_api/web/GetFolderByServerRelativeUrl('" + filePath.join('/') + "')";
303
365
  return {
366
+ /**
367
+ * Fetches files or folders from the targeted path.
368
+ *
369
+ * @param options Optional REST query options to refine the result set.
370
+ * @returns Promise resolving to folder contents and metadata.
371
+ */
304
372
  get: function get(options) {
305
373
  if (!(options != null && options.type)) {
306
374
  _this3.endpoint += '/Files';
@@ -310,11 +378,22 @@ var HTTPSharePointRequests = /*#__PURE__*/function () {
310
378
  return _this3.get_files(options);
311
379
  }
312
380
  };
313
- };
381
+ }
382
+ /**
383
+ * Retrieves user list items and exposes a get helper with optional query parameters.
384
+ *
385
+ * @param options Optional REST query options.
386
+ * @returns Helper exposing `get` returning SharePoint user rows.
387
+ */;
314
388
  _proto.users = function users(options) {
315
389
  var _this4 = this;
316
390
  this.endpoint = '_api/web/SiteUserInfoList/items';
317
391
  return {
392
+ /**
393
+ * Executes the user list request using the specified options.
394
+ *
395
+ * @returns Promise resolving to the SharePoint user list response.
396
+ */
318
397
  get: function get() {
319
398
  return _this4.get_v2(options);
320
399
  }
@@ -360,8 +439,17 @@ var HTTPSharePointRequests = /*#__PURE__*/function () {
360
439
  return _getDigest.apply(this, arguments);
361
440
  }
362
441
  return getDigest;
363
- }();
364
- _proto.get_only = /*#__PURE__*/function () {
442
+ }()
443
+ /**
444
+ * Executes a GET request without additional metadata wrapping.
445
+ *
446
+ * @param options Optional REST query options.
447
+ * @returns SharePoint response payload or undefined when empty.
448
+ */
449
+ ;
450
+ _proto.get_only =
451
+ /*#__PURE__*/
452
+ function () {
365
453
  var _get_only = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(options) {
366
454
  var _ref, expand, orderBy, limit, filter, cols, skip, params, _yield$this$instance$, data;
367
455
  return _regenerator().w(function (_context2) {
@@ -397,8 +485,17 @@ var HTTPSharePointRequests = /*#__PURE__*/function () {
397
485
  return _get_only.apply(this, arguments);
398
486
  }
399
487
  return get_only;
400
- }();
401
- _proto.get_files = /*#__PURE__*/function () {
488
+ }()
489
+ /**
490
+ * Retrieves folder contents with optional filtering and returns the payload with metadata.
491
+ *
492
+ * @param options REST options describing expand/filter/order conditions.
493
+ * @returns Folder data and the fully resolved request URL.
494
+ */
495
+ ;
496
+ _proto.get_files =
497
+ /*#__PURE__*/
498
+ function () {
402
499
  var _get_files = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(options) {
403
500
  var _ref2, expand, orderBy, limit, filter, cols, skip, params, url, response, data, meta;
404
501
  return _regenerator().w(function (_context3) {
@@ -444,8 +541,17 @@ var HTTPSharePointRequests = /*#__PURE__*/function () {
444
541
  return _get_files.apply(this, arguments);
445
542
  }
446
543
  return get_files;
447
- }();
448
- _proto.get_v2 = /*#__PURE__*/function () {
544
+ }()
545
+ /**
546
+ * Performs a typed list read against the current endpoint.
547
+ *
548
+ * @param options Optional REST query options governing expand, filter, ordering and pagination.
549
+ * @returns SharePoint list items alongside the fully-resolved request URL.
550
+ */
551
+ ;
552
+ _proto.get_v2 =
553
+ /*#__PURE__*/
554
+ function () {
449
555
  var _get_v = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(options) {
450
556
  var _ref4, expand, orderBy, limit, filter, cols, skip, params, url, response, data, meta;
451
557
  return _regenerator().w(function (_context4) {
@@ -491,8 +597,19 @@ var HTTPSharePointRequests = /*#__PURE__*/function () {
491
597
  return _get_v.apply(this, arguments);
492
598
  }
493
599
  return get_v2;
494
- }();
495
- _proto.update_2 = /*#__PURE__*/function () {
600
+ }()
601
+ /**
602
+ * Updates an item in the currently selected list.
603
+ *
604
+ * @param id Target list item identifier.
605
+ * @param data Payload with fields to update.
606
+ * @param digest Optional pre-fetched form digest to reuse.
607
+ * @returns Axios response of the update request.
608
+ */
609
+ ;
610
+ _proto.update_2 =
611
+ /*#__PURE__*/
612
+ function () {
496
613
  var _update_ = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5(id, data, digest) {
497
614
  var formDigestValue, url, response, _t2;
498
615
  return _regenerator().w(function (_context5) {
@@ -534,8 +651,17 @@ var HTTPSharePointRequests = /*#__PURE__*/function () {
534
651
  return _update_.apply(this, arguments);
535
652
  }
536
653
  return update_2;
537
- }();
538
- _proto.create_v2 = /*#__PURE__*/function () {
654
+ }()
655
+ /**
656
+ * Creates a new item within the active list.
657
+ *
658
+ * @param listData SharePoint list item payload.
659
+ * @returns Axios response resolved from the create request.
660
+ */
661
+ ;
662
+ _proto.create_v2 =
663
+ /*#__PURE__*/
664
+ function () {
539
665
  var _create_v = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee6(listData) {
540
666
  var response, _t3, _t4, _t5, _t6, _t7;
541
667
  return _regenerator().w(function (_context6) {
@@ -573,8 +699,17 @@ var HTTPSharePointRequests = /*#__PURE__*/function () {
573
699
  return _create_v.apply(this, arguments);
574
700
  }
575
701
  return create_v2;
576
- }();
577
- _proto.createFile = /*#__PURE__*/function () {
702
+ }()
703
+ /**
704
+ * Uploads an attachment file to an existing list item.
705
+ *
706
+ * @param props File payload and target item identifier.
707
+ * @returns Axios response describing the upload result.
708
+ */
709
+ ;
710
+ _proto.createFile =
711
+ /*#__PURE__*/
712
+ function () {
578
713
  var _createFile = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee7(_ref6) {
579
714
  var file, itemId, requestUrl, res, _t8, _t9, _t0, _t1, _t10;
580
715
  return _regenerator().w(function (_context7) {
@@ -607,8 +742,17 @@ var HTTPSharePointRequests = /*#__PURE__*/function () {
607
742
  return _createFile.apply(this, arguments);
608
743
  }
609
744
  return createFile;
610
- }();
611
- _proto["delete"] = /*#__PURE__*/function () {
745
+ }()
746
+ /**
747
+ * Deletes an item using the current endpoint.
748
+ *
749
+ * @param ID Identifier of the entity to remove.
750
+ * @returns Axios response from the delete call.
751
+ */
752
+ ;
753
+ _proto["delete"] =
754
+ /*#__PURE__*/
755
+ function () {
612
756
  var _delete2 = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee8(ID) {
613
757
  var response;
614
758
  return _regenerator().w(function (_context8) {
@@ -676,8 +820,18 @@ var HTTPSharePointRequests = /*#__PURE__*/function () {
676
820
  return _sendEmail.apply(this, arguments);
677
821
  }
678
822
  return sendEmail;
679
- }();
680
- _proto.typeAhead = /*#__PURE__*/function () {
823
+ }()
824
+ /**
825
+ * Queries SharePoint's people picker endpoint for matching users.
826
+ *
827
+ * @param input Free-text search term.
828
+ * @param filter Optional additional filter condition.
829
+ * @returns Promise with type-ahead results payload.
830
+ */
831
+ ;
832
+ _proto.typeAhead =
833
+ /*#__PURE__*/
834
+ function () {
681
835
  var _typeAhead = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee0(input, filter) {
682
836
  var filterValue, response;
683
837
  return _regenerator().w(function (_context0) {
@@ -696,8 +850,16 @@ var HTTPSharePointRequests = /*#__PURE__*/function () {
696
850
  return _typeAhead.apply(this, arguments);
697
851
  }
698
852
  return typeAhead;
699
- }();
700
- _proto.currentUserProperties = /*#__PURE__*/function () {
853
+ }()
854
+ /**
855
+ * Retrieves the current user profile and flattens selected properties.
856
+ *
857
+ * @returns Promise containing the current user's profile information.
858
+ */
859
+ ;
860
+ _proto.currentUserProperties =
861
+ /*#__PURE__*/
862
+ function () {
701
863
  var _currentUserProperties = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee1() {
702
864
  var requestUrl, profile;
703
865
  return _regenerator().w(function (_context1) {
@@ -731,8 +893,17 @@ var HTTPSharePointRequests = /*#__PURE__*/function () {
731
893
  return _currentUserProperties.apply(this, arguments);
732
894
  }
733
895
  return currentUserProperties;
734
- }();
735
- _proto.getSiteUser = /*#__PURE__*/function () {
896
+ }()
897
+ /**
898
+ * Searches site users based on a substring match across common fields.
899
+ *
900
+ * @param searchValue Term to match against the SharePoint user directory.
901
+ * @returns Promise with matching site users and their groups.
902
+ */
903
+ ;
904
+ _proto.getSiteUser =
905
+ /*#__PURE__*/
906
+ function () {
736
907
  var _getSiteUser = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee10(searchValue) {
737
908
  var requestUrl, response;
738
909
  return _regenerator().w(function (_context10) {
@@ -751,8 +922,16 @@ var HTTPSharePointRequests = /*#__PURE__*/function () {
751
922
  return _getSiteUser.apply(this, arguments);
752
923
  }
753
924
  return getSiteUser;
754
- }();
755
- _proto.roleDefinitions = /*#__PURE__*/function () {
925
+ }()
926
+ /**
927
+ * Retrieves all available role definitions for the current site.
928
+ *
929
+ * @returns Promise resolving to an array of role definitions.
930
+ */
931
+ ;
932
+ _proto.roleDefinitions =
933
+ /*#__PURE__*/
934
+ function () {
756
935
  var _roleDefinitions = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee11() {
757
936
  var requestUrl, response;
758
937
  return _regenerator().w(function (_context11) {
@@ -771,8 +950,16 @@ var HTTPSharePointRequests = /*#__PURE__*/function () {
771
950
  return _roleDefinitions.apply(this, arguments);
772
951
  }
773
952
  return roleDefinitions;
774
- }();
775
- _proto.getEffectiveBasePermissions = /*#__PURE__*/function () {
953
+ }()
954
+ /**
955
+ * Fetches the bit-encoded permissions of the current user.
956
+ *
957
+ * @returns Promise resolving to the `EffectiveBasePermissions` object.
958
+ */
959
+ ;
960
+ _proto.getEffectiveBasePermissions =
961
+ /*#__PURE__*/
962
+ function () {
776
963
  var _getEffectiveBasePermissions = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee12() {
777
964
  var requestUrl, response;
778
965
  return _regenerator().w(function (_context12) {
@@ -791,8 +978,16 @@ var HTTPSharePointRequests = /*#__PURE__*/function () {
791
978
  return _getEffectiveBasePermissions.apply(this, arguments);
792
979
  }
793
980
  return getEffectiveBasePermissions;
794
- }();
795
- _proto.currentUserPermissions = /*#__PURE__*/function () {
981
+ }()
982
+ /**
983
+ * Matches the current user's effective permissions against known role definitions.
984
+ *
985
+ * @returns The matching SharePoint role definition as a structured permission object.
986
+ */
987
+ ;
988
+ _proto.currentUserPermissions =
989
+ /*#__PURE__*/
990
+ function () {
796
991
  var _currentUserPermissions = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee13() {
797
992
  var _yield$this$getEffect, High, roleDefinitions, result;
798
993
  return _regenerator().w(function (_context13) {
@@ -1 +1 @@
1
- {"version":3,"file":"sharepoint_requests.esm.js","sources":["../src/root/instance.ts","../src/root/index.ts","../src/index.ts"],"sourcesContent":["import axios, { CreateAxiosDefaults } from 'axios';\n\nexport const instance = (\n baseURL: string,\n config: CreateAxiosDefaults = {\n headers: {\n Accept: 'application/json; odata=verbose',\n 'Content-Type': 'application/json; odata=verbose',\n },\n timeout: 1000,\n withCredentials: true,\n }\n) => {\n return axios.create({\n baseURL: baseURL,\n ...config,\n });\n};\n\nexport default instance;\n","import { AxiosInstance, AxiosResponse } from 'axios';\r\nimport instance from './instance';\r\nimport {\r\n CreateFileProps,\r\n CurrentUser,\r\n EmailProps,\r\n Field_Options,\r\n Folder_Options,\r\n IListName,\r\n ItemID,\r\n ListData,\r\n Options,\r\n PersonField,\r\n SHAREPOINT_VER,\r\n SPItem,\r\n UserPermision,\r\n UserProfile,\r\n} from '../types';\r\n\r\nclass HTTPSharePointRequests<\r\n T extends { LISTS: Record<string, any>; FOLDERS?: Record<string, any> }\r\n> {\r\n private baseURL: string;\r\n private endpoint: string;\r\n private listName: string;\r\n private instance: AxiosInstance;\r\n\r\n constructor(baseURL: string) {\r\n this.baseURL = baseURL.endsWith('/') ? baseURL : `${baseURL}/`;\r\n this.endpoint = '/api';\r\n this.listName = '';\r\n\r\n this.instance = instance(this.baseURL);\r\n }\r\n\r\n private transformArraysToEdmStrings(data: ListData) {\r\n for (const key in data) {\r\n if (Array.isArray(data[key])) {\r\n data[key] = {\r\n __metadata: { type: 'Collection(Edm.String)' },\r\n results: data[key],\r\n };\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * @deprecated Use `from` instead.\r\n */\r\n list(listName: IListName<T>) {\r\n this.listName = listName;\r\n this.endpoint = `_vti_bin/ListData.svc/${listName}`;\r\n return this;\r\n }\r\n public readonly lists = {\r\n get: () => {\r\n this.endpoint = '_api/web/lists';\r\n return this.get_v2();\r\n },\r\n };\r\n\r\n from<K extends Extract<keyof T['LISTS'], string>>(\r\n listName: K,\r\n sharepoint_ver: SHAREPOINT_VER = '2013'\r\n ) {\r\n this.listName = listName;\r\n this.endpoint =\r\n sharepoint_ver === '2013'\r\n ? `_api/web/lists/GetByTitle('${this.listName}')/items`\r\n : `_vti_bin/ListData.svc/${listName}`;\r\n return {\r\n create: (data: ListData) => this.create_v2(data),\r\n get: (options?: Options<T['LISTS'][K]>) =>\r\n this.get_v2<T['LISTS'][K]>(options),\r\n update: (id: ItemID, data: ListData, digest?: string) =>\r\n this.update_2(id, data, digest),\r\n delete: (id: ItemID) => this.delete(id),\r\n createFile: (props: CreateFileProps) => this.createFile(props),\r\n fields: (options?: Field_Options<T['LISTS'][K]>) => {\r\n // return this.field_v2(options)\r\n this.endpoint = !options?.fieldName\r\n ? `_api/web/lists/GetByTitle('${this.listName}')/fields`\r\n : `_api/web/lists/GetByTitle('${this.listName}')/fields/getbytitle('${options.fieldName}')`;\r\n return {\r\n get: () => this.get_only(options),\r\n };\r\n },\r\n };\r\n }\r\n\r\n public folders = {\r\n get: () => {\r\n this.endpoint = '_api/web/folders';\r\n this.get_v2();\r\n },\r\n };\r\n\r\n public folder(folderName?: string | string[]) {\r\n let filePath = ['Shared Documents'];\r\n\r\n if (folderName) {\r\n filePath = Array.isArray(folderName)\r\n ? [...filePath, ...folderName]\r\n : [...filePath, folderName];\r\n }\r\n this.endpoint = `_api/web/GetFolderByServerRelativeUrl('${filePath.join(\r\n '/'\r\n )}')`;\r\n return {\r\n get: (options?: Folder_Options<any>) => {\r\n if (!options?.type) {\r\n this.endpoint += '/Files';\r\n } else {\r\n this.endpoint += `/${options.type}`;\r\n }\r\n\r\n return this.get_files(options);\r\n },\r\n };\r\n }\r\n\r\n public users(options?: Options<any>) {\r\n this.endpoint = '_api/web/SiteUserInfoList/items';\r\n return {\r\n get: () => this.get_v2(options),\r\n };\r\n }\r\n\r\n /**\r\n * Asynchronously retrieves the Form Digest Value from the context information API.\r\n *\r\n * @returns {Promise<string>} A promise that resolves to the Form Digest Value.\r\n * @throws {Error} If the HTTP request fails or the response does not contain the expected data.\r\n */\r\n private async getDigest(): Promise<string> {\r\n try {\r\n const response = await this.instance.post(\r\n `${this.baseURL}_api/contextinfo`\r\n );\r\n if (!response.data?.d?.GetContextWebInformation?.FormDigestValue) {\r\n throw new Error('Invalid response structure: Missing FormDigestValue');\r\n }\r\n return response.data.d.GetContextWebInformation.FormDigestValue;\r\n } catch (error) {\r\n console.error('Failed to retrieve the Form Digest Value:', error);\r\n throw new Error(`Error retrieving Form Digest Value`);\r\n }\r\n '';\r\n }\r\n\r\n private async get_only(options?: any) {\r\n const { expand, orderBy, limit, filter, cols, skip } = options || {};\r\n\r\n const params = {\r\n $expand: Array.isArray(expand) ? expand.join(',') : expand,\r\n $top: limit,\r\n $skip: skip,\r\n $select: Array.isArray(cols) ? cols.join(',') : cols,\r\n $filter: filter,\r\n $orderby: Array.isArray(orderBy) ? orderBy.join(',') : orderBy,\r\n };\r\n const { data } = await this.instance.get(this.endpoint, { params });\r\n if (data) {\r\n return data.d.results ? data.d.results : data.d;\r\n }\r\n }\r\n\r\n private async get_files(options?: Folder_Options<any>) {\r\n const { expand, orderBy, limit, filter, cols, skip } = options || {};\r\n const params = {\r\n $expand: Array.isArray(expand) ? expand.join(',') : expand,\r\n $top: limit,\r\n $skip: skip,\r\n $select: Array.isArray(cols) ? cols.join(',') : cols,\r\n $filter: filter,\r\n $orderby: Array.isArray(orderBy) ? orderBy.join(',') : orderBy,\r\n };\r\n const url = new URL(this.endpoint, this.instance.defaults.baseURL);\r\n Object.entries(params).forEach(([key, value]) => {\r\n if (value !== undefined && value !== null) {\r\n url.searchParams.append(key, String(value));\r\n }\r\n });\r\n\r\n const response = await this.instance.request({\r\n url: this.endpoint,\r\n method: 'GET',\r\n params,\r\n });\r\n\r\n const data =\r\n limit || !response.data.d.results\r\n ? response.data.d\r\n : response.data.d.results;\r\n\r\n const meta = { url };\r\n\r\n return { data, meta };\r\n }\r\n\r\n private async get_v2<K = any>(\r\n options?: Options<K>\r\n ): Promise<{ data: (K & Partial<SPItem>)[]; meta: { url: URL } }> {\r\n const { expand, orderBy, limit, filter, cols, skip } = options || {};\r\n\r\n const params = {\r\n $expand: Array.isArray(expand) ? expand.join(',') : expand,\r\n $top: limit,\r\n $skip: skip,\r\n $select: Array.isArray(cols) ? cols.join(',') : cols,\r\n $filter: filter,\r\n $orderby: Array.isArray(orderBy) ? orderBy.join(' ') : orderBy,\r\n };\r\n\r\n const url = new URL(this.endpoint, this.instance.defaults.baseURL);\r\n Object.entries(params).forEach(([key, value]) => {\r\n if (value !== undefined && value !== null) {\r\n url.searchParams.append(key, String(value));\r\n }\r\n });\r\n\r\n const response = await this.instance.request({\r\n url: this.endpoint,\r\n method: 'GET',\r\n params,\r\n });\r\n\r\n const data =\r\n limit || !response.data.d.results\r\n ? response.data.d\r\n : response.data.d.results;\r\n\r\n const meta = { url };\r\n\r\n return { data, meta };\r\n }\r\n\r\n private async update_2(id: ItemID, data: ListData, digest?: string) {\r\n const formDigestValue = digest || (await this.getDigest());\r\n\r\n data.__metadata = {\r\n type: `SP.Data.${this.listName}ListItem`,\r\n };\r\n const url = `_api/lists/getbytitle('${this.listName}')/getItemById('${id}')`;\r\n const response = await this.instance({\r\n url,\r\n method: 'POST',\r\n data: JSON.stringify(data),\r\n headers: {\r\n 'X-RequestDigest': formDigestValue,\r\n 'IF-MATCH': '*',\r\n 'X-Http-Method': 'PATCH',\r\n },\r\n });\r\n return response;\r\n }\r\n\r\n private async create_v2(listData: ListData) {\r\n this.transformArraysToEdmStrings(listData);\r\n listData.__metadata = {\r\n type: `SP.Data.${this.listName}ListItem`,\r\n };\r\n const response = await this.instance({\r\n url: this.endpoint,\r\n method: 'POST',\r\n data: JSON.stringify(listData),\r\n headers: {\r\n 'X-RequestDigest': await this.getDigest(),\r\n 'IF-MATCH': '*',\r\n },\r\n });\r\n return response;\r\n }\r\n\r\n private async createFile({ file, itemId }: CreateFileProps) {\r\n const requestUrl = `_api/lists/getbytitle('${this.listName}')/items(${itemId})/AttachmentFiles/add(FileName='${file.name}')`;\r\n const res = await this.instance.post(requestUrl, file, {\r\n headers: {\r\n 'X-RequestDigest': await this.getDigest(),\r\n },\r\n withCredentials: true,\r\n });\r\n\r\n return res;\r\n }\r\n\r\n private async delete(ID: string | number) {\r\n const response = await this.instance.delete(`${this.endpoint!}(${ID})`);\r\n return response;\r\n }\r\n\r\n public email = {\r\n /**\r\n * Sends an email using SharePoint's Utility.SendEmail API.\r\n *\r\n * @param {EmailProps} param0 - The email properties.\r\n * @param {string} param0.From - The sender's email address.\r\n * @example\r\n * Example of a sender's email address\r\n * \"sender@example.com\"\r\n * @param {string | string[]} param0.To - The recipient's email address or an array of email addresses.\r\n * @example\r\n * Example of a single recipient's email address\r\n * \"recipient@example.com\"\r\n * Example of multiple recipients' email addresses\r\n * [\"recipient1@example.com\", \"recipient2@example.com\"]\r\n * @param {string} param0.Subject - The subject of the email.\r\n * @example\r\n * Example of an email subject\r\n * \"Meeting Reminder\"\r\n * @param {string} param0.Body - The body content of the email.\r\n * @example\r\n * Example of an email body\r\n * \"Dear team, please be reminded of the meeting scheduled for tomorrow at 10 AM.\"\r\n * @returns {Promise<any>} - A promise that resolves to the response of the email send request.\r\n */\r\n send: (props: EmailProps) => this.sendEmail(props),\r\n };\r\n\r\n private async sendEmail({\r\n From,\r\n To,\r\n Subject,\r\n Body,\r\n }: EmailProps): Promise<\r\n AxiosResponse<{\r\n d: {\r\n SendEmail: null;\r\n };\r\n }>\r\n > {\r\n const httpRequest = '_api/SP.Utilities.Utility.SendEmail';\r\n const response = await this.instance({\r\n url: httpRequest,\r\n method: 'POST',\r\n headers: {\r\n 'X-RequestDigest': await this.getDigest(),\r\n 'X-Http-Method': 'POST',\r\n 'Content-Type': 'application/json;odata=verbose',\r\n },\r\n data: JSON.stringify({\r\n properties: {\r\n __metadata: {\r\n type: 'SP.Utilities.EmailProperties',\r\n },\r\n From,\r\n To: {\r\n results: Array.isArray(To) ? To : [To],\r\n },\r\n Body,\r\n Subject,\r\n },\r\n }),\r\n });\r\n\r\n return response;\r\n }\r\n\r\n private async typeAhead(input: string, filter?: string) {\r\n const filterValue = filter ? ` and ${filter}` : '';\r\n const response = await this.instance.get(\r\n `_vti_bin/listdata.svc/UserInformationList?$top=10&$filter=substringof('${input}',Name) or substringof('${input}',WorkEmail)${filterValue}`\r\n );\r\n return response.data.d;\r\n }\r\n\r\n private async currentUserProperties() {\r\n const requestUrl = '_api/sp.userprofiles.peoplemanager/getmyproperties';\r\n let profile: any = await this.instance.get(requestUrl);\r\n\r\n profile = profile.data.d;\r\n\r\n profile.UserProfileProperties.results.forEach(\r\n (prop: { Key: string; Value: string }) => {\r\n if (prop.Key === 'FirstName') {\r\n profile.FirstName = prop.Value;\r\n }\r\n if (prop.Key === 'LastName') {\r\n profile.LastName = prop.Value;\r\n }\r\n if (prop.Key === 'Country') {\r\n profile.Country = prop.Value;\r\n }\r\n if (prop.Key === 'UserName') {\r\n profile.UserName = prop.Value;\r\n }\r\n }\r\n );\r\n return profile as Promise<UserProfile>;\r\n }\r\n public user = {\r\n properties: () => {\r\n return {\r\n get: () => this.currentUserProperties(),\r\n };\r\n },\r\n searchSiteUser: (searchValue: string) => this.getSiteUser(searchValue),\r\n searchUser: (input: string, filter?: string): Promise<PersonField> =>\r\n this.typeAhead(input, filter),\r\n current: () => {\r\n this.endpoint = '_api/web/currentUser';\r\n return {\r\n get: (): Promise<CurrentUser> => this.get_only(),\r\n };\r\n },\r\n currentPermission: () => {\r\n return {\r\n get: () => this.currentUserPermissions(),\r\n };\r\n },\r\n };\r\n\r\n private async getSiteUser(searchValue: string) {\r\n const requestUrl = `_api/web/siteusers?&$filter=substringof('${searchValue}', Title) or substringof('${searchValue}', LoginName) or substringof('${searchValue}', Email)&$top=50&$expand=Groups`;\r\n const response = await this.instance.get(requestUrl);\r\n return response.data.d;\r\n }\r\n\r\n private async roleDefinitions() {\r\n const requestUrl = `_api/Web/RoleDefinitions`;\r\n const response = await this.instance.get(requestUrl);\r\n return response.data.d.results;\r\n }\r\n\r\n private async getEffectiveBasePermissions() {\r\n const requestUrl = `_api/Web/effectiveBasePermissions`;\r\n const response = await this.instance.get(requestUrl);\r\n return response.data.d.EffectiveBasePermissions;\r\n }\r\n\r\n private async currentUserPermissions() {\r\n const { High } = await this.getEffectiveBasePermissions();\r\n const roleDefinitions = await this.roleDefinitions();\r\n\r\n const result = roleDefinitions.find(\r\n ({ BasePermissions }: { BasePermissions: { High: string } }) =>\r\n BasePermissions.High === High\r\n );\r\n\r\n return result as UserPermision;\r\n }\r\n}\r\n\r\nexport default HTTPSharePointRequests;\r\n","import SHAREPOINT_REQUESTS from './root';\r\n\r\nimport type { LookupField, ChoiceField, PersonField } from './types';\r\n\r\n// Load environment variables from .env file\r\n\r\nexport default function createBase<\r\n T extends { LISTS: Record<string, any>; FOLDERS?: Record<string, any> } = any\r\n>(){\r\n function create({ baseURL }: { baseURL: string }) {\r\n if (!baseURL) {\r\n throw new Error('A valid SharePoint URL must be provided.');\r\n }\r\n return new SHAREPOINT_REQUESTS<T>(baseURL);\r\n }\r\n\r\n return {\r\n /**\r\n * @deprecated Use `create` instead.\r\n */\r\n baseURL(url: string) {\r\n return create({ baseURL: url });\r\n },\r\n create,\r\n };\r\n}\r\n\r\nexport { LookupField, ChoiceField, PersonField };\r\n"],"names":["instance","baseURL","config","headers","Accept","timeout","withCredentials","axios","create","_extends","HTTPSharePointRequests","get","_this","endpoint","get_v2","send","props","sendEmail","properties","currentUserProperties","searchSiteUser","searchValue","getSiteUser","searchUser","input","filter","typeAhead","current","get_only","currentPermission","currentUserPermissions","endsWith","listName","_proto","prototype","transformArraysToEdmStrings","data","key","Array","isArray","__metadata","type","results","list","from","sharepoint_ver","_this2","create_v2","options","update","id","digest","update_2","delete","createFile","fields","fieldName","folder","folderName","filePath","concat","join","_this3","get_files","users","_this4","getDigest","_getDigest","_asyncToGenerator","_regenerator","m","_callee","_response$data","response","_t","w","_context","p","n","post","v","d","GetContextWebInformation","FormDigestValue","Error","a","console","error","apply","arguments","_get_only","_callee2","_ref","expand","orderBy","limit","cols","skip","params","_yield$this$instance$","_context2","$expand","$top","$skip","$select","$filter","$orderby","_x","_get_files","_callee3","_ref2","url","meta","_context3","URL","defaults","Object","entries","forEach","_ref3","value","undefined","searchParams","append","String","request","method","_x2","_get_v","_callee4","_ref4","_context4","_ref5","_x3","_update_","_callee5","formDigestValue","_t2","_context5","JSON","stringify","_x4","_x5","_x6","_create_v","_callee6","listData","_t3","_t4","_t5","_t6","_t7","_context6","call","_x7","_createFile","_callee7","_ref6","file","itemId","requestUrl","res","_t8","_t9","_t0","_t1","_t10","_context7","name","_x8","_delete2","_callee8","ID","_context8","_x9","_sendEmail","_callee9","_ref7","From","To","Subject","Body","httpRequest","_t11","_t12","_t13","_t14","_t15","_context9","_x0","_typeAhead","_callee0","filterValue","_context0","_x1","_x10","_currentUserProperties","_callee1","profile","_context1","UserProfileProperties","prop","Key","FirstName","Value","LastName","Country","UserName","_getSiteUser","_callee10","_context10","_x11","roleDefinitions","_roleDefinitions","_callee11","_context11","getEffectiveBasePermissions","_getEffectiveBasePermissions","_callee12","_context12","EffectiveBasePermissions","_currentUserPermissions","_callee13","_yield$this$getEffect","High","result","_context13","find","_ref8","BasePermissions","createBase","SHAREPOINT_REQUESTS"],"mappings":"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"}
1
+ {"version":3,"file":"sharepoint_requests.esm.js","sources":["../src/root/instance.ts","../src/root/index.ts","../src/index.ts"],"sourcesContent":["import axios, { CreateAxiosDefaults } from 'axios';\n\nexport const instance = (\n baseURL: string,\n config: CreateAxiosDefaults = {\n headers: {\n Accept: 'application/json; odata=verbose',\n 'Content-Type': 'application/json; odata=verbose',\n },\n timeout: 15000,\n withCredentials: true,\n }\n) => {\n return axios.create({\n baseURL: baseURL,\n ...config,\n });\n};\n\nexport default instance;\n","import { AxiosInstance, AxiosResponse } from 'axios';\r\nimport instance from './instance';\r\nimport {\r\n CreateFileProps,\r\n CurrentUser,\r\n EmailProps,\r\n Field_Options,\r\n Folder_Options,\r\n IListName,\r\n ItemID,\r\n ListData,\r\n Options,\r\n PersonField,\r\n SHAREPOINT_VER,\r\n SPItem,\r\n UserPermision,\r\n UserProfile,\r\n} from '../types';\r\n\r\nclass HTTPSharePointRequests<\r\n T extends { LISTS: Record<string, any>; FOLDERS?: Record<string, any> }\r\n> {\r\n private baseURL: string;\r\n private endpoint: string;\r\n private listName: string;\r\n private instance: AxiosInstance;\r\n\r\n /**\r\n * Creates an HTTP SharePoint requester bound to the provided base URL.\r\n *\r\n * @param baseURL The root SharePoint site URL (with or without trailing slash).\r\n */\r\n constructor(baseURL: string) {\r\n this.baseURL = baseURL.endsWith('/') ? baseURL : `${baseURL}/`;\r\n this.endpoint = '/api';\r\n this.listName = '';\r\n\r\n this.instance = instance(this.baseURL);\r\n }\r\n\r\n /**\r\n * Converts array values in a payload to the `Collection(Edm.String)` structure\r\n * expected by SharePoint REST endpoints.\r\n *\r\n * @param data The list item payload to harmonise in-place.\r\n */\r\n private transformArraysToEdmStrings(data: ListData) {\r\n for (const key in data) {\r\n if (Array.isArray(data[key])) {\r\n data[key] = {\r\n __metadata: { type: 'Collection(Edm.String)' },\r\n results: data[key],\r\n };\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * @deprecated Use `from` instead.\r\n */\r\n list(listName: IListName<T>) {\r\n this.listName = listName;\r\n this.endpoint = `_vti_bin/ListData.svc/${listName}`;\r\n return this;\r\n }\r\n public readonly lists = {\r\n /**\r\n * Fetches all SharePoint lists available to the current site.\r\n *\r\n * @returns Promise resolving to the list collection response payload.\r\n */\r\n get: () => {\r\n this.endpoint = '_api/web/lists';\r\n return this.get_v2();\r\n },\r\n };\r\n\r\n /**\r\n * Selects a SharePoint list and exposes list-scoped CRUD helpers.\r\n *\r\n * @param listName Logical list key configured in the generic type map.\r\n * @param sharepoint_ver SharePoint version used to choose the correct REST endpoint.\r\n * @returns Chainable helpers bound to the selected list.\r\n */\r\n from<K extends Extract<keyof T['LISTS'], string>>(\r\n listName: K,\r\n sharepoint_ver: SHAREPOINT_VER = '2013'\r\n ) {\r\n this.listName = listName;\r\n this.endpoint =\r\n sharepoint_ver === '2013'\r\n ? `_api/web/lists/GetByTitle('${this.listName}')/items`\r\n : `_vti_bin/ListData.svc/${listName}`;\r\n return {\r\n create: (data: ListData) => this.create_v2(data),\r\n get: (options?: Options<T['LISTS'][K]>) =>\r\n this.get_v2<T['LISTS'][K]>(options),\r\n update: (id: ItemID, data: ListData, digest?: string) =>\r\n this.update_2(id, data, digest),\r\n delete: (id: ItemID) => this.delete(id),\r\n createFile: (props: CreateFileProps) => this.createFile(props),\r\n fields: (options?: Field_Options<T['LISTS'][K]>) => {\r\n // return this.field_v2(options)\r\n this.endpoint = !options?.fieldName\r\n ? `_api/web/lists/GetByTitle('${this.listName}')/fields`\r\n : `_api/web/lists/GetByTitle('${this.listName}')/fields/getbytitle('${options.fieldName}')`;\r\n return {\r\n get: () => this.get_only(options),\r\n };\r\n },\r\n };\r\n }\r\n\r\n public folders = {\r\n /**\r\n * Retrieves SharePoint folders from the default folders endpoint.\r\n *\r\n * @returns A promise resolving with folder metadata.\r\n */\r\n get: () => {\r\n this.endpoint = '_api/web/folders';\r\n this.get_v2();\r\n },\r\n };\r\n\r\n /**\r\n * Targets a SharePoint folder path and exposes file retrieval helpers.\r\n *\r\n * @param folderName Optional folder path relative to `Shared Documents`.\r\n * @returns Helper exposing `get` to fetch files or sub-folders.\r\n */\r\n public folder(folderName?: string | string[]) {\r\n let filePath = ['Shared Documents'];\r\n\r\n if (folderName) {\r\n filePath = Array.isArray(folderName)\r\n ? [...filePath, ...folderName]\r\n : [...filePath, folderName];\r\n }\r\n this.endpoint = `_api/web/GetFolderByServerRelativeUrl('${filePath.join(\r\n '/'\r\n )}')`;\r\n return {\r\n /**\r\n * Fetches files or folders from the targeted path.\r\n *\r\n * @param options Optional REST query options to refine the result set.\r\n * @returns Promise resolving to folder contents and metadata.\r\n */\r\n get: (options?: Folder_Options<any>) => {\r\n if (!options?.type) {\r\n this.endpoint += '/Files';\r\n } else {\r\n this.endpoint += `/${options.type}`;\r\n }\r\n\r\n return this.get_files(options);\r\n },\r\n };\r\n }\r\n\r\n /**\r\n * Retrieves user list items and exposes a get helper with optional query parameters.\r\n *\r\n * @param options Optional REST query options.\r\n * @returns Helper exposing `get` returning SharePoint user rows.\r\n */\r\n public users(options?: Options<any>) {\r\n this.endpoint = '_api/web/SiteUserInfoList/items';\r\n return {\r\n /**\r\n * Executes the user list request using the specified options.\r\n *\r\n * @returns Promise resolving to the SharePoint user list response.\r\n */\r\n get: () => this.get_v2(options),\r\n };\r\n }\r\n\r\n /**\r\n * Asynchronously retrieves the Form Digest Value from the context information API.\r\n *\r\n * @returns {Promise<string>} A promise that resolves to the Form Digest Value.\r\n * @throws {Error} If the HTTP request fails or the response does not contain the expected data.\r\n */\r\n private async getDigest(): Promise<string> {\r\n try {\r\n const response = await this.instance.post(\r\n `${this.baseURL}_api/contextinfo`\r\n );\r\n if (!response.data?.d?.GetContextWebInformation?.FormDigestValue) {\r\n throw new Error('Invalid response structure: Missing FormDigestValue');\r\n }\r\n return response.data.d.GetContextWebInformation.FormDigestValue;\r\n } catch (error) {\r\n console.error('Failed to retrieve the Form Digest Value:', error);\r\n throw new Error(`Error retrieving Form Digest Value`);\r\n }\r\n '';\r\n }\r\n\r\n /**\r\n * Executes a GET request without additional metadata wrapping.\r\n *\r\n * @param options Optional REST query options.\r\n * @returns SharePoint response payload or undefined when empty.\r\n */\r\n private async get_only(options?: any) {\r\n const { expand, orderBy, limit, filter, cols, skip } = options || {};\r\n\r\n const params = {\r\n $expand: Array.isArray(expand) ? expand.join(',') : expand,\r\n $top: limit,\r\n $skip: skip,\r\n $select: Array.isArray(cols) ? cols.join(',') : cols,\r\n $filter: filter,\r\n $orderby: Array.isArray(orderBy) ? orderBy.join(',') : orderBy,\r\n };\r\n const { data } = await this.instance.get(this.endpoint, { params });\r\n if (data) {\r\n return data.d.results ? data.d.results : data.d;\r\n }\r\n }\r\n\r\n /**\r\n * Retrieves folder contents with optional filtering and returns the payload with metadata.\r\n *\r\n * @param options REST options describing expand/filter/order conditions.\r\n * @returns Folder data and the fully resolved request URL.\r\n */\r\n private async get_files(options?: Folder_Options<any>) {\r\n const { expand, orderBy, limit, filter, cols, skip } = options || {};\r\n const params = {\r\n $expand: Array.isArray(expand) ? expand.join(',') : expand,\r\n $top: limit,\r\n $skip: skip,\r\n $select: Array.isArray(cols) ? cols.join(',') : cols,\r\n $filter: filter,\r\n $orderby: Array.isArray(orderBy) ? orderBy.join(',') : orderBy,\r\n };\r\n const url = new URL(this.endpoint, this.instance.defaults.baseURL);\r\n Object.entries(params).forEach(([key, value]) => {\r\n if (value !== undefined && value !== null) {\r\n url.searchParams.append(key, String(value));\r\n }\r\n });\r\n\r\n const response = await this.instance.request({\r\n url: this.endpoint,\r\n method: 'GET',\r\n params,\r\n });\r\n\r\n const data =\r\n limit || !response.data.d.results\r\n ? response.data.d\r\n : response.data.d.results;\r\n\r\n const meta = { url };\r\n\r\n return { data, meta };\r\n }\r\n\r\n /**\r\n * Performs a typed list read against the current endpoint.\r\n *\r\n * @param options Optional REST query options governing expand, filter, ordering and pagination.\r\n * @returns SharePoint list items alongside the fully-resolved request URL.\r\n */\r\n private async get_v2<K = any>(\r\n options?: Options<K>\r\n ): Promise<{ data: (K & Partial<SPItem>)[]; meta: { url: URL } }> {\r\n const { expand, orderBy, limit, filter, cols, skip } = options || {};\r\n\r\n const params = {\r\n $expand: Array.isArray(expand) ? expand.join(',') : expand,\r\n $top: limit,\r\n $skip: skip,\r\n $select: Array.isArray(cols) ? cols.join(',') : cols,\r\n $filter: filter,\r\n $orderby: Array.isArray(orderBy) ? orderBy.join(' ') : orderBy,\r\n };\r\n\r\n const url = new URL(this.endpoint, this.instance.defaults.baseURL);\r\n Object.entries(params).forEach(([key, value]) => {\r\n if (value !== undefined && value !== null) {\r\n url.searchParams.append(key, String(value));\r\n }\r\n });\r\n\r\n const response = await this.instance.request({\r\n url: this.endpoint,\r\n method: 'GET',\r\n params,\r\n });\r\n\r\n const data =\r\n limit || !response.data.d.results\r\n ? response.data.d\r\n : response.data.d.results;\r\n\r\n const meta = { url };\r\n\r\n return { data, meta };\r\n }\r\n\r\n /**\r\n * Updates an item in the currently selected list.\r\n *\r\n * @param id Target list item identifier.\r\n * @param data Payload with fields to update.\r\n * @param digest Optional pre-fetched form digest to reuse.\r\n * @returns Axios response of the update request.\r\n */\r\n private async update_2(id: ItemID, data: ListData, digest?: string) {\r\n const formDigestValue = digest || (await this.getDigest());\r\n\r\n data.__metadata = {\r\n type: `SP.Data.${this.listName}ListItem`,\r\n };\r\n const url = `_api/lists/getbytitle('${this.listName}')/getItemById('${id}')`;\r\n const response = await this.instance({\r\n url,\r\n method: 'POST',\r\n data: JSON.stringify(data),\r\n headers: {\r\n 'X-RequestDigest': formDigestValue,\r\n 'IF-MATCH': '*',\r\n 'X-Http-Method': 'PATCH',\r\n },\r\n });\r\n return response;\r\n }\r\n\r\n /**\r\n * Creates a new item within the active list.\r\n *\r\n * @param listData SharePoint list item payload.\r\n * @returns Axios response resolved from the create request.\r\n */\r\n private async create_v2(listData: ListData) {\r\n this.transformArraysToEdmStrings(listData);\r\n listData.__metadata = {\r\n type: `SP.Data.${this.listName}ListItem`,\r\n };\r\n const response = await this.instance({\r\n url: this.endpoint,\r\n method: 'POST',\r\n data: JSON.stringify(listData),\r\n headers: {\r\n 'X-RequestDigest': await this.getDigest(),\r\n 'IF-MATCH': '*',\r\n },\r\n });\r\n return response;\r\n }\r\n\r\n /**\r\n * Uploads an attachment file to an existing list item.\r\n *\r\n * @param props File payload and target item identifier.\r\n * @returns Axios response describing the upload result.\r\n */\r\n private async createFile({ file, itemId }: CreateFileProps) {\r\n const requestUrl = `_api/lists/getbytitle('${this.listName}')/items(${itemId})/AttachmentFiles/add(FileName='${file.name}')`;\r\n const res = await this.instance.post(requestUrl, file, {\r\n headers: {\r\n 'X-RequestDigest': await this.getDigest(),\r\n },\r\n withCredentials: true,\r\n });\r\n\r\n return res;\r\n }\r\n\r\n /**\r\n * Deletes an item using the current endpoint.\r\n *\r\n * @param ID Identifier of the entity to remove.\r\n * @returns Axios response from the delete call.\r\n */\r\n private async delete(ID: string | number) {\r\n const response = await this.instance.delete(`${this.endpoint!}(${ID})`);\r\n return response;\r\n }\r\n\r\n public email = {\r\n /**\r\n * Sends an email using SharePoint's Utility.SendEmail API.\r\n *\r\n * @param {EmailProps} param0 - The email properties.\r\n * @param {string} param0.From - The sender's email address.\r\n * @example\r\n * Example of a sender's email address\r\n * \"sender@example.com\"\r\n * @param {string | string[]} param0.To - The recipient's email address or an array of email addresses.\r\n * @example\r\n * Example of a single recipient's email address\r\n * \"recipient@example.com\"\r\n * Example of multiple recipients' email addresses\r\n * [\"recipient1@example.com\", \"recipient2@example.com\"]\r\n * @param {string} param0.Subject - The subject of the email.\r\n * @example\r\n * Example of an email subject\r\n * \"Meeting Reminder\"\r\n * @param {string} param0.Body - The body content of the email.\r\n * @example\r\n * Example of an email body\r\n * \"Dear team, please be reminded of the meeting scheduled for tomorrow at 10 AM.\"\r\n * @returns {Promise<any>} - A promise that resolves to the response of the email send request.\r\n */\r\n send: (props: EmailProps) => this.sendEmail(props),\r\n };\r\n\r\n private async sendEmail({\r\n From,\r\n To,\r\n Subject,\r\n Body,\r\n }: EmailProps): Promise<\r\n AxiosResponse<{\r\n d: {\r\n SendEmail: null;\r\n };\r\n }>\r\n > {\r\n const httpRequest = '_api/SP.Utilities.Utility.SendEmail';\r\n const response = await this.instance({\r\n url: httpRequest,\r\n method: 'POST',\r\n headers: {\r\n 'X-RequestDigest': await this.getDigest(),\r\n 'X-Http-Method': 'POST',\r\n 'Content-Type': 'application/json;odata=verbose',\r\n },\r\n data: JSON.stringify({\r\n properties: {\r\n __metadata: {\r\n type: 'SP.Utilities.EmailProperties',\r\n },\r\n From,\r\n To: {\r\n results: Array.isArray(To) ? To : [To],\r\n },\r\n Body,\r\n Subject,\r\n },\r\n }),\r\n });\r\n\r\n return response;\r\n }\r\n\r\n /**\r\n * Queries SharePoint's people picker endpoint for matching users.\r\n *\r\n * @param input Free-text search term.\r\n * @param filter Optional additional filter condition.\r\n * @returns Promise with type-ahead results payload.\r\n */\r\n private async typeAhead(input: string, filter?: string) {\r\n const filterValue = filter ? ` and ${filter}` : '';\r\n const response = await this.instance.get(\r\n `_vti_bin/listdata.svc/UserInformationList?$top=10&$filter=substringof('${input}',Name) or substringof('${input}',WorkEmail)${filterValue}`\r\n );\r\n return response.data.d;\r\n }\r\n\r\n /**\r\n * Retrieves the current user profile and flattens selected properties.\r\n *\r\n * @returns Promise containing the current user's profile information.\r\n */\r\n private async currentUserProperties() {\r\n const requestUrl = '_api/sp.userprofiles.peoplemanager/getmyproperties';\r\n let profile: any = await this.instance.get(requestUrl);\r\n\r\n profile = profile.data.d;\r\n\r\n profile.UserProfileProperties.results.forEach(\r\n (prop: { Key: string; Value: string }) => {\r\n if (prop.Key === 'FirstName') {\r\n profile.FirstName = prop.Value;\r\n }\r\n if (prop.Key === 'LastName') {\r\n profile.LastName = prop.Value;\r\n }\r\n if (prop.Key === 'Country') {\r\n profile.Country = prop.Value;\r\n }\r\n if (prop.Key === 'UserName') {\r\n profile.UserName = prop.Value;\r\n }\r\n }\r\n );\r\n return profile as Promise<UserProfile>;\r\n }\r\n public user = {\r\n /**\r\n * Provides accessors for the current user's profile information.\r\n *\r\n * @returns Helper exposing a `get` function to retrieve profile details.\r\n */\r\n properties: () => {\r\n return {\r\n get: () => this.currentUserProperties(),\r\n };\r\n },\r\n /**\r\n * Searches across site users and their groups.\r\n *\r\n * @param searchValue Query string to match site users.\r\n * @returns Promise resolving to matching site users.\r\n */\r\n searchSiteUser: (searchValue: string) => this.getSiteUser(searchValue),\r\n /**\r\n * Performs a people-picker search scoped to the current site collection.\r\n *\r\n * @param input Search prefix.\r\n * @param filter Optional additional filter condition.\r\n * @returns Promise with type-ahead person results.\r\n */\r\n searchUser: (input: string, filter?: string): Promise<PersonField> =>\r\n this.typeAhead(input, filter),\r\n /**\r\n * Fetches the currently authenticated SharePoint user.\r\n *\r\n * @returns Helper exposing `get` that resolves to the current user payload.\r\n */\r\n current: () => {\r\n this.endpoint = '_api/web/currentUser';\r\n return {\r\n get: (): Promise<CurrentUser> => this.get_only(),\r\n };\r\n },\r\n /**\r\n * Retrieves calculated permission level for the current user.\r\n *\r\n * @returns Helper exposing `get` resolving to the user's permission definition.\r\n */\r\n currentPermission: () => {\r\n return {\r\n get: () => this.currentUserPermissions(),\r\n };\r\n },\r\n };\r\n\r\n /**\r\n * Searches site users based on a substring match across common fields.\r\n *\r\n * @param searchValue Term to match against the SharePoint user directory.\r\n * @returns Promise with matching site users and their groups.\r\n */\r\n private async getSiteUser(searchValue: string) {\r\n const requestUrl = `_api/web/siteusers?&$filter=substringof('${searchValue}', Title) or substringof('${searchValue}', LoginName) or substringof('${searchValue}', Email)&$top=50&$expand=Groups`;\r\n const response = await this.instance.get(requestUrl);\r\n return response.data.d;\r\n }\r\n\r\n /**\r\n * Retrieves all available role definitions for the current site.\r\n *\r\n * @returns Promise resolving to an array of role definitions.\r\n */\r\n private async roleDefinitions() {\r\n const requestUrl = `_api/Web/RoleDefinitions`;\r\n const response = await this.instance.get(requestUrl);\r\n return response.data.d.results;\r\n }\r\n\r\n /**\r\n * Fetches the bit-encoded permissions of the current user.\r\n *\r\n * @returns Promise resolving to the `EffectiveBasePermissions` object.\r\n */\r\n private async getEffectiveBasePermissions() {\r\n const requestUrl = `_api/Web/effectiveBasePermissions`;\r\n const response = await this.instance.get(requestUrl);\r\n return response.data.d.EffectiveBasePermissions;\r\n }\r\n\r\n /**\r\n * Matches the current user's effective permissions against known role definitions.\r\n *\r\n * @returns The matching SharePoint role definition as a structured permission object.\r\n */\r\n private async currentUserPermissions() {\r\n const { High } = await this.getEffectiveBasePermissions();\r\n const roleDefinitions = await this.roleDefinitions();\r\n\r\n const result = roleDefinitions.find(\r\n ({ BasePermissions }: { BasePermissions: { High: string } }) =>\r\n BasePermissions.High === High\r\n );\r\n\r\n return result as UserPermision;\r\n }\r\n}\r\n\r\nexport default HTTPSharePointRequests;\r\n","import SHAREPOINT_REQUESTS from './root';\r\n\r\nimport type { LookupField, ChoiceField, PersonField } from './types';\r\n\r\n// Load environment variables from .env file\r\n\r\nexport default function createBase<\r\n T extends { LISTS: Record<string, any>; FOLDERS?: Record<string, any> } = any\r\n>(){\r\n function create({ baseURL }: { baseURL: string }) {\r\n if (!baseURL) {\r\n throw new Error('A valid SharePoint URL must be provided.');\r\n }\r\n return new SHAREPOINT_REQUESTS<T>(baseURL);\r\n }\r\n\r\n return {\r\n /**\r\n * @deprecated Use `create` instead.\r\n */\r\n baseURL(url: string) {\r\n return create({ baseURL: url });\r\n },\r\n create,\r\n };\r\n}\r\n\r\nexport { LookupField, ChoiceField, PersonField };\r\n"],"names":["instance","baseURL","config","headers","Accept","timeout","withCredentials","axios","create","_extends","HTTPSharePointRequests","get","_this","endpoint","get_v2","send","props","sendEmail","properties","currentUserProperties","searchSiteUser","searchValue","getSiteUser","searchUser","input","filter","typeAhead","current","get_only","currentPermission","currentUserPermissions","endsWith","listName","_proto","prototype","transformArraysToEdmStrings","data","key","Array","isArray","__metadata","type","results","list","from","sharepoint_ver","_this2","create_v2","options","update","id","digest","update_2","delete","createFile","fields","fieldName","folder","folderName","filePath","concat","join","_this3","get_files","users","_this4","getDigest","_getDigest","_asyncToGenerator","_regenerator","m","_callee","_response$data","response","_t","w","_context","p","n","post","v","d","GetContextWebInformation","FormDigestValue","Error","a","console","error","apply","arguments","_get_only","_callee2","_ref","expand","orderBy","limit","cols","skip","params","_yield$this$instance$","_context2","$expand","$top","$skip","$select","$filter","$orderby","_x","_get_files","_callee3","_ref2","url","meta","_context3","URL","defaults","Object","entries","forEach","_ref3","value","undefined","searchParams","append","String","request","method","_x2","_get_v","_callee4","_ref4","_context4","_ref5","_x3","_update_","_callee5","formDigestValue","_t2","_context5","JSON","stringify","_x4","_x5","_x6","_create_v","_callee6","listData","_t3","_t4","_t5","_t6","_t7","_context6","call","_x7","_createFile","_callee7","_ref6","file","itemId","requestUrl","res","_t8","_t9","_t0","_t1","_t10","_context7","name","_x8","_delete2","_callee8","ID","_context8","_x9","_sendEmail","_callee9","_ref7","From","To","Subject","Body","httpRequest","_t11","_t12","_t13","_t14","_t15","_context9","_x0","_typeAhead","_callee0","filterValue","_context0","_x1","_x10","_currentUserProperties","_callee1","profile","_context1","UserProfileProperties","prop","Key","FirstName","Value","LastName","Country","UserName","_getSiteUser","_callee10","_context10","_x11","roleDefinitions","_roleDefinitions","_callee11","_context11","getEffectiveBasePermissions","_getEffectiveBasePermissions","_callee12","_context12","EffectiveBasePermissions","_currentUserPermissions","_callee13","_yield$this$getEffect","High","result","_context13","find","_ref8","BasePermissions","createBase","SHAREPOINT_REQUESTS"],"mappings":"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"}
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.1.10",
2
+ "version": "0.1.11",
3
3
  "license": "MIT",
4
4
  "main": "dist/index.js",
5
5
  "typings": "dist/index.d.ts",