@lindle/sharepoint_requests 0.1.15 → 0.1.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t,e=require("axios"),n=(t=e)&&"object"==typeof t&&"default"in t?t.default:t;function r(t,e,n,r,i,a,s){try{var o=t[a](s),u=o.value}catch(t){return void n(t)}o.done?e(u):Promise.resolve(u).then(r,i)}function i(t){return function(){var e=this,n=arguments;return new Promise((function(i,a){var s=t.apply(e,n);function o(t){r(s,i,a,o,u,"next",t)}function u(t){r(s,i,a,o,u,"throw",t)}o(void 0)}))}}function a(){return(a=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)({}).hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t}).apply(null,arguments)}function s(){var t,e,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",i=n.toStringTag||"@@toStringTag";function a(n,r,i,a){var s=Object.create((r&&r.prototype instanceof c?r:c).prototype);return o(s,"_invoke",function(n,r,i){var a,s,o,c=0,l=i||[],p=!1,f={p:0,n:0,v:t,a:h,f:h.bind(t,4),d:function(e,n){return a=e,s=0,o=t,f.n=n,u}};function h(n,r){for(s=n,o=r,e=0;!p&&c&&!i&&e<l.length;e++){var i,a=l[e],h=f.p,d=a[2];n>3?(i=d===r)&&(o=a[(s=a[4])?5:(s=3,3)],a[4]=a[5]=t):a[0]<=h&&((i=n<2&&h<a[1])?(s=0,f.v=r,f.n=a[1]):h<d&&(i=n<3||a[0]>r||r>d)&&(a[4]=n,a[5]=r,f.n=d,s=0))}if(i||n>1)return u;throw p=!0,r}return function(i,l,d){if(c>1)throw TypeError("Generator is already running");for(p&&1===l&&h(l,d),s=l,o=d;(e=s<2?t:o)||!p;){a||(s?s<3?(s>1&&(f.n=-1),h(s,o)):f.n=o:f.v=o);try{if(c=2,a){if(s||(i="next"),e=a[i]){if(!(e=e.call(a,o)))throw TypeError("iterator result is not an object");if(!e.done)return e;o=e.value,s<2&&(s=0)}else 1===s&&(e=a.return)&&e.call(a),s<2&&(o=TypeError("The iterator does not provide a '"+i+"' method"),s=1);a=t}else if((e=(p=f.n<0)?o:n.call(r,f))!==u)break}catch(e){a=t,s=1,o=e}finally{c=1}}return{value:e,done:p}}}(n,i,a),!0),s}var u={};function c(){}function l(){}function p(){}e=Object.getPrototypeOf;var f=[][r]?e(e([][r]())):(o(e={},r,(function(){return this})),e),h=p.prototype=c.prototype=Object.create(f);function d(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,p):(t.__proto__=p,o(t,i,"GeneratorFunction")),t.prototype=Object.create(h),t}return l.prototype=p,o(h,"constructor",p),o(p,"constructor",l),l.displayName="GeneratorFunction",o(p,i,"GeneratorFunction"),o(h),o(h,i,"Generator"),o(h,r,(function(){return this})),o(h,"toString",(function(){return"[object Generator]"})),(s=function(){return{w:a,m:d}})()}function o(t,e,n,r){var i=Object.defineProperty;try{i({},"",{})}catch(t){i=0}(o=function(t,e,n,r){function a(e,n){o(t,e,(function(t){return this._invoke(e,n,t)}))}e?i?i(t,e,{value:n,enumerable:!r,configurable:!r,writable:!r}):t[e]=n:(a("next",0),a("throw",1),a("return",2))})(t,e,n,r)}var u={headers:{Accept:"application/json; odata=verbose","Content-Type":"application/json; odata=verbose"},timeout:15e3,withCredentials:!0};function c(t,e){return l.apply(this,arguments)}function l(){return(l=i(s().m((function t(e,n){var r,i;return s().w((function(t){for(;;)switch(t.p=t.n){case 0:return t.p=0,t.n=1,e.post(n+"_api/contextinfo");case 1:if(i=null==(r=t.v.data)||null==(r=r.d)||null==(r=r.GetContextWebInformation)?void 0:r.FormDigestValue){t.n=2;break}throw new Error("Invalid response structure: Missing FormDigestValue");case 2:return t.a(2,i);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,null,[[0,3]])})))).apply(this,arguments)}function p(t){return f.apply(this,arguments)}function f(){return(f=i(s().m((function t(e){return s().w((function(t){for(;;)switch(t.n){case 0:if(!e.resolveListItemEntityType){t.n=1;break}return t.a(2,e.resolveListItemEntityType());case 1:if(!e.listItemEntityTypeFullName){t.n=2;break}return t.a(2,e.listItemEntityTypeFullName);case 2:return t.a(2,"SP.Data."+e.listName+"ListItem")}}),t)})))).apply(this,arguments)}function h(){return(h=i(s().m((function t(e,n){var r,i,o,u,l;return s().w((function(t){for(;;)switch(t.n){case 0:return t.n=1,p(e);case 1:return r=a({},n,{__metadata:{type:t.v}}),i=e,o=e.endpoint,u=JSON.stringify(r),t.n=2,c(e.instance,e.baseURL);case 2:return l={"X-RequestDigest":t.v},t.n=3,i.instance.call(i,{url:o,method:"POST",data:u,headers:l});case 3:return t.a(2,t.v)}}),t)})))).apply(this,arguments)}function d(){return(d=i(s().m((function t(e,n){var r,i,a,o,u;return s().w((function(t){for(;;)switch(t.n){case 0:return i=e.instance,a="_api/lists/getbytitle('"+e.listName+"')/items("+n.itemId+")/AttachmentFiles/add(FileName='"+(r=n.file).name+"')",o=r,t.n=1,c(e.instance,e.baseURL);case 1:return u={"X-RequestDigest":t.v},t.n=2,i.post.call(i,a,o,{headers:u,withCredentials:!0});case 2:return t.a(2,t.v)}}),t)})))).apply(this,arguments)}function y(){return(y=i(s().m((function t(e,n){return s().w((function(t){for(;;)switch(t.n){case 0:return t.n=1,e.instance.delete(e.endpoint+"("+n+")");case 1:return t.a(2,t.v)}}),t)})))).apply(this,arguments)}function m(t,e){void 0===e&&(e=",");var n=t||{},r=n.expand,i=n.orderBy,a=n.limit,s=n.filter,o=n.cols,u=n.skip;return{$expand:Array.isArray(r)?r.join(","):r,$top:a,$skip:u,$select:Array.isArray(o)?o.join(","):o,$filter:s,$orderby:Array.isArray(i)?i.join(e):i}}function v(t,e){Object.entries(e).forEach((function(e){var n=e[1];null!=n&&t.searchParams.append(e[0],String(n))}))}function b(){return(b=i(s().m((function t(e,n){var r,i,a;return s().w((function(t){for(;;)switch(t.n){case 0:return r=m(n,","),v(i=new URL(e.endpoint,e.instance.defaults.baseURL),r),t.n=1,e.instance.request({url:e.endpoint,method:"GET",params:r});case 1:return a=t.v,t.a(2,{data:null!=n&&n.limit||!a.data.d.results?a.data.d:a.data.d.results,meta:{url:i}})}}),t)})))).apply(this,arguments)}function w(t,e){return g.apply(this,arguments)}function g(){return(g=i(s().m((function t(e,n){var r,i,a,o,u,c,l,p,f,h,d,y;return s().w((function(t){for(;;)switch(t.n){case 0:return u=m(n," "),v(c=new URL(e.endpoint,e.instance.defaults.baseURL),u),t.n=1,e.instance.request({url:e.endpoint,method:"GET",params:u});case 1:return p=null!=(r=null!=(i=null==(a=(l=t.v).data)||null==(a=a.d)?void 0:a.results)?i:null==(o=l.data)?void 0:o.d)?r:l.data,h=(f=null==n?void 0:n.cols)?(Array.isArray(f)?f:[f]).filter(Boolean):void 0,d=function(t){return h&&t&&"object"==typeof t?h.reduce((function(e,n){return n in t&&(e[n]=t[n]),e}),{}):t},y=Array.isArray(p)?p.map(d):d(p),t.a(2,{data:y,meta:{url:c}})}}),t)})))).apply(this,arguments)}function N(t,e,n){return T.apply(this,arguments)}function T(){return(T=i(s().m((function t(e,n,r){var i,a;return s().w((function(t){for(;;)switch(t.n){case 0:return i=m(r,","),t.n=1,e.get(n,{params:i});case 1:if(!(a=t.v.data)){t.n=2;break}return t.a(2,a.d.results?a.d.results:a.d);case 2:return t.a(2)}}),t)})))).apply(this,arguments)}function E(t){return P.apply(this,arguments)}function P(){return(P=i(s().m((function t(e){return s().w((function(t){for(;;)switch(t.n){case 0:if(!e.resolveListItemEntityType){t.n=1;break}return t.a(2,e.resolveListItemEntityType());case 1:if(!e.listItemEntityTypeFullName){t.n=2;break}return t.a(2,e.listItemEntityTypeFullName);case 2:return t.a(2,"SP.Data."+e.listName+"ListItem")}}),t)})))).apply(this,arguments)}function F(){return(F=i(s().m((function t(e,n,r,i){var o,u,l,p;return s().w((function(t){for(;;)switch(t.n){case 0:if(p=i){t.n=2;break}return t.n=1,c(e.instance,e.baseURL);case 1:p=t.v;case 2:return o=p,t.n=3,E(e);case 3:return u=a({},r,{__metadata:{type:t.v}}),l="_api/lists/getbytitle('"+e.listName+"')/getItemById('"+n+"')",t.n=4,e.instance({url:l,method:"POST",data:JSON.stringify(u),headers:{"X-RequestDigest":o,"IF-MATCH":"*","X-Http-Method":"PATCH"}});case 4:return t.a(2,t.v)}}),t)})))).apply(this,arguments)}function I(t){var e=Array.isArray(t)?t:t.split("/").filter(Boolean);return e.length?e.map((function(t){if(!t.trim())throw new Error("Folder path segments cannot be empty.");var e=t.replace(/'/g,"''");return"/Folders('"+encodeURIComponent(e)+"')"})).join(""):""}function L(){return(L=i(s().m((function t(e,n){var r,i,a,o,u,l,p;return s().w((function(t){for(;;)switch(t.n){case 0:if(r=n.file,i=n.folderPath,o=void 0===(a=n.overwrite)||a,"2013"===e.sharepointVersion){t.n=1;break}throw new Error("uploadFile is only supported for SharePoint 2013 REST endpoints.");case 1:if(null!=r&&r.name){t.n=2;break}throw new Error("A file with a valid name must be provided.");case 2:return u="_api/web/lists/getbytitle('"+e.listName+"')/RootFolder",i&&(u+=I(i)),l=encodeURIComponent(r.name.replace(/'/g,"''")),u+="/Files/add(url='"+l+"',overwrite="+(o?"true":"false")+")",t.n=3,c(e.instance,e.baseURL);case 3:return p=t.v,t.n=4,e.instance.post(u,r,{headers:{"Content-Type":r.type||"application/octet-stream","X-RequestDigest":p},withCredentials:!0});case 4:return t.a(2,t.v)}}),t)})))).apply(this,arguments)}function U(){return(U=i(s().m((function t(e,n){var r,i,a,o,u,l,p,f;return s().w((function(t){for(;;)switch(t.n){case 0:return r=n.From,i=n.To,a=n.Subject,o=n.Body,u=e,l="_api/SP.Utilities.Utility.SendEmail",t.n=1,c(e.instance,e.baseURL);case 1:return p={"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(i)?i:[i]},Body:o,Subject:a}}),t.n=2,u.instance.call(u,{url:l,method:"POST",headers:p,data:f});case 2:return t.a(2,t.v)}}),t)})))).apply(this,arguments)}function _(){return(_=i(s().m((function t(e,n,r){var i;return s().w((function(t){for(;;)switch(t.n){case 0:return i={queryParams:{__metadata:{type:"SP.UI.ApplicationPages.ClientPeoplePickerQueryParameters"},AllowEmailAddresses:!0,AllowMultipleEntities:!1,AllUrlZones:!1,MaximumEntitySuggestions:10,PrincipalSource:15,PrincipalType:1,QueryString:n}},r&&(i.queryParams.RequiredProperties=[r]),t.n=1,e.post("_api/SP.UI.ApplicationPages.ClientPeoplePickerWebServiceInterface.clientPeoplePickerSearchUser",JSON.stringify(i),{headers:{Accept:"application/json; odata=verbose","Content-Type":"application/json;odata=verbose"}});case 1:return t.a(2,t.v.data.d.ClientPeoplePickerSearchUser)}}),t)})))).apply(this,arguments)}function S(){return(S=i(s().m((function t(e){var n;return s().w((function(t){for(;;)switch(t.n){case 0:return t.n=1,e.get("_api/sp.userprofiles.peoplemanager/getmyproperties");case 1:return(n=(n=t.v).data.d).UserProfileProperties.results.forEach((function(t){"FirstName"===t.Key&&(n.FirstName=t.Value),"LastName"===t.Key&&(n.LastName=t.Value),"Country"===t.Key&&(n.Country=t.Value),"UserName"===t.Key&&(n.UserName=t.Value)})),t.a(2,n)}}),t)})))).apply(this,arguments)}function R(){return(R=i(s().m((function t(e,n){var r;return s().w((function(t){for(;;)switch(t.n){case 0:return r="_api/web/siteusers?&$filter=substringof('"+n+"', Title) or substringof('"+n+"', LoginName) or substringof('"+n+"', Email)&$top=50&$expand=Groups",t.n=1,e.get(r);case 1:return t.a(2,t.v.data.d)}}),t)})))).apply(this,arguments)}function A(t){return j.apply(this,arguments)}function j(){return(j=i(s().m((function t(e){return s().w((function(t){for(;;)switch(t.n){case 0:return t.n=1,e.get("_api/Web/RoleDefinitions");case 1:return t.a(2,t.v.data.d.results)}}),t)})))).apply(this,arguments)}function V(t){return C.apply(this,arguments)}function C(){return(C=i(s().m((function t(e){return s().w((function(t){for(;;)switch(t.n){case 0:return t.n=1,e.get("_api/Web/effectiveBasePermissions");case 1:return t.a(2,t.v.data.d.EffectiveBasePermissions)}}),t)})))).apply(this,arguments)}function O(){return(O=i(s().m((function t(e){var n,r;return s().w((function(t){for(;;)switch(t.n){case 0:return t.n=1,V(e.instance);case 1:return n=t.v.High,t.n=2,A(e.instance);case 2:return r=t.v.find((function(t){return t.BasePermissions.High===n})),t.a(2,r)}}),t)})))).apply(this,arguments)}var k=function(){function t(t,r){var i=this;this.baseURL=void 0,this.endpoint=void 0,this.listName=void 0,this.instance=void 0,this.sharepointVersion=void 0,this.listItemEntityTypeFullName=void 0,this.lists={get:function(){return i.endpoint="_api/web/lists",i.sharepointVersion="2013",w(i.getContext())}},this.folders={get:function(){i.endpoint="_api/web/folders",i.sharepointVersion="2013",w(i.getContext())}},this.email={send:function(t){return i.sharepointVersion="2013",function(t,e){return U.apply(this,arguments)}(i.getContext(),t)}},this.user={properties:function(){return{get:function(){return i.sharepointVersion="2013",function(t){return S.apply(this,arguments)}(i.instance)}}},searchSiteUser:function(t){return i.sharepointVersion="2013",function(t,e){return R.apply(this,arguments)}(i.instance,t)},searchUser:function(t,e){return i.sharepointVersion="2013",function(t,e,n){return _.apply(this,arguments)}(i.instance,t,e)},current:function(){return i.endpoint="_api/web/currentUser",i.sharepointVersion="2013",{get:function(){return N(i.instance,i.endpoint)}}},currentPermission:function(){return{get:function(){return i.sharepointVersion="2013",function(t){return O.apply(this,arguments)}(i.getContext())}}}},this.baseURL=t.endsWith("/")?t:t+"/",this.endpoint="/api",this.listName="",this.instance=function(t,r){var i,s=(null==r?void 0:r.headers)instanceof e.AxiosHeaders?r.headers.toJSON():null!=(i=null==r?void 0:r.headers)?i:{};return n.create(a({},u,r,{baseURL:t,headers:a({},u.headers,s)}))}(this.baseURL,r),this.sharepointVersion="2013",this.listItemEntityTypeFullName=void 0}var r=t.prototype;return r.getContext=function(){return{instance:this.instance,baseURL:this.baseURL,endpoint:this.endpoint,listName:this.listName,sharepointVersion:this.sharepointVersion,listItemEntityTypeFullName:this.listItemEntityTypeFullName,resolveListItemEntityType:this.resolveListItemEntityTypeFullName.bind(this)}},r.resolveListItemEntityTypeFullName=function(){var t=i(s().m((function t(){var e,n,r,i,a;return s().w((function(t){for(;;)switch(t.n){case 0:if(!this.listItemEntityTypeFullName){t.n=1;break}return t.a(2,this.listItemEntityTypeFullName);case 1:if(this.listName){t.n=2;break}throw new Error("List name is not set.");case 2:if("2013"===this.sharepointVersion){t.n=3;break}return this.listItemEntityTypeFullName="SP.Data."+this.listName+"ListItem",t.a(2,this.listItemEntityTypeFullName);case 3:return t.n=4,this.instance.get("_api/web/lists/GetByTitle('"+this.listName+"')?$select=ListItemEntityTypeFullName");case 4:if((a=null!=(e=null==(n=(i=t.v).data)||null==(n=n.d)?void 0:n.ListItemEntityTypeFullName)?e:null==(r=i.data)?void 0:r.ListItemEntityTypeFullName)&&"string"==typeof a){t.n=5;break}throw new Error('Unable to resolve ListItemEntityTypeFullName for list "'+this.listName+'".');case 5:return this.listItemEntityTypeFullName=a,t.a(2,this.listItemEntityTypeFullName)}}),t,this)})));return function(){return t.apply(this,arguments)}}(),r.list=function(t){return this.listName=t,this.endpoint="_vti_bin/ListData.svc/"+t,this.sharepointVersion="2010",this.listItemEntityTypeFullName=void 0,this},r.getDigest=function(){return c(this.instance,this.baseURL)},r.from=function(t,e){var n=this,r=null!=e?e:"2013";this.listName=t,this.sharepointVersion=r,this.listItemEntityTypeFullName=void 0,this.endpoint="2013"===r?"_api/web/lists/GetByTitle('"+this.listName+"')/items":"_vti_bin/ListData.svc/"+t;var i=function(){return n.getContext()};return{create:function(t){return function(t,e){return h.apply(this,arguments)}(i(),t)},get:function(t){return w(i(),t)},update:function(t,e,n){return function(t,e,n,r){return F.apply(this,arguments)}(i(),t,e,n)},delete:function(t){return function(t,e){return y.apply(this,arguments)}(i(),t)},createFile:function(t){return function(t,e){return d.apply(this,arguments)}(i(),t)},uploadFile:function(t){return function(t,e){return L.apply(this,arguments)}(i(),t)},fields:function(t){return n.endpoint=null!=t&&t.fieldName?"_api/web/lists/GetByTitle('"+n.listName+"')/fields/getbytitle('"+t.fieldName+"')":"_api/web/lists/GetByTitle('"+n.listName+"')/fields",{get:function(){return N(n.instance,n.endpoint,t)}}}}},r.folder=function(t){var e=this,n=["Shared Documents"];return t&&(n=Array.isArray(t)?[].concat(n,t):[].concat(n,[t])),this.endpoint="_api/web/GetFolderByServerRelativeUrl('"+n.join("/")+"')",this.sharepointVersion="2013",{get:function(t){return e.endpoint+=null!=t&&t.type?"/"+t.type:"/Files",function(t,e){return b.apply(this,arguments)}(e.getContext(),t)}}},r.users=function(t){var e=this;return this.endpoint="_api/web/SiteUserInfoList/items",this.sharepointVersion="2013",{get:function(){return w(e.getContext(),t)}}},t}();exports.default=function(){function t(t){var e=t.baseURL,n=t.config;if(!e)throw new Error("A valid SharePoint URL must be provided.");return new k(e,n)}return{baseURL:function(e,n){return t({baseURL:e,config:n})},create:t}};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t,e=require("axios"),n=(t=e)&&"object"==typeof t&&"default"in t?t.default:t;function r(t,e,n,r,i,a,s){try{var o=t[a](s),u=o.value}catch(t){return void n(t)}o.done?e(u):Promise.resolve(u).then(r,i)}function i(t){return function(){var e=this,n=arguments;return new Promise((function(i,a){var s=t.apply(e,n);function o(t){r(s,i,a,o,u,"next",t)}function u(t){r(s,i,a,o,u,"throw",t)}o(void 0)}))}}function a(){return(a=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)({}).hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t}).apply(null,arguments)}function s(){var t,e,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",i=n.toStringTag||"@@toStringTag";function a(n,r,i,a){var s=Object.create((r&&r.prototype instanceof l?r:l).prototype);return o(s,"_invoke",function(n,r,i){var a,s,o,l=0,c=i||[],p=!1,f={p:0,n:0,v:t,a:d,f:d.bind(t,4),d:function(e,n){return a=e,s=0,o=t,f.n=n,u}};function d(n,r){for(s=n,o=r,e=0;!p&&l&&!i&&e<c.length;e++){var i,a=c[e],d=f.p,h=a[2];n>3?(i=h===r)&&(o=a[(s=a[4])?5:(s=3,3)],a[4]=a[5]=t):a[0]<=d&&((i=n<2&&d<a[1])?(s=0,f.v=r,f.n=a[1]):d<h&&(i=n<3||a[0]>r||r>h)&&(a[4]=n,a[5]=r,f.n=h,s=0))}if(i||n>1)return u;throw p=!0,r}return function(i,c,h){if(l>1)throw TypeError("Generator is already running");for(p&&1===c&&d(c,h),s=c,o=h;(e=s<2?t:o)||!p;){a||(s?s<3?(s>1&&(f.n=-1),d(s,o)):f.n=o:f.v=o);try{if(l=2,a){if(s||(i="next"),e=a[i]){if(!(e=e.call(a,o)))throw TypeError("iterator result is not an object");if(!e.done)return e;o=e.value,s<2&&(s=0)}else 1===s&&(e=a.return)&&e.call(a),s<2&&(o=TypeError("The iterator does not provide a '"+i+"' method"),s=1);a=t}else if((e=(p=f.n<0)?o:n.call(r,f))!==u)break}catch(e){a=t,s=1,o=e}finally{l=1}}return{value:e,done:p}}}(n,i,a),!0),s}var u={};function l(){}function c(){}function p(){}e=Object.getPrototypeOf;var f=[][r]?e(e([][r]())):(o(e={},r,(function(){return this})),e),d=p.prototype=l.prototype=Object.create(f);function h(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,p):(t.__proto__=p,o(t,i,"GeneratorFunction")),t.prototype=Object.create(d),t}return c.prototype=p,o(d,"constructor",p),o(p,"constructor",c),c.displayName="GeneratorFunction",o(p,i,"GeneratorFunction"),o(d),o(d,i,"Generator"),o(d,r,(function(){return this})),o(d,"toString",(function(){return"[object Generator]"})),(s=function(){return{w:a,m:h}})()}function o(t,e,n,r){var i=Object.defineProperty;try{i({},"",{})}catch(t){i=0}(o=function(t,e,n,r){function a(e,n){o(t,e,(function(t){return this._invoke(e,n,t)}))}e?i?i(t,e,{value:n,enumerable:!r,configurable:!r,writable:!r}):t[e]=n:(a("next",0),a("throw",1),a("return",2))})(t,e,n,r)}var u={headers:{Accept:"application/json; odata=verbose","Content-Type":"application/json; odata=verbose"},timeout:15e3,withCredentials:!0};function l(t,e){return c.apply(this,arguments)}function c(){return(c=i(s().m((function t(e,n){var r,i;return s().w((function(t){for(;;)switch(t.p=t.n){case 0:return t.p=0,t.n=1,e.post(n+"_api/contextinfo");case 1:if(i=null==(r=t.v.data)||null==(r=r.d)||null==(r=r.GetContextWebInformation)?void 0:r.FormDigestValue){t.n=2;break}throw new Error("Invalid response structure: Missing FormDigestValue");case 2:return t.a(2,i);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,null,[[0,3]])})))).apply(this,arguments)}function p(t){return f.apply(this,arguments)}function f(){return(f=i(s().m((function t(e){return s().w((function(t){for(;;)switch(t.n){case 0:if(!e.resolveListItemEntityType){t.n=1;break}return t.a(2,e.resolveListItemEntityType());case 1:if(!e.listItemEntityTypeFullName){t.n=2;break}return t.a(2,e.listItemEntityTypeFullName);case 2:return t.a(2,"SP.Data."+e.listName+"ListItem")}}),t)})))).apply(this,arguments)}function d(){return(d=i(s().m((function t(e,n){var r,i,o,u,c;return s().w((function(t){for(;;)switch(t.n){case 0:return t.n=1,p(e);case 1:return r=a({},n,{__metadata:{type:t.v}}),i=e,o=e.endpoint,u=JSON.stringify(r),t.n=2,l(e.instance,e.baseURL);case 2:return c={"X-RequestDigest":t.v},t.n=3,i.instance.call(i,{url:o,method:"POST",data:u,headers:c});case 3:return t.a(2,t.v)}}),t)})))).apply(this,arguments)}function h(){return(h=i(s().m((function t(e,n){var r,i,a,o,u;return s().w((function(t){for(;;)switch(t.n){case 0:return i=e.instance,a="_api/lists/getbytitle('"+e.listName+"')/items("+n.itemId+")/AttachmentFiles/add(FileName='"+(r=n.file).name+"')",o=r,t.n=1,l(e.instance,e.baseURL);case 1:return u={"X-RequestDigest":t.v},t.n=2,i.post.call(i,a,o,{headers:u,withCredentials:!0});case 2:return t.a(2,t.v)}}),t)})))).apply(this,arguments)}function y(){return(y=i(s().m((function t(e,n){return s().w((function(t){for(;;)switch(t.n){case 0:return t.n=1,e.instance.delete(e.endpoint+"("+n+")");case 1:return t.a(2,t.v)}}),t)})))).apply(this,arguments)}function m(t){if(!t)return"";var e=Array.isArray(t)?t:t.split("/").filter(Boolean);return e.length?e.map((function(t){if(!t.trim())throw new Error("Folder path segments cannot be empty.");var e=t.replace(/'/g,"''");return"/Folders('"+encodeURIComponent(e)+"')"})).join(""):""}function v(t){if(!t.trim())throw new Error("File name cannot be empty.");return encodeURIComponent(t.replace(/'/g,"''"))}function b(){return(b=i(s().m((function t(e,n){var r,i,a,o,u;return s().w((function(t){for(;;)switch(t.n){case 0:if(r=n.fileName,i=n.folderPath,"2013"===e.sharepointVersion){t.n=1;break}throw new Error("deleteFile is only supported for SharePoint 2013 REST endpoints.");case 1:return a=v(r),o="_api/web/lists/getbytitle('"+e.listName+"')/RootFolder",o+=m(i),o+="/Files('"+a+"')",t.n=2,l(e.instance,e.baseURL);case 2:return u=t.v,t.n=3,e.instance.post(o,void 0,{headers:{"X-HTTP-Method":"DELETE","IF-MATCH":"*","X-RequestDigest":u},withCredentials:!0});case 3:return t.a(2,t.v)}}),t)})))).apply(this,arguments)}function w(t,e){void 0===e&&(e=",");var n=t||{},r=n.expand,i=n.orderBy,a=n.limit,s=n.filter,o=n.cols,u=n.skip;return{$expand:Array.isArray(r)?r.join(","):r,$top:a,$skip:u,$select:Array.isArray(o)?o.join(","):o,$filter:s,$orderby:Array.isArray(i)?i.join(e):i}}function g(t,e){Object.entries(e).forEach((function(e){var n=e[1];null!=n&&t.searchParams.append(e[0],String(n))}))}function T(){return(T=i(s().m((function t(e,n){var r,i,a;return s().w((function(t){for(;;)switch(t.n){case 0:return r=w(n,","),g(i=new URL(e.endpoint,e.instance.defaults.baseURL),r),t.n=1,e.instance.request({url:e.endpoint,method:"GET",params:r});case 1:return a=t.v,t.a(2,{data:null!=n&&n.limit||!a.data.d.results?a.data.d:a.data.d.results,meta:{url:i}})}}),t)})))).apply(this,arguments)}function N(t,e){return E.apply(this,arguments)}function E(){return(E=i(s().m((function t(e,n){var r,i,a,o,u,l,c,p,f,d,h,y;return s().w((function(t){for(;;)switch(t.n){case 0:return u=w(n," "),g(l=new URL(e.endpoint,e.instance.defaults.baseURL),u),t.n=1,e.instance.request({url:e.endpoint,method:"GET",params:u});case 1:return p=null!=(r=null!=(i=null==(a=(c=t.v).data)||null==(a=a.d)?void 0:a.results)?i:null==(o=c.data)?void 0:o.d)?r:c.data,d=(f=null==n?void 0:n.cols)?(Array.isArray(f)?f:[f]).filter(Boolean):void 0,h=function(t){return d&&t&&"object"==typeof t?d.reduce((function(e,n){return n in t&&(e[n]=t[n]),e}),{}):t},y=Array.isArray(p)?p.map(h):h(p),t.a(2,{data:y,meta:{url:l}})}}),t)})))).apply(this,arguments)}function F(t,e,n){return I.apply(this,arguments)}function I(){return(I=i(s().m((function t(e,n,r){var i,a;return s().w((function(t){for(;;)switch(t.n){case 0:return i=w(r,","),t.n=1,e.get(n,{params:i});case 1:if(!(a=t.v.data)){t.n=2;break}return t.a(2,a.d.results?a.d.results:a.d);case 2:return t.a(2)}}),t)})))).apply(this,arguments)}function P(t){return L.apply(this,arguments)}function L(){return(L=i(s().m((function t(e){return s().w((function(t){for(;;)switch(t.n){case 0:if(!e.resolveListItemEntityType){t.n=1;break}return t.a(2,e.resolveListItemEntityType());case 1:if(!e.listItemEntityTypeFullName){t.n=2;break}return t.a(2,e.listItemEntityTypeFullName);case 2:return t.a(2,"SP.Data."+e.listName+"ListItem")}}),t)})))).apply(this,arguments)}function _(){return(_=i(s().m((function t(e,n,r,i){var o,u,c,p;return s().w((function(t){for(;;)switch(t.n){case 0:if(p=i){t.n=2;break}return t.n=1,l(e.instance,e.baseURL);case 1:p=t.v;case 2:return o=p,t.n=3,P(e);case 3:return u=a({},r,{__metadata:{type:t.v}}),c="_api/lists/getbytitle('"+e.listName+"')/getItemById('"+n+"')",t.n=4,e.instance({url:c,method:"POST",data:JSON.stringify(u),headers:{"X-RequestDigest":o,"IF-MATCH":"*","X-Http-Method":"PATCH"}});case 4:return t.a(2,t.v)}}),t)})))).apply(this,arguments)}function S(){return(S=i(s().m((function t(e,n){var r,i,a,o,u,c,p,f,d,h,y,b,w,g,T,N,E,F,I,P,L,_;return s().w((function(t){for(;;)switch(t.n){case 0:if(p=n.file,f=n.folderPath,h=void 0===(d=n.overwrite)||d,"2013"===e.sharepointVersion){t.n=1;break}throw new Error("uploadFile is only supported for SharePoint 2013 REST endpoints.");case 1:if(null!=p&&p.name){t.n=2;break}throw new Error("A file with a valid name must be provided.");case 2:return y="_api/web/lists/getbytitle('"+e.listName+"')/RootFolder",y+=m(f),b=v(p.name),y+="/Files/add(url='"+b+"',overwrite="+(h?"true":"false")+")?$expand=ListItemAllFields&$select=ListItemAllFields/Id",t.n=3,l(e.instance,e.baseURL);case 3:return w=t.v,t.n=4,e.instance.post(y,p,{headers:{"Content-Type":p.type||"application/octet-stream","X-RequestDigest":w},withCredentials:!0});case 4:if(T=null!=(r=null==(i=(g=t.v).data)?void 0:i.d)?r:g.data,void 0===(E=null!=(a=null!=(o=null!=(u=null==(N=null==T?void 0:T.ListItemAllFields)?void 0:N.Id)?u:null==N?void 0:N.ID)?o:null==T?void 0:T.Id)?a:null==T?void 0:T.ID)){t.n=5;break}g.itemId=E,t.n=7;break;case 5:if(null==N||null==(c=N.__deferred)||!c.uri){t.n=7;break}return t.n=6,e.instance.get(N.__deferred.uri);case 6:void 0!==(_=null!=(F=null==(I=(L=t.v).data)||null==(I=I.d)?void 0:I.Id)?F:null==(P=L.data)?void 0:P.Id)&&(g.itemId=_);case 7:return t.a(2,g)}}),t)})))).apply(this,arguments)}function U(){return(U=i(s().m((function t(e,n){var r,i,a,o,u,c,p,f;return s().w((function(t){for(;;)switch(t.n){case 0:return r=n.From,i=n.To,a=n.Subject,o=n.Body,u=e,c="_api/SP.Utilities.Utility.SendEmail",t.n=1,l(e.instance,e.baseURL);case 1:return p={"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(i)?i:[i]},Body:o,Subject:a}}),t.n=2,u.instance.call(u,{url:c,method:"POST",headers:p,data:f});case 2:return t.a(2,t.v)}}),t)})))).apply(this,arguments)}function R(){return(R=i(s().m((function t(e,n,r){var i;return s().w((function(t){for(;;)switch(t.n){case 0:return i={queryParams:{__metadata:{type:"SP.UI.ApplicationPages.ClientPeoplePickerQueryParameters"},AllowEmailAddresses:!0,AllowMultipleEntities:!1,AllUrlZones:!1,MaximumEntitySuggestions:10,PrincipalSource:15,PrincipalType:1,QueryString:n}},r&&(i.queryParams.RequiredProperties=[r]),t.n=1,e.post("_api/SP.UI.ApplicationPages.ClientPeoplePickerWebServiceInterface.clientPeoplePickerSearchUser",JSON.stringify(i),{headers:{Accept:"application/json; odata=verbose","Content-Type":"application/json;odata=verbose"}});case 1:return t.a(2,t.v.data.d.ClientPeoplePickerSearchUser)}}),t)})))).apply(this,arguments)}function A(){return(A=i(s().m((function t(e){var n;return s().w((function(t){for(;;)switch(t.n){case 0:return t.n=1,e.get("_api/sp.userprofiles.peoplemanager/getmyproperties");case 1:return(n=(n=t.v).data.d).UserProfileProperties.results.forEach((function(t){"FirstName"===t.Key&&(n.FirstName=t.Value),"LastName"===t.Key&&(n.LastName=t.Value),"Country"===t.Key&&(n.Country=t.Value),"UserName"===t.Key&&(n.UserName=t.Value)})),t.a(2,n)}}),t)})))).apply(this,arguments)}function j(){return(j=i(s().m((function t(e,n){var r;return s().w((function(t){for(;;)switch(t.n){case 0:return r="_api/web/siteusers?&$filter=substringof('"+n+"', Title) or substringof('"+n+"', LoginName) or substringof('"+n+"', Email)&$top=50&$expand=Groups",t.n=1,e.get(r);case 1:return t.a(2,t.v.data.d)}}),t)})))).apply(this,arguments)}function C(t){return V.apply(this,arguments)}function V(){return(V=i(s().m((function t(e){return s().w((function(t){for(;;)switch(t.n){case 0:return t.n=1,e.get("_api/Web/RoleDefinitions");case 1:return t.a(2,t.v.data.d.results)}}),t)})))).apply(this,arguments)}function k(t){return O.apply(this,arguments)}function O(){return(O=i(s().m((function t(e){return s().w((function(t){for(;;)switch(t.n){case 0:return t.n=1,e.get("_api/Web/effectiveBasePermissions");case 1:return t.a(2,t.v.data.d.EffectiveBasePermissions)}}),t)})))).apply(this,arguments)}function x(){return(x=i(s().m((function t(e){var n,r;return s().w((function(t){for(;;)switch(t.n){case 0:return t.n=1,k(e.instance);case 1:return n=t.v.High,t.n=2,C(e.instance);case 2:return r=t.v.find((function(t){return t.BasePermissions.High===n})),t.a(2,r)}}),t)})))).apply(this,arguments)}var D=function(){function t(t,r){var i=this;this.baseURL=void 0,this.endpoint=void 0,this.listName=void 0,this.instance=void 0,this.sharepointVersion=void 0,this.listItemEntityTypeFullName=void 0,this.lists={get:function(){return i.endpoint="_api/web/lists",i.sharepointVersion="2013",N(i.getContext())}},this.folders={get:function(){i.endpoint="_api/web/folders",i.sharepointVersion="2013",N(i.getContext())}},this.email={send:function(t){return i.sharepointVersion="2013",function(t,e){return U.apply(this,arguments)}(i.getContext(),t)}},this.user={properties:function(){return{get:function(){return i.sharepointVersion="2013",function(t){return A.apply(this,arguments)}(i.instance)}}},searchSiteUser:function(t){return i.sharepointVersion="2013",function(t,e){return j.apply(this,arguments)}(i.instance,t)},searchUser:function(t,e){return i.sharepointVersion="2013",function(t,e,n){return R.apply(this,arguments)}(i.instance,t,e)},current:function(){return i.endpoint="_api/web/currentUser",i.sharepointVersion="2013",{get:function(){return F(i.instance,i.endpoint)}}},currentPermission:function(){return{get:function(){return i.sharepointVersion="2013",function(t){return x.apply(this,arguments)}(i.getContext())}}}},this.baseURL=t.endsWith("/")?t:t+"/",this.endpoint="/api",this.listName="",this.instance=function(t,r){var i,s=(null==r?void 0:r.headers)instanceof e.AxiosHeaders?r.headers.toJSON():null!=(i=null==r?void 0:r.headers)?i:{};return n.create(a({},u,r,{baseURL:t,headers:a({},u.headers,s)}))}(this.baseURL,r),this.sharepointVersion="2013",this.listItemEntityTypeFullName=void 0}var r=t.prototype;return r.getContext=function(){return{instance:this.instance,baseURL:this.baseURL,endpoint:this.endpoint,listName:this.listName,sharepointVersion:this.sharepointVersion,listItemEntityTypeFullName:this.listItemEntityTypeFullName,resolveListItemEntityType:this.resolveListItemEntityTypeFullName.bind(this)}},r.resolveListItemEntityTypeFullName=function(){var t=i(s().m((function t(){var e,n,r,i,a;return s().w((function(t){for(;;)switch(t.n){case 0:if(!this.listItemEntityTypeFullName){t.n=1;break}return t.a(2,this.listItemEntityTypeFullName);case 1:if(this.listName){t.n=2;break}throw new Error("List name is not set.");case 2:if("2013"===this.sharepointVersion){t.n=3;break}return this.listItemEntityTypeFullName="SP.Data."+this.listName+"ListItem",t.a(2,this.listItemEntityTypeFullName);case 3:return t.n=4,this.instance.get("_api/web/lists/GetByTitle('"+this.listName+"')?$select=ListItemEntityTypeFullName");case 4:if((a=null!=(e=null==(n=(i=t.v).data)||null==(n=n.d)?void 0:n.ListItemEntityTypeFullName)?e:null==(r=i.data)?void 0:r.ListItemEntityTypeFullName)&&"string"==typeof a){t.n=5;break}throw new Error('Unable to resolve ListItemEntityTypeFullName for list "'+this.listName+'".');case 5:return this.listItemEntityTypeFullName=a,t.a(2,this.listItemEntityTypeFullName)}}),t,this)})));return function(){return t.apply(this,arguments)}}(),r.list=function(t){return this.listName=t,this.endpoint="_vti_bin/ListData.svc/"+t,this.sharepointVersion="2010",this.listItemEntityTypeFullName=void 0,this},r.getDigest=function(){return l(this.instance,this.baseURL)},r.from=function(t,e){var n=this,r=null!=e?e:"2013";this.listName=t,this.sharepointVersion=r,this.listItemEntityTypeFullName=void 0,this.endpoint="2013"===r?"_api/web/lists/GetByTitle('"+this.listName+"')/items":"_vti_bin/ListData.svc/"+t;var i=function(){return n.getContext()};return{create:function(t){return function(t,e){return d.apply(this,arguments)}(i(),t)},get:function(t){return N(i(),t)},update:function(t,e,n){return function(t,e,n,r){return _.apply(this,arguments)}(i(),t,e,n)},delete:function(t){return function(t,e){return y.apply(this,arguments)}(i(),t)},createFile:function(t){return function(t,e){return h.apply(this,arguments)}(i(),t)},uploadFile:function(t){return function(t,e){return S.apply(this,arguments)}(i(),t)},deleteFile:function(t){return function(t,e){return b.apply(this,arguments)}(i(),t)},fields:function(t){return n.endpoint=null!=t&&t.fieldName?"_api/web/lists/GetByTitle('"+n.listName+"')/fields/getbytitle('"+t.fieldName+"')":"_api/web/lists/GetByTitle('"+n.listName+"')/fields",{get:function(){return F(n.instance,n.endpoint,t)}}}}},r.folder=function(t){var e=this,n=["Shared Documents"];return t&&(n=Array.isArray(t)?[].concat(n,t):[].concat(n,[t])),this.endpoint="_api/web/GetFolderByServerRelativeUrl('"+n.join("/")+"')",this.sharepointVersion="2013",{get:function(t){return e.endpoint+=null!=t&&t.type?"/"+t.type:"/Files",function(t,e){return T.apply(this,arguments)}(e.getContext(),t)}}},r.users=function(t){var e=this;return this.endpoint="_api/web/SiteUserInfoList/items",this.sharepointVersion="2013",{get:function(){return N(e.getContext(),t)}}},t}();exports.default=function(){function t(t){var e=t.baseURL,n=t.config;if(!e)throw new Error("A valid SharePoint URL must be provided.");return new D(e,n)}return{baseURL:function(e,n){return t({baseURL:e,config:n})},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/internal/digest.ts","../src/root/internal/listRequests/createListItem.ts","../src/root/internal/listRequests/createAttachment.ts","../src/root/internal/listRequests/deleteItem.ts","../src/root/internal/odata.ts","../src/root/internal/listRequests/getFiles.ts","../src/root/internal/listRequests/getListItems.ts","../src/root/internal/listRequests/getOnly.ts","../src/root/internal/listRequests/updateListItem.ts","../src/root/internal/listRequests/uploadFile.ts","../src/root/internal/emailRequests.ts","../src/root/internal/userRequests.ts","../src/root/index.ts","../src/index.ts"],"sourcesContent":["import axios, { AxiosHeaders, CreateAxiosDefaults as AxiosConfig } from 'axios';\n\nconst defaultConfig: AxiosConfig = {\n headers: {\n Accept: 'application/json; odata=verbose',\n 'Content-Type': 'application/json; odata=verbose',\n },\n timeout: 15000,\n withCredentials: true,\n};\n\nexport const instance = (baseURL: string, config?: AxiosConfig) => {\n const userHeaders =\n config?.headers instanceof AxiosHeaders\n ? config.headers.toJSON()\n : config?.headers ?? {};\n\n return axios.create({\n ...defaultConfig,\n ...config,\n baseURL,\n headers: {\n ...defaultConfig.headers,\n ...userHeaders,\n },\n });\n};\n\nexport default instance;\n","import type { AxiosInstance } from 'axios';\n\nexport async function fetchDigest(\n instance: AxiosInstance,\n baseURL: string\n): Promise<string> {\n try {\n const response = await instance.post(`${baseURL}_api/contextinfo`);\n\n const formDigestValue =\n response.data?.d?.GetContextWebInformation?.FormDigestValue;\n\n if (!formDigestValue) {\n throw new Error('Invalid response structure: Missing FormDigestValue');\n }\n\n return formDigestValue;\n } catch (error) {\n console.error('Failed to retrieve the Form Digest Value:', error);\n throw new Error(`Error retrieving Form Digest Value`);\n }\n}\n","import type { ListData, SHAREPOINT_VER } from '../../../types';\nimport { fetchDigest } from '../digest';\nimport type { RequestContext } from '../context';\n\nasync function resolveMetadataType<V extends SHAREPOINT_VER>(\n context: RequestContext<V>\n) {\n if (context.resolveListItemEntityType) {\n return context.resolveListItemEntityType();\n }\n\n if (context.listItemEntityTypeFullName) {\n return context.listItemEntityTypeFullName;\n }\n\n return `SP.Data.${context.listName}ListItem`;\n}\n\nexport async function createListItem<V extends SHAREPOINT_VER = '2013'>(\n context: RequestContext<V>,\n listData: ListData\n) {\n const metadataType = await resolveMetadataType(context);\n const payload = {\n ...listData,\n __metadata: {\n type: metadataType,\n },\n };\n\n const response = await context.instance({\n url: context.endpoint,\n method: 'POST',\n data: JSON.stringify(payload),\n headers: {\n 'X-RequestDigest': await fetchDigest(context.instance, context.baseURL),\n },\n });\n\n return response;\n}\n","import type { CreateFileProps, SHAREPOINT_VER } from '../../../types';\nimport { fetchDigest } from '../digest';\nimport type { RequestContext } from '../context';\n\nexport async function createAttachment<V extends SHAREPOINT_VER = '2013'>(\n context: RequestContext<V>,\n { file, itemId }: CreateFileProps\n) {\n const requestUrl = `_api/lists/getbytitle('${context.listName}')/items(${itemId})/AttachmentFiles/add(FileName='${file.name}')`;\n const response = await context.instance.post(requestUrl, file, {\n headers: {\n 'X-RequestDigest': await fetchDigest(context.instance, context.baseURL),\n },\n withCredentials: true,\n });\n\n return response;\n}\n","import type { SHAREPOINT_VER } from '../../../types';\nimport type { RequestContext } from '../context';\n\nexport async function deleteItem<V extends SHAREPOINT_VER = '2013'>(\n context: RequestContext<V>,\n id: number | string\n) {\n const response = await context.instance.delete(`${context.endpoint}(${id})`);\n return response;\n}\n","import type { Folder_Options, Options, SHAREPOINT_VER } from '../../types';\n\ntype QueryableOptions<T, V extends SHAREPOINT_VER = '2013'> =\n | Options<T, V>\n | Folder_Options<T>;\n\nexport function buildODataParams<T, V extends SHAREPOINT_VER = '2013'>(\n options: QueryableOptions<T, V> | undefined,\n orderBySeparator: ',' | ' ' = ','\n) {\n const { expand, orderBy, limit, filter, cols, skip } = options || {};\n\n const params: Record<string, string | number | undefined> = {\n $expand: Array.isArray(expand) ? expand.join(',') : expand,\n $top: limit,\n $skip: skip,\n $select: Array.isArray(cols) ? cols.join(',') : cols,\n $filter: filter,\n $orderby: Array.isArray(orderBy)\n ? orderBy.join(orderBySeparator)\n : orderBy,\n };\n\n return params;\n}\n\nexport function appendParamsToUrl(\n baseUrl: URL,\n params: Record<string, string | number | undefined | null>\n) {\n Object.entries(params).forEach(([key, value]) => {\n if (value !== undefined && value !== null) {\n baseUrl.searchParams.append(key, String(value));\n }\n });\n}\n","import type { Folder_Options, SHAREPOINT_VER } from '../../../types';\nimport { appendParamsToUrl, buildODataParams } from '../odata';\nimport type { RequestContext } from '../context';\n\nexport async function getFiles<\n T,\n V extends SHAREPOINT_VER = '2013'\n>(\n context: RequestContext<V>,\n options?: Folder_Options<T>\n) {\n const params = buildODataParams(options, ',');\n const url = new URL(context.endpoint, context.instance.defaults.baseURL);\n\n appendParamsToUrl(url, params);\n\n const response = await context.instance.request({\n url: context.endpoint,\n method: 'GET',\n params,\n });\n\n const data =\n options?.limit || !response.data.d.results\n ? response.data.d\n : response.data.d.results;\n\n const meta = { url };\n\n return { data, meta };\n}\n","import type { Options, SPItem, SHAREPOINT_VER } from '../../../types';\nimport { appendParamsToUrl, buildODataParams } from '../odata';\nimport type { RequestContext } from '../context';\n\nexport async function getListItems<\n K,\n V extends SHAREPOINT_VER = '2013'\n>(\n context: RequestContext<V>,\n options?: Options<K, V>\n): Promise<{ data: (K & Partial<SPItem<V>>)[]; meta: { url: URL } }> {\n const params = buildODataParams(options, ' ');\n\n const url = new URL(context.endpoint, context.instance.defaults.baseURL);\n appendParamsToUrl(url, params);\n\n const response = await context.instance.request({\n url: context.endpoint,\n method: 'GET',\n params,\n });\n\n const rawData = response.data?.d?.results ?? response.data?.d ?? response.data;\n const cols = options?.cols;\n const keys = cols\n ? (Array.isArray(cols) ? cols : [cols]).filter(Boolean)\n : undefined;\n\n const filterItem = (item: unknown) => {\n if (!keys || !item || typeof item !== 'object') {\n return item;\n }\n\n return keys.reduce<Record<string, unknown>>((acc, key) => {\n if (key in item) {\n acc[key] = (item as Record<string, unknown>)[key];\n }\n\n return acc;\n }, {});\n };\n\n const data = Array.isArray(rawData)\n ? rawData.map(filterItem)\n : filterItem(rawData);\n\n const meta = { url };\n\n return { data: data as (K & Partial<SPItem<V>>)[], meta };\n}\n","import type { AxiosInstance } from 'axios';\nimport type { Options, SHAREPOINT_VER } from '../../../types';\nimport { buildODataParams } from '../odata';\n\nexport async function getOnly<\n T,\n V extends SHAREPOINT_VER = '2013'\n>(\n instance: AxiosInstance,\n endpoint: string,\n options?: Options<T, V>\n) {\n const params = buildODataParams(options, ',');\n const { data } = await instance.get(endpoint, { params });\n if (data) {\n return data.d.results ? data.d.results : data.d;\n }\n}\n","import type { ListData, SHAREPOINT_VER } from '../../../types';\nimport { fetchDigest } from '../digest';\nimport type { RequestContext } from '../context';\n\nasync function resolveMetadataType<V extends SHAREPOINT_VER>(\n context: RequestContext<V>\n) {\n if (context.resolveListItemEntityType) {\n return context.resolveListItemEntityType();\n }\n\n if (context.listItemEntityTypeFullName) {\n return context.listItemEntityTypeFullName;\n }\n\n return `SP.Data.${context.listName}ListItem`;\n}\n\nexport async function updateListItem<V extends SHAREPOINT_VER = '2013'>(\n context: RequestContext<V>,\n id: number | string,\n data: ListData,\n digest?: string\n) {\n const formDigestValue =\n digest || (await fetchDigest(context.instance, context.baseURL));\n\n const metadataType = await resolveMetadataType(context);\n const payload = {\n ...data,\n __metadata: {\n type: metadataType,\n },\n };\n\n const url = `_api/lists/getbytitle('${context.listName}')/getItemById('${id}')`;\n\n const response = await context.instance({\n url,\n method: 'POST',\n data: JSON.stringify(payload),\n headers: {\n 'X-RequestDigest': formDigestValue,\n 'IF-MATCH': '*',\n 'X-Http-Method': 'PATCH',\n },\n });\n\n return response;\n}\n","import type { SHAREPOINT_VER, UploadFileProps } from '../../../types';\nimport { fetchDigest } from '../digest';\nimport type { RequestContext } from '../context';\n\nconst SUPPORTED_VERSION: SHAREPOINT_VER = '2013';\n\nfunction normalizeFolderPath(folderPath: string | string[]) {\n const segments = Array.isArray(folderPath)\n ? folderPath\n : folderPath.split('/').filter(Boolean);\n\n if (!segments.length) {\n return '';\n }\n\n const escapedSegments = segments.map((segment) => {\n if (!segment.trim()) {\n throw new Error('Folder path segments cannot be empty.');\n }\n\n // SharePoint expects single quotes to be doubled in OData paths.\n const sanitized = segment.replace(/'/g, \"''\");\n\n return `/Folders('${encodeURIComponent(sanitized)}')`;\n });\n\n return escapedSegments.join('');\n}\n\nexport async function uploadFile<V extends SHAREPOINT_VER = '2013'>(\n context: RequestContext<V>,\n { file, folderPath, overwrite = true }: UploadFileProps\n) {\n if (context.sharepointVersion !== SUPPORTED_VERSION) {\n throw new Error(\n 'uploadFile is only supported for SharePoint 2013 REST endpoints.'\n );\n }\n\n if (!file?.name) {\n throw new Error('A file with a valid name must be provided.');\n }\n\n let requestUrl = `_api/web/lists/getbytitle('${context.listName}')/RootFolder`;\n\n if (folderPath) {\n requestUrl += normalizeFolderPath(folderPath);\n }\n\n const encodedFileName = encodeURIComponent(file.name.replace(/'/g, \"''\"));\n requestUrl += `/Files/add(url='${encodedFileName}',overwrite=${\n overwrite ? 'true' : 'false'\n })`;\n\n const digest = await fetchDigest(context.instance, context.baseURL);\n\n const response = await context.instance.post(requestUrl, file, {\n headers: {\n 'Content-Type': file.type || 'application/octet-stream',\n 'X-RequestDigest': digest,\n },\n withCredentials: true,\n });\n\n return response;\n}\n","import type { AxiosResponse } from 'axios';\nimport type { EmailProps } from '../../types';\nimport { fetchDigest } from './digest';\nimport type { RequestContext } from './context';\n\ntype SendEmailResponse = AxiosResponse<{\n d: {\n SendEmail: null;\n };\n}>;\n\nexport async function sendEmail(\n context: RequestContext,\n { From, To, Subject, Body }: EmailProps\n): Promise<SendEmailResponse> {\n const httpRequest = '_api/SP.Utilities.Utility.SendEmail';\n\n const response = await context.instance({\n url: httpRequest,\n method: 'POST',\n headers: {\n 'X-RequestDigest': await fetchDigest(\n context.instance,\n context.baseURL\n ),\n 'X-Http-Method': 'POST',\n 'Content-Type': 'application/json;odata=verbose',\n },\n data: JSON.stringify({\n properties: {\n __metadata: {\n type: 'SP.Utilities.EmailProperties',\n },\n From,\n To: {\n results: Array.isArray(To) ? To : [To],\n },\n Body,\n Subject,\n },\n }),\n });\n\n return response;\n}\n","import type { AxiosInstance } from 'axios';\nimport type {\n PersonField,\n UserPermision,\n UserProfile,\n} from '../../types';\nimport type { RequestContext } from './context';\n\ntype RoleDefinition = {\n BasePermissions: {\n High: string;\n };\n};\n\nexport async function typeAhead(\n instance: AxiosInstance,\n input: string,\n filter?: string\n): Promise<PersonField> {\n const requestUrl = `_api/SP.UI.ApplicationPages.ClientPeoplePickerWebServiceInterface.clientPeoplePickerSearchUser`;\n\n const data = {\n queryParams: {\n __metadata: {\n type: 'SP.UI.ApplicationPages.ClientPeoplePickerQueryParameters',\n },\n AllowEmailAddresses: true,\n AllowMultipleEntities: false,\n AllUrlZones: false,\n MaximumEntitySuggestions: 10,\n PrincipalSource: 15,\n PrincipalType: 1,\n QueryString: input,\n },\n };\n\n if (filter) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (data.queryParams as any).RequiredProperties = [filter];\n }\n\n const response = await instance.post(requestUrl, JSON.stringify(data), {\n headers: {\n Accept: 'application/json; odata=verbose',\n 'Content-Type': 'application/json;odata=verbose',\n },\n });\n\n return response.data.d.ClientPeoplePickerSearchUser;\n}\n\nexport async function currentUserProperties(\n instance: AxiosInstance\n): Promise<UserProfile> {\n const requestUrl = '_api/sp.userprofiles.peoplemanager/getmyproperties';\n let profile: any = await instance.get(requestUrl);\n\n profile = profile.data.d;\n\n profile.UserProfileProperties.results.forEach(\n (prop: { Key: string; Value: string }) => {\n if (prop.Key === 'FirstName') {\n profile.FirstName = prop.Value;\n }\n if (prop.Key === 'LastName') {\n profile.LastName = prop.Value;\n }\n if (prop.Key === 'Country') {\n profile.Country = prop.Value;\n }\n if (prop.Key === 'UserName') {\n profile.UserName = prop.Value;\n }\n }\n );\n\n return profile;\n}\n\nexport async function getSiteUser(instance: AxiosInstance, searchValue: string) {\n const requestUrl = `_api/web/siteusers?&$filter=substringof('${searchValue}', Title) or substringof('${searchValue}', LoginName) or substringof('${searchValue}', Email)&$top=50&$expand=Groups`;\n const response = await instance.get(requestUrl);\n return response.data.d;\n}\n\nexport async function roleDefinitions(instance: AxiosInstance) {\n const requestUrl = `_api/Web/RoleDefinitions`;\n const response = await instance.get(requestUrl);\n return response.data.d.results as RoleDefinition[];\n}\n\nexport async function getEffectiveBasePermissions(instance: AxiosInstance) {\n const requestUrl = `_api/Web/effectiveBasePermissions`;\n const response = await instance.get(requestUrl);\n return response.data.d.EffectiveBasePermissions;\n}\n\nexport async function currentUserPermissions(\n context: RequestContext\n): Promise<UserPermision> {\n const { High } = await getEffectiveBasePermissions(context.instance);\n const definitions = await roleDefinitions(context.instance);\n\n const result = definitions.find(\n ({ BasePermissions }: RoleDefinition) => BasePermissions.High === High\n );\n\n return result as UserPermision;\n}\n","import { AxiosInstance, CreateAxiosDefaults as AxiosConfig } from 'axios';\nimport instance from './instance';\nimport {\n CreateFileProps,\n CurrentUser,\n EmailProps,\n Field_Options,\n Folder_Options,\n UploadFileProps,\n IListName,\n ItemID,\n ListData,\n Options,\n PersonField,\n SHAREPOINT_VER,\n UserPermision,\n UserProfile,\n} from '../types';\nimport { RequestContext } from './internal/context';\nimport {\n createAttachment,\n createListItem,\n deleteItem,\n getFiles,\n getListItems,\n getOnly,\n updateListItem,\n uploadFile,\n} from './internal/listRequests';\nimport { sendEmail as sendEmailRequest } from './internal/emailRequests';\nimport {\n currentUserPermissions as resolveCurrentUserPermissions,\n currentUserProperties as loadCurrentUserProperties,\n getSiteUser as fetchSiteUser,\n typeAhead,\n} from './internal/userRequests';\nimport { fetchDigest } from './internal/digest';\n\nclass HTTPSharePointRequests<\n T extends {\n LISTS: Record<string, unknown>;\n FOLDERS?: Record<string, unknown>;\n }\n> {\n private baseURL: string;\n private endpoint: string;\n private listName: string;\n private instance: AxiosInstance;\n private sharepointVersion: SHAREPOINT_VER;\n private listItemEntityTypeFullName?: string;\n\n constructor(baseURL: string, config?: AxiosConfig) {\n this.baseURL = baseURL.endsWith('/') ? baseURL : `${baseURL}/`;\n this.endpoint = '/api';\n this.listName = '';\n this.instance = instance(this.baseURL, config);\n this.sharepointVersion = '2013';\n this.listItemEntityTypeFullName = undefined;\n }\n\n private getContext<V extends SHAREPOINT_VER = '2013'>(): RequestContext<V> {\n return {\n instance: this.instance,\n baseURL: this.baseURL,\n endpoint: this.endpoint,\n listName: this.listName,\n sharepointVersion: this.sharepointVersion as V,\n listItemEntityTypeFullName: this.listItemEntityTypeFullName,\n resolveListItemEntityType: this.resolveListItemEntityTypeFullName.bind(\n this\n ),\n };\n }\n\n private async resolveListItemEntityTypeFullName(): Promise<string> {\n if (this.listItemEntityTypeFullName) {\n return this.listItemEntityTypeFullName;\n }\n\n if (!this.listName) {\n throw new Error('List name is not set.');\n }\n\n if (this.sharepointVersion !== '2013') {\n this.listItemEntityTypeFullName = `SP.Data.${this.listName}ListItem`;\n return this.listItemEntityTypeFullName;\n }\n\n const response = await this.instance.get(\n `_api/web/lists/GetByTitle('${this.listName}')?$select=ListItemEntityTypeFullName`\n );\n\n const entityType =\n response.data?.d?.ListItemEntityTypeFullName ??\n response.data?.ListItemEntityTypeFullName;\n\n if (!entityType || typeof entityType !== 'string') {\n throw new Error(\n `Unable to resolve ListItemEntityTypeFullName for list \"${this.listName}\".`\n );\n }\n\n this.listItemEntityTypeFullName = entityType;\n return this.listItemEntityTypeFullName;\n }\n\n /**\n * @deprecated Use `from` instead.\n */\n list(listName: IListName<T>) {\n this.listName = listName;\n this.endpoint = `_vti_bin/ListData.svc/${listName}`;\n this.sharepointVersion = '2010';\n this.listItemEntityTypeFullName = undefined;\n return this;\n }\n\n public readonly lists = {\n get: () => {\n this.endpoint = '_api/web/lists';\n this.sharepointVersion = '2013';\n return getListItems(this.getContext());\n },\n };\n\n public getDigest() {\n return fetchDigest(this.instance, this.baseURL);\n }\n\n public from<\n K extends Extract<keyof T['LISTS'], string>,\n V extends SHAREPOINT_VER = '2013'\n >(listName: K, sharepoint_ver?: V) {\n const version = (sharepoint_ver ?? '2013') as V;\n\n this.listName = listName;\n this.sharepointVersion = version;\n this.listItemEntityTypeFullName = undefined;\n this.endpoint =\n version === '2013'\n ? `_api/web/lists/GetByTitle('${this.listName}')/items`\n : `_vti_bin/ListData.svc/${listName}`;\n\n const getContext = () => this.getContext<V>();\n\n return {\n create: (data: ListData) => createListItem(getContext(), data),\n get: (options?: Options<T['LISTS'][K], V>) =>\n getListItems<T['LISTS'][K], V>(getContext(), options),\n update: (id: ItemID, data: ListData, digest?: string) =>\n updateListItem(getContext(), id, data, digest),\n delete: (id: ItemID) => deleteItem(getContext(), id),\n createFile: (props: CreateFileProps) =>\n createAttachment(getContext(), props),\n uploadFile: (props: UploadFileProps) => uploadFile(getContext(), props),\n fields: (options?: Field_Options<T['LISTS'][K], V>) => {\n this.endpoint = !options?.fieldName\n ? `_api/web/lists/GetByTitle('${this.listName}')/fields`\n : `_api/web/lists/GetByTitle('${this.listName}')/fields/getbytitle('${options.fieldName}')`;\n return {\n get: () =>\n getOnly<T['LISTS'][K], V>(this.instance, this.endpoint, options),\n };\n },\n };\n }\n\n public folders = {\n get: () => {\n this.endpoint = '_api/web/folders';\n this.sharepointVersion = '2013';\n getListItems(this.getContext());\n },\n };\n\n public folder(folderName?: string | string[]) {\n let filePath = ['Shared Documents'];\n\n if (folderName) {\n filePath = Array.isArray(folderName)\n ? [...filePath, ...folderName]\n : [...filePath, folderName];\n }\n\n this.endpoint = `_api/web/GetFolderByServerRelativeUrl('${filePath.join(\n '/'\n )}')`;\n this.sharepointVersion = '2013';\n\n const getContext = () => this.getContext();\n\n return {\n get: (options?: Folder_Options<any>) => {\n if (!options?.type) {\n this.endpoint += '/Files';\n } else {\n this.endpoint += `/${options.type}`;\n }\n return getFiles(getContext(), options);\n },\n };\n }\n\n public users(options?: Options<any>) {\n this.endpoint = '_api/web/SiteUserInfoList/items';\n this.sharepointVersion = '2013';\n return {\n get: () => getListItems(this.getContext(), options),\n };\n }\n\n public email = {\n send: (props: EmailProps) => {\n this.sharepointVersion = '2013';\n return sendEmailRequest(this.getContext(), props);\n },\n };\n\n public user = {\n properties: () => ({\n get: (): Promise<UserProfile> => {\n this.sharepointVersion = '2013';\n return loadCurrentUserProperties(this.instance);\n },\n }),\n searchSiteUser: (searchValue: string) => {\n this.sharepointVersion = '2013';\n return fetchSiteUser(this.instance, searchValue);\n },\n searchUser: (input: string, filter?: string): Promise<PersonField> => {\n this.sharepointVersion = '2013';\n return typeAhead(this.instance, input, filter);\n },\n current: () => {\n this.endpoint = '_api/web/currentUser';\n this.sharepointVersion = '2013';\n return {\n get: (): Promise<CurrentUser> => getOnly(this.instance, this.endpoint),\n };\n },\n currentPermission: () => ({\n get: (): Promise<UserPermision> => {\n this.sharepointVersion = '2013';\n return resolveCurrentUserPermissions(this.getContext());\n },\n }),\n };\n}\n\nexport default HTTPSharePointRequests;\n","import SHAREPOINT_REQUESTS from './root';\n\nimport type { CreateAxiosDefaults as AxiosConfig } from 'axios';\nimport type { LookupField, ChoiceField, PersonField } from './types';\n\n// Load environment variables from .env file\n\nexport default function createBase<\n T extends { LISTS: Record<string, any>; FOLDERS?: Record<string, any> } = any\n>(){\n function create({\n baseURL,\n config,\n }: {\n baseURL: string;\n config?: AxiosConfig;\n }) {\n if (!baseURL) {\n throw new Error('A valid SharePoint URL must be provided.');\n }\n return new SHAREPOINT_REQUESTS<T>(baseURL, config);\n }\n\n return {\n /**\n * @deprecated Use `create` instead.\n */\n baseURL(url: string, config?: AxiosConfig) {\n return create({ baseURL: url, config });\n },\n create,\n };\n}\n\nexport { LookupField, ChoiceField, PersonField };\n\n\n"],"names":["defaultConfig","headers","Accept","Content-Type","timeout","withCredentials","fetchDigest","_x","_x2","_fetchDigest","apply","arguments","_asyncToGenerator","_regenerator","m","_callee","instance","baseURL","_response$data","formDigestValue","w","_context","p","n","post","v","data","d","GetContextWebInformation","FormDigestValue","Error","a","console","error","resolveMetadataType","_resolveMetadataType","context","resolveListItemEntityType","listItemEntityTypeFullName","listName","_createListItem","_callee2","listData","payload","_t","_t2","_t3","_t5","_context2","_extends","__metadata","type","endpoint","JSON","stringify","X-RequestDigest","call","url","method","_createAttachment","_ref","file","itemId","name","_deleteItem","id","buildODataParams","options","orderBySeparator","expand","orderBy","limit","filter","cols","skip","$expand","Array","isArray","join","$top","$skip","$select","$filter","$orderby","appendParamsToUrl","baseUrl","params","Object","entries","forEach","_ref2","value","searchParams","append","String","_getFiles","response","URL","defaults","request","results","meta","getListItems","_getListItems","_response$data$d$resu","_response$data2","rawData","keys","filterItem","Boolean","undefined","item","reduce","acc","key","map","getOnly","_x3","_getOnly","get","_updateListItem","digest","IF-MATCH","X-Http-Method","normalizeFolderPath","folderPath","segments","split","length","segment","trim","sanitized","replace","encodeURIComponent","_uploadFile","_ref$overwrite","overwrite","requestUrl","encodedFileName","sharepointVersion","_sendEmail","From","To","Subject","Body","_t4","properties","_typeAhead","input","queryParams","AllowEmailAddresses","AllowMultipleEntities","AllUrlZones","MaximumEntitySuggestions","PrincipalSource","PrincipalType","QueryString","RequiredProperties","ClientPeoplePickerSearchUser","_currentUserProperties","profile","UserProfileProperties","prop","Key","FirstName","Value","LastName","Country","UserName","_getSiteUser","_callee3","searchValue","_context3","roleDefinitions","_x7","_roleDefinitions","_callee4","_context4","getEffectiveBasePermissions","_x8","_getEffectiveBasePermissions","_callee5","_context5","EffectiveBasePermissions","_currentUserPermissions","_callee6","High","result","_context6","find","BasePermissions","HTTPSharePointRequests","config","this","lists","_this","getContext","folders","email","send","props","sendEmailRequest","user","_x4","loadCurrentUserProperties","searchSiteUser","_x5","_x6","fetchSiteUser","searchUser","typeAhead","current","currentPermission","_x9","resolveCurrentUserPermissions","endsWith","userHeaders","AxiosHeaders","toJSON","_config$headers","axios","create","_proto","prototype","resolveListItemEntityTypeFullName","bind","_resolveListItemEntityTypeFullName","_response$data$d$List","entityType","ListItemEntityTypeFullName","list","getDigest","from","sharepoint_ver","version","_this2","createListItem","update","updateListItem","delete","deleteItem","createFile","createAttachment","uploadFile","fields","fieldName","folder","folderName","filePath","concat","_this3","getFiles","users","_this4","SHAREPOINT_REQUESTS"],"mappings":"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"}
1
+ {"version":3,"file":"sharepoint_requests.cjs.production.min.js","sources":["../src/root/instance.ts","../src/root/internal/digest.ts","../src/root/internal/listRequests/createListItem.ts","../src/root/internal/listRequests/createAttachment.ts","../src/root/internal/listRequests/deleteItem.ts","../src/root/internal/listRequests/utils.ts","../src/root/internal/listRequests/deleteFile.ts","../src/root/internal/odata.ts","../src/root/internal/listRequests/getFiles.ts","../src/root/internal/listRequests/getListItems.ts","../src/root/internal/listRequests/getOnly.ts","../src/root/internal/listRequests/updateListItem.ts","../src/root/internal/listRequests/uploadFile.ts","../src/root/internal/emailRequests.ts","../src/root/internal/userRequests.ts","../src/root/index.ts","../src/index.ts"],"sourcesContent":["import axios, { AxiosHeaders, CreateAxiosDefaults as AxiosConfig } from 'axios';\n\nconst defaultConfig: AxiosConfig = {\n headers: {\n Accept: 'application/json; odata=verbose',\n 'Content-Type': 'application/json; odata=verbose',\n },\n timeout: 15000,\n withCredentials: true,\n};\n\nexport const instance = (baseURL: string, config?: AxiosConfig) => {\n const userHeaders =\n config?.headers instanceof AxiosHeaders\n ? config.headers.toJSON()\n : config?.headers ?? {};\n\n return axios.create({\n ...defaultConfig,\n ...config,\n baseURL,\n headers: {\n ...defaultConfig.headers,\n ...userHeaders,\n },\n });\n};\n\nexport default instance;\n","import type { AxiosInstance } from 'axios';\n\nexport async function fetchDigest(\n instance: AxiosInstance,\n baseURL: string\n): Promise<string> {\n try {\n const response = await instance.post(`${baseURL}_api/contextinfo`);\n\n const formDigestValue =\n response.data?.d?.GetContextWebInformation?.FormDigestValue;\n\n if (!formDigestValue) {\n throw new Error('Invalid response structure: Missing FormDigestValue');\n }\n\n return formDigestValue;\n } catch (error) {\n console.error('Failed to retrieve the Form Digest Value:', error);\n throw new Error(`Error retrieving Form Digest Value`);\n }\n}\n","import type { ListData, SHAREPOINT_VER } from '../../../types';\nimport { fetchDigest } from '../digest';\nimport type { RequestContext } from '../context';\n\nasync function resolveMetadataType<V extends SHAREPOINT_VER>(\n context: RequestContext<V>\n) {\n if (context.resolveListItemEntityType) {\n return context.resolveListItemEntityType();\n }\n\n if (context.listItemEntityTypeFullName) {\n return context.listItemEntityTypeFullName;\n }\n\n return `SP.Data.${context.listName}ListItem`;\n}\n\nexport async function createListItem<V extends SHAREPOINT_VER = '2013'>(\n context: RequestContext<V>,\n listData: ListData\n) {\n const metadataType = await resolveMetadataType(context);\n const payload = {\n ...listData,\n __metadata: {\n type: metadataType,\n },\n };\n\n const response = await context.instance({\n url: context.endpoint,\n method: 'POST',\n data: JSON.stringify(payload),\n headers: {\n 'X-RequestDigest': await fetchDigest(context.instance, context.baseURL),\n },\n });\n\n return response;\n}\n","import type { CreateFileProps, SHAREPOINT_VER } from '../../../types';\nimport { fetchDigest } from '../digest';\nimport type { RequestContext } from '../context';\n\nexport async function createAttachment<V extends SHAREPOINT_VER = '2013'>(\n context: RequestContext<V>,\n { file, itemId }: CreateFileProps\n) {\n const requestUrl = `_api/lists/getbytitle('${context.listName}')/items(${itemId})/AttachmentFiles/add(FileName='${file.name}')`;\n const response = await context.instance.post(requestUrl, file, {\n headers: {\n 'X-RequestDigest': await fetchDigest(context.instance, context.baseURL),\n },\n withCredentials: true,\n });\n\n return response;\n}\n","import type { SHAREPOINT_VER } from '../../../types';\nimport type { RequestContext } from '../context';\n\nexport async function deleteItem<V extends SHAREPOINT_VER = '2013'>(\n context: RequestContext<V>,\n id: number | string\n) {\n const response = await context.instance.delete(`${context.endpoint}(${id})`);\n return response;\n}\n","export function buildLibraryPath(folderPath?: string | string[]) {\n if (!folderPath) {\n return '';\n }\n\n const segments = Array.isArray(folderPath)\n ? folderPath\n : folderPath.split('/').filter(Boolean);\n\n if (!segments.length) {\n return '';\n }\n\n const escapedSegments = segments.map((segment) => {\n if (!segment.trim()) {\n throw new Error('Folder path segments cannot be empty.');\n }\n\n const sanitized = segment.replace(/'/g, \"''\");\n\n return `/Folders('${encodeURIComponent(sanitized)}')`;\n });\n\n return escapedSegments.join('');\n}\n\nexport function encodeFileName(fileName: string) {\n if (!fileName.trim()) {\n throw new Error('File name cannot be empty.');\n }\n\n return encodeURIComponent(fileName.replace(/'/g, \"''\"));\n}\n","import type { SHAREPOINT_VER, DeleteFileProps } from '../../../types';\nimport { fetchDigest } from '../digest';\nimport type { RequestContext } from '../context';\nimport { buildLibraryPath, encodeFileName } from './utils';\n\nconst SUPPORTED_VERSION: SHAREPOINT_VER = '2013';\n\nexport async function deleteFile<V extends SHAREPOINT_VER = '2013'>(\n context: RequestContext<V>,\n { fileName, folderPath }: DeleteFileProps\n) {\n if (context.sharepointVersion !== SUPPORTED_VERSION) {\n throw new Error(\n 'deleteFile is only supported for SharePoint 2013 REST endpoints.'\n );\n }\n\n const encodedFileName = encodeFileName(fileName);\n let requestUrl = `_api/web/lists/getbytitle('${context.listName}')/RootFolder`;\n requestUrl += buildLibraryPath(folderPath);\n requestUrl += `/Files('${encodedFileName}')`;\n\n const digest = await fetchDigest(context.instance, context.baseURL);\n\n const response = await context.instance.post(requestUrl, undefined, {\n headers: {\n 'X-HTTP-Method': 'DELETE',\n 'IF-MATCH': '*',\n 'X-RequestDigest': digest,\n },\n withCredentials: true,\n });\n\n return response;\n}\n","import type { Folder_Options, Options, SHAREPOINT_VER } from '../../types';\n\ntype QueryableOptions<T, V extends SHAREPOINT_VER = '2013'> =\n | Options<T, V>\n | Folder_Options<T>;\n\nexport function buildODataParams<T, V extends SHAREPOINT_VER = '2013'>(\n options: QueryableOptions<T, V> | undefined,\n orderBySeparator: ',' | ' ' = ','\n) {\n const { expand, orderBy, limit, filter, cols, skip } = options || {};\n\n const params: Record<string, string | number | undefined> = {\n $expand: Array.isArray(expand) ? expand.join(',') : expand,\n $top: limit,\n $skip: skip,\n $select: Array.isArray(cols) ? cols.join(',') : cols,\n $filter: filter,\n $orderby: Array.isArray(orderBy)\n ? orderBy.join(orderBySeparator)\n : orderBy,\n };\n\n return params;\n}\n\nexport function appendParamsToUrl(\n baseUrl: URL,\n params: Record<string, string | number | undefined | null>\n) {\n Object.entries(params).forEach(([key, value]) => {\n if (value !== undefined && value !== null) {\n baseUrl.searchParams.append(key, String(value));\n }\n });\n}\n","import type { Folder_Options, SHAREPOINT_VER } from '../../../types';\nimport { appendParamsToUrl, buildODataParams } from '../odata';\nimport type { RequestContext } from '../context';\n\nexport async function getFiles<\n T,\n V extends SHAREPOINT_VER = '2013'\n>(\n context: RequestContext<V>,\n options?: Folder_Options<T>\n) {\n const params = buildODataParams(options, ',');\n const url = new URL(context.endpoint, context.instance.defaults.baseURL);\n\n appendParamsToUrl(url, params);\n\n const response = await context.instance.request({\n url: context.endpoint,\n method: 'GET',\n params,\n });\n\n const data =\n options?.limit || !response.data.d.results\n ? response.data.d\n : response.data.d.results;\n\n const meta = { url };\n\n return { data, meta };\n}\n","import type { Options, SPItem, SHAREPOINT_VER } from '../../../types';\nimport { appendParamsToUrl, buildODataParams } from '../odata';\nimport type { RequestContext } from '../context';\n\nexport async function getListItems<\n K,\n V extends SHAREPOINT_VER = '2013'\n>(\n context: RequestContext<V>,\n options?: Options<K, V>\n): Promise<{ data: (K & Partial<SPItem<V>>)[]; meta: { url: URL } }> {\n const params = buildODataParams(options, ' ');\n\n const url = new URL(context.endpoint, context.instance.defaults.baseURL);\n appendParamsToUrl(url, params);\n\n const response = await context.instance.request({\n url: context.endpoint,\n method: 'GET',\n params,\n });\n\n const rawData = response.data?.d?.results ?? response.data?.d ?? response.data;\n const cols = options?.cols;\n const keys = cols\n ? (Array.isArray(cols) ? cols : [cols]).filter(Boolean)\n : undefined;\n\n const filterItem = (item: unknown) => {\n if (!keys || !item || typeof item !== 'object') {\n return item;\n }\n\n return keys.reduce<Record<string, unknown>>((acc, key) => {\n if (key in item) {\n acc[key] = (item as Record<string, unknown>)[key];\n }\n\n return acc;\n }, {});\n };\n\n const data = Array.isArray(rawData)\n ? rawData.map(filterItem)\n : filterItem(rawData);\n\n const meta = { url };\n\n return { data: data as (K & Partial<SPItem<V>>)[], meta };\n}\n","import type { AxiosInstance } from 'axios';\nimport type { Options, SHAREPOINT_VER } from '../../../types';\nimport { buildODataParams } from '../odata';\n\nexport async function getOnly<\n T,\n V extends SHAREPOINT_VER = '2013'\n>(\n instance: AxiosInstance,\n endpoint: string,\n options?: Options<T, V>\n) {\n const params = buildODataParams(options, ',');\n const { data } = await instance.get(endpoint, { params });\n if (data) {\n return data.d.results ? data.d.results : data.d;\n }\n}\n","import type { ListData, SHAREPOINT_VER } from '../../../types';\nimport { fetchDigest } from '../digest';\nimport type { RequestContext } from '../context';\n\nasync function resolveMetadataType<V extends SHAREPOINT_VER>(\n context: RequestContext<V>\n) {\n if (context.resolveListItemEntityType) {\n return context.resolveListItemEntityType();\n }\n\n if (context.listItemEntityTypeFullName) {\n return context.listItemEntityTypeFullName;\n }\n\n return `SP.Data.${context.listName}ListItem`;\n}\n\nexport async function updateListItem<V extends SHAREPOINT_VER = '2013'>(\n context: RequestContext<V>,\n id: number | string,\n data: ListData,\n digest?: string\n) {\n const formDigestValue =\n digest || (await fetchDigest(context.instance, context.baseURL));\n\n const metadataType = await resolveMetadataType(context);\n const payload = {\n ...data,\n __metadata: {\n type: metadataType,\n },\n };\n\n const url = `_api/lists/getbytitle('${context.listName}')/getItemById('${id}')`;\n\n const response = await context.instance({\n url,\n method: 'POST',\n data: JSON.stringify(payload),\n headers: {\n 'X-RequestDigest': formDigestValue,\n 'IF-MATCH': '*',\n 'X-Http-Method': 'PATCH',\n },\n });\n\n return response;\n}\n","import type { AxiosResponse } from 'axios';\nimport type {\n ItemID,\n SHAREPOINT_VER,\n UploadFileProps,\n} from '../../../types';\nimport { fetchDigest } from '../digest';\nimport type { RequestContext } from '../context';\nimport { buildLibraryPath, encodeFileName } from './utils';\n\nconst SUPPORTED_VERSION: SHAREPOINT_VER = '2013';\n\nexport async function uploadFile<V extends SHAREPOINT_VER = '2013'>(\n context: RequestContext<V>,\n { file, folderPath, overwrite = true }: UploadFileProps\n): Promise<AxiosResponse & { itemId?: ItemID }> {\n if (context.sharepointVersion !== SUPPORTED_VERSION) {\n throw new Error(\n 'uploadFile is only supported for SharePoint 2013 REST endpoints.'\n );\n }\n\n if (!file?.name) {\n throw new Error('A file with a valid name must be provided.');\n }\n\n let requestUrl = `_api/web/lists/getbytitle('${context.listName}')/RootFolder`;\n\n requestUrl += buildLibraryPath(folderPath);\n\n const encodedFileName = encodeFileName(file.name);\n requestUrl += `/Files/add(url='${encodedFileName}',overwrite=${\n overwrite ? 'true' : 'false'\n })?$expand=ListItemAllFields&$select=ListItemAllFields/Id`;\n\n const digest = await fetchDigest(context.instance, context.baseURL);\n\n const response = (await context.instance.post(requestUrl, file, {\n headers: {\n 'Content-Type': file.type || 'application/octet-stream',\n 'X-RequestDigest': digest,\n },\n withCredentials: true,\n })) as AxiosResponse & { itemId?: ItemID };\n\n const responseData = response.data?.d ?? response.data;\n const listItemFields = responseData?.ListItemAllFields;\n const itemId =\n listItemFields?.Id ??\n listItemFields?.ID ??\n responseData?.Id ??\n responseData?.ID;\n\n if (typeof itemId !== 'undefined') {\n response.itemId = itemId;\n } else if (listItemFields?.__deferred?.uri) {\n const listItemResponse = await context.instance.get(\n listItemFields.__deferred.uri\n );\n const deferredId =\n listItemResponse.data?.d?.Id ?? listItemResponse.data?.Id;\n\n if (typeof deferredId !== 'undefined') {\n response.itemId = deferredId;\n }\n }\n\n return response;\n}\n","import type { AxiosResponse } from 'axios';\nimport type { EmailProps } from '../../types';\nimport { fetchDigest } from './digest';\nimport type { RequestContext } from './context';\n\ntype SendEmailResponse = AxiosResponse<{\n d: {\n SendEmail: null;\n };\n}>;\n\nexport async function sendEmail(\n context: RequestContext,\n { From, To, Subject, Body }: EmailProps\n): Promise<SendEmailResponse> {\n const httpRequest = '_api/SP.Utilities.Utility.SendEmail';\n\n const response = await context.instance({\n url: httpRequest,\n method: 'POST',\n headers: {\n 'X-RequestDigest': await fetchDigest(\n context.instance,\n context.baseURL\n ),\n 'X-Http-Method': 'POST',\n 'Content-Type': 'application/json;odata=verbose',\n },\n data: JSON.stringify({\n properties: {\n __metadata: {\n type: 'SP.Utilities.EmailProperties',\n },\n From,\n To: {\n results: Array.isArray(To) ? To : [To],\n },\n Body,\n Subject,\n },\n }),\n });\n\n return response;\n}\n","import type { AxiosInstance } from 'axios';\nimport type {\n PersonField,\n UserPermision,\n UserProfile,\n} from '../../types';\nimport type { RequestContext } from './context';\n\ntype RoleDefinition = {\n BasePermissions: {\n High: string;\n };\n};\n\nexport async function typeAhead(\n instance: AxiosInstance,\n input: string,\n filter?: string\n): Promise<PersonField> {\n const requestUrl = `_api/SP.UI.ApplicationPages.ClientPeoplePickerWebServiceInterface.clientPeoplePickerSearchUser`;\n\n const data = {\n queryParams: {\n __metadata: {\n type: 'SP.UI.ApplicationPages.ClientPeoplePickerQueryParameters',\n },\n AllowEmailAddresses: true,\n AllowMultipleEntities: false,\n AllUrlZones: false,\n MaximumEntitySuggestions: 10,\n PrincipalSource: 15,\n PrincipalType: 1,\n QueryString: input,\n },\n };\n\n if (filter) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (data.queryParams as any).RequiredProperties = [filter];\n }\n\n const response = await instance.post(requestUrl, JSON.stringify(data), {\n headers: {\n Accept: 'application/json; odata=verbose',\n 'Content-Type': 'application/json;odata=verbose',\n },\n });\n\n return response.data.d.ClientPeoplePickerSearchUser;\n}\n\nexport async function currentUserProperties(\n instance: AxiosInstance\n): Promise<UserProfile> {\n const requestUrl = '_api/sp.userprofiles.peoplemanager/getmyproperties';\n let profile: any = await instance.get(requestUrl);\n\n profile = profile.data.d;\n\n profile.UserProfileProperties.results.forEach(\n (prop: { Key: string; Value: string }) => {\n if (prop.Key === 'FirstName') {\n profile.FirstName = prop.Value;\n }\n if (prop.Key === 'LastName') {\n profile.LastName = prop.Value;\n }\n if (prop.Key === 'Country') {\n profile.Country = prop.Value;\n }\n if (prop.Key === 'UserName') {\n profile.UserName = prop.Value;\n }\n }\n );\n\n return profile;\n}\n\nexport async function getSiteUser(instance: AxiosInstance, searchValue: string) {\n const requestUrl = `_api/web/siteusers?&$filter=substringof('${searchValue}', Title) or substringof('${searchValue}', LoginName) or substringof('${searchValue}', Email)&$top=50&$expand=Groups`;\n const response = await instance.get(requestUrl);\n return response.data.d;\n}\n\nexport async function roleDefinitions(instance: AxiosInstance) {\n const requestUrl = `_api/Web/RoleDefinitions`;\n const response = await instance.get(requestUrl);\n return response.data.d.results as RoleDefinition[];\n}\n\nexport async function getEffectiveBasePermissions(instance: AxiosInstance) {\n const requestUrl = `_api/Web/effectiveBasePermissions`;\n const response = await instance.get(requestUrl);\n return response.data.d.EffectiveBasePermissions;\n}\n\nexport async function currentUserPermissions(\n context: RequestContext\n): Promise<UserPermision> {\n const { High } = await getEffectiveBasePermissions(context.instance);\n const definitions = await roleDefinitions(context.instance);\n\n const result = definitions.find(\n ({ BasePermissions }: RoleDefinition) => BasePermissions.High === High\n );\n\n return result as UserPermision;\n}\n","import { AxiosInstance, CreateAxiosDefaults as AxiosConfig } from 'axios';\nimport instance from './instance';\nimport {\n CreateFileProps,\n DeleteFileProps,\n CurrentUser,\n EmailProps,\n Field_Options,\n Folder_Options,\n UploadFileProps,\n IListName,\n ItemID,\n ListData,\n Options,\n PersonField,\n SHAREPOINT_VER,\n UserPermision,\n UserProfile,\n} from '../types';\nimport { RequestContext } from './internal/context';\nimport {\n createAttachment,\n createListItem,\n deleteItem,\n deleteFile as deleteLibraryFile,\n getFiles,\n getListItems,\n getOnly,\n updateListItem,\n uploadFile,\n} from './internal/listRequests';\nimport { sendEmail as sendEmailRequest } from './internal/emailRequests';\nimport {\n currentUserPermissions as resolveCurrentUserPermissions,\n currentUserProperties as loadCurrentUserProperties,\n getSiteUser as fetchSiteUser,\n typeAhead,\n} from './internal/userRequests';\nimport { fetchDigest } from './internal/digest';\n\nclass HTTPSharePointRequests<\n T extends {\n LISTS: Record<string, unknown>;\n FOLDERS?: Record<string, unknown>;\n }\n> {\n private baseURL: string;\n private endpoint: string;\n private listName: string;\n private instance: AxiosInstance;\n private sharepointVersion: SHAREPOINT_VER;\n private listItemEntityTypeFullName?: string;\n\n constructor(baseURL: string, config?: AxiosConfig) {\n this.baseURL = baseURL.endsWith('/') ? baseURL : `${baseURL}/`;\n this.endpoint = '/api';\n this.listName = '';\n this.instance = instance(this.baseURL, config);\n this.sharepointVersion = '2013';\n this.listItemEntityTypeFullName = undefined;\n }\n\n private getContext<V extends SHAREPOINT_VER = '2013'>(): RequestContext<V> {\n return {\n instance: this.instance,\n baseURL: this.baseURL,\n endpoint: this.endpoint,\n listName: this.listName,\n sharepointVersion: this.sharepointVersion as V,\n listItemEntityTypeFullName: this.listItemEntityTypeFullName,\n resolveListItemEntityType: this.resolveListItemEntityTypeFullName.bind(\n this\n ),\n };\n }\n\n private async resolveListItemEntityTypeFullName(): Promise<string> {\n if (this.listItemEntityTypeFullName) {\n return this.listItemEntityTypeFullName;\n }\n\n if (!this.listName) {\n throw new Error('List name is not set.');\n }\n\n if (this.sharepointVersion !== '2013') {\n this.listItemEntityTypeFullName = `SP.Data.${this.listName}ListItem`;\n return this.listItemEntityTypeFullName;\n }\n\n const response = await this.instance.get(\n `_api/web/lists/GetByTitle('${this.listName}')?$select=ListItemEntityTypeFullName`\n );\n\n const entityType =\n response.data?.d?.ListItemEntityTypeFullName ??\n response.data?.ListItemEntityTypeFullName;\n\n if (!entityType || typeof entityType !== 'string') {\n throw new Error(\n `Unable to resolve ListItemEntityTypeFullName for list \"${this.listName}\".`\n );\n }\n\n this.listItemEntityTypeFullName = entityType;\n return this.listItemEntityTypeFullName;\n }\n\n /**\n * @deprecated Use `from` instead.\n */\n list(listName: IListName<T>) {\n this.listName = listName;\n this.endpoint = `_vti_bin/ListData.svc/${listName}`;\n this.sharepointVersion = '2010';\n this.listItemEntityTypeFullName = undefined;\n return this;\n }\n\n public readonly lists = {\n get: () => {\n this.endpoint = '_api/web/lists';\n this.sharepointVersion = '2013';\n return getListItems(this.getContext());\n },\n };\n\n public getDigest() {\n return fetchDigest(this.instance, this.baseURL);\n }\n\n public from<\n K extends Extract<keyof T['LISTS'], string>,\n V extends SHAREPOINT_VER = '2013'\n >(listName: K, sharepoint_ver?: V) {\n const version = (sharepoint_ver ?? '2013') as V;\n\n this.listName = listName;\n this.sharepointVersion = version;\n this.listItemEntityTypeFullName = undefined;\n this.endpoint =\n version === '2013'\n ? `_api/web/lists/GetByTitle('${this.listName}')/items`\n : `_vti_bin/ListData.svc/${listName}`;\n\n const getContext = () => this.getContext<V>();\n\n return {\n create: (data: ListData) => createListItem(getContext(), data),\n get: (options?: Options<T['LISTS'][K], V>) =>\n getListItems<T['LISTS'][K], V>(getContext(), options),\n update: (id: ItemID, data: ListData, digest?: string) =>\n updateListItem(getContext(), id, data, digest),\n delete: (id: ItemID) => deleteItem(getContext(), id),\n createFile: (props: CreateFileProps) =>\n createAttachment(getContext(), props),\n uploadFile: (props: UploadFileProps) => uploadFile(getContext(), props),\n deleteFile: (props: DeleteFileProps) =>\n deleteLibraryFile(getContext(), props),\n fields: (options?: Field_Options<T['LISTS'][K], V>) => {\n this.endpoint = !options?.fieldName\n ? `_api/web/lists/GetByTitle('${this.listName}')/fields`\n : `_api/web/lists/GetByTitle('${this.listName}')/fields/getbytitle('${options.fieldName}')`;\n return {\n get: () =>\n getOnly<T['LISTS'][K], V>(this.instance, this.endpoint, options),\n };\n },\n };\n }\n\n public folders = {\n get: () => {\n this.endpoint = '_api/web/folders';\n this.sharepointVersion = '2013';\n getListItems(this.getContext());\n },\n };\n\n public folder(folderName?: string | string[]) {\n let filePath = ['Shared Documents'];\n\n if (folderName) {\n filePath = Array.isArray(folderName)\n ? [...filePath, ...folderName]\n : [...filePath, folderName];\n }\n\n this.endpoint = `_api/web/GetFolderByServerRelativeUrl('${filePath.join(\n '/'\n )}')`;\n this.sharepointVersion = '2013';\n\n const getContext = () => this.getContext();\n\n return {\n get: (options?: Folder_Options<any>) => {\n if (!options?.type) {\n this.endpoint += '/Files';\n } else {\n this.endpoint += `/${options.type}`;\n }\n return getFiles(getContext(), options);\n },\n };\n }\n\n public users(options?: Options<any>) {\n this.endpoint = '_api/web/SiteUserInfoList/items';\n this.sharepointVersion = '2013';\n return {\n get: () => getListItems(this.getContext(), options),\n };\n }\n\n public email = {\n send: (props: EmailProps) => {\n this.sharepointVersion = '2013';\n return sendEmailRequest(this.getContext(), props);\n },\n };\n\n public user = {\n properties: () => ({\n get: (): Promise<UserProfile> => {\n this.sharepointVersion = '2013';\n return loadCurrentUserProperties(this.instance);\n },\n }),\n searchSiteUser: (searchValue: string) => {\n this.sharepointVersion = '2013';\n return fetchSiteUser(this.instance, searchValue);\n },\n searchUser: (input: string, filter?: string): Promise<PersonField> => {\n this.sharepointVersion = '2013';\n return typeAhead(this.instance, input, filter);\n },\n current: () => {\n this.endpoint = '_api/web/currentUser';\n this.sharepointVersion = '2013';\n return {\n get: (): Promise<CurrentUser> => getOnly(this.instance, this.endpoint),\n };\n },\n currentPermission: () => ({\n get: (): Promise<UserPermision> => {\n this.sharepointVersion = '2013';\n return resolveCurrentUserPermissions(this.getContext());\n },\n }),\n };\n}\n\nexport default HTTPSharePointRequests;\n","import SHAREPOINT_REQUESTS from './root';\n\nimport type { CreateAxiosDefaults as AxiosConfig } from 'axios';\nimport type { LookupField, ChoiceField, PersonField } from './types';\n\n// Load environment variables from .env file\n\nexport default function createBase<\n T extends { LISTS: Record<string, any>; FOLDERS?: Record<string, any> } = any\n>(){\n function create({\n baseURL,\n config,\n }: {\n baseURL: string;\n config?: AxiosConfig;\n }) {\n if (!baseURL) {\n throw new Error('A valid SharePoint URL must be provided.');\n }\n return new SHAREPOINT_REQUESTS<T>(baseURL, config);\n }\n\n return {\n /**\n * @deprecated Use `create` instead.\n */\n baseURL(url: string, config?: AxiosConfig) {\n return create({ baseURL: url, config });\n },\n create,\n };\n}\n\nexport { LookupField, ChoiceField, PersonField };\n\n\n"],"names":["defaultConfig","headers","Accept","Content-Type","timeout","withCredentials","fetchDigest","_x","_x2","_fetchDigest","apply","arguments","_asyncToGenerator","_regenerator","m","_callee","instance","baseURL","_response$data","formDigestValue","w","_context","p","n","post","v","data","d","GetContextWebInformation","FormDigestValue","Error","a","console","error","resolveMetadataType","_resolveMetadataType","context","resolveListItemEntityType","listItemEntityTypeFullName","listName","_createListItem","_callee2","listData","payload","_t","_t2","_t3","_t5","_context2","_extends","__metadata","type","endpoint","JSON","stringify","X-RequestDigest","call","url","method","_createAttachment","_ref","file","itemId","name","_deleteItem","id","buildLibraryPath","folderPath","segments","Array","isArray","split","filter","Boolean","length","map","segment","trim","sanitized","replace","encodeURIComponent","join","encodeFileName","fileName","_deleteFile","encodedFileName","requestUrl","digest","sharepointVersion","undefined","X-HTTP-Method","IF-MATCH","buildODataParams","options","orderBySeparator","expand","orderBy","limit","cols","skip","$expand","$top","$skip","$select","$filter","$orderby","appendParamsToUrl","baseUrl","params","Object","entries","forEach","_ref2","value","searchParams","append","String","_getFiles","response","URL","defaults","request","results","meta","getListItems","_getListItems","_response$data$d$resu","_response$data2","rawData","keys","filterItem","item","reduce","acc","key","getOnly","_x3","_getOnly","get","_updateListItem","X-Http-Method","_uploadFile","_response$data$d","_ref3","_listItemFields$Id","_listItemFields$__def","_ref$overwrite","overwrite","responseData","listItemFields","_listItemResponse$dat","_listItemResponse$dat2","_listItemResponse$dat3","listItemResponse","deferredId","ListItemAllFields","Id","ID","__deferred","uri","_sendEmail","From","To","Subject","Body","_t4","properties","_typeAhead","input","queryParams","AllowEmailAddresses","AllowMultipleEntities","AllUrlZones","MaximumEntitySuggestions","PrincipalSource","PrincipalType","QueryString","RequiredProperties","ClientPeoplePickerSearchUser","_currentUserProperties","profile","UserProfileProperties","prop","Key","FirstName","Value","LastName","Country","UserName","_getSiteUser","_callee3","searchValue","_context3","roleDefinitions","_x7","_roleDefinitions","_callee4","_context4","getEffectiveBasePermissions","_x8","_getEffectiveBasePermissions","_callee5","_context5","EffectiveBasePermissions","_currentUserPermissions","_callee6","High","result","_context6","find","BasePermissions","HTTPSharePointRequests","config","this","lists","_this","getContext","folders","email","send","props","sendEmailRequest","user","_x4","loadCurrentUserProperties","searchSiteUser","_x5","_x6","fetchSiteUser","searchUser","typeAhead","current","currentPermission","_x9","resolveCurrentUserPermissions","endsWith","userHeaders","AxiosHeaders","toJSON","_config$headers","axios","create","_proto","prototype","resolveListItemEntityTypeFullName","bind","_resolveListItemEntityTypeFullName","_response$data$d$List","entityType","ListItemEntityTypeFullName","list","getDigest","from","sharepoint_ver","version","_this2","createListItem","update","updateListItem","delete","deleteItem","createFile","createAttachment","uploadFile","deleteFile","deleteLibraryFile","fields","fieldName","folder","folderName","filePath","concat","_this3","getFiles","users","_this4","SHAREPOINT_REQUESTS"],"mappings":"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"}
@@ -320,6 +320,73 @@ function _deleteItem() {
320
320
  return _deleteItem.apply(this, arguments);
321
321
  }
322
322
 
323
+ function buildLibraryPath(folderPath) {
324
+ if (!folderPath) {
325
+ return '';
326
+ }
327
+ var segments = Array.isArray(folderPath) ? folderPath : folderPath.split('/').filter(Boolean);
328
+ if (!segments.length) {
329
+ return '';
330
+ }
331
+ var escapedSegments = segments.map(function (segment) {
332
+ if (!segment.trim()) {
333
+ throw new Error('Folder path segments cannot be empty.');
334
+ }
335
+ var sanitized = segment.replace(/'/g, "''");
336
+ return "/Folders('" + encodeURIComponent(sanitized) + "')";
337
+ });
338
+ return escapedSegments.join('');
339
+ }
340
+ function encodeFileName(fileName) {
341
+ if (!fileName.trim()) {
342
+ throw new Error('File name cannot be empty.');
343
+ }
344
+ return encodeURIComponent(fileName.replace(/'/g, "''"));
345
+ }
346
+
347
+ var SUPPORTED_VERSION = '2013';
348
+ function deleteFile(_x, _x2) {
349
+ return _deleteFile.apply(this, arguments);
350
+ }
351
+ function _deleteFile() {
352
+ _deleteFile = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(context, _ref) {
353
+ var fileName, folderPath, encodedFileName, requestUrl, digest, response;
354
+ return _regenerator().w(function (_context) {
355
+ while (1) switch (_context.n) {
356
+ case 0:
357
+ fileName = _ref.fileName, folderPath = _ref.folderPath;
358
+ if (!(context.sharepointVersion !== SUPPORTED_VERSION)) {
359
+ _context.n = 1;
360
+ break;
361
+ }
362
+ throw new Error('deleteFile is only supported for SharePoint 2013 REST endpoints.');
363
+ case 1:
364
+ encodedFileName = encodeFileName(fileName);
365
+ requestUrl = "_api/web/lists/getbytitle('" + context.listName + "')/RootFolder";
366
+ requestUrl += buildLibraryPath(folderPath);
367
+ requestUrl += "/Files('" + encodedFileName + "')";
368
+ _context.n = 2;
369
+ return fetchDigest(context.instance, context.baseURL);
370
+ case 2:
371
+ digest = _context.v;
372
+ _context.n = 3;
373
+ return context.instance.post(requestUrl, undefined, {
374
+ headers: {
375
+ 'X-HTTP-Method': 'DELETE',
376
+ 'IF-MATCH': '*',
377
+ 'X-RequestDigest': digest
378
+ },
379
+ withCredentials: true
380
+ });
381
+ case 3:
382
+ response = _context.v;
383
+ return _context.a(2, response);
384
+ }
385
+ }, _callee);
386
+ }));
387
+ return _deleteFile.apply(this, arguments);
388
+ }
389
+
323
390
  function buildODataParams(options, orderBySeparator) {
324
391
  if (orderBySeparator === void 0) {
325
392
  orderBySeparator = ',';
@@ -540,33 +607,19 @@ function _updateListItem() {
540
607
  return _updateListItem.apply(this, arguments);
541
608
  }
542
609
 
543
- var SUPPORTED_VERSION = '2013';
544
- function normalizeFolderPath(folderPath) {
545
- var segments = Array.isArray(folderPath) ? folderPath : folderPath.split('/').filter(Boolean);
546
- if (!segments.length) {
547
- return '';
548
- }
549
- var escapedSegments = segments.map(function (segment) {
550
- if (!segment.trim()) {
551
- throw new Error('Folder path segments cannot be empty.');
552
- }
553
- // SharePoint expects single quotes to be doubled in OData paths.
554
- var sanitized = segment.replace(/'/g, "''");
555
- return "/Folders('" + encodeURIComponent(sanitized) + "')";
556
- });
557
- return escapedSegments.join('');
558
- }
610
+ var SUPPORTED_VERSION$1 = '2013';
559
611
  function uploadFile(_x, _x2) {
560
612
  return _uploadFile.apply(this, arguments);
561
613
  }
562
614
  function _uploadFile() {
563
615
  _uploadFile = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(context, _ref) {
564
- var file, folderPath, _ref$overwrite, overwrite, requestUrl, encodedFileName, digest, response;
616
+ var _response$data$d, _response$data, _ref2, _ref3, _listItemFields$Id, _listItemFields$__def;
617
+ var file, folderPath, _ref$overwrite, overwrite, requestUrl, encodedFileName, digest, response, responseData, listItemFields, itemId, _listItemResponse$dat, _listItemResponse$dat2, _listItemResponse$dat3, listItemResponse, deferredId;
565
618
  return _regenerator().w(function (_context) {
566
619
  while (1) switch (_context.n) {
567
620
  case 0:
568
621
  file = _ref.file, folderPath = _ref.folderPath, _ref$overwrite = _ref.overwrite, overwrite = _ref$overwrite === void 0 ? true : _ref$overwrite;
569
- if (!(context.sharepointVersion !== SUPPORTED_VERSION)) {
622
+ if (!(context.sharepointVersion !== SUPPORTED_VERSION$1)) {
570
623
  _context.n = 1;
571
624
  break;
572
625
  }
@@ -579,11 +632,9 @@ function _uploadFile() {
579
632
  throw new Error('A file with a valid name must be provided.');
580
633
  case 2:
581
634
  requestUrl = "_api/web/lists/getbytitle('" + context.listName + "')/RootFolder";
582
- if (folderPath) {
583
- requestUrl += normalizeFolderPath(folderPath);
584
- }
585
- encodedFileName = encodeURIComponent(file.name.replace(/'/g, "''"));
586
- requestUrl += "/Files/add(url='" + encodedFileName + "',overwrite=" + (overwrite ? 'true' : 'false') + ")";
635
+ requestUrl += buildLibraryPath(folderPath);
636
+ encodedFileName = encodeFileName(file.name);
637
+ requestUrl += "/Files/add(url='" + encodedFileName + "',overwrite=" + (overwrite ? 'true' : 'false') + ")?$expand=ListItemAllFields&$select=ListItemAllFields/Id";
587
638
  _context.n = 3;
588
639
  return fetchDigest(context.instance, context.baseURL);
589
640
  case 3:
@@ -598,6 +649,30 @@ function _uploadFile() {
598
649
  });
599
650
  case 4:
600
651
  response = _context.v;
652
+ responseData = (_response$data$d = (_response$data = response.data) == null ? void 0 : _response$data.d) != null ? _response$data$d : response.data;
653
+ listItemFields = responseData == null ? void 0 : responseData.ListItemAllFields;
654
+ itemId = (_ref2 = (_ref3 = (_listItemFields$Id = listItemFields == null ? void 0 : listItemFields.Id) != null ? _listItemFields$Id : listItemFields == null ? void 0 : listItemFields.ID) != null ? _ref3 : responseData == null ? void 0 : responseData.Id) != null ? _ref2 : responseData == null ? void 0 : responseData.ID;
655
+ if (!(typeof itemId !== 'undefined')) {
656
+ _context.n = 5;
657
+ break;
658
+ }
659
+ response.itemId = itemId;
660
+ _context.n = 7;
661
+ break;
662
+ case 5:
663
+ if (!(listItemFields != null && (_listItemFields$__def = listItemFields.__deferred) != null && _listItemFields$__def.uri)) {
664
+ _context.n = 7;
665
+ break;
666
+ }
667
+ _context.n = 6;
668
+ return context.instance.get(listItemFields.__deferred.uri);
669
+ case 6:
670
+ listItemResponse = _context.v;
671
+ deferredId = (_listItemResponse$dat = (_listItemResponse$dat2 = listItemResponse.data) == null || (_listItemResponse$dat2 = _listItemResponse$dat2.d) == null ? void 0 : _listItemResponse$dat2.Id) != null ? _listItemResponse$dat : (_listItemResponse$dat3 = listItemResponse.data) == null ? void 0 : _listItemResponse$dat3.Id;
672
+ if (typeof deferredId !== 'undefined') {
673
+ response.itemId = deferredId;
674
+ }
675
+ case 7:
601
676
  return _context.a(2, response);
602
677
  }
603
678
  }, _callee);
@@ -996,6 +1071,9 @@ var HTTPSharePointRequests = /*#__PURE__*/function () {
996
1071
  uploadFile: function uploadFile$1(props) {
997
1072
  return uploadFile(getContext(), props);
998
1073
  },
1074
+ deleteFile: function deleteFile$1(props) {
1075
+ return deleteFile(getContext(), props);
1076
+ },
999
1077
  fields: function fields(options) {
1000
1078
  _this2.endpoint = !(options != null && options.fieldName) ? "_api/web/lists/GetByTitle('" + _this2.listName + "')/fields" : "_api/web/lists/GetByTitle('" + _this2.listName + "')/fields/getbytitle('" + options.fieldName + "')";
1001
1079
  return {