@lindle/sharepoint_requests 0.1.15 → 0.1.17

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.
package/README.md CHANGED
@@ -83,6 +83,9 @@ console.log('File uploaded successfully');
83
83
  const doc = new File(['doc content'], 'document.pdf');
84
84
  await sharepoint.from('Documents', '2013').uploadFile({ file: doc, folderPath: 'Shared/SubFolder' });
85
85
  console.log('Library file uploaded successfully');
86
+
87
+ await sharepoint.from('Documents').deleteFile({ fileName: 'document.pdf', folderPath: 'Shared/SubFolder' });
88
+ console.log('Library file deleted successfully');
86
89
  ```
87
90
 
88
91
  #### Send Emails
@@ -165,6 +168,7 @@ The package is fully typed, enabling autocompletion and type safety for all meth
165
168
 
166
169
  - `createFile({ file, itemId })` - Upload a file to a list item.
167
170
  - `uploadFile({ file, folderPath, overwrite })` - Upload a file to a document library (SharePoint 2013).
171
+ - `deleteFile({ fileName, folderPath })` - Delete a file from a document library (SharePoint 2013).
168
172
 
169
173
  ## Development
170
174
 
@@ -1,5 +1,5 @@
1
1
  import { CreateAxiosDefaults as AxiosConfig } from 'axios';
2
- import { CreateFileProps, CurrentUser, EmailProps, Field_Options, Folder_Options, UploadFileProps, IListName, ItemID, ListData, Options, PersonField, SHAREPOINT_VER, UserPermision, UserProfile } from '../types';
2
+ import { CreateFileProps, DeleteFileProps, CurrentUser, EmailProps, Field_Options, Folder_Options, UploadFileProps, IListName, ItemID, ListData, Options, PersonField, SHAREPOINT_VER, UserPermision, UserProfile } from '../types';
3
3
  declare class HTTPSharePointRequests<T extends {
4
4
  LISTS: Record<string, unknown>;
5
5
  FOLDERS?: Record<string, unknown>;
@@ -37,7 +37,10 @@ declare class HTTPSharePointRequests<T extends {
37
37
  update: (id: ItemID, data: ListData, digest?: string) => Promise<import("axios").AxiosResponse<any, any, {}>>;
38
38
  delete: (id: ItemID) => Promise<import("axios").AxiosResponse<any, any, {}>>;
39
39
  createFile: (props: CreateFileProps) => Promise<import("axios").AxiosResponse<any, any, {}>>;
40
- uploadFile: (props: UploadFileProps) => Promise<import("axios").AxiosResponse<any, any, {}>>;
40
+ uploadFile: (props: UploadFileProps) => Promise<import("axios").AxiosResponse<any, any, {}> & {
41
+ itemId?: ItemID;
42
+ }>;
43
+ deleteFile: (props: DeleteFileProps) => Promise<import("axios").AxiosResponse<any, any, {}>>;
41
44
  fields: (options?: Field_Options<T["LISTS"][K], V>) => {
42
45
  get: () => Promise<any>;
43
46
  };
@@ -0,0 +1,3 @@
1
+ import type { SHAREPOINT_VER, DeleteFileProps } from '../../../types';
2
+ import type { RequestContext } from '../context';
3
+ export declare function deleteFile<V extends SHAREPOINT_VER = '2013'>(context: RequestContext<V>, { fileName, folderPath }: DeleteFileProps): Promise<import("axios").AxiosResponse<any, any, {}>>;
@@ -1,6 +1,7 @@
1
1
  export { createListItem } from './createListItem';
2
2
  export { createAttachment } from './createAttachment';
3
3
  export { deleteItem } from './deleteItem';
4
+ export { deleteFile } from './deleteFile';
4
5
  export { getFiles } from './getFiles';
5
6
  export { getListItems } from './getListItems';
6
7
  export { getOnly } from './getOnly';
@@ -1,3 +1,6 @@
1
- import type { SHAREPOINT_VER, UploadFileProps } from '../../../types';
1
+ import type { AxiosResponse } from 'axios';
2
+ import type { ItemID, SHAREPOINT_VER, UploadFileProps } from '../../../types';
2
3
  import type { RequestContext } from '../context';
3
- export declare function uploadFile<V extends SHAREPOINT_VER = '2013'>(context: RequestContext<V>, { file, folderPath, overwrite }: UploadFileProps): Promise<import("axios").AxiosResponse<any, any, {}>>;
4
+ export declare function uploadFile<V extends SHAREPOINT_VER = '2013'>(context: RequestContext<V>, { file, folderPath, overwrite }: UploadFileProps): Promise<AxiosResponse & {
5
+ itemId?: ItemID;
6
+ }>;
@@ -0,0 +1,2 @@
1
+ export declare function buildLibraryPath(folderPath?: string | string[]): string;
2
+ export declare function encodeFileName(fileName: string): string;
@@ -327,6 +327,73 @@ function _deleteItem() {
327
327
  return _deleteItem.apply(this, arguments);
328
328
  }
329
329
 
330
+ function buildLibraryPath(folderPath) {
331
+ if (!folderPath) {
332
+ return '';
333
+ }
334
+ var segments = Array.isArray(folderPath) ? folderPath : folderPath.split('/').filter(Boolean);
335
+ if (!segments.length) {
336
+ return '';
337
+ }
338
+ var escapedSegments = segments.map(function (segment) {
339
+ if (!segment.trim()) {
340
+ throw new Error('Folder path segments cannot be empty.');
341
+ }
342
+ var sanitized = segment.replace(/'/g, "''");
343
+ return "/Folders('" + encodeURIComponent(sanitized) + "')";
344
+ });
345
+ return escapedSegments.join('');
346
+ }
347
+ function encodeFileName(fileName) {
348
+ if (!fileName.trim()) {
349
+ throw new Error('File name cannot be empty.');
350
+ }
351
+ return encodeURIComponent(fileName.replace(/'/g, "''"));
352
+ }
353
+
354
+ var SUPPORTED_VERSION = '2013';
355
+ function deleteFile(_x, _x2) {
356
+ return _deleteFile.apply(this, arguments);
357
+ }
358
+ function _deleteFile() {
359
+ _deleteFile = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(context, _ref) {
360
+ var fileName, folderPath, encodedFileName, requestUrl, digest, response;
361
+ return _regenerator().w(function (_context) {
362
+ while (1) switch (_context.n) {
363
+ case 0:
364
+ fileName = _ref.fileName, folderPath = _ref.folderPath;
365
+ if (!(context.sharepointVersion !== SUPPORTED_VERSION)) {
366
+ _context.n = 1;
367
+ break;
368
+ }
369
+ throw new Error('deleteFile is only supported for SharePoint 2013 REST endpoints.');
370
+ case 1:
371
+ encodedFileName = encodeFileName(fileName);
372
+ requestUrl = "_api/web/lists/getbytitle('" + context.listName + "')/RootFolder";
373
+ requestUrl += buildLibraryPath(folderPath);
374
+ requestUrl += "/Files('" + encodedFileName + "')";
375
+ _context.n = 2;
376
+ return fetchDigest(context.instance, context.baseURL);
377
+ case 2:
378
+ digest = _context.v;
379
+ _context.n = 3;
380
+ return context.instance.post(requestUrl, undefined, {
381
+ headers: {
382
+ 'X-HTTP-Method': 'DELETE',
383
+ 'IF-MATCH': '*',
384
+ 'X-RequestDigest': digest
385
+ },
386
+ withCredentials: true
387
+ });
388
+ case 3:
389
+ response = _context.v;
390
+ return _context.a(2, response);
391
+ }
392
+ }, _callee);
393
+ }));
394
+ return _deleteFile.apply(this, arguments);
395
+ }
396
+
330
397
  function buildODataParams(options, orderBySeparator) {
331
398
  if (orderBySeparator === void 0) {
332
399
  orderBySeparator = ',';
@@ -547,33 +614,19 @@ function _updateListItem() {
547
614
  return _updateListItem.apply(this, arguments);
548
615
  }
549
616
 
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
- }
617
+ var SUPPORTED_VERSION$1 = '2013';
566
618
  function uploadFile(_x, _x2) {
567
619
  return _uploadFile.apply(this, arguments);
568
620
  }
569
621
  function _uploadFile() {
570
622
  _uploadFile = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(context, _ref) {
571
- var file, folderPath, _ref$overwrite, overwrite, requestUrl, encodedFileName, digest, response;
623
+ var _response$data$d, _response$data, _ref2, _ref3, _listItemFields$Id, _listItemFields$__def;
624
+ var file, folderPath, _ref$overwrite, overwrite, requestUrl, encodedFileName, digest, response, responseData, listItemFields, itemId, _listItemResponse$dat, _listItemResponse$dat2, _listItemResponse$dat3, listItemResponse, deferredId;
572
625
  return _regenerator().w(function (_context) {
573
626
  while (1) switch (_context.n) {
574
627
  case 0:
575
628
  file = _ref.file, folderPath = _ref.folderPath, _ref$overwrite = _ref.overwrite, overwrite = _ref$overwrite === void 0 ? true : _ref$overwrite;
576
- if (!(context.sharepointVersion !== SUPPORTED_VERSION)) {
629
+ if (!(context.sharepointVersion !== SUPPORTED_VERSION$1)) {
577
630
  _context.n = 1;
578
631
  break;
579
632
  }
@@ -586,11 +639,9 @@ function _uploadFile() {
586
639
  throw new Error('A file with a valid name must be provided.');
587
640
  case 2:
588
641
  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') + ")";
642
+ requestUrl += buildLibraryPath(folderPath);
643
+ encodedFileName = encodeFileName(file.name);
644
+ requestUrl += "/Files/add(url='" + encodedFileName + "',overwrite=" + (overwrite ? 'true' : 'false') + ")?$expand=ListItemAllFields&$select=ListItemAllFields/Id";
594
645
  _context.n = 3;
595
646
  return fetchDigest(context.instance, context.baseURL);
596
647
  case 3:
@@ -605,6 +656,30 @@ function _uploadFile() {
605
656
  });
606
657
  case 4:
607
658
  response = _context.v;
659
+ responseData = (_response$data$d = (_response$data = response.data) == null ? void 0 : _response$data.d) != null ? _response$data$d : response.data;
660
+ listItemFields = responseData == null ? void 0 : responseData.ListItemAllFields;
661
+ itemId = (_ref2 = (_ref3 = (_listItemFields$Id = listItemFields == null ? void 0 : listItemFields.Id) != null ? _listItemFields$Id : listItemFields == null ? void 0 : listItemFields.ID) != null ? _ref3 : responseData == null ? void 0 : responseData.Id) != null ? _ref2 : responseData == null ? void 0 : responseData.ID;
662
+ if (!(typeof itemId !== 'undefined')) {
663
+ _context.n = 5;
664
+ break;
665
+ }
666
+ response.itemId = itemId;
667
+ _context.n = 7;
668
+ break;
669
+ case 5:
670
+ if (!(listItemFields != null && (_listItemFields$__def = listItemFields.__deferred) != null && _listItemFields$__def.uri)) {
671
+ _context.n = 7;
672
+ break;
673
+ }
674
+ _context.n = 6;
675
+ return context.instance.get(listItemFields.__deferred.uri);
676
+ case 6:
677
+ listItemResponse = _context.v;
678
+ deferredId = (_listItemResponse$dat = (_listItemResponse$dat2 = listItemResponse.data) == null || (_listItemResponse$dat2 = _listItemResponse$dat2.d) == null ? void 0 : _listItemResponse$dat2.Id) != null ? _listItemResponse$dat : (_listItemResponse$dat3 = listItemResponse.data) == null ? void 0 : _listItemResponse$dat3.Id;
679
+ if (typeof deferredId !== 'undefined') {
680
+ response.itemId = deferredId;
681
+ }
682
+ case 7:
608
683
  return _context.a(2, response);
609
684
  }
610
685
  }, _callee);
@@ -1003,6 +1078,9 @@ var HTTPSharePointRequests = /*#__PURE__*/function () {
1003
1078
  uploadFile: function uploadFile$1(props) {
1004
1079
  return uploadFile(getContext(), props);
1005
1080
  },
1081
+ deleteFile: function deleteFile$1(props) {
1082
+ return deleteFile(getContext(), props);
1083
+ },
1006
1084
  fields: function fields(options) {
1007
1085
  _this2.endpoint = !(options != null && options.fieldName) ? "_api/web/lists/GetByTitle('" + _this2.listName + "')/fields" : "_api/web/lists/GetByTitle('" + _this2.listName + "')/fields/getbytitle('" + options.fieldName + "')";
1008
1086
  return {
@@ -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/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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"}
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/listRequests/utils.ts","../src/root/internal/listRequests/deleteFile.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","export function buildLibraryPath(folderPath?: string | string[]) {\n if (!folderPath) {\n return '';\n }\n\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 const sanitized = segment.replace(/'/g, \"''\");\n\n return `/Folders('${encodeURIComponent(sanitized)}')`;\n });\n\n return escapedSegments.join('');\n}\n\nexport function encodeFileName(fileName: string) {\n if (!fileName.trim()) {\n throw new Error('File name cannot be empty.');\n }\n\n return encodeURIComponent(fileName.replace(/'/g, \"''\"));\n}\n","import type { SHAREPOINT_VER, DeleteFileProps } from '../../../types';\nimport { fetchDigest } from '../digest';\nimport type { RequestContext } from '../context';\nimport { buildLibraryPath, encodeFileName } from './utils';\n\nconst SUPPORTED_VERSION: SHAREPOINT_VER = '2013';\n\nexport async function deleteFile<V extends SHAREPOINT_VER = '2013'>(\n context: RequestContext<V>,\n { fileName, folderPath }: DeleteFileProps\n) {\n if (context.sharepointVersion !== SUPPORTED_VERSION) {\n throw new Error(\n 'deleteFile is only supported for SharePoint 2013 REST endpoints.'\n );\n }\n\n const encodedFileName = encodeFileName(fileName);\n let requestUrl = `_api/web/lists/getbytitle('${context.listName}')/RootFolder`;\n requestUrl += buildLibraryPath(folderPath);\n requestUrl += `/Files('${encodedFileName}')`;\n\n const digest = await fetchDigest(context.instance, context.baseURL);\n\n const response = await context.instance.post(requestUrl, undefined, {\n headers: {\n 'X-HTTP-Method': 'DELETE',\n 'IF-MATCH': '*',\n 'X-RequestDigest': digest,\n },\n withCredentials: true,\n });\n\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 { AxiosResponse } from 'axios';\nimport type {\n ItemID,\n SHAREPOINT_VER,\n UploadFileProps,\n} from '../../../types';\nimport { fetchDigest } from '../digest';\nimport type { RequestContext } from '../context';\nimport { buildLibraryPath, encodeFileName } from './utils';\n\nconst SUPPORTED_VERSION: SHAREPOINT_VER = '2013';\n\nexport async function uploadFile<V extends SHAREPOINT_VER = '2013'>(\n context: RequestContext<V>,\n { file, folderPath, overwrite = true }: UploadFileProps\n): Promise<AxiosResponse & { itemId?: ItemID }> {\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 requestUrl += buildLibraryPath(folderPath);\n\n const encodedFileName = encodeFileName(file.name);\n requestUrl += `/Files/add(url='${encodedFileName}',overwrite=${\n overwrite ? 'true' : 'false'\n })?$expand=ListItemAllFields&$select=ListItemAllFields/Id`;\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 })) as AxiosResponse & { itemId?: ItemID };\n\n const responseData = response.data?.d ?? response.data;\n const listItemFields = responseData?.ListItemAllFields;\n const itemId =\n listItemFields?.Id ??\n listItemFields?.ID ??\n responseData?.Id ??\n responseData?.ID;\n\n if (typeof itemId !== 'undefined') {\n response.itemId = itemId;\n } else if (listItemFields?.__deferred?.uri) {\n const listItemResponse = await context.instance.get(\n listItemFields.__deferred.uri\n );\n const deferredId =\n listItemResponse.data?.d?.Id ?? listItemResponse.data?.Id;\n\n if (typeof deferredId !== 'undefined') {\n response.itemId = deferredId;\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 DeleteFileProps,\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 deleteFile as deleteLibraryFile,\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 deleteFile: (props: DeleteFileProps) =>\n deleteLibraryFile(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","buildLibraryPath","folderPath","segments","Array","isArray","split","filter","Boolean","length","escapedSegments","map","segment","trim","sanitized","replace","encodeURIComponent","join","encodeFileName","fileName","SUPPORTED_VERSION","deleteFile","_deleteFile","encodedFileName","digest","sharepointVersion","undefined","buildODataParams","options","orderBySeparator","expand","orderBy","limit","cols","skip","params","$expand","$top","$skip","$select","$filter","$orderby","appendParamsToUrl","baseUrl","Object","entries","forEach","_ref2","key","value","searchParams","append","String","getFiles","_getFiles","meta","URL","defaults","request","results","getListItems","_getListItems","_response$data$d$resu","_response$data2","rawData","keys","filterItem","item","reduce","acc","getOnly","_getOnly","_yield$instance$get","get","updateListItem","_x4","_x5","_updateListItem","uploadFile","_uploadFile","_response$data$d","_ref3","_listItemFields$Id","_listItemFields$__def","_ref$overwrite","overwrite","responseData","listItemFields","_listItemResponse$dat","_listItemResponse$dat2","_listItemResponse$dat3","listItemResponse","deferredId","ListItemAllFields","Id","ID","__deferred","uri","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","deleteLibraryFile","fields","fieldName","folder","folderName","filePath","concat","_this3","users","_this4","createBase","SHAREPOINT_REQUESTS"],"mappings":"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"}