@lindle/sharepoint_requests 0.1.9-beta.0

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.
@@ -0,0 +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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"}
@@ -0,0 +1,201 @@
1
+ export declare type Metadata = {
2
+ id?: string;
3
+ type?: string;
4
+ uri?: string;
5
+ etag?: string;
6
+ };
7
+ export declare type SPItem = {
8
+ Attachments: string;
9
+ ContentType: string;
10
+ ContentTypeID: string;
11
+ Created: string;
12
+ CreatedBy: PersonField & _Deferred;
13
+ CreatedById: string;
14
+ Modified: string;
15
+ ModifiedBy: PersonField & _Deferred;
16
+ ModifiedById: string;
17
+ Id: number;
18
+ Title: string;
19
+ Path: string;
20
+ Version: string;
21
+ Owshiddenversion: number;
22
+ __metadata: Metadata;
23
+ };
24
+ declare type ListFields<K> = Extract<keyof K, string> | keyof SPItem;
25
+ export interface Options<K = any> {
26
+ expand?: ListFields<K>[] | ListFields<K>;
27
+ orderBy?: ListFields<K> | [ListFields<K>, 'asc' | 'desc'];
28
+ limit?: number;
29
+ filter?: string;
30
+ cols?: ListFields<K>[] | ListFields<K>;
31
+ skip?: number;
32
+ }
33
+ export interface Folder_Options<K = any> {
34
+ type: 'Files' | 'Folders';
35
+ expand?: Extract<keyof K, string>[] | Extract<keyof K, string>;
36
+ orderBy?: Extract<keyof K, string> | [Extract<keyof K, string>, 'asc' | 'desc'];
37
+ limit?: number;
38
+ filter?: string;
39
+ cols?: Extract<keyof K, string>[] | Extract<keyof K, string>;
40
+ skip?: number;
41
+ }
42
+ export interface Field_Options<K> extends Omit<Options<K>, 'filter'> {
43
+ fieldName?: Extract<keyof K, string>;
44
+ }
45
+ export declare type SHAREPOINT_VER = '2010' | '2013';
46
+ export declare type IListName<T> = Extract<keyof T, string>;
47
+ export declare type ItemID = string | number;
48
+ export declare type CreateFileProps = {
49
+ file: File;
50
+ itemId: ItemID;
51
+ };
52
+ export declare type ListData = {
53
+ [key: string]: any;
54
+ __metadata?: {
55
+ type: string;
56
+ };
57
+ } | any;
58
+ export declare type EmailProps = {
59
+ From: string;
60
+ To: string[] | string;
61
+ Subject?: string;
62
+ Body: string;
63
+ };
64
+ export declare type _Deferred = {
65
+ __deferred: {
66
+ uri: string;
67
+ };
68
+ };
69
+ export declare type LookupField<T> = _Deferred & T;
70
+ export declare type ChoiceField<T> = _Deferred & {
71
+ Value: T;
72
+ __metadata: Metadata;
73
+ };
74
+ export declare type PersonField = {
75
+ AboutMe?: string;
76
+ Account: string;
77
+ AccountName: string;
78
+ AdministrativeSupervisor: string;
79
+ AskMeAbout?: string;
80
+ AskMeAbout0?: string;
81
+ Assistant?: string;
82
+ Attachments: unknown;
83
+ BuildingName: string;
84
+ BusinessLine: string;
85
+ CellPhone?: string;
86
+ City?: string;
87
+ Company: string;
88
+ CompanyCode: string;
89
+ ContentType: string;
90
+ ContentTypeID: string;
91
+ CostCenter: string;
92
+ Country: string;
93
+ Created: string;
94
+ CreatedBy: PersonField;
95
+ CreatedById: number;
96
+ Deleted: boolean;
97
+ Department: string;
98
+ Department0?: string;
99
+ Division: string;
100
+ Fax?: string;
101
+ FirstName: string;
102
+ Hidden: boolean;
103
+ Id?: string;
104
+ Id0: number;
105
+ Interests?: string;
106
+ IsSiteAdmin: boolean;
107
+ JobTitle?: string;
108
+ LANID: string;
109
+ LastName: string;
110
+ Manager: string;
111
+ MobilePhone: string;
112
+ Modified: string;
113
+ ModifiedBy: PersonField;
114
+ ModifiedById: number;
115
+ Name: string;
116
+ Office: string;
117
+ OfficeLocation?: string;
118
+ Owshiddenversion: number;
119
+ Pager?: string;
120
+ Path: string;
121
+ Picture: string;
122
+ PictureExchangeSyncState: number;
123
+ PicturePlaceholderState: number;
124
+ PictureTimestamp: string;
125
+ SIPAddress?: string;
126
+ Schools?: string;
127
+ Skills?: string;
128
+ State: string;
129
+ Title: string;
130
+ UserName: string;
131
+ Version: string;
132
+ WebSite?: string;
133
+ WorkEmail: string;
134
+ WorkHistory?: string;
135
+ WorkPhone?: string;
136
+ __metadata: Metadata;
137
+ };
138
+ export declare type MultiPersonField = {
139
+ results: PersonField[];
140
+ };
141
+ export declare type PermissionLabel = 'Full Control' | 'Edit' | 'Contribute' | 'Read';
142
+ export declare type UserPermision = {
143
+ BasePermissions: {
144
+ High: string;
145
+ Low: string;
146
+ __metadata: {
147
+ type: 'SP.BasePermissions';
148
+ };
149
+ };
150
+ Description: string;
151
+ Hidden: boolean;
152
+ Id: number;
153
+ Name: PermissionLabel;
154
+ Order: number;
155
+ RoleTypeKind: number;
156
+ __metadata: Metadata;
157
+ };
158
+ export declare type CurrentUser = {
159
+ Email: string;
160
+ Id: number;
161
+ IsHiddenInUI: boolean;
162
+ LoginName: string;
163
+ PrincipalType: number;
164
+ Title: string;
165
+ __metadata: Metadata;
166
+ };
167
+ export declare type UserProfilePropKey = 'UserProfile_GUID' | 'SID' | 'FirstName' | 'ADGuid' | 'SPS-PhoneticFirstName' | 'LastName' | 'XOM-LANID' | 'UserName' | 'SPS-PhoneticLastName' | 'AccountName' | 'PictureURL' | 'MiddleName' | 'PreferredName' | 'PhoenticName' | 'SPS-PhoneticDisplayName' | 'SPS-JobTitle' | 'Title' | 'BuildingName' | 'Office' | 'WorkPhone' | 'SPS-SipAddress' | 'CellPhone' | 'HomePhone' | 'Pager' | 'Fax' | 'WorkEmail' | 'SPS-Location' | 'State' | 'Country' | 'Assistant' | 'SPS-RegionalSettings-FollowWeb' | 'SPS-Locale' | 'SPS-CalendarType' | 'SPS-AltCalendarType' | 'SPS-AdjustHijriDays' | 'SPS-ShowWeeks' | 'SPS-WorkDays' | 'SPS-WorkDayStartHour' | 'SPS-WorkDayEndHour' | 'SPS-Time24' | 'SPS-FirstDayOfWeek' | 'SPS-FirstWeekOfYear' | 'SPS-RegionalSettings-Initialized' | 'SPS-TimeZone' | 'Company' | 'Division' | 'BusinessLine' | 'SPS-Department' | 'Department' | 'XOM-CompanyCode' | 'Manager' | 'SPS-Dotted-line' | 'XOM-CostCenter' | 'SPS-HireDate' | 'AboutMe' | 'SPS-Responsibility' | 'SPS-PastProjects' | 'WorkHistory' | 'SPS-Skills' | 'SPS-Interests' | 'SPS-School' | 'SPS-Birthday' | 'WebSite' | 'PersonalSpace' | 'PublicSiteRedirect' | 'QuickLinks' | 'SPS-DataSource' | 'SPS-Memberof' | 'SPS-Peers' | 'SPS-MySiteUpgrade' | 'SPS-DontSuggestList' | 'SPS-ProxyAddresses' | 'SPS-LastColleagueAdded' | 'SPS-OWAUrl' | 'SPS-ResourceSID' | 'SPS-ResourceAccountName' | 'SPS-MasterAccountName' | 'SPS-DistinguishedName' | 'SPS-SourceObjectDN' | 'SPS-LastKeywordAdded' | 'SPS-StatusNotes' | 'SPS-DisplayOrder' | 'SPS-ClaimID' | 'SPS-ClaimProviderID' | 'SPS-ClaimProviderType' | 'SPS-SavedAccountName' | 'SPS-SavedSID' | 'SPS-ObjectExists' | 'SPS-PersonalSiteCapabilities' | 'SPS-UserPrincipalName' | 'SPS-O15FirstRunExperience' | 'SPS-PersonalSiteInstantiationState' | 'SPS-PersonalSiteFirstCreationTime' | 'SPS-PersonalSiteLastCreationTime' | 'SPS-PersonalSiteNumberOfRetries' | 'SPS-PersonalSiteFirstCreationError' | 'SPS-FeedIdentifier' | 'SPS-HashTags' | 'SPS-PrivacyPeople' | 'SPS-EmailOptin' | 'SPS-PrivacyActivity' | 'SPS-PictureTimestamp' | 'SPS-PicturePlaceholderState' | 'SPS-PictureExchangeSyncState' | 'SPS-MUILanguages' | 'SPS-ContentLanguages' | 'OfficeGraphEnabled' | 'SPS-UserType' | 'SPS-HideFromAddressLists' | 'SPS-RecipientTypeDetails' | 'DelveFlags' | 'PulseMRUPeople' | 'msOnline-ObjectId' | 'SPS-PointPublishingUrl' | 'SPS-TenantInstanceId' | 'SPS-SharePointHomeExperienceState' | 'SPS-MultiGeoFlags' | 'PreferredDataLocation' | 'PrivacyNotified' | 'PrivacyNotifiedDate' | 'O365' | 'O365MigrationDate';
168
+ export declare type UserProfile = {
169
+ AccountName: string;
170
+ Country: string;
171
+ DisplayName: string;
172
+ Email: string;
173
+ ExtendedManagers: {
174
+ results: string[];
175
+ __metadata: Metadata;
176
+ };
177
+ ExtendedReports: {
178
+ results: string[];
179
+ __metadata: Metadata;
180
+ };
181
+ FirstName: string;
182
+ IsFollowed: boolean;
183
+ LastName: string;
184
+ PersonalUrl: string;
185
+ PictureUrl: string;
186
+ Title: string;
187
+ UserName: string;
188
+ UserProfileProperties: {
189
+ results: {
190
+ Key: UserProfilePropKey;
191
+ Value: string;
192
+ ValueType: string;
193
+ __metadata: {
194
+ type: string;
195
+ };
196
+ }[];
197
+ };
198
+ UserUrl: string;
199
+ __metadata: Metadata;
200
+ };
201
+ export {};
package/package.json ADDED
@@ -0,0 +1,47 @@
1
+ {
2
+ "version": "0.1.9-beta.0",
3
+ "license": "MIT",
4
+ "main": "dist/index.js",
5
+ "typings": "dist/index.d.ts",
6
+ "files": [
7
+ "dist",
8
+ "src"
9
+ ],
10
+ "engines": {
11
+ "node": ">=22"
12
+ },
13
+ "scripts": {
14
+ "start": "tsdx watch",
15
+ "build": "tsdx build",
16
+ "test": "tsdx test",
17
+ "lint": "tsdx lint",
18
+ "prepare": "tsdx build",
19
+ "size": "size-limit",
20
+ "analyze": "size-limit --why"
21
+ },
22
+ "husky": {
23
+ "hooks": {
24
+ "pre-commit": "tsdx lint"
25
+ }
26
+ },
27
+ "prettier": {
28
+ "semi": true,
29
+ "singleQuote": true,
30
+ "trailingComma": "es5"
31
+ },
32
+ "name": "@lindle/sharepoint_requests",
33
+ "author": "Hoang Linh <linh.hoang@outlook.cz>",
34
+ "module": "dist/sharepoint_requests.esm.js",
35
+ "devDependencies": {
36
+ "@size-limit/preset-small-lib": "^11.1.4",
37
+ "husky": "^9.1.4",
38
+ "size-limit": "^11.1.4",
39
+ "tsdx": "^0.14.1",
40
+ "tslib": "^2.6.3",
41
+ "typescript": "^3.9.10"
42
+ },
43
+ "dependencies": {
44
+ "axios": "^1.7.4",
45
+ "dotenv": "^16.4.7"
46
+ }
47
+ }
package/src/index.ts ADDED
@@ -0,0 +1,28 @@
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 };