@lindle/sharepoint_requests 0.1.9-beta.0 → 0.1.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/root/index.d.ts +7 -7
- package/dist/root/instance.d.ts +3 -0
- package/dist/sharepoint_requests.cjs.development.js +248 -307
- package/dist/sharepoint_requests.cjs.development.js.map +1 -1
- package/dist/sharepoint_requests.cjs.production.min.js +1 -1
- package/dist/sharepoint_requests.cjs.production.min.js.map +1 -1
- package/dist/sharepoint_requests.esm.js +248 -307
- package/dist/sharepoint_requests.esm.js.map +1 -1
- package/package.json +3 -3
- package/src/root/index.ts +52 -37
- package/src/root/instance.ts +20 -0
- package/src/{types/index.ts → types.ts} +342 -342
- package/dist/root/request/digest.d.ts +0 -7
- package/dist/root/request/get.d.ts +0 -13
- package/src/root/request/digest.ts +0 -25
- package/src/root/request/get.ts +0 -44
- /package/dist/{types/index.d.ts → types.d.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sharepoint_requests.esm.js","sources":["../src/root/request/get.ts","../src/root/request/digest.ts","../src/root/index.ts","../src/index.ts"],"sourcesContent":["import { AxiosInstance } from 'axios';\nimport { Options, SPItem } from '../../types';\n\ntype GetProps = { instance: AxiosInstance; endpoint: string };\n\nconst get = async <K = any>(\n { instance, endpoint }: GetProps,\n options?: Options<K>\n): Promise<{ data: (K & Partial<SPItem>)[]; meta: { url: URL } }> => {\n const { expand, orderBy, limit, filter, cols, skip } = options || {};\n\n const params = {\n $expand: Array.isArray(expand) ? expand.join(',') : expand,\n $top: limit,\n $skip: skip,\n $select: Array.isArray(cols) ? cols.join(',') : cols,\n $filter: filter,\n $orderby: Array.isArray(orderBy) ? orderBy.join(' ') : orderBy,\n };\n\n const url = new URL(endpoint, instance.defaults.baseURL);\n Object.entries(params).forEach(([key, value]) => {\n if (value !== undefined && value !== null) {\n url.searchParams.append(key, String(value));\n }\n });\n\n const response = await instance.request({\n url: endpoint,\n method: 'GET',\n params,\n });\n\n const data =\n limit || !response.data.d.results\n ? response.data.d\n : response.data.d.results;\n\n const meta = { url };\n\n return { data, meta };\n};\n\nexport default get;\n","import { AxiosInstance } from 'axios';\n\ntype GetDigestProps = {\n instance: AxiosInstance;\n baseURL: string;\n};\n\nconst getDigest = async ({\n instance,\n baseURL,\n}: GetDigestProps): Promise<string> => {\n try {\n const response = await instance.post(`${baseURL}_api/contextinfo`);\n if (!response.data?.d?.GetContextWebInformation?.FormDigestValue) {\n throw new Error('Invalid response structure: Missing FormDigestValue');\n }\n return response.data.d.GetContextWebInformation.FormDigestValue;\n } catch (error) {\n console.error('Failed to retrieve the Form Digest Value:', error);\n throw new Error(`Error retrieving Form Digest Value`);\n }\n '';\n};\n\nexport default getDigest;\n","import axios, { AxiosInstance, AxiosResponse } from 'axios';\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\nimport get from './request/get';\r\nimport getDigest from './request/digest';\r\n\r\nclass HTTPSharePointRequests<\r\n T extends { LISTS: Record<string, any>; FOLDERS?: Record<string, any> }\r\n> {\r\n private baseURL: string;\r\n private endpoint: string;\r\n private listName: string;\r\n private instance: AxiosInstance;\r\n\r\n constructor(baseURL: string) {\r\n this.baseURL = baseURL.endsWith('/') ? baseURL : `${baseURL}/`;\r\n this.endpoint = '/api';\r\n this.listName = '';\r\n const headers = {\r\n Accept: 'application/json; odata=verbose',\r\n 'Content-Type': 'application/json; odata=verbose',\r\n };\r\n\r\n this.instance = axios.create({\r\n baseURL: `${this.baseURL}`,\r\n withCredentials: true,\r\n headers: {\r\n common: headers,\r\n post: headers,\r\n },\r\n });\r\n }\r\n\r\n private transformArraysToEdmStrings(data: ListData) {\r\n for (const key in data) {\r\n if (Array.isArray(data[key])) {\r\n data[key] = {\r\n __metadata: { type: 'Collection(Edm.String)' },\r\n results: data[key],\r\n };\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * @deprecated Use `from` instead.\r\n */\r\n list(listName: IListName<T>) {\r\n this.listName = listName;\r\n this.endpoint = `_vti_bin/ListData.svc/${listName}`;\r\n return this;\r\n }\r\n public readonly lists = {\r\n get: () => {\r\n this.endpoint = '_api/web/lists';\r\n return this.get_v2();\r\n },\r\n };\r\n\r\n from<K extends Extract<keyof T['LISTS'], string>>(\r\n listName: K,\r\n sharepoint_ver: SHAREPOINT_VER = '2013'\r\n ) {\r\n this.listName = listName;\r\n this.endpoint =\r\n sharepoint_ver === '2013'\r\n ? `_api/web/lists/GetByTitle('${this.listName}')/items`\r\n : `_vti_bin/ListData.svc/${listName}`;\r\n return {\r\n create: (data: ListData) => this.create_v2(data),\r\n get: (options?: Options<T['LISTS'][K]>) =>\r\n this.get_v2<T['LISTS'][K]>(options),\r\n update: (id: ItemID, data: ListData, digest?: string) =>\r\n this.update_2(id, data, digest),\r\n delete: (id: ItemID) => this.delete(id),\r\n createFile: (props: CreateFileProps) => this.createFile(props),\r\n fields: (options?: Field_Options<T['LISTS'][K]>) => {\r\n // return this.field_v2(options)\r\n this.endpoint = !options?.fieldName\r\n ? `_api/web/lists/GetByTitle('${this.listName}')/fields`\r\n : `_api/web/lists/GetByTitle('${this.listName}')/fields/getbytitle('${options.fieldName}')`;\r\n return {\r\n get: () => this.get_only(options),\r\n };\r\n },\r\n };\r\n }\r\n\r\n public folders = {\r\n get: () => {\r\n this.endpoint = '_api/web/folders';\r\n this.get_v2();\r\n },\r\n };\r\n\r\n public folder(folderName?: string | string[]) {\r\n let filePath = ['Shared Documents'];\r\n\r\n if (folderName) {\r\n filePath = Array.isArray(folderName)\r\n ? [...filePath, ...folderName]\r\n : [...filePath, folderName];\r\n }\r\n this.endpoint = `_api/web/GetFolderByServerRelativeUrl('${filePath.join(\r\n '/'\r\n )}')`;\r\n return {\r\n get: (options?: Folder_Options<any>) => {\r\n if (!options?.type) {\r\n this.endpoint += '/Files';\r\n } else {\r\n this.endpoint += `/${options.type}`;\r\n }\r\n\r\n return this.get_files(options);\r\n },\r\n };\r\n }\r\n\r\n // public users(options?: Options<any>) {\r\n // this.endpoint = '_api/web/SiteUserInfoList/items';\r\n // return {\r\n // get: () => this.get_v2(options),\r\n // };\r\n // }\r\n public users = {\r\n get: async (options?: Options<any>) => {\r\n this.endpoint = '_api/web/SiteUserInfoList/items';\r\n return await 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 const value = await getDigest({\r\n instance: this.instance,\r\n baseURL: this.baseURL,\r\n });\r\n\r\n return value;\r\n }\r\n\r\n private async get_only(options?: any) {\r\n const { expand, orderBy, limit, filter, cols, skip } = options || {};\r\n\r\n const params = {\r\n $expand: Array.isArray(expand) ? expand.join(',') : expand,\r\n $top: limit,\r\n $skip: skip,\r\n $select: Array.isArray(cols) ? cols.join(',') : cols,\r\n $filter: filter,\r\n $orderby: Array.isArray(orderBy) ? orderBy.join(',') : orderBy,\r\n };\r\n const { data } = await this.instance.get(this.endpoint, { params });\r\n if (data) {\r\n return data.d.results ? data.d.results : data.d;\r\n }\r\n }\r\n\r\n private async get_files(options?: Folder_Options<any>) {\r\n const { expand, orderBy, limit, filter, cols, skip } = options || {};\r\n const params = {\r\n $expand: Array.isArray(expand) ? expand.join(',') : expand,\r\n $top: limit,\r\n $skip: skip,\r\n $select: Array.isArray(cols) ? cols.join(',') : cols,\r\n $filter: filter,\r\n $orderby: Array.isArray(orderBy) ? orderBy.join(',') : orderBy,\r\n };\r\n const url = new URL(this.endpoint, this.instance.defaults.baseURL);\r\n Object.entries(params).forEach(([key, value]) => {\r\n if (value !== undefined && value !== null) {\r\n url.searchParams.append(key, String(value));\r\n }\r\n });\r\n\r\n const response = await this.instance.request({\r\n url: this.endpoint,\r\n method: 'GET',\r\n params,\r\n });\r\n\r\n const data =\r\n limit || !response.data.d.results\r\n ? response.data.d\r\n : response.data.d.results;\r\n\r\n const meta = { url };\r\n\r\n return { data, meta };\r\n }\r\n\r\n private async get_v2<K = any>(\r\n options?: Options<K>\r\n ): Promise<{ data: (K & Partial<SPItem>)[]; meta: { url: URL } }> {\r\n const { data, meta } = await get(\r\n { instance: this.instance, endpoint: this.endpoint },\r\n options\r\n );\r\n\r\n return { data, meta };\r\n }\r\n\r\n private async update_2(id: ItemID, data: ListData, digest?: string) {\r\n const formDigestValue = digest || (await this.getDigest());\r\n\r\n data.__metadata = {\r\n type: `SP.Data.${this.listName}ListItem`,\r\n };\r\n const url = `_api/lists/getbytitle('${this.listName}')/getItemById('${id}')`;\r\n const response = await this.instance({\r\n url,\r\n method: 'POST',\r\n data: JSON.stringify(data),\r\n headers: {\r\n 'X-RequestDigest': formDigestValue,\r\n 'IF-MATCH': '*',\r\n 'X-Http-Method': 'PATCH',\r\n },\r\n });\r\n return response;\r\n }\r\n\r\n private async create_v2(listData: ListData) {\r\n this.transformArraysToEdmStrings(listData);\r\n listData.__metadata = {\r\n type: `SP.Data.${this.listName}ListItem`,\r\n };\r\n const response = await this.instance({\r\n url: this.endpoint,\r\n method: 'POST',\r\n data: JSON.stringify(listData),\r\n headers: {\r\n 'X-RequestDigest': await this.getDigest(),\r\n 'IF-MATCH': '*',\r\n },\r\n });\r\n return response;\r\n }\r\n\r\n private async createFile({ file, itemId }: CreateFileProps) {\r\n const requestUrl = `_api/lists/getbytitle('${this.listName}')/items(${itemId})/AttachmentFiles/add(FileName='${file.name}')`;\r\n const res = await this.instance.post(requestUrl, file, {\r\n headers: {\r\n 'X-RequestDigest': await this.getDigest(),\r\n },\r\n withCredentials: true,\r\n });\r\n\r\n return res;\r\n }\r\n\r\n private async delete(ID: string | number) {\r\n const response = await this.instance.delete(`${this.endpoint!}(${ID})`);\r\n return response;\r\n }\r\n\r\n public email = {\r\n /**\r\n * Sends an email using SharePoint's Utility.SendEmail API.\r\n *\r\n * @param {EmailProps} param0 - The email properties.\r\n * @param {string} param0.From - The sender's email address.\r\n * @example\r\n * Example of a sender's email address\r\n * \"sender@example.com\"\r\n * @param {string | string[]} param0.To - The recipient's email address or an array of email addresses.\r\n * @example\r\n * Example of a single recipient's email address\r\n * \"recipient@example.com\"\r\n * Example of multiple recipients' email addresses\r\n * [\"recipient1@example.com\", \"recipient2@example.com\"]\r\n * @param {string} param0.Subject - The subject of the email.\r\n * @example\r\n * Example of an email subject\r\n * \"Meeting Reminder\"\r\n * @param {string} param0.Body - The body content of the email.\r\n * @example\r\n * Example of an email body\r\n * \"Dear team, please be reminded of the meeting scheduled for tomorrow at 10 AM.\"\r\n * @returns {Promise<any>} - A promise that resolves to the response of the email send request.\r\n */\r\n send: (props: EmailProps) => this.sendEmail(props),\r\n };\r\n\r\n private async sendEmail({\r\n From,\r\n To,\r\n Subject,\r\n Body,\r\n }: EmailProps): Promise<\r\n AxiosResponse<{\r\n d: {\r\n SendEmail: null;\r\n };\r\n }>\r\n > {\r\n const httpRequest = '_api/SP.Utilities.Utility.SendEmail';\r\n const response = await this.instance({\r\n url: httpRequest,\r\n method: 'POST',\r\n headers: {\r\n 'X-RequestDigest': await this.getDigest(),\r\n 'X-Http-Method': 'POST',\r\n 'Content-Type': 'application/json;odata=verbose',\r\n },\r\n data: JSON.stringify({\r\n properties: {\r\n __metadata: {\r\n type: 'SP.Utilities.EmailProperties',\r\n },\r\n From,\r\n To: {\r\n results: Array.isArray(To) ? To : [To],\r\n },\r\n Body,\r\n Subject,\r\n },\r\n }),\r\n });\r\n\r\n return response;\r\n }\r\n\r\n private async typeAhead(input: string, filter?: string) {\r\n const filterValue = filter ? ` and ${filter}` : '';\r\n const response = await this.instance.get(\r\n `_vti_bin/listdata.svc/UserInformationList?$top=10&$filter=substringof('${input}',Name) or substringof('${input}',WorkEmail)${filterValue}`\r\n );\r\n return response.data.d;\r\n }\r\n\r\n private async currentUserProperties() {\r\n const requestUrl = '_api/sp.userprofiles.peoplemanager/getmyproperties';\r\n let profile: any = await this.instance.get(requestUrl);\r\n\r\n profile = profile.data.d;\r\n\r\n profile.UserProfileProperties.results.forEach(\r\n (prop: { Key: string; Value: string }) => {\r\n if (prop.Key === 'FirstName') {\r\n profile.FirstName = prop.Value;\r\n }\r\n if (prop.Key === 'LastName') {\r\n profile.LastName = prop.Value;\r\n }\r\n if (prop.Key === 'Country') {\r\n profile.Country = prop.Value;\r\n }\r\n if (prop.Key === 'UserName') {\r\n profile.UserName = prop.Value;\r\n }\r\n }\r\n );\r\n return profile as Promise<UserProfile>;\r\n }\r\n public user = {\r\n properties: () => {\r\n return {\r\n get: () => this.currentUserProperties(),\r\n };\r\n },\r\n searchSiteUser: (searchValue: string) => this.getSiteUser(searchValue),\r\n searchUser: (input: string, filter?: string): Promise<PersonField> =>\r\n this.typeAhead(input, filter),\r\n current: () => {\r\n this.endpoint = '_api/web/currentUser';\r\n return {\r\n get: (): Promise<CurrentUser> => this.get_only(),\r\n };\r\n },\r\n currentPermission: () => {\r\n return {\r\n get: () => this.currentUserPermissions(),\r\n };\r\n },\r\n };\r\n\r\n private async getSiteUser(searchValue: string) {\r\n const requestUrl = `_api/web/siteusers?&$filter=substringof('${searchValue}', Title) or substringof('${searchValue}', LoginName) or substringof('${searchValue}', Email)&$top=50&$expand=Groups`;\r\n const response = await this.instance.get(requestUrl);\r\n return response.data.d;\r\n }\r\n\r\n private async roleDefinitions() {\r\n const requestUrl = `_api/Web/RoleDefinitions`;\r\n const response = await this.instance.get(requestUrl);\r\n return response.data.d.results;\r\n }\r\n\r\n private async getEffectiveBasePermissions() {\r\n const requestUrl = `_api/Web/effectiveBasePermissions`;\r\n const response = await this.instance.get(requestUrl);\r\n return response.data.d.EffectiveBasePermissions;\r\n }\r\n\r\n private async currentUserPermissions() {\r\n const { High } = await this.getEffectiveBasePermissions();\r\n const roleDefinitions = await this.roleDefinitions();\r\n\r\n const result = roleDefinitions.find(\r\n ({ BasePermissions }: { BasePermissions: { High: string } }) =>\r\n BasePermissions.High === High\r\n );\r\n\r\n return result as UserPermision;\r\n }\r\n}\r\n\r\nexport default HTTPSharePointRequests;\r\n","import SHAREPOINT_REQUESTS from './root';\r\n\r\nimport type { LookupField, ChoiceField, PersonField } from './types';\r\n\r\n// Load environment variables from .env file\r\n\r\nexport default function createBase<\r\n T extends { LISTS: Record<string, any>; FOLDERS?: Record<string, any> } = any\r\n>(){\r\n function create({ baseURL }: { baseURL: string }) {\r\n if (!baseURL) {\r\n throw new Error('A valid SharePoint URL must be provided.');\r\n }\r\n return new SHAREPOINT_REQUESTS<T>(baseURL);\r\n }\r\n\r\n return {\r\n /**\r\n * @deprecated Use `create` instead.\r\n */\r\n baseURL(url: string) {\r\n return create({ baseURL: url });\r\n },\r\n create,\r\n };\r\n}\r\n\r\nexport { LookupField, ChoiceField, PersonField };\r\n"],"names":["get","_ref2","_asyncToGenerator","_regenerator","m","_callee","_ref","options","instance","endpoint","_ref3","expand","orderBy","limit","filter","cols","skip","params","url","response","data","meta","w","_context","n","$expand","Array","isArray","join","$top","$skip","$select","$filter","$orderby","URL","defaults","baseURL","Object","entries","forEach","_ref4","key","value","undefined","searchParams","append","String","request","method","v","d","results","a","_x","_x2","apply","arguments","getDigest","_response$data","_t","p","post","GetContextWebInformation","FormDigestValue","Error","console","error","HTTPSharePointRequests","_this","get_v2","_get","send","props","sendEmail","properties","currentUserProperties","searchSiteUser","searchValue","getSiteUser","searchUser","input","typeAhead","current","get_only","currentPermission","currentUserPermissions","endsWith","listName","headers","Accept","axios","create","withCredentials","common","_proto","prototype","transformArraysToEdmStrings","__metadata","type","list","from","sharepoint_ver","_this2","create_v2","update","id","digest","update_2","delete","createFile","fields","fieldName","folder","folderName","filePath","concat","_this3","get_files","_getDigest2","_callee2","_context2","_get_only","_callee3","_yield$this$instance$","_context3","_get_files","_callee4","_context4","_x3","_get_v","_callee5","_yield$get","_context5","_x4","_update_","_callee6","formDigestValue","_context6","JSON","stringify","_x5","_x6","_x7","_create_v","_callee7","listData","_t2","_t3","_t4","_t5","_t6","_t7","_context7","call","_x8","_createFile","_callee8","file","itemId","requestUrl","res","_t8","_t9","_t0","_t1","_t10","_t11","_context8","name","_x9","_delete2","_callee9","ID","_context9","_x0","_sendEmail","_callee0","_ref5","From","To","Subject","Body","httpRequest","_t12","_t13","_t14","_t15","_t16","_t17","_context0","_x1","_typeAhead","_callee1","filterValue","_context1","_x10","_x11","_currentUserProperties","_callee10","profile","_context10","UserProfileProperties","prop","Key","FirstName","Value","LastName","Country","UserName","_getSiteUser","_callee11","_context11","_x12","roleDefinitions","_roleDefinitions","_callee12","_context12","getEffectiveBasePermissions","_getEffectiveBasePermissions","_callee13","_context13","EffectiveBasePermissions","_currentUserPermissions","_callee14","_yield$this$getEffect","High","result","_context14","find","_ref6","BasePermissions","createBase","SHAREPOINT_REQUESTS"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sharepoint_requests.esm.js","sources":["../src/root/instance.ts","../src/root/index.ts","../src/index.ts"],"sourcesContent":["import axios, { CreateAxiosDefaults } from 'axios';\n\nexport const instance = (\n baseURL: string,\n config: CreateAxiosDefaults = {\n headers: {\n Accept: 'application/json; odata=verbose',\n 'Content-Type': 'application/json; odata=verbose',\n },\n timeout: 1000,\n withCredentials: true,\n }\n) => {\n return axios.create({\n baseURL: baseURL,\n ...config,\n });\n};\n\nexport default instance;\n","import { AxiosInstance, AxiosResponse } from 'axios';\r\nimport instance from './instance';\r\nimport {\r\n CreateFileProps,\r\n CurrentUser,\r\n EmailProps,\r\n Field_Options,\r\n Folder_Options,\r\n IListName,\r\n ItemID,\r\n ListData,\r\n Options,\r\n PersonField,\r\n SHAREPOINT_VER,\r\n SPItem,\r\n UserPermision,\r\n UserProfile,\r\n} from '../types';\r\n\r\nclass HTTPSharePointRequests<\r\n T extends { LISTS: Record<string, any>; FOLDERS?: Record<string, any> }\r\n> {\r\n private baseURL: string;\r\n private endpoint: string;\r\n private listName: string;\r\n private instance: AxiosInstance;\r\n\r\n constructor(baseURL: string) {\r\n this.baseURL = baseURL.endsWith('/') ? baseURL : `${baseURL}/`;\r\n this.endpoint = '/api';\r\n this.listName = '';\r\n\r\n this.instance = instance(this.baseURL);\r\n }\r\n\r\n private transformArraysToEdmStrings(data: ListData) {\r\n for (const key in data) {\r\n if (Array.isArray(data[key])) {\r\n data[key] = {\r\n __metadata: { type: 'Collection(Edm.String)' },\r\n results: data[key],\r\n };\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * @deprecated Use `from` instead.\r\n */\r\n list(listName: IListName<T>) {\r\n this.listName = listName;\r\n this.endpoint = `_vti_bin/ListData.svc/${listName}`;\r\n return this;\r\n }\r\n public readonly lists = {\r\n get: () => {\r\n this.endpoint = '_api/web/lists';\r\n return this.get_v2();\r\n },\r\n };\r\n\r\n from<K extends Extract<keyof T['LISTS'], string>>(\r\n listName: K,\r\n sharepoint_ver: SHAREPOINT_VER = '2013'\r\n ) {\r\n this.listName = listName;\r\n this.endpoint =\r\n sharepoint_ver === '2013'\r\n ? `_api/web/lists/GetByTitle('${this.listName}')/items`\r\n : `_vti_bin/ListData.svc/${listName}`;\r\n return {\r\n create: (data: ListData) => this.create_v2(data),\r\n get: (options?: Options<T['LISTS'][K]>) =>\r\n this.get_v2<T['LISTS'][K]>(options),\r\n update: (id: ItemID, data: ListData, digest?: string) =>\r\n this.update_2(id, data, digest),\r\n delete: (id: ItemID) => this.delete(id),\r\n createFile: (props: CreateFileProps) => this.createFile(props),\r\n fields: (options?: Field_Options<T['LISTS'][K]>) => {\r\n // return this.field_v2(options)\r\n this.endpoint = !options?.fieldName\r\n ? `_api/web/lists/GetByTitle('${this.listName}')/fields`\r\n : `_api/web/lists/GetByTitle('${this.listName}')/fields/getbytitle('${options.fieldName}')`;\r\n return {\r\n get: () => this.get_only(options),\r\n };\r\n },\r\n };\r\n }\r\n\r\n public folders = {\r\n get: () => {\r\n this.endpoint = '_api/web/folders';\r\n this.get_v2();\r\n },\r\n };\r\n\r\n public folder(folderName?: string | string[]) {\r\n let filePath = ['Shared Documents'];\r\n\r\n if (folderName) {\r\n filePath = Array.isArray(folderName)\r\n ? [...filePath, ...folderName]\r\n : [...filePath, folderName];\r\n }\r\n this.endpoint = `_api/web/GetFolderByServerRelativeUrl('${filePath.join(\r\n '/'\r\n )}')`;\r\n return {\r\n get: (options?: Folder_Options<any>) => {\r\n if (!options?.type) {\r\n this.endpoint += '/Files';\r\n } else {\r\n this.endpoint += `/${options.type}`;\r\n }\r\n\r\n return this.get_files(options);\r\n },\r\n };\r\n }\r\n\r\n public users(options?: Options<any>) {\r\n this.endpoint = '_api/web/SiteUserInfoList/items';\r\n return {\r\n get: () => this.get_v2(options),\r\n };\r\n }\r\n\r\n /**\r\n * Asynchronously retrieves the Form Digest Value from the context information API.\r\n *\r\n * @returns {Promise<string>} A promise that resolves to the Form Digest Value.\r\n * @throws {Error} If the HTTP request fails or the response does not contain the expected data.\r\n */\r\n private async getDigest(): Promise<string> {\r\n try {\r\n const response = await this.instance.post(\r\n `${this.baseURL}_api/contextinfo`\r\n );\r\n if (!response.data?.d?.GetContextWebInformation?.FormDigestValue) {\r\n throw new Error('Invalid response structure: Missing FormDigestValue');\r\n }\r\n return response.data.d.GetContextWebInformation.FormDigestValue;\r\n } catch (error) {\r\n console.error('Failed to retrieve the Form Digest Value:', error);\r\n throw new Error(`Error retrieving Form Digest Value`);\r\n }\r\n '';\r\n }\r\n\r\n private async get_only(options?: any) {\r\n const { expand, orderBy, limit, filter, cols, skip } = options || {};\r\n\r\n const params = {\r\n $expand: Array.isArray(expand) ? expand.join(',') : expand,\r\n $top: limit,\r\n $skip: skip,\r\n $select: Array.isArray(cols) ? cols.join(',') : cols,\r\n $filter: filter,\r\n $orderby: Array.isArray(orderBy) ? orderBy.join(',') : orderBy,\r\n };\r\n const { data } = await this.instance.get(this.endpoint, { params });\r\n if (data) {\r\n return data.d.results ? data.d.results : data.d;\r\n }\r\n }\r\n\r\n private async get_files(options?: Folder_Options<any>) {\r\n const { expand, orderBy, limit, filter, cols, skip } = options || {};\r\n const params = {\r\n $expand: Array.isArray(expand) ? expand.join(',') : expand,\r\n $top: limit,\r\n $skip: skip,\r\n $select: Array.isArray(cols) ? cols.join(',') : cols,\r\n $filter: filter,\r\n $orderby: Array.isArray(orderBy) ? orderBy.join(',') : orderBy,\r\n };\r\n const url = new URL(this.endpoint, this.instance.defaults.baseURL);\r\n Object.entries(params).forEach(([key, value]) => {\r\n if (value !== undefined && value !== null) {\r\n url.searchParams.append(key, String(value));\r\n }\r\n });\r\n\r\n const response = await this.instance.request({\r\n url: this.endpoint,\r\n method: 'GET',\r\n params,\r\n });\r\n\r\n const data =\r\n limit || !response.data.d.results\r\n ? response.data.d\r\n : response.data.d.results;\r\n\r\n const meta = { url };\r\n\r\n return { data, meta };\r\n }\r\n\r\n private async get_v2<K = any>(\r\n options?: Options<K>\r\n ): Promise<{ data: (K & Partial<SPItem>)[]; meta: { url: URL } }> {\r\n const { expand, orderBy, limit, filter, cols, skip } = options || {};\r\n\r\n const params = {\r\n $expand: Array.isArray(expand) ? expand.join(',') : expand,\r\n $top: limit,\r\n $skip: skip,\r\n $select: Array.isArray(cols) ? cols.join(',') : cols,\r\n $filter: filter,\r\n $orderby: Array.isArray(orderBy) ? orderBy.join(' ') : orderBy,\r\n };\r\n\r\n const url = new URL(this.endpoint, this.instance.defaults.baseURL);\r\n Object.entries(params).forEach(([key, value]) => {\r\n if (value !== undefined && value !== null) {\r\n url.searchParams.append(key, String(value));\r\n }\r\n });\r\n\r\n const response = await this.instance.request({\r\n url: this.endpoint,\r\n method: 'GET',\r\n params,\r\n });\r\n\r\n const data =\r\n limit || !response.data.d.results\r\n ? response.data.d\r\n : response.data.d.results;\r\n\r\n const meta = { url };\r\n\r\n return { data, meta };\r\n }\r\n\r\n private async update_2(id: ItemID, data: ListData, digest?: string) {\r\n const formDigestValue = digest || (await this.getDigest());\r\n\r\n data.__metadata = {\r\n type: `SP.Data.${this.listName}ListItem`,\r\n };\r\n const url = `_api/lists/getbytitle('${this.listName}')/getItemById('${id}')`;\r\n const response = await this.instance({\r\n url,\r\n method: 'POST',\r\n data: JSON.stringify(data),\r\n headers: {\r\n 'X-RequestDigest': formDigestValue,\r\n 'IF-MATCH': '*',\r\n 'X-Http-Method': 'PATCH',\r\n },\r\n });\r\n return response;\r\n }\r\n\r\n private async create_v2(listData: ListData) {\r\n this.transformArraysToEdmStrings(listData);\r\n listData.__metadata = {\r\n type: `SP.Data.${this.listName}ListItem`,\r\n };\r\n const response = await this.instance({\r\n url: this.endpoint,\r\n method: 'POST',\r\n data: JSON.stringify(listData),\r\n headers: {\r\n 'X-RequestDigest': await this.getDigest(),\r\n 'IF-MATCH': '*',\r\n },\r\n });\r\n return response;\r\n }\r\n\r\n private async createFile({ file, itemId }: CreateFileProps) {\r\n const requestUrl = `_api/lists/getbytitle('${this.listName}')/items(${itemId})/AttachmentFiles/add(FileName='${file.name}')`;\r\n const res = await this.instance.post(requestUrl, file, {\r\n headers: {\r\n 'X-RequestDigest': await this.getDigest(),\r\n },\r\n withCredentials: true,\r\n });\r\n\r\n return res;\r\n }\r\n\r\n private async delete(ID: string | number) {\r\n const response = await this.instance.delete(`${this.endpoint!}(${ID})`);\r\n return response;\r\n }\r\n\r\n public email = {\r\n /**\r\n * Sends an email using SharePoint's Utility.SendEmail API.\r\n *\r\n * @param {EmailProps} param0 - The email properties.\r\n * @param {string} param0.From - The sender's email address.\r\n * @example\r\n * Example of a sender's email address\r\n * \"sender@example.com\"\r\n * @param {string | string[]} param0.To - The recipient's email address or an array of email addresses.\r\n * @example\r\n * Example of a single recipient's email address\r\n * \"recipient@example.com\"\r\n * Example of multiple recipients' email addresses\r\n * [\"recipient1@example.com\", \"recipient2@example.com\"]\r\n * @param {string} param0.Subject - The subject of the email.\r\n * @example\r\n * Example of an email subject\r\n * \"Meeting Reminder\"\r\n * @param {string} param0.Body - The body content of the email.\r\n * @example\r\n * Example of an email body\r\n * \"Dear team, please be reminded of the meeting scheduled for tomorrow at 10 AM.\"\r\n * @returns {Promise<any>} - A promise that resolves to the response of the email send request.\r\n */\r\n send: (props: EmailProps) => this.sendEmail(props),\r\n };\r\n\r\n private async sendEmail({\r\n From,\r\n To,\r\n Subject,\r\n Body,\r\n }: EmailProps): Promise<\r\n AxiosResponse<{\r\n d: {\r\n SendEmail: null;\r\n };\r\n }>\r\n > {\r\n const httpRequest = '_api/SP.Utilities.Utility.SendEmail';\r\n const response = await this.instance({\r\n url: httpRequest,\r\n method: 'POST',\r\n headers: {\r\n 'X-RequestDigest': await this.getDigest(),\r\n 'X-Http-Method': 'POST',\r\n 'Content-Type': 'application/json;odata=verbose',\r\n },\r\n data: JSON.stringify({\r\n properties: {\r\n __metadata: {\r\n type: 'SP.Utilities.EmailProperties',\r\n },\r\n From,\r\n To: {\r\n results: Array.isArray(To) ? To : [To],\r\n },\r\n Body,\r\n Subject,\r\n },\r\n }),\r\n });\r\n\r\n return response;\r\n }\r\n\r\n private async typeAhead(input: string, filter?: string) {\r\n const filterValue = filter ? ` and ${filter}` : '';\r\n const response = await this.instance.get(\r\n `_vti_bin/listdata.svc/UserInformationList?$top=10&$filter=substringof('${input}',Name) or substringof('${input}',WorkEmail)${filterValue}`\r\n );\r\n return response.data.d;\r\n }\r\n\r\n private async currentUserProperties() {\r\n const requestUrl = '_api/sp.userprofiles.peoplemanager/getmyproperties';\r\n let profile: any = await this.instance.get(requestUrl);\r\n\r\n profile = profile.data.d;\r\n\r\n profile.UserProfileProperties.results.forEach(\r\n (prop: { Key: string; Value: string }) => {\r\n if (prop.Key === 'FirstName') {\r\n profile.FirstName = prop.Value;\r\n }\r\n if (prop.Key === 'LastName') {\r\n profile.LastName = prop.Value;\r\n }\r\n if (prop.Key === 'Country') {\r\n profile.Country = prop.Value;\r\n }\r\n if (prop.Key === 'UserName') {\r\n profile.UserName = prop.Value;\r\n }\r\n }\r\n );\r\n return profile as Promise<UserProfile>;\r\n }\r\n public user = {\r\n properties: () => {\r\n return {\r\n get: () => this.currentUserProperties(),\r\n };\r\n },\r\n searchSiteUser: (searchValue: string) => this.getSiteUser(searchValue),\r\n searchUser: (input: string, filter?: string): Promise<PersonField> =>\r\n this.typeAhead(input, filter),\r\n current: () => {\r\n this.endpoint = '_api/web/currentUser';\r\n return {\r\n get: (): Promise<CurrentUser> => this.get_only(),\r\n };\r\n },\r\n currentPermission: () => {\r\n return {\r\n get: () => this.currentUserPermissions(),\r\n };\r\n },\r\n };\r\n\r\n private async getSiteUser(searchValue: string) {\r\n const requestUrl = `_api/web/siteusers?&$filter=substringof('${searchValue}', Title) or substringof('${searchValue}', LoginName) or substringof('${searchValue}', Email)&$top=50&$expand=Groups`;\r\n const response = await this.instance.get(requestUrl);\r\n return response.data.d;\r\n }\r\n\r\n private async roleDefinitions() {\r\n const requestUrl = `_api/Web/RoleDefinitions`;\r\n const response = await this.instance.get(requestUrl);\r\n return response.data.d.results;\r\n }\r\n\r\n private async getEffectiveBasePermissions() {\r\n const requestUrl = `_api/Web/effectiveBasePermissions`;\r\n const response = await this.instance.get(requestUrl);\r\n return response.data.d.EffectiveBasePermissions;\r\n }\r\n\r\n private async currentUserPermissions() {\r\n const { High } = await this.getEffectiveBasePermissions();\r\n const roleDefinitions = await this.roleDefinitions();\r\n\r\n const result = roleDefinitions.find(\r\n ({ BasePermissions }: { BasePermissions: { High: string } }) =>\r\n BasePermissions.High === High\r\n );\r\n\r\n return result as UserPermision;\r\n }\r\n}\r\n\r\nexport default HTTPSharePointRequests;\r\n","import SHAREPOINT_REQUESTS from './root';\r\n\r\nimport type { LookupField, ChoiceField, PersonField } from './types';\r\n\r\n// Load environment variables from .env file\r\n\r\nexport default function createBase<\r\n T extends { LISTS: Record<string, any>; FOLDERS?: Record<string, any> } = any\r\n>(){\r\n function create({ baseURL }: { baseURL: string }) {\r\n if (!baseURL) {\r\n throw new Error('A valid SharePoint URL must be provided.');\r\n }\r\n return new SHAREPOINT_REQUESTS<T>(baseURL);\r\n }\r\n\r\n return {\r\n /**\r\n * @deprecated Use `create` instead.\r\n */\r\n baseURL(url: string) {\r\n return create({ baseURL: url });\r\n },\r\n create,\r\n };\r\n}\r\n\r\nexport { LookupField, ChoiceField, PersonField };\r\n"],"names":["instance","baseURL","config","headers","Accept","timeout","withCredentials","axios","create","_extends","HTTPSharePointRequests","get","_this","endpoint","get_v2","send","props","sendEmail","properties","currentUserProperties","searchSiteUser","searchValue","getSiteUser","searchUser","input","filter","typeAhead","current","get_only","currentPermission","currentUserPermissions","endsWith","listName","_proto","prototype","transformArraysToEdmStrings","data","key","Array","isArray","__metadata","type","results","list","from","sharepoint_ver","_this2","create_v2","options","update","id","digest","update_2","delete","createFile","fields","fieldName","folder","folderName","filePath","concat","join","_this3","get_files","users","_this4","getDigest","_getDigest","_asyncToGenerator","_regenerator","m","_callee","_response$data","response","_t","w","_context","p","n","post","v","d","GetContextWebInformation","FormDigestValue","Error","a","console","error","apply","arguments","_get_only","_callee2","_ref","expand","orderBy","limit","cols","skip","params","_yield$this$instance$","_context2","$expand","$top","$skip","$select","$filter","$orderby","_x","_get_files","_callee3","_ref2","url","meta","_context3","URL","defaults","Object","entries","forEach","_ref3","value","undefined","searchParams","append","String","request","method","_x2","_get_v","_callee4","_ref4","_context4","_ref5","_x3","_update_","_callee5","formDigestValue","_t2","_context5","JSON","stringify","_x4","_x5","_x6","_create_v","_callee6","listData","_t3","_t4","_t5","_t6","_t7","_context6","call","_x7","_createFile","_callee7","_ref6","file","itemId","requestUrl","res","_t8","_t9","_t0","_t1","_t10","_context7","name","_x8","_delete2","_callee8","ID","_context8","_x9","_sendEmail","_callee9","_ref7","From","To","Subject","Body","httpRequest","_t11","_t12","_t13","_t14","_t15","_context9","_x0","_typeAhead","_callee0","filterValue","_context0","_x1","_x10","_currentUserProperties","_callee1","profile","_context1","UserProfileProperties","prop","Key","FirstName","Value","LastName","Country","UserName","_getSiteUser","_callee10","_context10","_x11","roleDefinitions","_roleDefinitions","_callee11","_context11","getEffectiveBasePermissions","_getEffectiveBasePermissions","_callee12","_context12","EffectiveBasePermissions","_currentUserPermissions","_callee13","_yield$this$getEffect","High","result","_context13","find","_ref8","BasePermissions","createBase","SHAREPOINT_REQUESTS"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.1.
|
|
2
|
+
"version": "0.1.10",
|
|
3
3
|
"license": "MIT",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"typings": "dist/index.d.ts",
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"src"
|
|
9
9
|
],
|
|
10
10
|
"engines": {
|
|
11
|
-
"node": ">=
|
|
11
|
+
"node": ">=10"
|
|
12
12
|
},
|
|
13
13
|
"scripts": {
|
|
14
14
|
"start": "tsdx watch",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"trailingComma": "es5"
|
|
31
31
|
},
|
|
32
32
|
"name": "@lindle/sharepoint_requests",
|
|
33
|
-
"author": "
|
|
33
|
+
"author": "lion.oncemore@gmail.com",
|
|
34
34
|
"module": "dist/sharepoint_requests.esm.js",
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"@size-limit/preset-small-lib": "^11.1.4",
|
package/src/root/index.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { AxiosInstance, AxiosResponse } from 'axios';
|
|
2
|
+
import instance from './instance';
|
|
2
3
|
import {
|
|
3
4
|
CreateFileProps,
|
|
4
5
|
CurrentUser,
|
|
@@ -15,8 +16,6 @@ import {
|
|
|
15
16
|
UserPermision,
|
|
16
17
|
UserProfile,
|
|
17
18
|
} from '../types';
|
|
18
|
-
import get from './request/get';
|
|
19
|
-
import getDigest from './request/digest';
|
|
20
19
|
|
|
21
20
|
class HTTPSharePointRequests<
|
|
22
21
|
T extends { LISTS: Record<string, any>; FOLDERS?: Record<string, any> }
|
|
@@ -30,19 +29,8 @@ class HTTPSharePointRequests<
|
|
|
30
29
|
this.baseURL = baseURL.endsWith('/') ? baseURL : `${baseURL}/`;
|
|
31
30
|
this.endpoint = '/api';
|
|
32
31
|
this.listName = '';
|
|
33
|
-
const headers = {
|
|
34
|
-
Accept: 'application/json; odata=verbose',
|
|
35
|
-
'Content-Type': 'application/json; odata=verbose',
|
|
36
|
-
};
|
|
37
32
|
|
|
38
|
-
this.instance =
|
|
39
|
-
baseURL: `${this.baseURL}`,
|
|
40
|
-
withCredentials: true,
|
|
41
|
-
headers: {
|
|
42
|
-
common: headers,
|
|
43
|
-
post: headers,
|
|
44
|
-
},
|
|
45
|
-
});
|
|
33
|
+
this.instance = instance(this.baseURL);
|
|
46
34
|
}
|
|
47
35
|
|
|
48
36
|
private transformArraysToEdmStrings(data: ListData) {
|
|
@@ -131,18 +119,12 @@ class HTTPSharePointRequests<
|
|
|
131
119
|
};
|
|
132
120
|
}
|
|
133
121
|
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
public users = {
|
|
141
|
-
get: async (options?: Options<any>) => {
|
|
142
|
-
this.endpoint = '_api/web/SiteUserInfoList/items';
|
|
143
|
-
return await this.get_v2(options);
|
|
144
|
-
},
|
|
145
|
-
};
|
|
122
|
+
public users(options?: Options<any>) {
|
|
123
|
+
this.endpoint = '_api/web/SiteUserInfoList/items';
|
|
124
|
+
return {
|
|
125
|
+
get: () => this.get_v2(options),
|
|
126
|
+
};
|
|
127
|
+
}
|
|
146
128
|
|
|
147
129
|
/**
|
|
148
130
|
* Asynchronously retrieves the Form Digest Value from the context information API.
|
|
@@ -151,12 +133,19 @@ class HTTPSharePointRequests<
|
|
|
151
133
|
* @throws {Error} If the HTTP request fails or the response does not contain the expected data.
|
|
152
134
|
*/
|
|
153
135
|
private async getDigest(): Promise<string> {
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
136
|
+
try {
|
|
137
|
+
const response = await this.instance.post(
|
|
138
|
+
`${this.baseURL}_api/contextinfo`
|
|
139
|
+
);
|
|
140
|
+
if (!response.data?.d?.GetContextWebInformation?.FormDigestValue) {
|
|
141
|
+
throw new Error('Invalid response structure: Missing FormDigestValue');
|
|
142
|
+
}
|
|
143
|
+
return response.data.d.GetContextWebInformation.FormDigestValue;
|
|
144
|
+
} catch (error) {
|
|
145
|
+
console.error('Failed to retrieve the Form Digest Value:', error);
|
|
146
|
+
throw new Error(`Error retrieving Form Digest Value`);
|
|
147
|
+
}
|
|
148
|
+
'';
|
|
160
149
|
}
|
|
161
150
|
|
|
162
151
|
private async get_only(options?: any) {
|
|
@@ -212,10 +201,36 @@ class HTTPSharePointRequests<
|
|
|
212
201
|
private async get_v2<K = any>(
|
|
213
202
|
options?: Options<K>
|
|
214
203
|
): Promise<{ data: (K & Partial<SPItem>)[]; meta: { url: URL } }> {
|
|
215
|
-
const {
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
204
|
+
const { expand, orderBy, limit, filter, cols, skip } = options || {};
|
|
205
|
+
|
|
206
|
+
const params = {
|
|
207
|
+
$expand: Array.isArray(expand) ? expand.join(',') : expand,
|
|
208
|
+
$top: limit,
|
|
209
|
+
$skip: skip,
|
|
210
|
+
$select: Array.isArray(cols) ? cols.join(',') : cols,
|
|
211
|
+
$filter: filter,
|
|
212
|
+
$orderby: Array.isArray(orderBy) ? orderBy.join(' ') : orderBy,
|
|
213
|
+
};
|
|
214
|
+
|
|
215
|
+
const url = new URL(this.endpoint, this.instance.defaults.baseURL);
|
|
216
|
+
Object.entries(params).forEach(([key, value]) => {
|
|
217
|
+
if (value !== undefined && value !== null) {
|
|
218
|
+
url.searchParams.append(key, String(value));
|
|
219
|
+
}
|
|
220
|
+
});
|
|
221
|
+
|
|
222
|
+
const response = await this.instance.request({
|
|
223
|
+
url: this.endpoint,
|
|
224
|
+
method: 'GET',
|
|
225
|
+
params,
|
|
226
|
+
});
|
|
227
|
+
|
|
228
|
+
const data =
|
|
229
|
+
limit || !response.data.d.results
|
|
230
|
+
? response.data.d
|
|
231
|
+
: response.data.d.results;
|
|
232
|
+
|
|
233
|
+
const meta = { url };
|
|
219
234
|
|
|
220
235
|
return { data, meta };
|
|
221
236
|
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import axios, { CreateAxiosDefaults } from 'axios';
|
|
2
|
+
|
|
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: 1000,
|
|
11
|
+
withCredentials: true,
|
|
12
|
+
}
|
|
13
|
+
) => {
|
|
14
|
+
return axios.create({
|
|
15
|
+
baseURL: baseURL,
|
|
16
|
+
...config,
|
|
17
|
+
});
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
export default instance;
|