@lindle/sharepoint_requests 0.1.11 → 0.1.12

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/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import SHAREPOINT_REQUESTS from './root';
2
+ import type { CreateAxiosDefaults as AxiosConfig } from 'axios';
2
3
  import type { LookupField, ChoiceField, PersonField } from './types';
3
4
  export default function createBase<T extends {
4
5
  LISTS: Record<string, any>;
@@ -7,9 +8,10 @@ export default function createBase<T extends {
7
8
  /**
8
9
  * @deprecated Use `create` instead.
9
10
  */
10
- baseURL(url: string): SHAREPOINT_REQUESTS<T>;
11
- create: ({ baseURL }: {
11
+ baseURL(url: string, config?: AxiosConfig): SHAREPOINT_REQUESTS<T>;
12
+ create: ({ baseURL, config, }: {
12
13
  baseURL: string;
14
+ config?: AxiosConfig;
13
15
  }) => SHAREPOINT_REQUESTS<T>;
14
16
  };
15
17
  export { LookupField, ChoiceField, PersonField };
@@ -1,4 +1,4 @@
1
- import { AxiosResponse } from 'axios';
1
+ import { AxiosResponse, CreateAxiosDefaults as AxiosConfig } from 'axios';
2
2
  import { CreateFileProps, CurrentUser, EmailProps, Field_Options, Folder_Options, IListName, ItemID, ListData, Options, PersonField, SHAREPOINT_VER, SPItem, UserPermision, UserProfile } from '../types';
3
3
  declare class HTTPSharePointRequests<T extends {
4
4
  LISTS: Record<string, any>;
@@ -12,8 +12,9 @@ declare class HTTPSharePointRequests<T extends {
12
12
  * Creates an HTTP SharePoint requester bound to the provided base URL.
13
13
  *
14
14
  * @param baseURL The root SharePoint site URL (with or without trailing slash).
15
+ * @param config Optional axios configuration overrides.
15
16
  */
16
- constructor(baseURL: string);
17
+ constructor(baseURL: string, config?: AxiosConfig);
17
18
  /**
18
19
  * Converts array values in a payload to the `Collection(Edm.String)` structure
19
20
  * expected by SharePoint REST endpoints.
@@ -1,3 +1,3 @@
1
- import { CreateAxiosDefaults } from 'axios';
2
- export declare const instance: (baseURL: string, config?: CreateAxiosDefaults) => import("axios").AxiosInstance;
1
+ import { CreateAxiosDefaults as AxiosConfig } from 'axios';
2
+ export declare const instance: (baseURL: string, config?: AxiosConfig) => import("axios").AxiosInstance;
3
3
  export default instance;
@@ -4,7 +4,8 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
6
6
 
7
- var axios = _interopDefault(require('axios'));
7
+ var axios = require('axios');
8
+ var axios__default = _interopDefault(axios);
8
9
 
9
10
  function asyncGeneratorStep(n, t, e, r, o, a, c) {
10
11
  try {
@@ -149,20 +150,21 @@ function _regeneratorDefine(e, r, n, t) {
149
150
  }, _regeneratorDefine(e, r, n, t);
150
151
  }
151
152
 
153
+ var defaultConfig = {
154
+ headers: {
155
+ Accept: 'application/json; odata=verbose',
156
+ 'Content-Type': 'application/json; odata=verbose'
157
+ },
158
+ timeout: 15000,
159
+ withCredentials: true
160
+ };
152
161
  var instance = function instance(baseURL, config) {
153
- if (config === void 0) {
154
- config = {
155
- headers: {
156
- Accept: 'application/json; odata=verbose',
157
- 'Content-Type': 'application/json; odata=verbose'
158
- },
159
- timeout: 15000,
160
- withCredentials: true
161
- };
162
- }
163
- return axios.create(_extends({
164
- baseURL: baseURL
165
- }, config));
162
+ var _config$headers;
163
+ var userHeaders = (config == null ? void 0 : config.headers) instanceof axios.AxiosHeaders ? config.headers.toJSON() : (_config$headers = config == null ? void 0 : config.headers) != null ? _config$headers : {};
164
+ return axios__default.create(_extends({}, defaultConfig, config, {
165
+ baseURL: baseURL,
166
+ headers: _extends({}, defaultConfig.headers, userHeaders)
167
+ }));
166
168
  };
167
169
 
168
170
  var HTTPSharePointRequests = /*#__PURE__*/function () {
@@ -170,8 +172,9 @@ var HTTPSharePointRequests = /*#__PURE__*/function () {
170
172
  * Creates an HTTP SharePoint requester bound to the provided base URL.
171
173
  *
172
174
  * @param baseURL The root SharePoint site URL (with or without trailing slash).
175
+ * @param config Optional axios configuration overrides.
173
176
  */
174
- function HTTPSharePointRequests(baseURL) {
177
+ function HTTPSharePointRequests(baseURL, config) {
175
178
  var _this = this;
176
179
  this.lists = {
177
180
  /**
@@ -285,7 +288,7 @@ var HTTPSharePointRequests = /*#__PURE__*/function () {
285
288
  this.baseURL = baseURL.endsWith('/') ? baseURL : baseURL + "/";
286
289
  this.endpoint = '/api';
287
290
  this.listName = '';
288
- this.instance = instance(this.baseURL);
291
+ this.instance = instance(this.baseURL, config);
289
292
  }
290
293
  /**
291
294
  * Converts array values in a payload to the `Collection(Edm.String)` structure
@@ -1027,19 +1030,21 @@ var HTTPSharePointRequests = /*#__PURE__*/function () {
1027
1030
  // Load environment variables from .env file
1028
1031
  function createBase() {
1029
1032
  function create(_ref) {
1030
- var baseURL = _ref.baseURL;
1033
+ var baseURL = _ref.baseURL,
1034
+ config = _ref.config;
1031
1035
  if (!baseURL) {
1032
1036
  throw new Error('A valid SharePoint URL must be provided.');
1033
1037
  }
1034
- return new HTTPSharePointRequests(baseURL);
1038
+ return new HTTPSharePointRequests(baseURL, config);
1035
1039
  }
1036
1040
  return {
1037
1041
  /**
1038
1042
  * @deprecated Use `create` instead.
1039
1043
  */
1040
- baseURL: function baseURL(url) {
1044
+ baseURL: function baseURL(url, config) {
1041
1045
  return create({
1042
- baseURL: url
1046
+ baseURL: url,
1047
+ config: config
1043
1048
  });
1044
1049
  },
1045
1050
  create: create
@@ -1 +1 @@
1
- {"version":3,"file":"sharepoint_requests.cjs.development.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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"}
1
+ {"version":3,"file":"sharepoint_requests.cjs.development.js","sources":["../src/root/instance.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 {\n AxiosInstance,\n AxiosResponse,\n CreateAxiosDefaults as AxiosConfig,\n} from 'axios';\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 /**\n * Creates an HTTP SharePoint requester bound to the provided base URL.\n *\n * @param baseURL The root SharePoint site URL (with or without trailing slash).\n * @param config Optional axios configuration overrides.\n */\n constructor(baseURL: string, config?: AxiosConfig) {\n this.baseURL = baseURL.endsWith('/') ? baseURL : `${baseURL}/`;\n this.endpoint = '/api';\n this.listName = '';\n\n this.instance = instance(this.baseURL, config);\n }\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';\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","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,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t,e=(t=require("axios"))&&"object"==typeof t&&"default"in t?t.default:t;function r(t,e,r,n,i,s,a){try{var o=t[s](a),u=o.value}catch(t){return void r(t)}o.done?e(u):Promise.resolve(u).then(n,i)}function n(t){return function(){var e=this,n=arguments;return new Promise((function(i,s){var a=t.apply(e,n);function o(t){r(a,i,s,o,u,"next",t)}function u(t){r(a,i,s,o,u,"throw",t)}o(void 0)}))}}function i(){return(i=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)({}).hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t}).apply(null,arguments)}function s(){var t,e,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",i=r.toStringTag||"@@toStringTag";function o(r,n,i,s){var o=Object.create((n&&n.prototype instanceof c?n:c).prototype);return a(o,"_invoke",function(r,n,i){var s,a,o,c=0,f=i||[],l=!1,p={p:0,n:0,v:t,a:d,f:d.bind(t,4),d:function(e,r){return s=e,a=0,o=t,p.n=r,u}};function d(r,n){for(a=r,o=n,e=0;!l&&c&&!i&&e<f.length;e++){var i,s=f[e],d=p.p,h=s[2];r>3?(i=h===n)&&(o=s[(a=s[4])?5:(a=3,3)],s[4]=s[5]=t):s[0]<=d&&((i=r<2&&d<s[1])?(a=0,p.v=n,p.n=s[1]):d<h&&(i=r<3||s[0]>n||n>h)&&(s[4]=r,s[5]=n,p.n=h,a=0))}if(i||r>1)return u;throw l=!0,n}return function(i,f,h){if(c>1)throw TypeError("Generator is already running");for(l&&1===f&&d(f,h),a=f,o=h;(e=a<2?t:o)||!l;){s||(a?a<3?(a>1&&(p.n=-1),d(a,o)):p.n=o:p.v=o);try{if(c=2,s){if(a||(i="next"),e=s[i]){if(!(e=e.call(s,o)))throw TypeError("iterator result is not an object");if(!e.done)return e;o=e.value,a<2&&(a=0)}else 1===a&&(e=s.return)&&e.call(s),a<2&&(o=TypeError("The iterator does not provide a '"+i+"' method"),a=1);s=t}else if((e=(l=p.n<0)?o:r.call(n,p))!==u)break}catch(e){s=t,a=1,o=e}finally{c=1}}return{value:e,done:l}}}(r,i,s),!0),o}var u={};function c(){}function f(){}function l(){}e=Object.getPrototypeOf;var p=[][n]?e(e([][n]())):(a(e={},n,(function(){return this})),e),d=l.prototype=c.prototype=Object.create(p);function h(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,l):(t.__proto__=l,a(t,i,"GeneratorFunction")),t.prototype=Object.create(d),t}return f.prototype=l,a(d,"constructor",l),a(l,"constructor",f),f.displayName="GeneratorFunction",a(l,i,"GeneratorFunction"),a(d),a(d,i,"Generator"),a(d,n,(function(){return this})),a(d,"toString",(function(){return"[object Generator]"})),(s=function(){return{w:o,m:h}})()}function a(t,e,r,n){var i=Object.defineProperty;try{i({},"",{})}catch(t){i=0}(a=function(t,e,r,n){function s(e,r){a(t,e,(function(t){return this._invoke(e,r,t)}))}e?i?i(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(s("next",0),s("throw",1),s("return",2))})(t,e,r,n)}var o=function(){function t(t){var r=this;this.lists={get:function(){return r.endpoint="_api/web/lists",r.get_v2()}},this.folders={get:function(){r.endpoint="_api/web/folders",r.get_v2()}},this.email={send:function(t){return r.sendEmail(t)}},this.user={properties:function(){return{get:function(){return r.currentUserProperties()}}},searchSiteUser:function(t){return r.getSiteUser(t)},searchUser:function(t,e){return r.typeAhead(t,e)},current:function(){return r.endpoint="_api/web/currentUser",{get:function(){return r.get_only()}}},currentPermission:function(){return{get:function(){return r.currentUserPermissions()}}}},this.baseURL=t.endsWith("/")?t:t+"/",this.endpoint="/api",this.listName="",this.instance=function(t,r){return void 0===r&&(r={headers:{Accept:"application/json; odata=verbose","Content-Type":"application/json; odata=verbose"},timeout:15e3,withCredentials:!0}),e.create(i({baseURL:t},r))}(this.baseURL)}var r=t.prototype;return r.transformArraysToEdmStrings=function(t){for(var e in t)Array.isArray(t[e])&&(t[e]={__metadata:{type:"Collection(Edm.String)"},results:t[e]})},r.list=function(t){return this.listName=t,this.endpoint="_vti_bin/ListData.svc/"+t,this},r.from=function(t,e){var r=this;return void 0===e&&(e="2013"),this.listName=t,this.endpoint="2013"===e?"_api/web/lists/GetByTitle('"+this.listName+"')/items":"_vti_bin/ListData.svc/"+t,{create:function(t){return r.create_v2(t)},get:function(t){return r.get_v2(t)},update:function(t,e,n){return r.update_2(t,e,n)},delete:function(t){return r.delete(t)},createFile:function(t){return r.createFile(t)},fields:function(t){return r.endpoint=null!=t&&t.fieldName?"_api/web/lists/GetByTitle('"+r.listName+"')/fields/getbytitle('"+t.fieldName+"')":"_api/web/lists/GetByTitle('"+r.listName+"')/fields",{get:function(){return r.get_only(t)}}}}},r.folder=function(t){var e=this,r=["Shared Documents"];return t&&(r=Array.isArray(t)?[].concat(r,t):[].concat(r,[t])),this.endpoint="_api/web/GetFolderByServerRelativeUrl('"+r.join("/")+"')",{get:function(t){return e.endpoint+=null!=t&&t.type?"/"+t.type:"/Files",e.get_files(t)}}},r.users=function(t){var e=this;return this.endpoint="_api/web/SiteUserInfoList/items",{get:function(){return e.get_v2(t)}}},r.getDigest=function(){var t=n(s().m((function t(){var e,r;return s().w((function(t){for(;;)switch(t.p=t.n){case 0:return t.p=0,t.n=1,this.instance.post(this.baseURL+"_api/contextinfo");case 1:if(null!=(e=(r=t.v).data)&&null!=(e=e.d)&&null!=(e=e.GetContextWebInformation)&&e.FormDigestValue){t.n=2;break}throw new Error("Invalid response structure: Missing FormDigestValue");case 2:return t.a(2,r.data.d.GetContextWebInformation.FormDigestValue);case 3:throw t.p=3,console.error("Failed to retrieve the Form Digest Value:",t.v),new Error("Error retrieving Form Digest Value");case 4:return t.a(2)}}),t,this,[[0,3]])})));return function(){return t.apply(this,arguments)}}(),r.get_only=function(){var t=n(s().m((function t(e){var r,n,i,a,o,u,c,f,l;return s().w((function(t){for(;;)switch(t.n){case 0:return n=(r=e||{}).expand,i=r.orderBy,a=r.limit,o=r.filter,u=r.cols,c=r.skip,f={$expand:Array.isArray(n)?n.join(","):n,$top:a,$skip:c,$select:Array.isArray(u)?u.join(","):u,$filter:o,$orderby:Array.isArray(i)?i.join(","):i},t.n=1,this.instance.get(this.endpoint,{params:f});case 1:if(!(l=t.v.data)){t.n=2;break}return t.a(2,l.d.results?l.d.results:l.d);case 2:return t.a(2)}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),r.get_files=function(){var t=n(s().m((function t(e){var r,n,i,a,o,u,c,f,l,p;return s().w((function(t){for(;;)switch(t.n){case 0:return n=(r=e||{}).expand,i=r.orderBy,a=r.limit,o=r.filter,u=r.cols,c=r.skip,f={$expand:Array.isArray(n)?n.join(","):n,$top:a,$skip:c,$select:Array.isArray(u)?u.join(","):u,$filter:o,$orderby:Array.isArray(i)?i.join(","):i},l=new URL(this.endpoint,this.instance.defaults.baseURL),Object.entries(f).forEach((function(t){var e=t[1];null!=e&&l.searchParams.append(t[0],String(e))})),t.n=1,this.instance.request({url:this.endpoint,method:"GET",params:f});case 1:return p=t.v,t.a(2,{data:a||!p.data.d.results?p.data.d:p.data.d.results,meta:{url:l}})}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),r.get_v2=function(){var t=n(s().m((function t(e){var r,n,i,a,o,u,c,f,l,p;return s().w((function(t){for(;;)switch(t.n){case 0:return n=(r=e||{}).expand,i=r.orderBy,a=r.limit,o=r.filter,u=r.cols,c=r.skip,f={$expand:Array.isArray(n)?n.join(","):n,$top:a,$skip:c,$select:Array.isArray(u)?u.join(","):u,$filter:o,$orderby:Array.isArray(i)?i.join(" "):i},l=new URL(this.endpoint,this.instance.defaults.baseURL),Object.entries(f).forEach((function(t){var e=t[1];null!=e&&l.searchParams.append(t[0],String(e))})),t.n=1,this.instance.request({url:this.endpoint,method:"GET",params:f});case 1:return p=t.v,t.a(2,{data:a||!p.data.d.results?p.data.d:p.data.d.results,meta:{url:l}})}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),r.update_2=function(){var t=n(s().m((function t(e,r,n){var i,a,o;return s().w((function(t){for(;;)switch(t.n){case 0:if(o=n){t.n=2;break}return t.n=1,this.getDigest();case 1:o=t.v;case 2:return i=o,r.__metadata={type:"SP.Data."+this.listName+"ListItem"},a="_api/lists/getbytitle('"+this.listName+"')/getItemById('"+e+"')",t.n=3,this.instance({url:a,method:"POST",data:JSON.stringify(r),headers:{"X-RequestDigest":i,"IF-MATCH":"*","X-Http-Method":"PATCH"}});case 3:return t.a(2,t.v)}}),t,this)})));return function(e,r,n){return t.apply(this,arguments)}}(),r.create_v2=function(){var t=n(s().m((function t(e){var r,n,i,a;return s().w((function(t){for(;;)switch(t.n){case 0:return this.transformArraysToEdmStrings(e),e.__metadata={type:"SP.Data."+this.listName+"ListItem"},r=this,n=this.endpoint,i=JSON.stringify(e),t.n=1,this.getDigest();case 1:return a={"X-RequestDigest":t.v,"IF-MATCH":"*"},t.n=2,r.instance.call(r,{url:n,method:"POST",data:i,headers:a});case 2:return t.a(2,t.v)}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),r.createFile=function(){var t=n(s().m((function t(e){var r,n,i,a,o;return s().w((function(t){for(;;)switch(t.n){case 0:return n=this.instance,i="_api/lists/getbytitle('"+this.listName+"')/items("+e.itemId+")/AttachmentFiles/add(FileName='"+(r=e.file).name+"')",a=r,t.n=1,this.getDigest();case 1:return o={"X-RequestDigest":t.v},t.n=2,n.post.call(n,i,a,{headers:o,withCredentials:!0});case 2:return t.a(2,t.v)}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),r.delete=function(){var t=n(s().m((function t(e){return s().w((function(t){for(;;)switch(t.n){case 0:return t.n=1,this.instance.delete(this.endpoint+"("+e+")");case 1:return t.a(2,t.v)}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),r.sendEmail=function(){var t=n(s().m((function t(e){var r,n,i,a,o,u,c,f;return s().w((function(t){for(;;)switch(t.n){case 0:return r=e.From,n=e.To,i=e.Subject,a=e.Body,o=this,u="_api/SP.Utilities.Utility.SendEmail",t.n=1,this.getDigest();case 1:return c={"X-RequestDigest":t.v,"X-Http-Method":"POST","Content-Type":"application/json;odata=verbose"},f=JSON.stringify({properties:{__metadata:{type:"SP.Utilities.EmailProperties"},From:r,To:{results:Array.isArray(n)?n:[n]},Body:a,Subject:i}}),t.n=2,o.instance.call(o,{url:u,method:"POST",headers:c,data:f});case 2:return t.a(2,t.v)}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),r.typeAhead=function(){var t=n(s().m((function t(e,r){var n;return s().w((function(t){for(;;)switch(t.n){case 0:return n=r?" and "+r:"",t.n=1,this.instance.get("_vti_bin/listdata.svc/UserInformationList?$top=10&$filter=substringof('"+e+"',Name) or substringof('"+e+"',WorkEmail)"+n);case 1:return t.a(2,t.v.data.d)}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),r.currentUserProperties=function(){var t=n(s().m((function t(){var e;return s().w((function(t){for(;;)switch(t.n){case 0:return t.n=1,this.instance.get("_api/sp.userprofiles.peoplemanager/getmyproperties");case 1:return(e=(e=t.v).data.d).UserProfileProperties.results.forEach((function(t){"FirstName"===t.Key&&(e.FirstName=t.Value),"LastName"===t.Key&&(e.LastName=t.Value),"Country"===t.Key&&(e.Country=t.Value),"UserName"===t.Key&&(e.UserName=t.Value)})),t.a(2,e)}}),t,this)})));return function(){return t.apply(this,arguments)}}(),r.getSiteUser=function(){var t=n(s().m((function t(e){var r;return s().w((function(t){for(;;)switch(t.n){case 0:return r="_api/web/siteusers?&$filter=substringof('"+e+"', Title) or substringof('"+e+"', LoginName) or substringof('"+e+"', Email)&$top=50&$expand=Groups",t.n=1,this.instance.get(r);case 1:return t.a(2,t.v.data.d)}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),r.roleDefinitions=function(){var t=n(s().m((function t(){return s().w((function(t){for(;;)switch(t.n){case 0:return t.n=1,this.instance.get("_api/Web/RoleDefinitions");case 1:return t.a(2,t.v.data.d.results)}}),t,this)})));return function(){return t.apply(this,arguments)}}(),r.getEffectiveBasePermissions=function(){var t=n(s().m((function t(){return s().w((function(t){for(;;)switch(t.n){case 0:return t.n=1,this.instance.get("_api/Web/effectiveBasePermissions");case 1:return t.a(2,t.v.data.d.EffectiveBasePermissions)}}),t,this)})));return function(){return t.apply(this,arguments)}}(),r.currentUserPermissions=function(){var t=n(s().m((function t(){var e,r;return s().w((function(t){for(;;)switch(t.n){case 0:return t.n=1,this.getEffectiveBasePermissions();case 1:return e=t.v.High,t.n=2,this.roleDefinitions();case 2:return r=t.v.find((function(t){return t.BasePermissions.High===e})),t.a(2,r)}}),t,this)})));return function(){return t.apply(this,arguments)}}(),t}();exports.default=function(){function t(t){var e=t.baseURL;if(!e)throw new Error("A valid SharePoint URL must be provided.");return new o(e)}return{baseURL:function(e){return t({baseURL:e})},create:t}};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t,e=require("axios"),r=(t=e)&&"object"==typeof t&&"default"in t?t.default:t;function n(t,e,r,n,i,s,a){try{var o=t[s](a),u=o.value}catch(t){return void r(t)}o.done?e(u):Promise.resolve(u).then(n,i)}function i(t){return function(){var e=this,r=arguments;return new Promise((function(i,s){var a=t.apply(e,r);function o(t){n(a,i,s,o,u,"next",t)}function u(t){n(a,i,s,o,u,"throw",t)}o(void 0)}))}}function s(){return(s=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)({}).hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t}).apply(null,arguments)}function a(){var t,e,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",i=r.toStringTag||"@@toStringTag";function s(r,n,i,s){var a=Object.create((n&&n.prototype instanceof c?n:c).prototype);return o(a,"_invoke",function(r,n,i){var s,a,o,c=0,f=i||[],l=!1,p={p:0,n:0,v:t,a:d,f:d.bind(t,4),d:function(e,r){return s=e,a=0,o=t,p.n=r,u}};function d(r,n){for(a=r,o=n,e=0;!l&&c&&!i&&e<f.length;e++){var i,s=f[e],d=p.p,h=s[2];r>3?(i=h===n)&&(o=s[(a=s[4])?5:(a=3,3)],s[4]=s[5]=t):s[0]<=d&&((i=r<2&&d<s[1])?(a=0,p.v=n,p.n=s[1]):d<h&&(i=r<3||s[0]>n||n>h)&&(s[4]=r,s[5]=n,p.n=h,a=0))}if(i||r>1)return u;throw l=!0,n}return function(i,f,h){if(c>1)throw TypeError("Generator is already running");for(l&&1===f&&d(f,h),a=f,o=h;(e=a<2?t:o)||!l;){s||(a?a<3?(a>1&&(p.n=-1),d(a,o)):p.n=o:p.v=o);try{if(c=2,s){if(a||(i="next"),e=s[i]){if(!(e=e.call(s,o)))throw TypeError("iterator result is not an object");if(!e.done)return e;o=e.value,a<2&&(a=0)}else 1===a&&(e=s.return)&&e.call(s),a<2&&(o=TypeError("The iterator does not provide a '"+i+"' method"),a=1);s=t}else if((e=(l=p.n<0)?o:r.call(n,p))!==u)break}catch(e){s=t,a=1,o=e}finally{c=1}}return{value:e,done:l}}}(r,i,s),!0),a}var u={};function c(){}function f(){}function l(){}e=Object.getPrototypeOf;var p=[][n]?e(e([][n]())):(o(e={},n,(function(){return this})),e),d=l.prototype=c.prototype=Object.create(p);function h(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,l):(t.__proto__=l,o(t,i,"GeneratorFunction")),t.prototype=Object.create(d),t}return f.prototype=l,o(d,"constructor",l),o(l,"constructor",f),f.displayName="GeneratorFunction",o(l,i,"GeneratorFunction"),o(d),o(d,i,"Generator"),o(d,n,(function(){return this})),o(d,"toString",(function(){return"[object Generator]"})),(a=function(){return{w:s,m:h}})()}function o(t,e,r,n){var i=Object.defineProperty;try{i({},"",{})}catch(t){i=0}(o=function(t,e,r,n){function s(e,r){o(t,e,(function(t){return this._invoke(e,r,t)}))}e?i?i(t,e,{value:r,enumerable:!n,configurable:!n,writable:!n}):t[e]=r:(s("next",0),s("throw",1),s("return",2))})(t,e,r,n)}var u={headers:{Accept:"application/json; odata=verbose","Content-Type":"application/json; odata=verbose"},timeout:15e3,withCredentials:!0},c=function(){function t(t,n){var i=this;this.lists={get:function(){return i.endpoint="_api/web/lists",i.get_v2()}},this.folders={get:function(){i.endpoint="_api/web/folders",i.get_v2()}},this.email={send:function(t){return i.sendEmail(t)}},this.user={properties:function(){return{get:function(){return i.currentUserProperties()}}},searchSiteUser:function(t){return i.getSiteUser(t)},searchUser:function(t,e){return i.typeAhead(t,e)},current:function(){return i.endpoint="_api/web/currentUser",{get:function(){return i.get_only()}}},currentPermission:function(){return{get:function(){return i.currentUserPermissions()}}}},this.baseURL=t.endsWith("/")?t:t+"/",this.endpoint="/api",this.listName="",this.instance=function(t,n){var i,a=(null==n?void 0:n.headers)instanceof e.AxiosHeaders?n.headers.toJSON():null!=(i=null==n?void 0:n.headers)?i:{};return r.create(s({},u,n,{baseURL:t,headers:s({},u.headers,a)}))}(this.baseURL,n)}var n=t.prototype;return n.transformArraysToEdmStrings=function(t){for(var e in t)Array.isArray(t[e])&&(t[e]={__metadata:{type:"Collection(Edm.String)"},results:t[e]})},n.list=function(t){return this.listName=t,this.endpoint="_vti_bin/ListData.svc/"+t,this},n.from=function(t,e){var r=this;return void 0===e&&(e="2013"),this.listName=t,this.endpoint="2013"===e?"_api/web/lists/GetByTitle('"+this.listName+"')/items":"_vti_bin/ListData.svc/"+t,{create:function(t){return r.create_v2(t)},get:function(t){return r.get_v2(t)},update:function(t,e,n){return r.update_2(t,e,n)},delete:function(t){return r.delete(t)},createFile:function(t){return r.createFile(t)},fields:function(t){return r.endpoint=null!=t&&t.fieldName?"_api/web/lists/GetByTitle('"+r.listName+"')/fields/getbytitle('"+t.fieldName+"')":"_api/web/lists/GetByTitle('"+r.listName+"')/fields",{get:function(){return r.get_only(t)}}}}},n.folder=function(t){var e=this,r=["Shared Documents"];return t&&(r=Array.isArray(t)?[].concat(r,t):[].concat(r,[t])),this.endpoint="_api/web/GetFolderByServerRelativeUrl('"+r.join("/")+"')",{get:function(t){return e.endpoint+=null!=t&&t.type?"/"+t.type:"/Files",e.get_files(t)}}},n.users=function(t){var e=this;return this.endpoint="_api/web/SiteUserInfoList/items",{get:function(){return e.get_v2(t)}}},n.getDigest=function(){var t=i(a().m((function t(){var e,r;return a().w((function(t){for(;;)switch(t.p=t.n){case 0:return t.p=0,t.n=1,this.instance.post(this.baseURL+"_api/contextinfo");case 1:if(null!=(e=(r=t.v).data)&&null!=(e=e.d)&&null!=(e=e.GetContextWebInformation)&&e.FormDigestValue){t.n=2;break}throw new Error("Invalid response structure: Missing FormDigestValue");case 2:return t.a(2,r.data.d.GetContextWebInformation.FormDigestValue);case 3:throw t.p=3,console.error("Failed to retrieve the Form Digest Value:",t.v),new Error("Error retrieving Form Digest Value");case 4:return t.a(2)}}),t,this,[[0,3]])})));return function(){return t.apply(this,arguments)}}(),n.get_only=function(){var t=i(a().m((function t(e){var r,n,i,s,o,u,c,f,l;return a().w((function(t){for(;;)switch(t.n){case 0:return n=(r=e||{}).expand,i=r.orderBy,s=r.limit,o=r.filter,u=r.cols,c=r.skip,f={$expand:Array.isArray(n)?n.join(","):n,$top:s,$skip:c,$select:Array.isArray(u)?u.join(","):u,$filter:o,$orderby:Array.isArray(i)?i.join(","):i},t.n=1,this.instance.get(this.endpoint,{params:f});case 1:if(!(l=t.v.data)){t.n=2;break}return t.a(2,l.d.results?l.d.results:l.d);case 2:return t.a(2)}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),n.get_files=function(){var t=i(a().m((function t(e){var r,n,i,s,o,u,c,f,l,p;return a().w((function(t){for(;;)switch(t.n){case 0:return n=(r=e||{}).expand,i=r.orderBy,s=r.limit,o=r.filter,u=r.cols,c=r.skip,f={$expand:Array.isArray(n)?n.join(","):n,$top:s,$skip:c,$select:Array.isArray(u)?u.join(","):u,$filter:o,$orderby:Array.isArray(i)?i.join(","):i},l=new URL(this.endpoint,this.instance.defaults.baseURL),Object.entries(f).forEach((function(t){var e=t[1];null!=e&&l.searchParams.append(t[0],String(e))})),t.n=1,this.instance.request({url:this.endpoint,method:"GET",params:f});case 1:return p=t.v,t.a(2,{data:s||!p.data.d.results?p.data.d:p.data.d.results,meta:{url:l}})}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),n.get_v2=function(){var t=i(a().m((function t(e){var r,n,i,s,o,u,c,f,l,p;return a().w((function(t){for(;;)switch(t.n){case 0:return n=(r=e||{}).expand,i=r.orderBy,s=r.limit,o=r.filter,u=r.cols,c=r.skip,f={$expand:Array.isArray(n)?n.join(","):n,$top:s,$skip:c,$select:Array.isArray(u)?u.join(","):u,$filter:o,$orderby:Array.isArray(i)?i.join(" "):i},l=new URL(this.endpoint,this.instance.defaults.baseURL),Object.entries(f).forEach((function(t){var e=t[1];null!=e&&l.searchParams.append(t[0],String(e))})),t.n=1,this.instance.request({url:this.endpoint,method:"GET",params:f});case 1:return p=t.v,t.a(2,{data:s||!p.data.d.results?p.data.d:p.data.d.results,meta:{url:l}})}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),n.update_2=function(){var t=i(a().m((function t(e,r,n){var i,s,o;return a().w((function(t){for(;;)switch(t.n){case 0:if(o=n){t.n=2;break}return t.n=1,this.getDigest();case 1:o=t.v;case 2:return i=o,r.__metadata={type:"SP.Data."+this.listName+"ListItem"},s="_api/lists/getbytitle('"+this.listName+"')/getItemById('"+e+"')",t.n=3,this.instance({url:s,method:"POST",data:JSON.stringify(r),headers:{"X-RequestDigest":i,"IF-MATCH":"*","X-Http-Method":"PATCH"}});case 3:return t.a(2,t.v)}}),t,this)})));return function(e,r,n){return t.apply(this,arguments)}}(),n.create_v2=function(){var t=i(a().m((function t(e){var r,n,i,s;return a().w((function(t){for(;;)switch(t.n){case 0:return this.transformArraysToEdmStrings(e),e.__metadata={type:"SP.Data."+this.listName+"ListItem"},r=this,n=this.endpoint,i=JSON.stringify(e),t.n=1,this.getDigest();case 1:return s={"X-RequestDigest":t.v,"IF-MATCH":"*"},t.n=2,r.instance.call(r,{url:n,method:"POST",data:i,headers:s});case 2:return t.a(2,t.v)}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),n.createFile=function(){var t=i(a().m((function t(e){var r,n,i,s,o;return a().w((function(t){for(;;)switch(t.n){case 0:return n=this.instance,i="_api/lists/getbytitle('"+this.listName+"')/items("+e.itemId+")/AttachmentFiles/add(FileName='"+(r=e.file).name+"')",s=r,t.n=1,this.getDigest();case 1:return o={"X-RequestDigest":t.v},t.n=2,n.post.call(n,i,s,{headers:o,withCredentials:!0});case 2:return t.a(2,t.v)}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),n.delete=function(){var t=i(a().m((function t(e){return a().w((function(t){for(;;)switch(t.n){case 0:return t.n=1,this.instance.delete(this.endpoint+"("+e+")");case 1:return t.a(2,t.v)}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),n.sendEmail=function(){var t=i(a().m((function t(e){var r,n,i,s,o,u,c,f;return a().w((function(t){for(;;)switch(t.n){case 0:return r=e.From,n=e.To,i=e.Subject,s=e.Body,o=this,u="_api/SP.Utilities.Utility.SendEmail",t.n=1,this.getDigest();case 1:return c={"X-RequestDigest":t.v,"X-Http-Method":"POST","Content-Type":"application/json;odata=verbose"},f=JSON.stringify({properties:{__metadata:{type:"SP.Utilities.EmailProperties"},From:r,To:{results:Array.isArray(n)?n:[n]},Body:s,Subject:i}}),t.n=2,o.instance.call(o,{url:u,method:"POST",headers:c,data:f});case 2:return t.a(2,t.v)}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),n.typeAhead=function(){var t=i(a().m((function t(e,r){var n;return a().w((function(t){for(;;)switch(t.n){case 0:return n=r?" and "+r:"",t.n=1,this.instance.get("_vti_bin/listdata.svc/UserInformationList?$top=10&$filter=substringof('"+e+"',Name) or substringof('"+e+"',WorkEmail)"+n);case 1:return t.a(2,t.v.data.d)}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),n.currentUserProperties=function(){var t=i(a().m((function t(){var e;return a().w((function(t){for(;;)switch(t.n){case 0:return t.n=1,this.instance.get("_api/sp.userprofiles.peoplemanager/getmyproperties");case 1:return(e=(e=t.v).data.d).UserProfileProperties.results.forEach((function(t){"FirstName"===t.Key&&(e.FirstName=t.Value),"LastName"===t.Key&&(e.LastName=t.Value),"Country"===t.Key&&(e.Country=t.Value),"UserName"===t.Key&&(e.UserName=t.Value)})),t.a(2,e)}}),t,this)})));return function(){return t.apply(this,arguments)}}(),n.getSiteUser=function(){var t=i(a().m((function t(e){var r;return a().w((function(t){for(;;)switch(t.n){case 0:return r="_api/web/siteusers?&$filter=substringof('"+e+"', Title) or substringof('"+e+"', LoginName) or substringof('"+e+"', Email)&$top=50&$expand=Groups",t.n=1,this.instance.get(r);case 1:return t.a(2,t.v.data.d)}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),n.roleDefinitions=function(){var t=i(a().m((function t(){return a().w((function(t){for(;;)switch(t.n){case 0:return t.n=1,this.instance.get("_api/Web/RoleDefinitions");case 1:return t.a(2,t.v.data.d.results)}}),t,this)})));return function(){return t.apply(this,arguments)}}(),n.getEffectiveBasePermissions=function(){var t=i(a().m((function t(){return a().w((function(t){for(;;)switch(t.n){case 0:return t.n=1,this.instance.get("_api/Web/effectiveBasePermissions");case 1:return t.a(2,t.v.data.d.EffectiveBasePermissions)}}),t,this)})));return function(){return t.apply(this,arguments)}}(),n.currentUserPermissions=function(){var t=i(a().m((function t(){var e,r;return a().w((function(t){for(;;)switch(t.n){case 0:return t.n=1,this.getEffectiveBasePermissions();case 1:return e=t.v.High,t.n=2,this.roleDefinitions();case 2:return r=t.v.find((function(t){return t.BasePermissions.High===e})),t.a(2,r)}}),t,this)})));return function(){return t.apply(this,arguments)}}(),t}();exports.default=function(){function t(t){var e=t.baseURL,r=t.config;if(!e)throw new Error("A valid SharePoint URL must be provided.");return new c(e,r)}return{baseURL:function(e,r){return t({baseURL:e,config:r})},create:t}};
2
2
  //# sourceMappingURL=sharepoint_requests.cjs.production.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sharepoint_requests.cjs.production.min.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":["HTTPSharePointRequests","baseURL","this","get","_this","endpoint","get_v2","send","props","sendEmail","properties","currentUserProperties","searchSiteUser","searchValue","getSiteUser","searchUser","input","filter","typeAhead","current","get_only","currentPermission","currentUserPermissions","endsWith","listName","instance","config","headers","Accept","Content-Type","timeout","withCredentials","axios","create","_extends","_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","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","_context2","$expand","$top","$skip","$select","$filter","$orderby","_x","_get_files","_callee3","_ref2","url","_context3","URL","defaults","Object","entries","forEach","_ref3","value","searchParams","append","String","request","method","meta","_x2","_get_v","_callee4","_ref4","_context4","_ref5","_x3","_update_","_callee5","formDigestValue","_t2","_context5","JSON","stringify","X-RequestDigest","IF-MATCH","X-Http-Method","_x4","_x5","_x6","_create_v","_callee6","listData","_t3","_t4","_t5","_t7","_context6","call","_x7","_createFile","_callee7","_ref6","file","_t8","_t9","_t0","_t10","_context7","itemId","name","_x8","_delete2","_callee8","ID","_context8","_x9","_sendEmail","_callee9","_ref7","From","To","Subject","Body","_t11","_t12","_t14","_t15","_context9","_x0","_typeAhead","_callee0","filterValue","_context0","_x1","_x10","_currentUserProperties","_callee1","profile","_context1","UserProfileProperties","prop","Key","FirstName","Value","LastName","Country","UserName","_getSiteUser","_callee10","requestUrl","_context10","_x11","roleDefinitions","_roleDefinitions","_callee11","_context11","getEffectiveBasePermissions","_getEffectiveBasePermissions","_callee12","_context12","EffectiveBasePermissions","_currentUserPermissions","_callee13","High","result","_context13","find","_ref8","BasePermissions","SHAREPOINT_REQUESTS"],"mappings":"2qFAEO,ICiBDA,aAaJ,SAAAA,EAAYC,cAiCIC,WAAQ,CAMtBC,IAAK,WAEH,OADAC,EAAKC,SAAW,iBACTD,EAAKE,WAwCTJ,aAAU,CAMfC,IAAK,WACHC,EAAKC,SAAW,mBAChBD,EAAKE,WAyQFJ,WAAQ,CAyBbK,KAAM,SAACC,GAAiB,OAAKJ,EAAKK,UAAUD,KAsFvCN,UAAO,CAMZQ,WAAY,WACV,MAAO,CACLP,IAAK,WAAF,OAAQC,EAAKO,2BASpBC,eAAgB,SAACC,GAAmB,OAAKT,EAAKU,YAAYD,IAQ1DE,WAAY,SAACC,EAAeC,GAAe,OACzCb,EAAKc,UAAUF,EAAOC,IAMxBE,QAAS,WAEP,OADAf,EAAKC,SAAW,uBACT,CACLF,IAAK,WAAF,OAA8BC,EAAKgB,cAQ1CC,kBAAmB,WACjB,MAAO,CACLlB,IAAK,WAAF,OAAQC,EAAKkB,6BA7fpBpB,KAAKD,QAAUA,EAAQsB,SAAS,KAAOtB,EAAaA,MACpDC,KAAKG,SAAW,OAChBH,KAAKsB,SAAW,GAEhBtB,KAAKuB,SDnCe,SACtBxB,EACAyB,GASA,gBATAA,IAAAA,EAA8B,CAC5BC,QAAS,CACPC,OAAQ,kCACRC,eAAgB,mCAElBC,QAAS,KACTC,iBAAiB,IAGZC,EAAMC,OAAMC,GACjBjC,QAASA,GACNyB,ICsBaD,CAASvB,KAAKD,SAGhC,IAAAkC,EAAAnC,EAAAoC,UAkiBoC,OAliBpCD,EAMQE,4BAAA,SAA4BC,GAClC,IAAK,IAAMC,KAAOD,EACZE,MAAMC,QAAQH,EAAKC,MACrBD,EAAKC,GAAO,CACVG,WAAY,CAAEC,KAAM,0BACpBC,QAASN,EAAKC,MAMtBJ,EAGAU,KAAA,SAAKrB,GAGH,OAFAtB,KAAKsB,SAAWA,EAChBtB,KAAKG,kCAAoCmB,EAClCtB,MAcTiC,EAOAW,KAAA,SACEtB,EACAuB,cAOA,gBAPAA,IAAAA,EAAiC,QAEjC7C,KAAKsB,SAAWA,EAChBtB,KAAKG,SACgB,SAAnB0C,gCACkC7C,KAAKsB,6CACVA,EACxB,CACLS,OAAQ,SAACK,GAAc,OAAKU,EAAKC,UAAUX,IAC3CnC,IAAK,SAAC+C,GAAgC,OACpCF,EAAK1C,OAAsB4C,IAC7BC,OAAQ,SAACC,EAAYd,EAAgBe,GAAe,OAClDL,EAAKM,SAASF,EAAId,EAAMe,IAC1BE,OAAQ,SAACH,GAAU,OAAKJ,SAAYI,IACpCI,WAAY,SAAChD,GAAsB,OAAKwC,EAAKQ,WAAWhD,IACxDiD,OAAQ,SAACP,GAKP,OAHAF,EAAK3C,eAAY6C,GAAAA,EAASQ,wCAEQV,EAAKxB,kCAAiC0B,EAAQQ,6CAD9CV,EAAKxB,qBAEhC,CACLrB,IAAK,WAAF,OAAQ6C,EAAK5B,SAAS8B,QAkBjCf,EAMOwB,OAAA,SAAOC,cACRC,EAAW,CAAC,oBAUhB,OARID,IACFC,EAAWrB,MAAMC,QAAQmB,MAAWE,OAC5BD,EAAaD,MAAUE,OACvBD,GAAUD,KAEpB1D,KAAKG,mDAAqDwD,EAASE,KACjE,UAEK,CAOL5D,IAAK,SAAC+C,GAOJ,OAHEc,EAAK3D,gBAHF6C,GAAAA,EAASP,SAGSO,EAAQP,KAFZ,SAKZqB,EAAKC,UAAUf,MAK5Bf,EAMO+B,MAAA,SAAMhB,cAEX,OADAhD,KAAKG,SAAW,kCACT,CAMLF,IAAK,WAAF,OAAQgE,EAAK7D,OAAO4C,MAI3Bf,EAMciC,UAAS,WAAA,IAAAC,EAAAC,EAAAC,IAAAC,GAAf,SAAAC,IAaH,IAAAC,EAAAC,EAAA,OAAAJ,IAAAK,YAAAC,GAAA,cAAAA,EAAAC,EAAAD,EAAAE,GAAA,OAAA,OAAAF,EAAAC,IAAAD,EAAAE,IAXsB7E,KAAKuB,SAASuD,KAChC9E,KAAKD,4BACT,OAFa,UAAAyE,GAARC,EAAQE,EAAAI,GAGA3C,cAAIoC,EAAbA,EAAeQ,WAACR,EAAhBA,EAAkBS,2BAAlBT,EAA4CU,iBAAeP,EAAAE,IAAA,MAAA,MACxD,IAAIM,MAAM,uDAAsD,OAAA,OAAAR,EAAAS,IAEjEX,EAASrC,KAAK4C,EAAEC,yBAAyBC,iBAAe,OAEG,MAFHP,EAAAC,IAE/DS,QAAQC,MAAM,4CAFiDX,EAAAI,GAGzD,IAAII,4CAA2C,OAAA,OAAAR,EAAAS,QAAAb,oBAXlC,OActB,WAdsB,OAAAJ,EAAAoB,WAAAC,YAAA,GAgBvBvD,EAMcf,SAAQ,WAAA,IAAAuE,EAAArB,EAAAC,IAAAC,GAAd,SAAAoB,EAAe1C,GAAa,IAAA2C,EAAAC,EAAAC,EAAAC,EAAA/E,EAAAgF,EAAAC,EAAAC,EAAA7D,EAAA,OAAAiC,IAAAK,YAAAwB,GAAA,cAAAA,EAAArB,GAAA,OAUjC,OATOe,GAD0BD,EACqB3C,GAAW,IAA1D4C,OAAQC,EAAOF,EAAPE,QAASC,EAAKH,EAALG,MAAO/E,EAAM4E,EAAN5E,OAAQgF,EAAIJ,EAAJI,KAAMC,EAAIL,EAAJK,KAExCC,EAAS,CACbE,QAAS7D,MAAMC,QAAQqD,GAAUA,EAAO/B,KAAK,KAAO+B,EACpDQ,KAAMN,EACNO,MAAOL,EACPM,QAAShE,MAAMC,QAAQwD,GAAQA,EAAKlC,KAAK,KAAOkC,EAChDQ,QAASxF,EACTyF,SAAUlE,MAAMC,QAAQsD,GAAWA,EAAQhC,KAAK,KAAOgC,GACxDK,EAAArB,IACsB7E,KAAKuB,SAAStB,IAAID,KAAKG,SAAU,CAAE8F,OAAAA,IAAS,OAAvD,KAAJ7D,EAA2D8D,EAAAnB,EAA3D3C,OACA8D,EAAArB,IAAA,MAAA,OAAAqB,EAAAd,IACChD,EAAK4C,EAAEtC,QAAUN,EAAK4C,EAAEtC,QAAUN,EAAK4C,GAAC,OAAA,OAAAkB,EAAAd,QAAAM,YAb7B,OAerB,SAfqBe,GAAA,OAAAhB,EAAAF,WAAAC,YAAA,GAiBtBvD,EAMc8B,UAAS,WAAA,IAAA2C,EAAAtC,EAAAC,IAAAC,GAAf,SAAAqC,EAAgB3D,GAA6B,IAAA4D,EAAAhB,EAAAC,EAAAC,EAAA/E,EAAAgF,EAAAC,EAAAC,EAAAY,EAAApC,EAAA,OAAAJ,IAAAK,YAAAoC,GAAA,cAAAA,EAAAjC,GAAA,OAehD,OAdKe,GAD2CgB,EACI5D,GAAW,IAA1D4C,OAAQC,EAAOe,EAAPf,QAASC,EAAKc,EAALd,MAAO/E,EAAM6F,EAAN7F,OAAQgF,EAAIa,EAAJb,KAAMC,EAAIY,EAAJZ,KACxCC,EAAS,CACbE,QAAS7D,MAAMC,QAAQqD,GAAUA,EAAO/B,KAAK,KAAO+B,EACpDQ,KAAMN,EACNO,MAAOL,EACPM,QAAShE,MAAMC,QAAQwD,GAAQA,EAAKlC,KAAK,KAAOkC,EAChDQ,QAASxF,EACTyF,SAAUlE,MAAMC,QAAQsD,GAAWA,EAAQhC,KAAK,KAAOgC,GAEnDgB,EAAM,IAAIE,IAAI/G,KAAKG,SAAUH,KAAKuB,SAASyF,SAASjH,SAC1DkH,OAAOC,QAAQjB,GAAQkB,SAAQ,SAAAC,OAAOC,EAAKD,KACrCC,MAAAA,GACFR,EAAIS,aAAaC,OAFeH,KAEHI,OAAOH,OAErCP,EAAAjC,IAEoB7E,KAAKuB,SAASkG,QAAQ,CAC3CZ,IAAK7G,KAAKG,SACVuH,OAAQ,MACRzB,OAAAA,IACA,OAOkB,OAXdxB,EAAQqC,EAAA/B,EAWM+B,EAAA1B,IAEb,CAAEhD,KANP0D,IAAUrB,EAASrC,KAAK4C,EAAEtC,QACtB+B,EAASrC,KAAK4C,EACdP,EAASrC,KAAK4C,EAAEtC,QAIPiF,KAFF,CAAEd,IAAAA,QAEMF,YA9BA,OA+BtB,SA/BsBiB,GAAA,OAAAlB,EAAAnB,WAAAC,YAAA,GAiCvBvD,EAMc7B,OAAM,WAAA,IAAAyH,EAAAzD,EAAAC,IAAAC,GAAZ,SAAAwD,EACN9E,GAAoB,IAAA+E,EAAAnC,EAAAC,EAAAC,EAAA/E,EAAAgF,EAAAC,EAAAC,EAAAY,EAAApC,EAAA,OAAAJ,IAAAK,YAAAsD,GAAA,cAAAA,EAAAnD,GAAA,OAkBjB,OAhBKe,GAFYmC,EAEmC/E,GAAW,IAA1D4C,OAAQC,EAAOkC,EAAPlC,QAASC,EAAKiC,EAALjC,MAAO/E,EAAMgH,EAANhH,OAAQgF,EAAIgC,EAAJhC,KAAMC,EAAI+B,EAAJ/B,KAExCC,EAAS,CACbE,QAAS7D,MAAMC,QAAQqD,GAAUA,EAAO/B,KAAK,KAAO+B,EACpDQ,KAAMN,EACNO,MAAOL,EACPM,QAAShE,MAAMC,QAAQwD,GAAQA,EAAKlC,KAAK,KAAOkC,EAChDQ,QAASxF,EACTyF,SAAUlE,MAAMC,QAAQsD,GAAWA,EAAQhC,KAAK,KAAOgC,GAGnDgB,EAAM,IAAIE,IAAI/G,KAAKG,SAAUH,KAAKuB,SAASyF,SAASjH,SAC1DkH,OAAOC,QAAQjB,GAAQkB,SAAQ,SAAAc,OAAOZ,EAAKY,KACrCZ,MAAAA,GACFR,EAAIS,aAAaC,OAFeU,KAEHT,OAAOH,OAErCW,EAAAnD,IAEoB7E,KAAKuB,SAASkG,QAAQ,CAC3CZ,IAAK7G,KAAKG,SACVuH,OAAQ,MACRzB,OAAAA,IACA,OAOkB,OAXdxB,EAAQuD,EAAAjD,EAWMiD,EAAA5C,IAEb,CAAEhD,KANP0D,IAAUrB,EAASrC,KAAK4C,EAAEtC,QACtB+B,EAASrC,KAAK4C,EACdP,EAASrC,KAAK4C,EAAEtC,QAIPiF,KAFF,CAAEd,IAAAA,QAEMiB,YAlCH,OAmCnB,SAnCmBI,GAAA,OAAAL,EAAAtC,WAAAC,YAAA,GAqCpBvD,EAQcmB,SAAQ,WAAA,IAAA+E,EAAA/D,EAAAC,IAAAC,GAAd,SAAA8D,EAAelF,EAAYd,EAAgBe,GAAe,IAAAkF,EAAAxB,EAAAyB,EAAA,OAAAjE,IAAAK,YAAA6D,GAAA,cAAAA,EAAA1D,GAAA,OAClC,GADkCyD,EACxCnF,GAAMoF,EAAA1D,IAAA,MAAA,OAAA0D,EAAA1D,IAAW7E,KAAKkE,YAAW,OAAAoE,EAAAC,EAAAxD,EAAA,OAKe,OALlEsD,EAAeC,EAErBlG,EAAKI,WAAa,CAChBC,gBAAiBzC,KAAKsB,qBAElBuF,4BAAgC7G,KAAKsB,4BAA2B4B,OAAEqF,EAAA1D,IACjD7E,KAAKuB,SAAS,CACnCsF,IAAAA,EACAa,OAAQ,OACRtF,KAAMoG,KAAKC,UAAUrG,GACrBX,QAAS,CACPiH,kBAAmBL,EACnBM,WAAY,IACZC,gBAAiB,WAEnB,OATY,OAAAL,EAAAnD,IAAAmD,EAAAxD,MAUCqD,YAjBK,OAkBrB,SAlBqBS,EAAAC,EAAAC,GAAA,OAAAZ,EAAA5C,WAAAC,YAAA,GAoBtBvD,EAMcc,UAAS,WAAA,IAAAiG,EAAA5E,EAAAC,IAAAC,GAAf,SAAA2E,EAAgBC,GAAkB,IAAAC,EAAAC,EAAAC,EAAAC,EAAA,OAAAjF,IAAAK,YAAA6E,GAAA,cAAAA,EAAA1E,GAAA,OAQR,OAPhC7E,KAAKmC,4BAA4B+G,GACjCA,EAAS1G,WAAa,CACpBC,gBAAiBzC,KAAKsB,qBACtB6H,EACqBnJ,KAAIoJ,EACpBpJ,KAAKG,SAAQkJ,EAEZb,KAAKC,UAAUS,GAASK,EAAA1E,IAEH7E,KAAKkE,YAAW,OAC1B,OAD0BoF,GAAzCZ,kBAAyCa,EAAAxE,EACzC4D,WAAY,KAAGY,EAAA1E,IAAAsE,EANS5H,SAAQiI,KAAAL,GAClCtC,IAAGuC,EACH1B,OAAQ,OACRtF,KAAIiH,EACJ5H,QAAO6H,IAAA,OAJK,OAAAC,EAAAnE,IAAAmE,EAAAxE,MASCkE,YAdM,OAetB,SAfsBQ,GAAA,OAAAT,EAAAzD,WAAAC,YAAA,GAiBvBvD,EAMcqB,WAAU,WAAA,IAAAoG,EAAAtF,EAAAC,IAAAC,GAAhB,SAAAqF,EAAAC,GAAA,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,OAAA5F,IAAAK,YAAAwF,GAAA,cAAAA,EAAArF,GAAA,OAE+C,OADmEiF,EACtG9J,KAAKuB,SAAQwI,4BADc/J,KAAKsB,qBADbsI,EAANO,2CAANN,EAAID,EAAJC,MAC2FO,UACrEJ,EAAEH,EAAIK,EAAArF,IAExB7E,KAAKkE,YAAW,OAAxB,OAAwB+F,GAAzCvB,kBAAyCwB,EAAAnF,GAAxBmF,EAAArF,IAAAiF,EAFWhF,KAAI0E,KAAAM,EAAAC,EAAAC,GAClCvI,QAAOwI,EAGPpI,iBAAiB,IAAI,OAJd,OAAAqI,EAAA9E,IAAA8E,EAAAnF,MAOC4E,YATY,OAUvB,SAVuBU,GAAA,OAAAX,EAAAnE,WAAAC,YAAA,GAYxBvD,SAAA,WAAA,IAAAqI,EAAAlG,EAAAC,IAAAC,GAMQ,SAAAiG,EAAaC,GAAmB,OAAAnG,IAAAK,YAAA+F,GAAA,cAAAA,EAAA5F,GAAA,OAAA,OAAA4F,EAAA5F,IACf7E,KAAKuB,gBAAmBvB,KAAKG,aAAaqK,OAAM,OAAzD,OAAAC,EAAArF,IAAAqF,EAAA1F,MACCwF,YAFG,OAGnB,SAHmBG,GAAA,OAAAJ,EAAA/E,WAAAC,YANpB,GAMoBvD,EAiCN1B,qBAAS,IAAAoK,EAAAvG,EAAAC,IAAAC,GAAf,SAAAsG,EAAAC,GAAA,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,OAAAhH,IAAAK,YAAA4G,GAAA,cAAAA,EAAAzG,GAAA,OAcY,OAblBiG,EAAID,EAAJC,KACAC,EAAEF,EAAFE,GACAC,EAAOH,EAAPG,QACAC,EAAIJ,EAAJI,KAQyDC,EAClClL,KAAImL,EADP,sCAEFG,EAAAzG,IAGW7E,KAAKkE,YAAW,OAgBzC,OAhByCkH,GAAzC1C,kBAAyC4C,EAAAvG,EACzC6D,gBAAiB,OACjBjH,eAAgB,kCAAgC0J,EAE5C7C,KAAKC,UAAU,CACnBjI,WAAY,CACVgC,WAAY,CACVC,KAAM,gCAERqI,KAAAA,EACAC,GAAI,CACFrI,QAASJ,MAAMC,QAAQwI,GAAMA,EAAK,CAACA,IAErCE,KAAAA,EACAD,QAAAA,KAEFM,EAAAzG,IAAAqG,EApBwB3J,SAAQiI,KAAA0B,GAClCrE,IAAGsE,EACHzD,OAAQ,OACRjG,QAAO2J,EAKPhJ,KAAIiJ,IAAA,OARQ,OAAAC,EAAAlG,IAAAkG,EAAAvG,MAuBC6F,YApCM,OAqCtB,SArCsBW,GAAA,OAAAZ,EAAApF,WAAAC,eAuCvBvD,EAOcjB,UAAS,WAAA,IAAAwK,EAAApH,EAAAC,IAAAC,GAAf,SAAAmH,EAAgB3K,EAAeC,GAAe,IAAA2K,EAAA,OAAArH,IAAAK,YAAAiH,GAAA,cAAAA,EAAA9G,GAAA,OACF,OAA5C6G,EAAc3K,UAAiBA,EAAW,GAAE4K,EAAA9G,IAC3B7E,KAAKuB,SAAStB,8EACuCa,6BAAgCA,iBAAoB4K,GAC/H,OAFa,OAAAC,EAAAvG,IAAAuG,EAAA5G,EAGE3C,KAAK4C,MAACyG,YALD,OAMtB,SANsBG,EAAAC,GAAA,OAAAL,EAAAjG,WAAAC,YAAA,GAQvBvD,EAKcxB,sBAAqB,WAAA,IAAAqL,EAAA1H,EAAAC,IAAAC,GAA3B,SAAAyH,IAAA,IAAAC,EAAA,OAAA3H,IAAAK,YAAAuH,GAAA,cAAAA,EAAApH,GAAA,OACiE,OAAAoH,EAAApH,IAC9C7E,KAAKuB,SAAStB,IADpB,sDACmC,OAmBpD,OAjBF+L,GAFIA,EAAOC,EAAAlH,GAEO3C,KAAK4C,GAEfkH,sBAAsBxJ,QAAQyE,SACpC,SAACgF,GACkB,cAAbA,EAAKC,MACPJ,EAAQK,UAAYF,EAAKG,OAEV,aAAbH,EAAKC,MACPJ,EAAQO,SAAWJ,EAAKG,OAET,YAAbH,EAAKC,MACPJ,EAAQQ,QAAUL,EAAKG,OAER,aAAbH,EAAKC,MACPJ,EAAQS,SAAWN,EAAKG,UAG5BL,EAAA7G,IACK4G,MAA+BD,YAtBL,OAuBlC,WAvBkC,OAAAD,EAAAvG,WAAAC,YAAA,GA0EnCvD,EAMcrB,YAAW,WAAA,IAAA8L,EAAAtI,EAAAC,IAAAC,GAAjB,SAAAqI,EAAkBhM,GAAmB,IAAAiM,EAAA,OAAAvI,IAAAK,YAAAmI,GAAA,cAAAA,EAAAhI,GAAA,OACmH,OAAxJ+H,8CAAyDjM,+BAAwCA,mCAA4CA,qCAAWkM,EAAAhI,IACvI7E,KAAKuB,SAAStB,IAAI2M,GAAW,OAAtC,OAAAC,EAAAzH,IAAAyH,EAAA9H,EACE3C,KAAK4C,MAAC2H,YAHC,OAIxB,SAJwBG,GAAA,OAAAJ,EAAAnH,WAAAC,YAAA,GAMzBvD,EAKc8K,gBAAe,WAAA,IAAAC,EAAA5I,EAAAC,IAAAC,GAArB,SAAA2I,IAAA,OAAA5I,IAAAK,YAAAwI,GAAA,cAAAA,EAAArI,GAAA,OACU,OAAAqI,EAAArI,IACO7E,KAAKuB,SAAStB,gCAAe,OAAtC,OAAAiN,EAAA9H,IAAA8H,EAAAnI,EACE3C,KAAK4C,EAAEtC,YAAOuK,YAHH,OAI5B,WAJ4B,OAAAD,EAAAzH,WAAAC,YAAA,GAM7BvD,EAKckL,4BAA2B,WAAA,IAAAC,EAAAhJ,EAAAC,IAAAC,GAAjC,SAAA+I,IAAA,OAAAhJ,IAAAK,YAAA4I,GAAA,cAAAA,EAAAzI,GAAA,OACU,OAAAyI,EAAAzI,IACO7E,KAAKuB,SAAStB,yCAAe,OAAtC,OAAAqN,EAAAlI,IAAAkI,EAAAvI,EACE3C,KAAK4C,EAAEuI,6BAAwBF,YAHR,OAIxC,WAJwC,OAAAD,EAAA7H,WAAAC,YAAA,GAMzCvD,EAKcb,uBAAsB,WAAA,IAAAoM,EAAApJ,EAAAC,IAAAC,GAA5B,SAAAmJ,IAAA,IAAAC,EAAAC,EAAA,OAAAtJ,IAAAK,YAAAkJ,GAAA,cAAAA,EAAA/I,GAAA,OAAA,OAAA+I,EAAA/I,IACiB7E,KAAKmN,8BAA6B,OAA7C,OAAJO,EAAiDE,EAAA7I,EAAjD2I,KAAIE,EAAA/I,IACkB7E,KAAK+M,kBAAiB,OAKnD,OAHKY,EAFeC,EAAA7I,EAEU8I,MAC7B,SAAAC,GAAkB,OAAAA,EAAfC,gBACeL,OAASA,KAC5BE,EAAAxI,IAEMuI,MAAuBF,YATI,OAUnC,WAVmC,OAAAD,EAAAjI,WAAAC,YAAA,GAAA1F,qBCpkBtC,WAGE,SAASiC,EAAM4D,OAAG5F,EAAO4F,EAAP5F,QAChB,IAAKA,EACH,MAAM,IAAIoF,MAAM,4CAElB,OAAO,IAAI6I,EAAuBjO,GAGpC,MAAO,CAILA,iBAAQ8G,GACN,OAAO9E,EAAO,CAAEhC,QAAS8G,KAE3B9E,OAAAA"}
1
+ {"version":3,"file":"sharepoint_requests.cjs.production.min.js","sources":["../src/root/instance.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 {\n AxiosInstance,\n AxiosResponse,\n CreateAxiosDefaults as AxiosConfig,\n} from 'axios';\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 /**\n * Creates an HTTP SharePoint requester bound to the provided base URL.\n *\n * @param baseURL The root SharePoint site URL (with or without trailing slash).\n * @param config Optional axios configuration overrides.\n */\n constructor(baseURL: string, config?: AxiosConfig) {\n this.baseURL = baseURL.endsWith('/') ? baseURL : `${baseURL}/`;\n this.endpoint = '/api';\n this.listName = '';\n\n this.instance = instance(this.baseURL, config);\n }\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';\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","Content-Type","timeout","withCredentials","HTTPSharePointRequests","baseURL","config","this","get","_this","endpoint","get_v2","send","props","sendEmail","properties","currentUserProperties","searchSiteUser","searchValue","getSiteUser","searchUser","input","filter","typeAhead","current","get_only","currentPermission","currentUserPermissions","endsWith","listName","instance","userHeaders","AxiosHeaders","toJSON","_config$headers","axios","create","_extends","_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","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","_context2","$expand","$top","$skip","$select","$filter","$orderby","_x","_get_files","_callee3","_ref2","url","_context3","URL","defaults","Object","entries","forEach","_ref3","value","searchParams","append","String","request","method","meta","_x2","_get_v","_callee4","_ref4","_context4","_ref5","_x3","_update_","_callee5","formDigestValue","_t2","_context5","JSON","stringify","X-RequestDigest","IF-MATCH","X-Http-Method","_x4","_x5","_x6","_create_v","_callee6","listData","_t3","_t4","_t5","_t7","_context6","call","_x7","_createFile","_callee7","_ref6","file","_t8","_t9","_t0","_t10","_context7","itemId","name","_x8","_delete2","_callee8","ID","_context8","_x9","_sendEmail","_callee9","_ref7","From","To","Subject","Body","_t11","_t12","_t14","_t15","_context9","_x0","_typeAhead","_callee0","filterValue","_context0","_x1","_x10","_currentUserProperties","_callee1","profile","_context1","UserProfileProperties","prop","Key","FirstName","Value","LastName","Country","UserName","_getSiteUser","_callee10","requestUrl","_context10","_x11","roleDefinitions","_roleDefinitions","_callee11","_context11","getEffectiveBasePermissions","_getEffectiveBasePermissions","_callee12","_context12","EffectiveBasePermissions","_currentUserPermissions","_callee13","High","result","_context13","find","_ref8","BasePermissions","SHAREPOINT_REQUESTS"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import axios from 'axios';
1
+ import axios, { AxiosHeaders } from 'axios';
2
2
 
3
3
  function asyncGeneratorStep(n, t, e, r, o, a, c) {
4
4
  try {
@@ -143,20 +143,21 @@ function _regeneratorDefine(e, r, n, t) {
143
143
  }, _regeneratorDefine(e, r, n, t);
144
144
  }
145
145
 
146
+ var defaultConfig = {
147
+ headers: {
148
+ Accept: 'application/json; odata=verbose',
149
+ 'Content-Type': 'application/json; odata=verbose'
150
+ },
151
+ timeout: 15000,
152
+ withCredentials: true
153
+ };
146
154
  var instance = function instance(baseURL, config) {
147
- if (config === void 0) {
148
- config = {
149
- headers: {
150
- Accept: 'application/json; odata=verbose',
151
- 'Content-Type': 'application/json; odata=verbose'
152
- },
153
- timeout: 15000,
154
- withCredentials: true
155
- };
156
- }
157
- return axios.create(_extends({
158
- baseURL: baseURL
159
- }, config));
155
+ var _config$headers;
156
+ var userHeaders = (config == null ? void 0 : config.headers) instanceof AxiosHeaders ? config.headers.toJSON() : (_config$headers = config == null ? void 0 : config.headers) != null ? _config$headers : {};
157
+ return axios.create(_extends({}, defaultConfig, config, {
158
+ baseURL: baseURL,
159
+ headers: _extends({}, defaultConfig.headers, userHeaders)
160
+ }));
160
161
  };
161
162
 
162
163
  var HTTPSharePointRequests = /*#__PURE__*/function () {
@@ -164,8 +165,9 @@ var HTTPSharePointRequests = /*#__PURE__*/function () {
164
165
  * Creates an HTTP SharePoint requester bound to the provided base URL.
165
166
  *
166
167
  * @param baseURL The root SharePoint site URL (with or without trailing slash).
168
+ * @param config Optional axios configuration overrides.
167
169
  */
168
- function HTTPSharePointRequests(baseURL) {
170
+ function HTTPSharePointRequests(baseURL, config) {
169
171
  var _this = this;
170
172
  this.lists = {
171
173
  /**
@@ -279,7 +281,7 @@ var HTTPSharePointRequests = /*#__PURE__*/function () {
279
281
  this.baseURL = baseURL.endsWith('/') ? baseURL : baseURL + "/";
280
282
  this.endpoint = '/api';
281
283
  this.listName = '';
282
- this.instance = instance(this.baseURL);
284
+ this.instance = instance(this.baseURL, config);
283
285
  }
284
286
  /**
285
287
  * Converts array values in a payload to the `Collection(Edm.String)` structure
@@ -1021,19 +1023,21 @@ var HTTPSharePointRequests = /*#__PURE__*/function () {
1021
1023
  // Load environment variables from .env file
1022
1024
  function createBase() {
1023
1025
  function create(_ref) {
1024
- var baseURL = _ref.baseURL;
1026
+ var baseURL = _ref.baseURL,
1027
+ config = _ref.config;
1025
1028
  if (!baseURL) {
1026
1029
  throw new Error('A valid SharePoint URL must be provided.');
1027
1030
  }
1028
- return new HTTPSharePointRequests(baseURL);
1031
+ return new HTTPSharePointRequests(baseURL, config);
1029
1032
  }
1030
1033
  return {
1031
1034
  /**
1032
1035
  * @deprecated Use `create` instead.
1033
1036
  */
1034
- baseURL: function baseURL(url) {
1037
+ baseURL: function baseURL(url, config) {
1035
1038
  return create({
1036
- baseURL: url
1039
+ baseURL: url,
1040
+ config: config
1037
1041
  });
1038
1042
  },
1039
1043
  create: create
@@ -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: 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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"}
1
+ {"version":3,"file":"sharepoint_requests.esm.js","sources":["../src/root/instance.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 {\n AxiosInstance,\n AxiosResponse,\n CreateAxiosDefaults as AxiosConfig,\n} from 'axios';\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 /**\n * Creates an HTTP SharePoint requester bound to the provided base URL.\n *\n * @param baseURL The root SharePoint site URL (with or without trailing slash).\n * @param config Optional axios configuration overrides.\n */\n constructor(baseURL: string, config?: AxiosConfig) {\n this.baseURL = baseURL.endsWith('/') ? baseURL : `${baseURL}/`;\n this.endpoint = '/api';\n this.listName = '';\n\n this.instance = instance(this.baseURL, config);\n }\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';\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","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.11",
2
+ "version": "0.1.12",
3
3
  "license": "MIT",
4
4
  "main": "dist/index.js",
5
5
  "typings": "dist/index.d.ts",
package/src/index.ts CHANGED
@@ -1,28 +1,37 @@
1
- import SHAREPOINT_REQUESTS from './root';
2
-
3
- import type { LookupField, ChoiceField, PersonField } from './types';
4
-
5
- // Load environment variables from .env file
6
-
7
- export default function createBase<
8
- T extends { LISTS: Record<string, any>; FOLDERS?: Record<string, any> } = any
9
- >(){
10
- function create({ baseURL }: { baseURL: string }) {
11
- if (!baseURL) {
12
- throw new Error('A valid SharePoint URL must be provided.');
13
- }
14
- return new SHAREPOINT_REQUESTS<T>(baseURL);
15
- }
16
-
17
- return {
18
- /**
19
- * @deprecated Use `create` instead.
20
- */
21
- baseURL(url: string) {
22
- return create({ baseURL: url });
23
- },
24
- create,
25
- };
26
- }
27
-
28
- export { LookupField, ChoiceField, PersonField };
1
+ import SHAREPOINT_REQUESTS from './root';
2
+
3
+ import type { CreateAxiosDefaults as AxiosConfig } from 'axios';
4
+ import type { LookupField, ChoiceField, PersonField } from './types';
5
+
6
+ // Load environment variables from .env file
7
+
8
+ export default function createBase<
9
+ T extends { LISTS: Record<string, any>; FOLDERS?: Record<string, any> } = any
10
+ >(){
11
+ function create({
12
+ baseURL,
13
+ config,
14
+ }: {
15
+ baseURL: string;
16
+ config?: AxiosConfig;
17
+ }) {
18
+ if (!baseURL) {
19
+ throw new Error('A valid SharePoint URL must be provided.');
20
+ }
21
+ return new SHAREPOINT_REQUESTS<T>(baseURL, config);
22
+ }
23
+
24
+ return {
25
+ /**
26
+ * @deprecated Use `create` instead.
27
+ */
28
+ baseURL(url: string, config?: AxiosConfig) {
29
+ return create({ baseURL: url, config });
30
+ },
31
+ create,
32
+ };
33
+ }
34
+
35
+ export { LookupField, ChoiceField, PersonField };
36
+
37
+
package/src/root/index.ts CHANGED
@@ -1,4 +1,8 @@
1
- import { AxiosInstance, AxiosResponse } from 'axios';
1
+ import {
2
+ AxiosInstance,
3
+ AxiosResponse,
4
+ CreateAxiosDefaults as AxiosConfig,
5
+ } from 'axios';
2
6
  import instance from './instance';
3
7
  import {
4
8
  CreateFileProps,
@@ -25,18 +29,19 @@ class HTTPSharePointRequests<
25
29
  private listName: string;
26
30
  private instance: AxiosInstance;
27
31
 
28
- /**
29
- * Creates an HTTP SharePoint requester bound to the provided base URL.
30
- *
31
- * @param baseURL The root SharePoint site URL (with or without trailing slash).
32
- */
33
- constructor(baseURL: string) {
34
- this.baseURL = baseURL.endsWith('/') ? baseURL : `${baseURL}/`;
35
- this.endpoint = '/api';
36
- this.listName = '';
37
-
38
- this.instance = instance(this.baseURL);
39
- }
32
+ /**
33
+ * Creates an HTTP SharePoint requester bound to the provided base URL.
34
+ *
35
+ * @param baseURL The root SharePoint site URL (with or without trailing slash).
36
+ * @param config Optional axios configuration overrides.
37
+ */
38
+ constructor(baseURL: string, config?: AxiosConfig) {
39
+ this.baseURL = baseURL.endsWith('/') ? baseURL : `${baseURL}/`;
40
+ this.endpoint = '/api';
41
+ this.listName = '';
42
+
43
+ this.instance = instance(this.baseURL, config);
44
+ }
40
45
 
41
46
  /**
42
47
  * Converts array values in a payload to the `Collection(Edm.String)` structure
@@ -1,19 +1,28 @@
1
- import axios, { CreateAxiosDefaults } from 'axios';
1
+ import axios, { AxiosHeaders, CreateAxiosDefaults as AxiosConfig } from 'axios';
2
+
3
+ const defaultConfig: AxiosConfig = {
4
+ headers: {
5
+ Accept: 'application/json; odata=verbose',
6
+ 'Content-Type': 'application/json; odata=verbose',
7
+ },
8
+ timeout: 15000,
9
+ withCredentials: true,
10
+ };
11
+
12
+ export const instance = (baseURL: string, config?: AxiosConfig) => {
13
+ const userHeaders =
14
+ config?.headers instanceof AxiosHeaders
15
+ ? config.headers.toJSON()
16
+ : config?.headers ?? {};
2
17
 
3
- export const instance = (
4
- baseURL: string,
5
- config: CreateAxiosDefaults = {
6
- headers: {
7
- Accept: 'application/json; odata=verbose',
8
- 'Content-Type': 'application/json; odata=verbose',
9
- },
10
- timeout: 15000,
11
- withCredentials: true,
12
- }
13
- ) => {
14
18
  return axios.create({
15
- baseURL: baseURL,
19
+ ...defaultConfig,
16
20
  ...config,
21
+ baseURL,
22
+ headers: {
23
+ ...defaultConfig.headers,
24
+ ...userHeaders,
25
+ },
17
26
  });
18
27
  };
19
28