dynamics-web-api
Advanced tools
Comparing version 1.2.7 to 1.2.8
@@ -1,2 +0,2 @@ | ||
/*! dwa v1.2.7 (c) 2017 Aleksandr Rogov */ | ||
/*! dwa v1.2.8 (c) 2017 Aleksandr Rogov */ | ||
(function webpackUniversalModuleDefinition(root, factory) { | ||
@@ -3,0 +3,0 @@ if(typeof exports === 'object' && typeof module === 'object') |
@@ -1,2 +0,2 @@ | ||
/*! dynamics-web-api-callbacks v1.2.7 (c) 2017 Aleksandr Rogov */ | ||
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("DynamicsWebApi",[],t):"object"==typeof exports?exports.DynamicsWebApi=t():e.DynamicsWebApi=t()}(this,function(){return function(e){function t(r){if(a[r])return a[r].exports;var n=a[r]={i:r,l:!1,exports:{}};return e[r].call(n.exports,n,n.exports,t),n.l=!0,n.exports}var a={};return t.m=e,t.c=a,t.i=function(e){return e},t.d=function(e,a,r){t.o(e,a)||Object.defineProperty(e,a,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var a=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(a,"a",a),a},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=13)}([function(e,t){var a={Types:{ResponseBase:function(){this.oDataContext=""},Response:function(){a.Types.ResponseBase.call(this),this.value={}},ReferenceResponse:function(){a.Types.ResponseBase.call(this),this.id="",this.collection=""},MultipleResponse:function(){a.Types.ResponseBase.call(this),this.oDataNextLink="",this.oDataCount=0,this.value=[]},FetchXmlResponse:function(){a.Types.ResponseBase.call(this),this.value=[],this.PagingInfo={cookie:"",page:0,nextPage:1}}},Prefer:{ReturnRepresentation:"return=representation",Annotations:{AssociatedNavigationProperty:"Microsoft.Dynamics.CRM.associatednavigationproperty",LookupLogicalName:"Microsoft.Dynamics.CRM.lookuplogicalname",All:"*",FormattedValue:"OData.Community.Display.V1.FormattedValue",FetchXmlPagingCookie:"Microsoft.Dynamics.CRM.fetchxmlpagingcookie"}}};e.exports=a},function(e,t){function a(e,t,a){throw new Error(a?e+" requires the "+t+" parameter to be of type "+a:e+" requires the "+t+" parameter.")}var r={handleErrorResponse:function(e){throw new Error("Error: "+e.status+": "+e.message)},parameterCheck:function(e,t,r,n){void 0!==e&&null!==e&&""!=e||a(t,r,n)},stringParameterCheck:function(e,t,r){"string"!=typeof e&&a(t,r,"String")},arrayParameterCheck:function(e,t,r){e.constructor!==Array&&a(t,r,"Array")},stringOrArrayParameterCheck:function(e,t,r){e.constructor!==Array&&"string"!=typeof e&&a(t,r,"String or Array")},numberParameterCheck:function(e,t,r){if("number"!=typeof e){if("string"==typeof e&&e&&!isNaN(parseInt(e)))return;a(t,r,"Number")}},boolParameterCheck:function(e,t,r){"boolean"!=typeof e&&a(t,r,"Boolean")},guidParameterCheck:function(e,t,r){try{return/[0-9A-F]{8}[-]?([0-9A-F]{4}[-]?){3}[0-9A-F]{12}/i.exec(e)[0]}catch(e){a(t,r,"GUID String")}},callbackParameterCheck:function(e,t,r){"function"!=typeof e&&a(t,r,"Function")}};e.exports=r},function(e,t){String.prototype.endsWith=function(e,t){var a=this.toString();("number"!=typeof t||!isFinite(t)||Math.floor(t)!==t||t>a.length)&&(t=a.length),t-=e.length;var r=a.lastIndexOf(e,t);return r!==-1&&r===t},String.prototype.startsWith=function(e,t){return t=t||0,this.substr(t,e.length)===e}},function(e,t,a){a(0);e.exports=function(e,t,r,n,i,c,s){r.impersonate&&(!i||i&&!i.MSCRMCallerID)&&(i||(i={}),i.MSCRMCallerID=r.impersonate);var o;n&&(o=JSON.stringify(n,function(e,t){return e.endsWith("@odata.bind")&&"string"==typeof t&&(/\(\{[\w\d-]+\}\)/g.test(t)&&(t=t.replace(/(.+)\(\{([\w\d-]+)\}\)/g,"$1($2)")),t.startsWith(r.webApiUrl)||(t=r.webApiUrl+t)),t}));var l;"undefined"!=typeof XMLHttpRequest&&(l=a(8));var u=function(a){a&&(i||(i={}),i.Authorization="Bearer "+a.accessToken),l(e,r.webApiUrl+t,o,i,c,s)};r.onTokenRefresh&&(!i||i&&!i.Authorization)?r.onTokenRefresh(u):u()}},function(e,t,a){function r(e,t,a,n,s){var o={},l=[];if(n=null!=n?n:"&",e){e.navigationProperty&&(i.stringParameterCheck(e.navigationProperty,"DynamicsWebApi."+t,"request.navigationProperty"),a+="/"+e.navigationProperty),null!=e.select&&e.select.length&&(i.arrayParameterCheck(e.select,"DynamicsWebApi."+t,"request.select"),"retrieve"==t&&1==e.select.length&&e.select[0].endsWith("/$ref")?a+="/"+e.select[0]:(e.select[0].startsWith("/")&&"retrieve"==t&&(null==e.navigationProperty?a+=e.select.shift():e.select.shift()),e.select.length&&l.push("$select="+e.select.join(",")))),e.filter&&(i.stringParameterCheck(e.filter,"DynamicsWebApi."+t,"request.filter"),l.push("$filter="+e.filter)),e.savedQuery&&l.push("savedQuery="+i.guidParameterCheck(e.savedQuery,"DynamicsWebApi."+t,"request.savedQuery")),e.userQuery&&l.push("userQuery="+i.guidParameterCheck(e.userQuery,"DynamicsWebApi."+t,"request.userQuery")),e.count&&(i.boolParameterCheck(e.count,"DynamicsWebApi."+t,"request.count"),l.push("$count="+e.count)),e.top&&e.top>0&&(i.numberParameterCheck(e.top,"DynamicsWebApi."+t,"request.top"),l.push("$top="+e.top)),null!=e.orderBy&&e.orderBy.length&&(i.arrayParameterCheck(e.orderBy,"DynamicsWebApi."+t,"request.orderBy"),l.push("$orderby="+e.orderBy.join(",")));var u=c(e,t,s);if(u.length&&(o.Prefer=u),null!=e.ifmatch&&null!=e.ifnonematch)throw new Error("DynamicsWebApi."+t+". Either one of request.ifmatch or request.ifnonematch parameters should be used in a call, not both.");if(e.ifmatch&&(i.stringParameterCheck(e.ifmatch,"DynamicsWebApi."+t,"request.ifmatch"),o["If-Match"]=e.ifmatch),e.ifnonematch&&(i.stringParameterCheck(e.ifnonematch,"DynamicsWebApi."+t,"request.ifnonematch"),o["If-None-Match"]=e.ifnonematch),e.impersonate&&(i.stringParameterCheck(e.impersonate,"DynamicsWebApi."+t,"request.impersonate"),o.MSCRMCallerID=i.guidParameterCheck(e.impersonate,"DynamicsWebApi."+t,"request.impersonate")),e.token&&(i.stringParameterCheck(e.token,"DynamicsWebApi."+t,"request.token"),o.Authorization="Bearer "+e.token),e.expand&&e.expand.length)if(i.stringOrArrayParameterCheck(e.expand,"DynamicsWebApi."+t,"request.expand"),"string"==typeof e.expand)l.push("$expand="+encodeURI(e.expand));else{for(var p=[],m=0;m<e.expand.length;m++)if(e.expand[m].property){var h=r(e.expand[m],t+" $expand",null,";"),d=h.query;d&&d.length&&(d="("+d+")"),p.push(e.expand[m].property+d)}p.length&&l.push("$expand="+encodeURI(p.join(",")))}}return{url:a,query:l.join(n),headers:o}}function n(e,t,a){e.collection?i.stringParameterCheck(e.collection,"DynamicsWebApi."+t,"request.collection"):i.parameterCheck(e.collection,"DynamicsWebApi."+t,"request.collection");var n=e.collection.toLowerCase();e.id&&(e.id=i.guidParameterCheck(e.id,"DynamicsWebApi."+t,"request.id"),n+="("+e.id+")");var c=r(e,t,n,"&",a);return c.query&&(c.url+="?"+encodeURI(c.query)),{url:c.url,headers:c.headers}}var i=(a(0),a(1)),c=a(10),s={convertRequestOptions:r,convertRequest:n};e.exports=s},function(e,t,a){var r={buildFunctionParameters:a(9),getFetchXmlPagingCookie:a(12),convertToReferenceObject:a(11)};e.exports=r},function(e,t){e.exports=function(e,t){return"string"==typeof t&&/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$/.exec(t)?new Date(t):t}},function(e,t){e.exports=function(e){var t={};if(!e)return t;for(var a=e.split("\r\n"),r=0,n=a.length;r<n;r++){var i=a[r],c=i.indexOf(": ");c>0&&(t[i.substring(0,c)]=i.substring(c+2))}return t}},function(e,t,a){var r=a(6),n=a(7),i=function(e,t,a,i,c,s){var o=new XMLHttpRequest;if(o.open(e,t,!0),o.setRequestHeader("OData-MaxVersion","4.0"),o.setRequestHeader("OData-Version","4.0"),o.setRequestHeader("Accept","application/json"),o.setRequestHeader("Content-Type","application/json; charset=utf-8"),null!=i)for(var l in i)o.setRequestHeader(l,i[l]);o.onreadystatechange=function(){if(4===o.readyState){switch(o.status){case 200:case 201:case 204:case 304:var e=null;o.responseText&&(e=JSON.parse(o.responseText,r));c({data:e,headers:n(o.getAllResponseHeaders()),status:o.status});break;default:var t;try{t=JSON.parse(o.response).error}catch(e){t=o.response.length>0?{message:o.response}:{message:"Unexpected Error"}}t.status=o.status,s(t)}o=null}},o.onerror=function(){s({message:"Network Error"}),o=null},o.ontimeout=function(e){s({message:"Request Timed Out"}),o=null},a?o.send(a):o.send()};e.exports=i},function(e,t){e.exports=function(e){if(e){for(var t=Object.keys(e),a="",r="",n=1;n<=t.length;n++){var i=t[n-1],c=e[i];n>1&&(a+=",",r+="&"),a+=i+"=@p"+n,r+="@p"+n+"="+("string"==typeof c?"'"+c+"'":c)}return"("+a+")?"+r}return"()"}},function(e,t,a){var r=a(0),n=a(1);e.exports=function(e,t,a){var i=e.returnRepresentation,c=e.includeAnnotations,s=e.maxPageSize;if(e.prefer&&e.prefer.length){n.stringOrArrayParameterCheck(e.prefer,"DynamicsWebApi."+t,"request.prefer");var o=e.prefer;"string"==typeof o&&(o=o.split(","));for(var l in o){var u=o[l].trim();u===r.Prefer.ReturnRepresentation?i=!0:u.startsWith("odata.include-annotations=")?c=u.replace("odata.include-annotations=","").replace(/"/g,""):u.startsWith("odata.maxpagesize=")&&(s=u.replace("odata.maxpagesize=","").replace(/"/g,""))}}a&&(null==i&&(i=a.returnRepresentation),c=c?c:a.includeAnnotations,s=s?s:a.maxPageSize);var o=[];return i&&(n.boolParameterCheck(i,"DynamicsWebApi."+t,"request.returnRepresentation"),o.push(r.Prefer.ReturnRepresentation)),c&&(n.stringParameterCheck(c,"DynamicsWebApi."+t,"request.includeAnnotations"),o.push('odata.include-annotations="'+c+'"')),s&&s>0&&(n.numberParameterCheck(s,"DynamicsWebApi."+t,"request.maxPageSize"),o.push("odata.maxpagesize="+s)),o.join(",")}},function(e,t){e.exports=function(e){var t=/\/(\w+)\(([0-9A-F]{8}[-]?([0-9A-F]{4}[-]?){3}[0-9A-F]{12})/i.exec(e["@odata.id"]);return{id:t[2],collection:t[1],oDataContext:e["@odata.context"]}}},function(e,t){e.exports=function(e,t){e=e?e:"",t=t?t:1,e=unescape(unescape(e));var a=/pagingcookie="(<cookie page="(\d+)".+<\/cookie>)/.exec(e);if(null!=a){var r=parseInt(a[2]);return{cookie:a[1].replace(/</g,"<").replace(/>/g,">").replace(/\"/g,"'").replace(/\'/g,"""),page:r,nextPage:r+1}}return{cookie:"",page:t,nextPage:t+1}}},function(e,t,a){function r(e){var t={webApiVersion:"8.0",webApiUrl:"",impersonate:null,onTokenRefresh:null,includeAnnotations:null,maxPageSize:null,returnRepresentation:null};e||(e=t);var a=function(){if("undefined"!=typeof GetGlobalContext)return GetGlobalContext();if("undefined"!=typeof Xrm)return Xrm.Page.context;throw new Error("Xrm Context is not available.")},o=function(){var e=a();if(e){var t=e.getClientUrl();return t.match(/\/$/)&&(t=t.substring(0,t.length-1)),t}return""},l=function(){return o()+"/api/data/v"+t.webApiVersion+"/"};this.setConfig=function(e){e.webApiVersion&&(c.stringParameterCheck(e.webApiVersion,"DynamicsWebApi.setConfig","config.webApiVersion"),t.webApiVersion=e.webApiVersion),e.webApiUrl?(c.stringParameterCheck(e.webApiUrl,"DynamicsWebApi.setConfig","config.webApiUrl"),t.webApiUrl=e.webApiUrl):t.webApiUrl=l(),e.impersonate&&(t.impersonate=c.guidParameterCheck(e.impersonate,"DynamicsWebApi.setConfig","config.impersonate")),e.onTokenRefresh&&(c.callbackParameterCheck(e.onTokenRefresh,"DynamicsWebApi.setConfig","config.onTokenRefresh"),t.onTokenRefresh=e.onTokenRefresh),e.includeAnnotations&&(c.stringParameterCheck(e.includeAnnotations,"DynamicsWebApi.setConfig","config.includeAnnotations"),t.includeAnnotations=e.includeAnnotations),e.maxPageSize&&(c.numberParameterCheck(e.maxPageSize,"DynamicsWebApi.setConfig","config.maxPageSize"),t.maxPageSize=e.maxPageSize),e.returnRepresentation&&(c.boolParameterCheck(e.returnRepresentation,"DynamicsWebApi.setConfig","config.returnRepresentation"),t.returnRepresentation=e.returnRepresentation)},this.setConfig(e);var u=function(e,a,r,n,i,c){s(e,a,t,r,n,i,c)};this.create=function(e,a,r,n,s,o){c.parameterCheck(e,"DynamicsWebApi.create","object"),c.stringParameterCheck(a,"DynamicsWebApi.create","collection"),c.callbackParameterCheck(r,"DynamicsWebApi.create","successCallback"),c.callbackParameterCheck(n,"DynamicsWebApi.create","errorCallback"),s&&c.stringOrArrayParameterCheck(s,"DynamicsWebApi.create","prefer"),o&&c.arrayParameterCheck(o,"DynamicsWebApi.create","select");var l={collection:a,select:o,prefer:s},p=i.convertRequest(l,"create",t),m=function(e){if(e.data)r(e.data);else{var t=e.headers["OData-EntityId"]?e.headers["OData-EntityId"]:e.headers["odata-entityid"];r(/[0-9A-F]{8}[-]?([0-9A-F]{4}[-]?){3}[0-9A-F]{12}/i.exec(t)[0])}};u("POST",p.url,e,p.headers,m,n)},this.updateRequest=function(e,a,r){c.parameterCheck(e,"DynamicsWebApi.update","request"),c.parameterCheck(e.entity,"DynamicsWebApi.update","request.entity"),c.callbackParameterCheck(a,"DynamicsWebApi.update","successCallback"),c.callbackParameterCheck(r,"DynamicsWebApi.update","errorCallback");var n=i.convertRequest(e,"update",t);null==e.ifmatch&&(n.headers["If-Match"]="*");var s=function(e){a(e.data?e.data:!0)},o=e.ifmatch,l=function(e){o&&412==e.status?a(!1):r(e)};u("PATCH",n.url,e.entity,n.headers,s,l)},this.update=function(e,t,a,r,n,i,s){c.stringParameterCheck(e,"DynamicsWebApi.update","id"),e=c.guidParameterCheck(e,"DynamicsWebApi.update","id"),c.parameterCheck(a,"DynamicsWebApi.update","object"),c.stringParameterCheck(t,"DynamicsWebApi.update","collection"),c.callbackParameterCheck(r,"DynamicsWebApi.update","successCallback"),c.callbackParameterCheck(n,"DynamicsWebApi.update","errorCallback"),i&&c.stringOrArrayParameterCheck(i,"DynamicsWebApi.update","prefer"),s&&c.arrayParameterCheck(s,"DynamicsWebApi.update","select");var o={collection:t,id:e,select:s,prefer:i,entity:a};this.updateRequest(o,r,n)},this.updateSingleProperty=function(e,a,r,n,s,o,l){c.stringParameterCheck(e,"DynamicsWebApi.updateSingleProperty","id"),e=c.guidParameterCheck(e,"DynamicsWebApi.updateSingleProperty","id"),c.parameterCheck(r,"DynamicsWebApi.updateSingleProperty","keyValuePair"),c.stringParameterCheck(a,"DynamicsWebApi.updateSingleProperty","collection"),c.callbackParameterCheck(n,"DynamicsWebApi.updateSingleProperty","successCallback"),c.callbackParameterCheck(s,"DynamicsWebApi.updateSingleProperty","errorCallback"),o&&c.stringOrArrayParameterCheck(o,"DynamicsWebApi.updateSingleProperty","prefer"),l&&c.arrayParameterCheck(l,"DynamicsWebApi.updateSingleProperty","select");var p=Object.keys(r)[0],m=r[p],h={collection:a,id:e,select:l,prefer:o,navigationProperty:p},d=i.convertRequest(h,"updateSingleProperty",t),b=function(e){e.data?n(e.data):n()};u("PUT",d.url,{value:m},d.headers,b,s)},this.deleteRequest=function(e,a,r){c.parameterCheck(e,"DynamicsWebApi.delete","request"),c.callbackParameterCheck(a,"DynamicsWebApi.delete","successCallback"),c.callbackParameterCheck(r,"DynamicsWebApi.delete","errorCallback");var n=i.convertRequest(e,"delete",t),s=function(){a(!0)},o=e.ifmatch,l=function(e){o&&412==e.status?a(!1):r(e)};u("DELETE",n.url,null,n.headers,s,l)},this.deleteRecord=function(e,t,a,r,n){c.stringParameterCheck(e,"DynamicsWebApi.delete","id"),e=c.guidParameterCheck(e,"DynamicsWebApi.delete","id"),c.stringParameterCheck(t,"DynamicsWebApi.delete","collection"),c.callbackParameterCheck(a,"DynamicsWebApi.delete","successCallback"),c.callbackParameterCheck(r,"DynamicsWebApi.delete","errorCallback"),null!=n&&c.stringParameterCheck(n,"DynamicsWebApi.delete","propertyName");var i=t.toLowerCase()+"("+e+")";null!=n&&(i+="/"+n),u("DELETE",i,null,null,function(e){a()},r)},this.retrieveRequest=function(e,a,r){c.parameterCheck(e,"DynamicsWebApi.retrieve","request"),c.callbackParameterCheck(a,"DynamicsWebApi.retrieve","successCallback"),c.callbackParameterCheck(r,"DynamicsWebApi.retrieve","errorCallback");var s=i.convertRequest(e,"retrieve",t),o=e.select,l=function(e){a(null!=o&&1==o.length&&o[0].endsWith("/$ref")&&null!=e.data["@odata.id"]?n.convertToReferenceObject(e.data):e.data)};u("GET",s.url,null,s.headers,l,r)},this.retrieve=function(e,t,a,r,n,i){c.stringParameterCheck(e,"DynamicsWebApi.retrieve","id"),e=c.guidParameterCheck(e,"DynamicsWebApi.retrieve","id"),c.stringParameterCheck(t,"DynamicsWebApi.retrieve","collection"),c.callbackParameterCheck(a,"DynamicsWebApi.retrieve","successCallback"),c.callbackParameterCheck(r,"DynamicsWebApi.retrieve","errorCallback"),n&&n.length&&c.arrayParameterCheck(n,"DynamicsWebApi.retrieve","select"),i&&i.length&&c.stringOrArrayParameterCheck(i,"DynamicsWebApi.retrieve","expand");var s={collection:t,id:e,select:n,expand:i};this.retrieveRequest(s,a,r)},this.upsertRequest=function(e,a,r){c.parameterCheck(e,"DynamicsWebApi.upsert","request"),c.parameterCheck(e.entity,"DynamicsWebApi.upsert","request.entity"),c.callbackParameterCheck(a,"DynamicsWebApi.upsert","successCallback"),c.callbackParameterCheck(r,"DynamicsWebApi.upsert","errorCallback");var n=i.convertRequest(e,"upsert",t),s=e.ifnonematch,o=e.ifmatch,l=function(e){if(e.headers["OData-EntityId"]||e.headers["odata-entityid"]){var t=e.headers["OData-EntityId"]?e.headers["OData-EntityId"]:e.headers["odata-entityid"];a(/[0-9A-F]{8}[-]?([0-9A-F]{4}[-]?){3}[0-9A-F]{12}/i.exec(t)[0])}else e.data?a(e.data):a()},p=function(e){s&&412==e.status?a():o&&404==e.status?a():r(e)};u("PATCH",n.url,e.entity,n.headers,l,p)},this.upsert=function(e,t,a,r,n,i,s){c.stringParameterCheck(e,"DynamicsWebApi.upsert","id"),e=c.guidParameterCheck(e,"DynamicsWebApi.upsert","id"),c.parameterCheck(a,"DynamicsWebApi.upsert","object"),c.stringParameterCheck(t,"DynamicsWebApi.upsert","collection"),c.callbackParameterCheck(r,"DynamicsWebApi.upsert","successCallback"),c.callbackParameterCheck(n,"DynamicsWebApi.upsert","errorCallback"),i&&c.stringOrArrayParameterCheck(i,"DynamicsWebApi.upsert","prefer"),s&&c.arrayParameterCheck(s,"DynamicsWebApi.upsert","select");var o={collection:t,id:e,select:s,prefer:i,entity:a};this.upsertRequest(o,r,n)},this.count=function(e,t,a,r){if(null!=r&&(null==r||r.length))return this.retrieveMultipleRequest({collection:e,filter:r,count:!0},function(e){t(e.oDataCount?e.oDataCount:0)},a);c.stringParameterCheck(e,"DynamicsWebApi.count","collection"),c.callbackParameterCheck(t,"DynamicsWebApi.count","successCallback"),c.callbackParameterCheck(a,"DynamicsWebApi.count","errorCallback");var n=function(e){t(e.data?parseInt(e.data):0)};u("GET",e.toLowerCase()+"/$count",null,null,n,a)},this.countAll=function(e,t,a,r,n){return this.retrieveAllRequest({collection:e,filter:r,select:n},function(e){t(e&&e.value?e.value.length:0)},a)},this.retrieveMultiple=function(e,t,a,r,n,i){return this.retrieveMultipleRequest({collection:e,select:r,filter:n},t,a,i)},this.retrieveAll=function(e,t,a,r,n){return m({collection:e,select:r,filter:n},t,a)};var p=function(e,a,r,n){c.callbackParameterCheck(a,"DynamicsWebApi.retrieveMultiple","successCallback"),c.callbackParameterCheck(r,"DynamicsWebApi.retrieveMultiple","errorCallback"),n&&!e.collection&&(e.collection="any");var s=i.convertRequest(e,"retrieveMultiple",t);n&&(c.stringParameterCheck(n,"DynamicsWebApi.retrieveMultiple","nextPageLink"),s.url=n.replace(t.webApiUrl,""));var o=e.count,l=function(e){null!=e.data["@odata.nextLink"]&&(e.data.oDataNextLink=e.data["@odata.nextLink"]),o&&(e.data.oDataCount=null!=e.data["@odata.count"]?parseInt(e.data["@odata.count"]):0),null!=e.data["@odata.context"]&&(e.data.oDataContext=e.data["@odata.context"]),a(e.data)};u("GET",s.url,null,s.headers,l,r)};this.retrieveMultipleRequest=p;var m=function(e,t,a,r,n){var n=n||[];p(e,function(r){n=n.concat(r.value),r.oDataNextLink?m(e,t,a,r.oDataNextLink,n):t({value:n})},a,r)};this.retrieveAllRequest=function(e,t,a){m(e,t,a)};var h=function(e,a,r,s,o,l,p,m){c.stringParameterCheck(e,"DynamicsWebApi.executeFetchXml","collection"),c.stringParameterCheck(a,"DynamicsWebApi.executeFetchXml","fetchXml"),c.callbackParameterCheck(r,"DynamicsWebApi.executeFetchXml","successCallback"),c.callbackParameterCheck(s,"DynamicsWebApi.executeFetchXml","errorCallback"),null==l&&(l=1),c.numberParameterCheck(l,"DynamicsWebApi.executeFetchXml","pageNumber");var h='$1 page="'+l+'"';null!=p&&(c.stringParameterCheck(p,"DynamicsWebApi.executeFetchXml","pagingCookie"),h+=' paging-cookie="'+p+'"'),a=a.replace(/^(<fetch[\w\d\s'"=]+)/,h),o&&c.stringParameterCheck(o,"DynamicsWebApi.executeFetchXml","includeAnnotations"),m&&(m=c.guidParameterCheck(m,"DynamicsWebApi.executeFetchXml","impersonateUserId"));var d={collection:e,includeAnnotations:o,impersonate:m},b=i.convertRequest(d,"executeFetchXml",t),f=encodeURIComponent(a),y=function(e){null!=e.data["@Microsoft.Dynamics.CRM.fetchxmlpagingcookie"]&&(e.data.PagingInfo=n.getFetchXmlPagingCookie(e.data["@Microsoft.Dynamics.CRM.fetchxmlpagingcookie"],l)),null!=e.data["@odata.context"]&&(e.data.oDataContext=e.data["@odata.context"]),r(e.data)};u("GET",b.url+"?fetchXml="+f,null,b.headers,y,s)};this.fetch=this.executeFetchXml=h;var d=function(e,t,a,r,n,i,c,s,o){var o=o||[];h(e,t,function(i){o=o.concat(i.value),i.PagingInfo?d(e,t,a,r,n,i.PagingInfo.nextPage,i.PagingInfo.cookie,s,o):a({value:o})},r,n,i,c,s)};this.fetchAll=this.executeFetchXmlAll=function(e,t,a,r,n,i){return d(e,t,a,r,n,null,null,i)},this.associate=function(e,a,r,n,i,s,o,l){c.stringParameterCheck(e,"DynamicsWebApi.associate","primarycollection"),c.stringParameterCheck(n,"DynamicsWebApi.associate","relatedcollection"),c.stringParameterCheck(r,"DynamicsWebApi.associate","relationshipName"),a=c.guidParameterCheck(a,"DynamicsWebApi.associate","primaryId"),i=c.guidParameterCheck(i,"DynamicsWebApi.associate","relatedId"),c.callbackParameterCheck(s,"DynamicsWebApi.associate","successCallback"),c.callbackParameterCheck(o,"DynamicsWebApi.associate","errorCallback");var p=function(){s()},m={};null!=l&&(l=c.guidParameterCheck(l,"DynamicsWebApi.associate","impersonateUserId"),m.MSCRMCallerID=l),u("POST",e+"("+a+")/"+r+"/$ref",{"@odata.id":t.webApiUrl+n+"("+i+")"},m,p,o)},this.disassociate=function(e,t,a,r,n,i,s){c.stringParameterCheck(e,"DynamicsWebApi.disassociate","primarycollection"),c.stringParameterCheck(a,"DynamicsWebApi.disassociate","relationshipName"),t=c.guidParameterCheck(t,"DynamicsWebApi.disassociate","primaryId"),r=c.guidParameterCheck(r,"DynamicsWebApi.disassociate","relatedId"),c.callbackParameterCheck(n,"DynamicsWebApi.disassociate","successCallback"),c.callbackParameterCheck(i,"DynamicsWebApi.disassociate","errorCallback");var o=function(){n()},l={};null!=s&&(s=c.guidParameterCheck(s,"DynamicsWebApi.associate","impersonateUserId"),l.MSCRMCallerID=s),u("DELETE",e+"("+t+")/"+a+"("+r+")/$ref",null,l,o,i)},this.associateSingleValued=function(e,a,r,n,i,s,o,l){c.stringParameterCheck(e,"DynamicsWebApi.associateSingleValued","collection"),a=c.guidParameterCheck(a,"DynamicsWebApi.associateSingleValued","id"),i=c.guidParameterCheck(i,"DynamicsWebApi.associateSingleValued","relatedId"),c.stringParameterCheck(r,"DynamicsWebApi.associateSingleValued","singleValuedNavigationPropertyName"),c.stringParameterCheck(n,"DynamicsWebApi.associateSingleValued","relatedcollection"),c.callbackParameterCheck(s,"DynamicsWebApi.associateSingleValued","successCallback"),c.callbackParameterCheck(o,"DynamicsWebApi.associateSingleValued","errorCallback");var p=function(){s()},m={};null!=l&&(l=c.guidParameterCheck(l,"DynamicsWebApi.associate","impersonateUserId"),m.MSCRMCallerID=l),u("PUT",e+"("+a+")/"+r+"/$ref",{"@odata.id":t.webApiUrl+n+"("+i+")"},m,p,o)},this.disassociateSingleValued=function(e,t,a,r,n,i){c.stringParameterCheck(e,"DynamicsWebApi.disassociateSingleValued","collection"),t=c.guidParameterCheck(t,"DynamicsWebApi.disassociateSingleValued","id"),c.stringParameterCheck(a,"DynamicsWebApi.disassociateSingleValued","singleValuedNavigationPropertyName"),c.callbackParameterCheck(r,"DynamicsWebApi.disassociateSingleValued","successCallback"),c.callbackParameterCheck(n,"DynamicsWebApi.disassociateSingleValued","errorCallback");var s={};null!=i&&(i=c.guidParameterCheck(i,"DynamicsWebApi.associate","impersonateUserId"),s.MSCRMCallerID=i),u("DELETE",e+"("+t+")/"+a+"/$ref",null,s,function(){r()},n)},this.executeUnboundFunction=function(e,t,a,r,n){return b(e,r,null,null,t,a,n)},this.executeBoundFunction=function(e,t,a,r,n,i,c){return b(a,i,t,e,r,n,c)};var b=function(e,t,a,r,i,s,o){c.stringParameterCheck(e,"DynamicsWebApi.executeFunction","functionName"),c.callbackParameterCheck(i,"DynamicsWebApi.executeFunction","successCallback"),c.callbackParameterCheck(s,"DynamicsWebApi.executeFunction","errorCallback");var l=e+n.buildFunctionParameters(t);null!=a&&(c.stringParameterCheck(a,"DynamicsWebApi.executeFunction","collection"),r=c.guidParameterCheck(r,"DynamicsWebApi.executeFunction","id"),l=a+"("+r+")/"+l);var p={};o&&(p.MSCRMCallerID=c.guidParameterCheck(o,"DynamicsWebApi.executionFunction","impersonateUserId")),u("GET",l,null,p,function(e){e.data?i(e.data):i()},s)};this.executeUnboundAction=function(e,t,a,r,n){return f(e,t,null,null,a,r,n)},this.executeBoundAction=function(e,t,a,r,n,i,c){return f(a,r,t,e,n,i,c)};var f=function(e,t,a,r,n,i,s){c.stringParameterCheck(e,"DynamicsWebApi.executeAction","actionName"),c.callbackParameterCheck(n,"DynamicsWebApi.executeAction","successCallback"),c.callbackParameterCheck(i,"DynamicsWebApi.executeAction","errorCallback");var o=e;null!=a&&(c.stringParameterCheck(a,"DynamicsWebApi.executeAction","collection"),r=c.guidParameterCheck(r,"DynamicsWebApi.executeAction","id"),o=a+"("+r+")/"+o);var l={};null!=s&&(s=c.guidParameterCheck(s,"DynamicsWebApi.associate","impersonateUserId"),l.MSCRMCallerID=s),u("POST",o,t,l,function(e){e.data?n(e.data):n()},i)};this.initializeInstance=function(e){return e||(e=t),new r(e)}}var n=(a(0),a(5)),i=a(4),c=a(1),s=a(3);String.prototype.endsWith&&String.prototype.startsWith||a(2),e.exports=r}])}); | ||
/*! dynamics-web-api-callbacks v1.2.8 (c) 2017 Aleksandr Rogov */ | ||
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("DynamicsWebApi",[],t):"object"==typeof exports?exports.DynamicsWebApi=t():e.DynamicsWebApi=t()}(this,function(){return function(e){function t(r){if(a[r])return a[r].exports;var n=a[r]={i:r,l:!1,exports:{}};return e[r].call(n.exports,n,n.exports,t),n.l=!0,n.exports}var a={};return t.m=e,t.c=a,t.i=function(e){return e},t.d=function(e,a,r){t.o(e,a)||Object.defineProperty(e,a,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var a=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(a,"a",a),a},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=14)}([function(e,t){var a={Types:{ResponseBase:function(){this.oDataContext=""},Response:function(){a.Types.ResponseBase.call(this),this.value={}},ReferenceResponse:function(){a.Types.ResponseBase.call(this),this.id="",this.collection=""},MultipleResponse:function(){a.Types.ResponseBase.call(this),this.oDataNextLink="",this.oDataCount=0,this.value=[]},FetchXmlResponse:function(){a.Types.ResponseBase.call(this),this.value=[],this.PagingInfo={cookie:"",page:0,nextPage:1}}},Prefer:{ReturnRepresentation:"return=representation",Annotations:{AssociatedNavigationProperty:"Microsoft.Dynamics.CRM.associatednavigationproperty",LookupLogicalName:"Microsoft.Dynamics.CRM.lookuplogicalname",All:"*",FormattedValue:"OData.Community.Display.V1.FormattedValue",FetchXmlPagingCookie:"Microsoft.Dynamics.CRM.fetchxmlpagingcookie"}}};e.exports=a},function(e,t){function a(e,t,a){throw new Error(a?e+" requires the "+t+" parameter to be of type "+a:e+" requires the "+t+" parameter.")}var r={handleErrorResponse:function(e){throw new Error("Error: "+e.status+": "+e.message)},parameterCheck:function(e,t,r,n){void 0!==e&&null!==e&&""!=e||a(t,r,n)},stringParameterCheck:function(e,t,r){"string"!=typeof e&&a(t,r,"String")},arrayParameterCheck:function(e,t,r){e.constructor!==Array&&a(t,r,"Array")},stringOrArrayParameterCheck:function(e,t,r){e.constructor!==Array&&"string"!=typeof e&&a(t,r,"String or Array")},numberParameterCheck:function(e,t,r){if("number"!=typeof e){if("string"==typeof e&&e&&!isNaN(parseInt(e)))return;a(t,r,"Number")}},boolParameterCheck:function(e,t,r){"boolean"!=typeof e&&a(t,r,"Boolean")},guidParameterCheck:function(e,t,r){try{return/[0-9A-F]{8}[-]?([0-9A-F]{4}[-]?){3}[0-9A-F]{12}/i.exec(e)[0]}catch(e){a(t,r,"GUID String")}},callbackParameterCheck:function(e,t,r){"function"!=typeof e&&a(t,r,"Function")}};e.exports=r},function(e,t){String.prototype.endsWith=function(e,t){var a=this.toString();("number"!=typeof t||!isFinite(t)||Math.floor(t)!==t||t>a.length)&&(t=a.length),t-=e.length;var r=a.lastIndexOf(e,t);return r!==-1&&r===t},String.prototype.startsWith=function(e,t){return t=t||0,this.substr(t,e.length)===e}},function(e,t,a){function r(){var e=(new Date).getTime();return"undefined"!=typeof performance&&"function"==typeof performance.now&&(e+=performance.now()),"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){var a=(e+16*Math.random())%16|0;return e=Math.floor(e/16),("x"===t?a:3&a|8).toString(16)})}function n(e){return e.Accept="application/json",e["OData-MaxVersion"]="4.0",e["OData-Version"]="4.0",e["Content-Type"]="application/json; charset=utf-8",e}a(0);e.exports=function(e,t,i,c,s,o,l){s||(s={}),s=n(s);var u;if(c&&(u=JSON.stringify(c,function(e,t){return e.endsWith("@odata.bind")&&"string"==typeof t&&(/\(\{[\w\d-]+\}\)/g.test(t)&&(t=t.replace(/(.+)\(\{([\w\d-]+)\}\)/g,"$1($2)")),t.startsWith(i.webApiUrl)||(t=i.webApiUrl+t)),t})),t.length>2083){var p="dwa_batch_"+r(),m=[];m.push("--"+p),m.push("Content-Type: application/http"),m.push("Content-Transfer-Encoding: binary\n"),m.push(e+" "+i.webApiUrl+t+" HTTP/1.1");for(var h in s)m.push(h+": "+s[h]),delete s[h];m.push("\n--"+p+"--"),u=m.join("\n"),s=n(s),s["Content-Type"]="multipart/mixed;boundary="+p,t="$batch",e="POST"}i.impersonate&&!s.MSCRMCallerID&&(s.MSCRMCallerID=i.impersonate);var d;"undefined"!=typeof XMLHttpRequest&&(d=a(9));var f=function(a){a&&(s||(s={}),s.Authorization="Bearer "+a.accessToken),d(e,i.webApiUrl+t,u,s,o,l)};i.onTokenRefresh&&(!s||s&&!s.Authorization)?i.onTokenRefresh(f):f()}},function(e,t,a){function r(e,t,a,n,s){var o={},l=[];if(n=null!=n?n:"&",e){e.navigationProperty&&(i.stringParameterCheck(e.navigationProperty,"DynamicsWebApi."+t,"request.navigationProperty"),a+="/"+e.navigationProperty),null!=e.select&&e.select.length&&(i.arrayParameterCheck(e.select,"DynamicsWebApi."+t,"request.select"),"retrieve"==t&&1==e.select.length&&e.select[0].endsWith("/$ref")?a+="/"+e.select[0]:(e.select[0].startsWith("/")&&"retrieve"==t&&(null==e.navigationProperty?a+=e.select.shift():e.select.shift()),e.select.length&&l.push("$select="+e.select.join(",")))),e.filter&&(i.stringParameterCheck(e.filter,"DynamicsWebApi."+t,"request.filter"),l.push("$filter="+e.filter)),e.savedQuery&&l.push("savedQuery="+i.guidParameterCheck(e.savedQuery,"DynamicsWebApi."+t,"request.savedQuery")),e.userQuery&&l.push("userQuery="+i.guidParameterCheck(e.userQuery,"DynamicsWebApi."+t,"request.userQuery")),e.count&&(i.boolParameterCheck(e.count,"DynamicsWebApi."+t,"request.count"),l.push("$count="+e.count)),e.top&&e.top>0&&(i.numberParameterCheck(e.top,"DynamicsWebApi."+t,"request.top"),l.push("$top="+e.top)),null!=e.orderBy&&e.orderBy.length&&(i.arrayParameterCheck(e.orderBy,"DynamicsWebApi."+t,"request.orderBy"),l.push("$orderby="+e.orderBy.join(",")));var u=c(e,t,s);if(u.length&&(o.Prefer=u),null!=e.ifmatch&&null!=e.ifnonematch)throw new Error("DynamicsWebApi."+t+". Either one of request.ifmatch or request.ifnonematch parameters should be used in a call, not both.");if(e.ifmatch&&(i.stringParameterCheck(e.ifmatch,"DynamicsWebApi."+t,"request.ifmatch"),o["If-Match"]=e.ifmatch),e.ifnonematch&&(i.stringParameterCheck(e.ifnonematch,"DynamicsWebApi."+t,"request.ifnonematch"),o["If-None-Match"]=e.ifnonematch),e.impersonate&&(i.stringParameterCheck(e.impersonate,"DynamicsWebApi."+t,"request.impersonate"),o.MSCRMCallerID=i.guidParameterCheck(e.impersonate,"DynamicsWebApi."+t,"request.impersonate")),e.token&&(i.stringParameterCheck(e.token,"DynamicsWebApi."+t,"request.token"),o.Authorization="Bearer "+e.token),e.expand&&e.expand.length)if(i.stringOrArrayParameterCheck(e.expand,"DynamicsWebApi."+t,"request.expand"),"string"==typeof e.expand)l.push("$expand="+encodeURI(e.expand));else{for(var p=[],m=0;m<e.expand.length;m++)if(e.expand[m].property){var h=r(e.expand[m],t+" $expand",null,";"),d=h.query;d&&d.length&&(d="("+d+")"),p.push(e.expand[m].property+d)}p.length&&l.push("$expand="+encodeURI(p.join(",")))}}return{url:a,query:l.join(n),headers:o}}function n(e,t,a){e.collection?i.stringParameterCheck(e.collection,"DynamicsWebApi."+t,"request.collection"):i.parameterCheck(e.collection,"DynamicsWebApi."+t,"request.collection");var n=e.collection.toLowerCase();e.id&&(e.id=i.guidParameterCheck(e.id,"DynamicsWebApi."+t,"request.id"),n+="("+e.id+")");var c=r(e,t,n,"&",a);return c.query&&(c.url+="?"+encodeURI(c.query)),{url:c.url,headers:c.headers}}var i=(a(0),a(1)),c=a(11),s={convertRequestOptions:r,convertRequest:n};e.exports=s},function(e,t,a){var r={buildFunctionParameters:a(10),getFetchXmlPagingCookie:a(13),convertToReferenceObject:a(12)};e.exports=r},function(e,t){e.exports=function(e,t){return"string"==typeof t&&/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$/.exec(t)?new Date(t):t}},function(e,t,a){function r(e){var t=e.substr(0,e.indexOf("\r\n")),a=e.split(t);a.shift(),a.pop();for(var r=[],i=0;i<a.length;i++){var c=a[i],s=c.substring(c.indexOf("{"),c.lastIndexOf("}")+1);r.push(JSON.parse(s,n))}return r}var n=a(6);e.exports=function(e){var t=null;return e.length&&(t=t=e.indexOf("--batchresponse_")>-1?r(e)[0]:JSON.parse(e,n)),t}},function(e,t){e.exports=function(e){var t={};if(!e)return t;for(var a=e.split("\r\n"),r=0,n=a.length;r<n;r++){var i=a[r],c=i.indexOf(": ");c>0&&(t[i.substring(0,c)]=i.substring(c+2))}return t}},function(e,t,a){var r=a(7),n=a(8),i=function(e,t,a,i,c,s){var o=new XMLHttpRequest;o.open(e,t,!0);for(var l in i)o.setRequestHeader(l,i[l]);o.onreadystatechange=function(){if(4===o.readyState){switch(o.status){case 200:case 201:case 204:case 304:c({data:r(o.responseText),headers:n(o.getAllResponseHeaders()),status:o.status});break;default:var e;try{e=JSON.parse(o.response).error}catch(t){e=o.response.length>0?{message:o.response}:{message:"Unexpected Error"}}e.status=o.status,s(e)}o=null}},o.onerror=function(){s({message:"Network Error"}),o=null},o.ontimeout=function(e){s({message:"Request Timed Out"}),o=null},a?o.send(a):o.send()};e.exports=i},function(e,t){e.exports=function(e){if(e){for(var t=Object.keys(e),a="",r="",n=1;n<=t.length;n++){var i=t[n-1],c=e[i];n>1&&(a+=",",r+="&"),a+=i+"=@p"+n,r+="@p"+n+"="+("string"==typeof c?"'"+c+"'":c)}return"("+a+")?"+r}return"()"}},function(e,t,a){var r=a(0),n=a(1);e.exports=function(e,t,a){var i=e.returnRepresentation,c=e.includeAnnotations,s=e.maxPageSize;if(e.prefer&&e.prefer.length){n.stringOrArrayParameterCheck(e.prefer,"DynamicsWebApi."+t,"request.prefer");var o=e.prefer;"string"==typeof o&&(o=o.split(","));for(var l in o){var u=o[l].trim();u===r.Prefer.ReturnRepresentation?i=!0:u.startsWith("odata.include-annotations=")?c=u.replace("odata.include-annotations=","").replace(/"/g,""):u.startsWith("odata.maxpagesize=")&&(s=u.replace("odata.maxpagesize=","").replace(/"/g,""))}}a&&(null==i&&(i=a.returnRepresentation),c=c?c:a.includeAnnotations,s=s?s:a.maxPageSize);var o=[];return i&&(n.boolParameterCheck(i,"DynamicsWebApi."+t,"request.returnRepresentation"),o.push(r.Prefer.ReturnRepresentation)),c&&(n.stringParameterCheck(c,"DynamicsWebApi."+t,"request.includeAnnotations"),o.push('odata.include-annotations="'+c+'"')),s&&s>0&&(n.numberParameterCheck(s,"DynamicsWebApi."+t,"request.maxPageSize"),o.push("odata.maxpagesize="+s)),o.join(",")}},function(e,t){e.exports=function(e){var t=/\/(\w+)\(([0-9A-F]{8}[-]?([0-9A-F]{4}[-]?){3}[0-9A-F]{12})/i.exec(e["@odata.id"]);return{id:t[2],collection:t[1],oDataContext:e["@odata.context"]}}},function(e,t){e.exports=function(e,t){e=e?e:"",t=t?t:1,e=unescape(unescape(e));var a=/pagingcookie="(<cookie page="(\d+)".+<\/cookie>)/.exec(e);if(null!=a){var r=parseInt(a[2]);return{cookie:a[1].replace(/</g,"<").replace(/>/g,">").replace(/\"/g,"'").replace(/\'/g,"""),page:r,nextPage:r+1}}return{cookie:"",page:t,nextPage:t+1}}},function(e,t,a){function r(e){var t={webApiVersion:"8.0",webApiUrl:"",impersonate:null,onTokenRefresh:null,includeAnnotations:null,maxPageSize:null,returnRepresentation:null};e||(e=t);var a=function(){if("undefined"!=typeof GetGlobalContext)return GetGlobalContext();if("undefined"!=typeof Xrm)return Xrm.Page.context;throw new Error("Xrm Context is not available.")},o=function(){var e=a();if(e){var t=e.getClientUrl();return t.match(/\/$/)&&(t=t.substring(0,t.length-1)),t}return""},l=function(){return o()+"/api/data/v"+t.webApiVersion+"/"};this.setConfig=function(e){e.webApiVersion&&(c.stringParameterCheck(e.webApiVersion,"DynamicsWebApi.setConfig","config.webApiVersion"),t.webApiVersion=e.webApiVersion),e.webApiUrl?(c.stringParameterCheck(e.webApiUrl,"DynamicsWebApi.setConfig","config.webApiUrl"),t.webApiUrl=e.webApiUrl):t.webApiUrl=l(),e.impersonate&&(t.impersonate=c.guidParameterCheck(e.impersonate,"DynamicsWebApi.setConfig","config.impersonate")),e.onTokenRefresh&&(c.callbackParameterCheck(e.onTokenRefresh,"DynamicsWebApi.setConfig","config.onTokenRefresh"),t.onTokenRefresh=e.onTokenRefresh),e.includeAnnotations&&(c.stringParameterCheck(e.includeAnnotations,"DynamicsWebApi.setConfig","config.includeAnnotations"),t.includeAnnotations=e.includeAnnotations),e.maxPageSize&&(c.numberParameterCheck(e.maxPageSize,"DynamicsWebApi.setConfig","config.maxPageSize"),t.maxPageSize=e.maxPageSize),e.returnRepresentation&&(c.boolParameterCheck(e.returnRepresentation,"DynamicsWebApi.setConfig","config.returnRepresentation"),t.returnRepresentation=e.returnRepresentation)},this.setConfig(e);var u=function(e,a,r,n,i,c){s(e,a,t,r,n,i,c)};this.create=function(e,a,r,n,s,o){c.parameterCheck(e,"DynamicsWebApi.create","object"),c.stringParameterCheck(a,"DynamicsWebApi.create","collection"),c.callbackParameterCheck(r,"DynamicsWebApi.create","successCallback"),c.callbackParameterCheck(n,"DynamicsWebApi.create","errorCallback"),s&&c.stringOrArrayParameterCheck(s,"DynamicsWebApi.create","prefer"),o&&c.arrayParameterCheck(o,"DynamicsWebApi.create","select");var l={collection:a,select:o,prefer:s},p=i.convertRequest(l,"create",t),m=function(e){if(e.data)r(e.data);else{var t=e.headers["OData-EntityId"]?e.headers["OData-EntityId"]:e.headers["odata-entityid"];r(/[0-9A-F]{8}[-]?([0-9A-F]{4}[-]?){3}[0-9A-F]{12}/i.exec(t)[0])}};u("POST",p.url,e,p.headers,m,n)},this.updateRequest=function(e,a,r){c.parameterCheck(e,"DynamicsWebApi.update","request"),c.parameterCheck(e.entity,"DynamicsWebApi.update","request.entity"),c.callbackParameterCheck(a,"DynamicsWebApi.update","successCallback"),c.callbackParameterCheck(r,"DynamicsWebApi.update","errorCallback");var n=i.convertRequest(e,"update",t);null==e.ifmatch&&(n.headers["If-Match"]="*");var s=function(e){a(e.data?e.data:!0)},o=e.ifmatch,l=function(e){o&&412==e.status?a(!1):r(e)};u("PATCH",n.url,e.entity,n.headers,s,l)},this.update=function(e,t,a,r,n,i,s){c.stringParameterCheck(e,"DynamicsWebApi.update","id"),e=c.guidParameterCheck(e,"DynamicsWebApi.update","id"),c.parameterCheck(a,"DynamicsWebApi.update","object"),c.stringParameterCheck(t,"DynamicsWebApi.update","collection"),c.callbackParameterCheck(r,"DynamicsWebApi.update","successCallback"),c.callbackParameterCheck(n,"DynamicsWebApi.update","errorCallback"),i&&c.stringOrArrayParameterCheck(i,"DynamicsWebApi.update","prefer"),s&&c.arrayParameterCheck(s,"DynamicsWebApi.update","select");var o={collection:t,id:e,select:s,prefer:i,entity:a};this.updateRequest(o,r,n)},this.updateSingleProperty=function(e,a,r,n,s,o,l){c.stringParameterCheck(e,"DynamicsWebApi.updateSingleProperty","id"),e=c.guidParameterCheck(e,"DynamicsWebApi.updateSingleProperty","id"),c.parameterCheck(r,"DynamicsWebApi.updateSingleProperty","keyValuePair"),c.stringParameterCheck(a,"DynamicsWebApi.updateSingleProperty","collection"),c.callbackParameterCheck(n,"DynamicsWebApi.updateSingleProperty","successCallback"),c.callbackParameterCheck(s,"DynamicsWebApi.updateSingleProperty","errorCallback"),o&&c.stringOrArrayParameterCheck(o,"DynamicsWebApi.updateSingleProperty","prefer"),l&&c.arrayParameterCheck(l,"DynamicsWebApi.updateSingleProperty","select");var p=Object.keys(r)[0],m=r[p],h={collection:a,id:e,select:l,prefer:o,navigationProperty:p},d=i.convertRequest(h,"updateSingleProperty",t),f=function(e){e.data?n(e.data):n()};u("PUT",d.url,{value:m},d.headers,f,s)},this.deleteRequest=function(e,a,r){c.parameterCheck(e,"DynamicsWebApi.delete","request"),c.callbackParameterCheck(a,"DynamicsWebApi.delete","successCallback"),c.callbackParameterCheck(r,"DynamicsWebApi.delete","errorCallback");var n=i.convertRequest(e,"delete",t),s=function(){a(!0)},o=e.ifmatch,l=function(e){o&&412==e.status?a(!1):r(e)};u("DELETE",n.url,null,n.headers,s,l)},this.deleteRecord=function(e,t,a,r,n){c.stringParameterCheck(e,"DynamicsWebApi.delete","id"),e=c.guidParameterCheck(e,"DynamicsWebApi.delete","id"),c.stringParameterCheck(t,"DynamicsWebApi.delete","collection"),c.callbackParameterCheck(a,"DynamicsWebApi.delete","successCallback"),c.callbackParameterCheck(r,"DynamicsWebApi.delete","errorCallback"),null!=n&&c.stringParameterCheck(n,"DynamicsWebApi.delete","propertyName");var i=t.toLowerCase()+"("+e+")";null!=n&&(i+="/"+n),u("DELETE",i,null,null,function(e){a()},r)},this.retrieveRequest=function(e,a,r){c.parameterCheck(e,"DynamicsWebApi.retrieve","request"),c.callbackParameterCheck(a,"DynamicsWebApi.retrieve","successCallback"),c.callbackParameterCheck(r,"DynamicsWebApi.retrieve","errorCallback");var s=i.convertRequest(e,"retrieve",t),o=e.select,l=function(e){a(null!=o&&1==o.length&&o[0].endsWith("/$ref")&&null!=e.data["@odata.id"]?n.convertToReferenceObject(e.data):e.data)};u("GET",s.url,null,s.headers,l,r)},this.retrieve=function(e,t,a,r,n,i){c.stringParameterCheck(e,"DynamicsWebApi.retrieve","id"),e=c.guidParameterCheck(e,"DynamicsWebApi.retrieve","id"),c.stringParameterCheck(t,"DynamicsWebApi.retrieve","collection"),c.callbackParameterCheck(a,"DynamicsWebApi.retrieve","successCallback"),c.callbackParameterCheck(r,"DynamicsWebApi.retrieve","errorCallback"),n&&n.length&&c.arrayParameterCheck(n,"DynamicsWebApi.retrieve","select"),i&&i.length&&c.stringOrArrayParameterCheck(i,"DynamicsWebApi.retrieve","expand");var s={collection:t,id:e,select:n,expand:i};this.retrieveRequest(s,a,r)},this.upsertRequest=function(e,a,r){c.parameterCheck(e,"DynamicsWebApi.upsert","request"),c.parameterCheck(e.entity,"DynamicsWebApi.upsert","request.entity"),c.callbackParameterCheck(a,"DynamicsWebApi.upsert","successCallback"),c.callbackParameterCheck(r,"DynamicsWebApi.upsert","errorCallback");var n=i.convertRequest(e,"upsert",t),s=e.ifnonematch,o=e.ifmatch,l=function(e){if(e.headers["OData-EntityId"]||e.headers["odata-entityid"]){var t=e.headers["OData-EntityId"]?e.headers["OData-EntityId"]:e.headers["odata-entityid"];a(/[0-9A-F]{8}[-]?([0-9A-F]{4}[-]?){3}[0-9A-F]{12}/i.exec(t)[0])}else e.data?a(e.data):a()},p=function(e){s&&412==e.status?a():o&&404==e.status?a():r(e)};u("PATCH",n.url,e.entity,n.headers,l,p)},this.upsert=function(e,t,a,r,n,i,s){c.stringParameterCheck(e,"DynamicsWebApi.upsert","id"),e=c.guidParameterCheck(e,"DynamicsWebApi.upsert","id"),c.parameterCheck(a,"DynamicsWebApi.upsert","object"),c.stringParameterCheck(t,"DynamicsWebApi.upsert","collection"),c.callbackParameterCheck(r,"DynamicsWebApi.upsert","successCallback"),c.callbackParameterCheck(n,"DynamicsWebApi.upsert","errorCallback"),i&&c.stringOrArrayParameterCheck(i,"DynamicsWebApi.upsert","prefer"),s&&c.arrayParameterCheck(s,"DynamicsWebApi.upsert","select");var o={collection:t,id:e,select:s,prefer:i,entity:a};this.upsertRequest(o,r,n)},this.count=function(e,t,a,r){if(null!=r&&(null==r||r.length))return this.retrieveMultipleRequest({collection:e,filter:r,count:!0},function(e){t(e.oDataCount?e.oDataCount:0)},a);c.stringParameterCheck(e,"DynamicsWebApi.count","collection"),c.callbackParameterCheck(t,"DynamicsWebApi.count","successCallback"),c.callbackParameterCheck(a,"DynamicsWebApi.count","errorCallback");var n=function(e){t(e.data?parseInt(e.data):0)};u("GET",e.toLowerCase()+"/$count",null,null,n,a)},this.countAll=function(e,t,a,r,n){return this.retrieveAllRequest({collection:e,filter:r,select:n},function(e){t(e&&e.value?e.value.length:0)},a)},this.retrieveMultiple=function(e,t,a,r,n,i){return this.retrieveMultipleRequest({collection:e,select:r,filter:n},t,a,i)},this.retrieveAll=function(e,t,a,r,n){return m({collection:e,select:r,filter:n},t,a)};var p=function(e,a,r,n){c.callbackParameterCheck(a,"DynamicsWebApi.retrieveMultiple","successCallback"),c.callbackParameterCheck(r,"DynamicsWebApi.retrieveMultiple","errorCallback"),n&&!e.collection&&(e.collection="any");var s=i.convertRequest(e,"retrieveMultiple",t);n&&(c.stringParameterCheck(n,"DynamicsWebApi.retrieveMultiple","nextPageLink"),s.url=n.replace(t.webApiUrl,""));var o=e.count,l=function(e){null!=e.data["@odata.nextLink"]&&(e.data.oDataNextLink=e.data["@odata.nextLink"]),o&&(e.data.oDataCount=null!=e.data["@odata.count"]?parseInt(e.data["@odata.count"]):0),null!=e.data["@odata.context"]&&(e.data.oDataContext=e.data["@odata.context"]),a(e.data)};u("GET",s.url,null,s.headers,l,r)};this.retrieveMultipleRequest=p;var m=function(e,t,a,r,n){var n=n||[];p(e,function(r){n=n.concat(r.value),r.oDataNextLink?m(e,t,a,r.oDataNextLink,n):t({value:n})},a,r)};this.retrieveAllRequest=function(e,t,a){m(e,t,a)};var h=function(e,a,r,s,o,l,p,m){c.stringParameterCheck(e,"DynamicsWebApi.executeFetchXml","collection"),c.stringParameterCheck(a,"DynamicsWebApi.executeFetchXml","fetchXml"),c.callbackParameterCheck(r,"DynamicsWebApi.executeFetchXml","successCallback"),c.callbackParameterCheck(s,"DynamicsWebApi.executeFetchXml","errorCallback"),null==l&&(l=1),c.numberParameterCheck(l,"DynamicsWebApi.executeFetchXml","pageNumber");var h='$1 page="'+l+'"';null!=p&&(c.stringParameterCheck(p,"DynamicsWebApi.executeFetchXml","pagingCookie"),h+=' paging-cookie="'+p+'"'),a=a.replace(/^(<fetch[\w\d\s'"=]+)/,h),o&&c.stringParameterCheck(o,"DynamicsWebApi.executeFetchXml","includeAnnotations"),m&&(m=c.guidParameterCheck(m,"DynamicsWebApi.executeFetchXml","impersonateUserId"));var d={collection:e,includeAnnotations:o,impersonate:m},f=i.convertRequest(d,"executeFetchXml",t),b=encodeURIComponent(a),y=function(e){null!=e.data["@Microsoft.Dynamics.CRM.fetchxmlpagingcookie"]&&(e.data.PagingInfo=n.getFetchXmlPagingCookie(e.data["@Microsoft.Dynamics.CRM.fetchxmlpagingcookie"],l)),null!=e.data["@odata.context"]&&(e.data.oDataContext=e.data["@odata.context"]),r(e.data)};u("GET",f.url+"?fetchXml="+b,null,f.headers,y,s)};this.fetch=this.executeFetchXml=h;var d=function(e,t,a,r,n,i,c,s,o){var o=o||[];h(e,t,function(i){o=o.concat(i.value),i.PagingInfo?d(e,t,a,r,n,i.PagingInfo.nextPage,i.PagingInfo.cookie,s,o):a({value:o})},r,n,i,c,s)};this.fetchAll=this.executeFetchXmlAll=function(e,t,a,r,n,i){return d(e,t,a,r,n,null,null,i)},this.associate=function(e,a,r,n,i,s,o,l){c.stringParameterCheck(e,"DynamicsWebApi.associate","primarycollection"),c.stringParameterCheck(n,"DynamicsWebApi.associate","relatedcollection"),c.stringParameterCheck(r,"DynamicsWebApi.associate","relationshipName"),a=c.guidParameterCheck(a,"DynamicsWebApi.associate","primaryId"),i=c.guidParameterCheck(i,"DynamicsWebApi.associate","relatedId"),c.callbackParameterCheck(s,"DynamicsWebApi.associate","successCallback"),c.callbackParameterCheck(o,"DynamicsWebApi.associate","errorCallback");var p=function(){s()},m={};null!=l&&(l=c.guidParameterCheck(l,"DynamicsWebApi.associate","impersonateUserId"),m.MSCRMCallerID=l),u("POST",e+"("+a+")/"+r+"/$ref",{"@odata.id":t.webApiUrl+n+"("+i+")"},m,p,o)},this.disassociate=function(e,t,a,r,n,i,s){c.stringParameterCheck(e,"DynamicsWebApi.disassociate","primarycollection"),c.stringParameterCheck(a,"DynamicsWebApi.disassociate","relationshipName"),t=c.guidParameterCheck(t,"DynamicsWebApi.disassociate","primaryId"),r=c.guidParameterCheck(r,"DynamicsWebApi.disassociate","relatedId"),c.callbackParameterCheck(n,"DynamicsWebApi.disassociate","successCallback"),c.callbackParameterCheck(i,"DynamicsWebApi.disassociate","errorCallback");var o=function(){n()},l={};null!=s&&(s=c.guidParameterCheck(s,"DynamicsWebApi.associate","impersonateUserId"),l.MSCRMCallerID=s),u("DELETE",e+"("+t+")/"+a+"("+r+")/$ref",null,l,o,i)},this.associateSingleValued=function(e,a,r,n,i,s,o,l){c.stringParameterCheck(e,"DynamicsWebApi.associateSingleValued","collection"),a=c.guidParameterCheck(a,"DynamicsWebApi.associateSingleValued","id"),i=c.guidParameterCheck(i,"DynamicsWebApi.associateSingleValued","relatedId"),c.stringParameterCheck(r,"DynamicsWebApi.associateSingleValued","singleValuedNavigationPropertyName"),c.stringParameterCheck(n,"DynamicsWebApi.associateSingleValued","relatedcollection"),c.callbackParameterCheck(s,"DynamicsWebApi.associateSingleValued","successCallback"),c.callbackParameterCheck(o,"DynamicsWebApi.associateSingleValued","errorCallback");var p=function(){s()},m={};null!=l&&(l=c.guidParameterCheck(l,"DynamicsWebApi.associate","impersonateUserId"),m.MSCRMCallerID=l),u("PUT",e+"("+a+")/"+r+"/$ref",{"@odata.id":t.webApiUrl+n+"("+i+")"},m,p,o)},this.disassociateSingleValued=function(e,t,a,r,n,i){c.stringParameterCheck(e,"DynamicsWebApi.disassociateSingleValued","collection"),t=c.guidParameterCheck(t,"DynamicsWebApi.disassociateSingleValued","id"),c.stringParameterCheck(a,"DynamicsWebApi.disassociateSingleValued","singleValuedNavigationPropertyName"),c.callbackParameterCheck(r,"DynamicsWebApi.disassociateSingleValued","successCallback"),c.callbackParameterCheck(n,"DynamicsWebApi.disassociateSingleValued","errorCallback");var s={};null!=i&&(i=c.guidParameterCheck(i,"DynamicsWebApi.associate","impersonateUserId"),s.MSCRMCallerID=i),u("DELETE",e+"("+t+")/"+a+"/$ref",null,s,function(){r()},n)},this.executeUnboundFunction=function(e,t,a,r,n){return f(e,r,null,null,t,a,n)},this.executeBoundFunction=function(e,t,a,r,n,i,c){return f(a,i,t,e,r,n,c)};var f=function(e,t,a,r,i,s,o){c.stringParameterCheck(e,"DynamicsWebApi.executeFunction","functionName"),c.callbackParameterCheck(i,"DynamicsWebApi.executeFunction","successCallback"),c.callbackParameterCheck(s,"DynamicsWebApi.executeFunction","errorCallback");var l=e+n.buildFunctionParameters(t);null!=a&&(c.stringParameterCheck(a,"DynamicsWebApi.executeFunction","collection"),r=c.guidParameterCheck(r,"DynamicsWebApi.executeFunction","id"),l=a+"("+r+")/"+l);var p={};o&&(p.MSCRMCallerID=c.guidParameterCheck(o,"DynamicsWebApi.executionFunction","impersonateUserId")),u("GET",l,null,p,function(e){e.data?i(e.data):i()},s)};this.executeUnboundAction=function(e,t,a,r,n){return b(e,t,null,null,a,r,n)},this.executeBoundAction=function(e,t,a,r,n,i,c){return b(a,r,t,e,n,i,c)};var b=function(e,t,a,r,n,i,s){c.stringParameterCheck(e,"DynamicsWebApi.executeAction","actionName"),c.callbackParameterCheck(n,"DynamicsWebApi.executeAction","successCallback"),c.callbackParameterCheck(i,"DynamicsWebApi.executeAction","errorCallback");var o=e;null!=a&&(c.stringParameterCheck(a,"DynamicsWebApi.executeAction","collection"),r=c.guidParameterCheck(r,"DynamicsWebApi.executeAction","id"),o=a+"("+r+")/"+o);var l={};null!=s&&(s=c.guidParameterCheck(s,"DynamicsWebApi.associate","impersonateUserId"),l.MSCRMCallerID=s),u("POST",o,t,l,function(e){e.data?n(e.data):n()},i)};this.initializeInstance=function(e){return e||(e=t),new r(e)}}var n=(a(0),a(5)),i=a(4),c=a(1),s=a(3);String.prototype.endsWith&&String.prototype.startsWith||a(2),e.exports=r}])}); |
@@ -1,2 +0,2 @@ | ||
/*! dynamics-web-api v1.2.7 (c) 2017 Aleksandr Rogov */ | ||
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("DynamicsWebApi",[],t):"object"==typeof exports?exports.DynamicsWebApi=t():e.DynamicsWebApi=t()}(this,function(){return function(e){function t(n){if(r[n])return r[n].exports;var a=r[n]={i:n,l:!1,exports:{}};return e[n].call(a.exports,a,a.exports,t),a.l=!0,a.exports}var r={};return t.m=e,t.c=r,t.i=function(e){return e},t.d=function(e,r,n){t.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:n})},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=13)}([function(e,t){var r={Types:{ResponseBase:function(){this.oDataContext=""},Response:function(){r.Types.ResponseBase.call(this),this.value={}},ReferenceResponse:function(){r.Types.ResponseBase.call(this),this.id="",this.collection=""},MultipleResponse:function(){r.Types.ResponseBase.call(this),this.oDataNextLink="",this.oDataCount=0,this.value=[]},FetchXmlResponse:function(){r.Types.ResponseBase.call(this),this.value=[],this.PagingInfo={cookie:"",page:0,nextPage:1}}},Prefer:{ReturnRepresentation:"return=representation",Annotations:{AssociatedNavigationProperty:"Microsoft.Dynamics.CRM.associatednavigationproperty",LookupLogicalName:"Microsoft.Dynamics.CRM.lookuplogicalname",All:"*",FormattedValue:"OData.Community.Display.V1.FormattedValue",FetchXmlPagingCookie:"Microsoft.Dynamics.CRM.fetchxmlpagingcookie"}}};e.exports=r},function(e,t){function r(e,t,r){throw new Error(r?e+" requires the "+t+" parameter to be of type "+r:e+" requires the "+t+" parameter.")}var n={handleErrorResponse:function(e){throw new Error("Error: "+e.status+": "+e.message)},parameterCheck:function(e,t,n,a){void 0!==e&&null!==e&&""!=e||r(t,n,a)},stringParameterCheck:function(e,t,n){"string"!=typeof e&&r(t,n,"String")},arrayParameterCheck:function(e,t,n){e.constructor!==Array&&r(t,n,"Array")},stringOrArrayParameterCheck:function(e,t,n){e.constructor!==Array&&"string"!=typeof e&&r(t,n,"String or Array")},numberParameterCheck:function(e,t,n){if("number"!=typeof e){if("string"==typeof e&&e&&!isNaN(parseInt(e)))return;r(t,n,"Number")}},boolParameterCheck:function(e,t,n){"boolean"!=typeof e&&r(t,n,"Boolean")},guidParameterCheck:function(e,t,n){try{return/[0-9A-F]{8}[-]?([0-9A-F]{4}[-]?){3}[0-9A-F]{12}/i.exec(e)[0]}catch(e){r(t,n,"GUID String")}},callbackParameterCheck:function(e,t,n){"function"!=typeof e&&r(t,n,"Function")}};e.exports=n},function(e,t){String.prototype.endsWith=function(e,t){var r=this.toString();("number"!=typeof t||!isFinite(t)||Math.floor(t)!==t||t>r.length)&&(t=r.length),t-=e.length;var n=r.lastIndexOf(e,t);return n!==-1&&n===t},String.prototype.startsWith=function(e,t){return t=t||0,this.substr(t,e.length)===e}},function(e,t,r){r(0);e.exports=function(e,t,n,a,i,o,c){n.impersonate&&(!i||i&&!i.MSCRMCallerID)&&(i||(i={}),i.MSCRMCallerID=n.impersonate);var s;a&&(s=JSON.stringify(a,function(e,t){return e.endsWith("@odata.bind")&&"string"==typeof t&&(/\(\{[\w\d-]+\}\)/g.test(t)&&(t=t.replace(/(.+)\(\{([\w\d-]+)\}\)/g,"$1($2)")),t.startsWith(n.webApiUrl)||(t=n.webApiUrl+t)),t}));var u;"undefined"!=typeof XMLHttpRequest&&(u=r(8));var l=function(r){r&&(i||(i={}),i.Authorization="Bearer "+r.accessToken),u(e,n.webApiUrl+t,s,i,o,c)};n.onTokenRefresh&&(!i||i&&!i.Authorization)?n.onTokenRefresh(l):l()}},function(e,t,r){function n(e,t,r,a,c){var s={},u=[];if(a=null!=a?a:"&",e){e.navigationProperty&&(i.stringParameterCheck(e.navigationProperty,"DynamicsWebApi."+t,"request.navigationProperty"),r+="/"+e.navigationProperty),null!=e.select&&e.select.length&&(i.arrayParameterCheck(e.select,"DynamicsWebApi."+t,"request.select"),"retrieve"==t&&1==e.select.length&&e.select[0].endsWith("/$ref")?r+="/"+e.select[0]:(e.select[0].startsWith("/")&&"retrieve"==t&&(null==e.navigationProperty?r+=e.select.shift():e.select.shift()),e.select.length&&u.push("$select="+e.select.join(",")))),e.filter&&(i.stringParameterCheck(e.filter,"DynamicsWebApi."+t,"request.filter"),u.push("$filter="+e.filter)),e.savedQuery&&u.push("savedQuery="+i.guidParameterCheck(e.savedQuery,"DynamicsWebApi."+t,"request.savedQuery")),e.userQuery&&u.push("userQuery="+i.guidParameterCheck(e.userQuery,"DynamicsWebApi."+t,"request.userQuery")),e.count&&(i.boolParameterCheck(e.count,"DynamicsWebApi."+t,"request.count"),u.push("$count="+e.count)),e.top&&e.top>0&&(i.numberParameterCheck(e.top,"DynamicsWebApi."+t,"request.top"),u.push("$top="+e.top)),null!=e.orderBy&&e.orderBy.length&&(i.arrayParameterCheck(e.orderBy,"DynamicsWebApi."+t,"request.orderBy"),u.push("$orderby="+e.orderBy.join(",")));var l=o(e,t,c);if(l.length&&(s.Prefer=l),null!=e.ifmatch&&null!=e.ifnonematch)throw new Error("DynamicsWebApi."+t+". Either one of request.ifmatch or request.ifnonematch parameters should be used in a call, not both.");if(e.ifmatch&&(i.stringParameterCheck(e.ifmatch,"DynamicsWebApi."+t,"request.ifmatch"),s["If-Match"]=e.ifmatch),e.ifnonematch&&(i.stringParameterCheck(e.ifnonematch,"DynamicsWebApi."+t,"request.ifnonematch"),s["If-None-Match"]=e.ifnonematch),e.impersonate&&(i.stringParameterCheck(e.impersonate,"DynamicsWebApi."+t,"request.impersonate"),s.MSCRMCallerID=i.guidParameterCheck(e.impersonate,"DynamicsWebApi."+t,"request.impersonate")),e.token&&(i.stringParameterCheck(e.token,"DynamicsWebApi."+t,"request.token"),s.Authorization="Bearer "+e.token),e.expand&&e.expand.length)if(i.stringOrArrayParameterCheck(e.expand,"DynamicsWebApi."+t,"request.expand"),"string"==typeof e.expand)u.push("$expand="+encodeURI(e.expand));else{for(var p=[],m=0;m<e.expand.length;m++)if(e.expand[m].property){var h=n(e.expand[m],t+" $expand",null,";"),d=h.query;d&&d.length&&(d="("+d+")"),p.push(e.expand[m].property+d)}p.length&&u.push("$expand="+encodeURI(p.join(",")))}}return{url:r,query:u.join(a),headers:s}}function a(e,t,r){e.collection?i.stringParameterCheck(e.collection,"DynamicsWebApi."+t,"request.collection"):i.parameterCheck(e.collection,"DynamicsWebApi."+t,"request.collection");var a=e.collection.toLowerCase();e.id&&(e.id=i.guidParameterCheck(e.id,"DynamicsWebApi."+t,"request.id"),a+="("+e.id+")");var o=n(e,t,a,"&",r);return o.query&&(o.url+="?"+encodeURI(o.query)),{url:o.url,headers:o.headers}}var i=(r(0),r(1)),o=r(10),c={convertRequestOptions:n,convertRequest:a};e.exports=c},function(e,t,r){var n={buildFunctionParameters:r(9),getFetchXmlPagingCookie:r(12),convertToReferenceObject:r(11)};e.exports=n},function(e,t){e.exports=function(e,t){return"string"==typeof t&&/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$/.exec(t)?new Date(t):t}},function(e,t){e.exports=function(e){var t={};if(!e)return t;for(var r=e.split("\r\n"),n=0,a=r.length;n<a;n++){var i=r[n],o=i.indexOf(": ");o>0&&(t[i.substring(0,o)]=i.substring(o+2))}return t}},function(e,t,r){var n=r(6),a=r(7),i=function(e,t,r,i,o,c){var s=new XMLHttpRequest;if(s.open(e,t,!0),s.setRequestHeader("OData-MaxVersion","4.0"),s.setRequestHeader("OData-Version","4.0"),s.setRequestHeader("Accept","application/json"),s.setRequestHeader("Content-Type","application/json; charset=utf-8"),null!=i)for(var u in i)s.setRequestHeader(u,i[u]);s.onreadystatechange=function(){if(4===s.readyState){switch(s.status){case 200:case 201:case 204:case 304:var e=null;s.responseText&&(e=JSON.parse(s.responseText,n));o({data:e,headers:a(s.getAllResponseHeaders()),status:s.status});break;default:var t;try{t=JSON.parse(s.response).error}catch(e){t=s.response.length>0?{message:s.response}:{message:"Unexpected Error"}}t.status=s.status,c(t)}s=null}},s.onerror=function(){c({message:"Network Error"}),s=null},s.ontimeout=function(e){c({message:"Request Timed Out"}),s=null},r?s.send(r):s.send()};e.exports=i},function(e,t){e.exports=function(e){if(e){for(var t=Object.keys(e),r="",n="",a=1;a<=t.length;a++){var i=t[a-1],o=e[i];a>1&&(r+=",",n+="&"),r+=i+"=@p"+a,n+="@p"+a+"="+("string"==typeof o?"'"+o+"'":o)}return"("+r+")?"+n}return"()"}},function(e,t,r){var n=r(0),a=r(1);e.exports=function(e,t,r){var i=e.returnRepresentation,o=e.includeAnnotations,c=e.maxPageSize;if(e.prefer&&e.prefer.length){a.stringOrArrayParameterCheck(e.prefer,"DynamicsWebApi."+t,"request.prefer");var s=e.prefer;"string"==typeof s&&(s=s.split(","));for(var u in s){var l=s[u].trim();l===n.Prefer.ReturnRepresentation?i=!0:l.startsWith("odata.include-annotations=")?o=l.replace("odata.include-annotations=","").replace(/"/g,""):l.startsWith("odata.maxpagesize=")&&(c=l.replace("odata.maxpagesize=","").replace(/"/g,""))}}r&&(null==i&&(i=r.returnRepresentation),o=o?o:r.includeAnnotations,c=c?c:r.maxPageSize);var s=[];return i&&(a.boolParameterCheck(i,"DynamicsWebApi."+t,"request.returnRepresentation"),s.push(n.Prefer.ReturnRepresentation)),o&&(a.stringParameterCheck(o,"DynamicsWebApi."+t,"request.includeAnnotations"),s.push('odata.include-annotations="'+o+'"')),c&&c>0&&(a.numberParameterCheck(c,"DynamicsWebApi."+t,"request.maxPageSize"),s.push("odata.maxpagesize="+c)),s.join(",")}},function(e,t){e.exports=function(e){var t=/\/(\w+)\(([0-9A-F]{8}[-]?([0-9A-F]{4}[-]?){3}[0-9A-F]{12})/i.exec(e["@odata.id"]);return{id:t[2],collection:t[1],oDataContext:e["@odata.context"]}}},function(e,t){e.exports=function(e,t){e=e?e:"",t=t?t:1,e=unescape(unescape(e));var r=/pagingcookie="(<cookie page="(\d+)".+<\/cookie>)/.exec(e);if(null!=r){var n=parseInt(r[2]);return{cookie:r[1].replace(/</g,"<").replace(/>/g,">").replace(/\"/g,"'").replace(/\'/g,"""),page:n,nextPage:n+1}}return{cookie:"",page:t,nextPage:t+1}}},function(e,t,r){function n(e){var t={webApiVersion:"8.0",webApiUrl:null,impersonate:null,onTokenRefresh:null,includeAnnotations:null,maxPageSize:null,returnRepresentation:null};e||(e=t);var r=function(){if("undefined"!=typeof GetGlobalContext)return GetGlobalContext();if("undefined"!=typeof Xrm)return Xrm.Page.context;throw new Error("Xrm Context is not available.")},s=function(){var e=r();if(e){var t=e.getClientUrl();return t.match(/\/$/)&&(t=t.substring(0,t.length-1)),t}return""},u=function(){return s()+"/api/data/v"+t.webApiVersion+"/"};this.setConfig=function(e){e.webApiVersion&&(o.stringParameterCheck(e.webApiVersion,"DynamicsWebApi.setConfig","config.webApiVersion"),t.webApiVersion=e.webApiVersion),e.webApiUrl?(o.stringParameterCheck(e.webApiUrl,"DynamicsWebApi.setConfig","config.webApiUrl"),t.webApiUrl=e.webApiUrl):t.webApiUrl=u(),e.impersonate&&(t.impersonate=o.guidParameterCheck(e.impersonate,"DynamicsWebApi.setConfig","config.impersonate")),e.onTokenRefresh&&(o.callbackParameterCheck(e.onTokenRefresh,"DynamicsWebApi.setConfig","config.onTokenRefresh"),t.onTokenRefresh=e.onTokenRefresh),e.includeAnnotations&&(o.stringParameterCheck(e.includeAnnotations,"DynamicsWebApi.setConfig","config.includeAnnotations"),t.includeAnnotations=e.includeAnnotations),e.maxPageSize&&(o.numberParameterCheck(e.maxPageSize,"DynamicsWebApi.setConfig","config.maxPageSize"),t.maxPageSize=e.maxPageSize),e.returnRepresentation&&(o.boolParameterCheck(e.returnRepresentation,"DynamicsWebApi.setConfig","config.returnRepresentation"),t.returnRepresentation=e.returnRepresentation)},this.setConfig(e);var l=function(e,r,n,a){return new Promise(function(i,o){c(e,r,t,n,a,i,o)})};this.create=function(e,r,n,a){o.parameterCheck(e,"DynamicsWebApi.create","object"),o.stringParameterCheck(r,"DynamicsWebApi.create","collection"),n&&o.stringOrArrayParameterCheck(n,"DynamicsWebApi.create","prefer"),a&&o.arrayParameterCheck(a,"DynamicsWebApi.create","select");var c={collection:r,select:a,prefer:n},s=i.convertRequest(c,"create",t);return l("POST",s.url,e,s.headers).then(function(e){if(e.data)return e.data;var t=e.headers["OData-EntityId"]?e.headers["OData-EntityId"]:e.headers["odata-entityid"];return/[0-9A-F]{8}[-]?([0-9A-F]{4}[-]?){3}[0-9A-F]{12}/i.exec(t)[0]})},this.retrieveRequest=function(e){o.parameterCheck(e,"DynamicsWebApi.retrieve","request");var r=i.convertRequest(e,"retrieve",t),n=e.select;return l("GET",r.url,null,r.headers).then(function(e){return null!=n&&1==n.length&&n[0].endsWith("/$ref")&&null!=e.data["@odata.id"]?a.convertToReferenceObject(e.data):e.data})},this.retrieve=function(e,t,r,n){o.stringParameterCheck(e,"DynamicsWebApi.retrieve","id"),e=o.guidParameterCheck(e,"DynamicsWebApi.retrieve","id"),o.stringParameterCheck(t,"DynamicsWebApi.retrieve","collection"),r&&r.length&&o.arrayParameterCheck(r,"DynamicsWebApi.retrieve","select"),n&&n.length&&o.stringOrArrayParameterCheck(n,"DynamicsWebApi.retrieve","expand");var a={collection:t,id:e,select:r,expand:n};return this.retrieveRequest(a)},this.updateRequest=function(e){o.parameterCheck(e,"DynamicsWebApi.update","request"),o.parameterCheck(e.entity,"DynamicsWebApi.update","request.entity"),null==e.ifmatch&&(e.ifmatch="*");var r=i.convertRequest(e,"update",t),n=e.ifmatch;return l("PATCH",r.url,e.entity,r.headers).then(function(e){return!e.data||e.data}).catch(function(e){if(n&&412==e.status)return!1;throw e})},this.update=function(e,t,r,n,a){o.stringParameterCheck(e,"DynamicsWebApi.update","id"),e=o.guidParameterCheck(e,"DynamicsWebApi.update","id"),o.parameterCheck(r,"DynamicsWebApi.update","object"),o.stringParameterCheck(t,"DynamicsWebApi.update","collection"),n&&o.stringOrArrayParameterCheck(n,"DynamicsWebApi.update","prefer"),a&&o.arrayParameterCheck(a,"DynamicsWebApi.update","select");var i={collection:t,id:e,select:a,prefer:n,entity:r};return this.updateRequest(i)},this.updateSingleProperty=function(e,r,n,a,c){o.stringParameterCheck(e,"DynamicsWebApi.updateSingleProperty","id"),e=o.guidParameterCheck(e,"DynamicsWebApi.updateSingleProperty","id"),o.parameterCheck(n,"DynamicsWebApi.updateSingleProperty","keyValuePair"),o.stringParameterCheck(r,"DynamicsWebApi.updateSingleProperty","collection");var s=Object.keys(n)[0],u=n[s];a&&o.stringOrArrayParameterCheck(a,"DynamicsWebApi.updateSingleProperty","prefer"),c&&o.arrayParameterCheck(c,"DynamicsWebApi.updateSingleProperty","select");var p={collection:r,id:e,select:c,prefer:a,navigationProperty:s},m=i.convertRequest(p,"updateSingleProperty",t);return l("PUT",m.url,{value:u},m.headers).then(function(e){if(e.data)return e.data})},this.deleteRequest=function(e){o.parameterCheck(e,"DynamicsWebApi.delete","request");var r=i.convertRequest(e,"deleteRequest",t),n=e.ifmatch;return l("DELETE",r.url,null,r.headers).then(function(){return!0}).catch(function(e){if(n&&412==e.status)return!1;throw e})},this.deleteRecord=function(e,t,r){o.stringParameterCheck(e,"DynamicsWebApi.deleteRecord","id"),e=o.guidParameterCheck(e,"DynamicsWebApi.deleteRecord","id"),o.stringParameterCheck(t,"DynamicsWebApi.deleteRecord","collection"),null!=r&&o.stringParameterCheck(r,"DynamicsWebApi.deleteRecord","propertyName");var n=t.toLowerCase()+"("+e+")";return null!=r&&(n+="/"+r),l("DELETE",n).then(function(){})},this.upsertRequest=function(e){o.parameterCheck(e,"DynamicsWebApi.upsert","request"),o.parameterCheck(e.entity,"DynamicsWebApi.upsert","request.entity");var r=i.convertRequest(e,"upsert",t),n=e.ifnonematch,a=e.ifmatch;return l("PATCH",r.url,e.entity,r.headers).then(function(e){if(e.headers["OData-EntityId"]||e.headers["odata-entityid"]){var t=e.headers["OData-EntityId"]?e.headers["OData-EntityId"]:e.headers["odata-entityid"];return/[0-9A-F]{8}[-]?([0-9A-F]{4}[-]?){3}[0-9A-F]{12}/i.exec(t)[0]}if(e.data)return e.data}).catch(function(e){if(!(n&&412==e.status||a&&404==e.status))throw e})},this.upsert=function(e,t,r,n,a){o.stringParameterCheck(e,"DynamicsWebApi.upsert","id"),e=o.guidParameterCheck(e,"DynamicsWebApi.upsert","id"),o.parameterCheck(r,"DynamicsWebApi.upsert","object"),o.stringParameterCheck(t,"DynamicsWebApi.upsert","collection"),n&&o.stringOrArrayParameterCheck(n,"DynamicsWebApi.upsert","prefer"),a&&o.arrayParameterCheck(a,"DynamicsWebApi.upsert","select");var i={collection:t,id:e,select:a,prefer:n,entity:r};return this.upsertRequest(i)};var p=function(e,r){r&&!e.collection&&(e.collection="any");var n=i.convertRequest(e,"retrieveMultiple",t);r&&(o.stringParameterCheck(r,"DynamicsWebApi.retrieveMultiple","nextPageLink"),n.url=r.replace(t.webApiUrl,""));var a=e.count;return l("GET",n.url,null,n.headers).then(function(e){return null!=e.data["@odata.nextLink"]&&(e.data.oDataNextLink=e.data["@odata.nextLink"]),a&&(e.data.oDataCount=null!=e.data["@odata.count"]?parseInt(e.data["@odata.count"]):0),null!=e.data["@odata.context"]&&(e.data.oDataContext=e.data["@odata.context"]),e.data})};this.retrieveMultipleRequest=p;var m=function(e,t,r){var r=r||[];return p(e,t).then(function(t){return r=r.concat(t.value),t.oDataNextLink?m(e,t.oDataNextLink,r):{value:r}})};this.retrieveAllRequest=function(e){return m(e)},this.count=function(e,t){return null==t||null!=t&&!t.length?(o.stringParameterCheck(e,"DynamicsWebApi.count","collection"),l("GET",e.toLowerCase()+"/$count").then(function(e){return e.data?parseInt(e.data):0})):this.retrieveMultipleRequest({collection:e,filter:t,count:!0},null).then(function(e){return e.oDataCount?e.oDataCount:0})},this.countAll=function(e,t,r){return m({collection:e,filter:t,select:r}).then(function(e){return e&&e.value?e.value.length:0})},this.retrieveMultiple=function(e,t,r,n){return this.retrieveMultipleRequest({collection:e,select:t,filter:r},n)},this.retrieveAll=function(e,t,r){return m({collection:e,select:t,filter:r})};var h=function(e,r,n,c,s,u){o.stringParameterCheck(e,"DynamicsWebApi.executeFetchXml","type"),o.stringParameterCheck(r,"DynamicsWebApi.executeFetchXml","fetchXml"),c=c||1,o.numberParameterCheck(c,"DynamicsWebApi.executeFetchXml","pageNumber");var p='$1 page="'+c+'"';null!=s&&(o.stringParameterCheck(s,"DynamicsWebApi.executeFetchXml","pagingCookie"),p+=' paging-cookie="'+s+'"'),r=r.replace(/^(<fetch[\w\d\s'"=]+)/,p),n&&o.stringParameterCheck(n,"DynamicsWebApi.executeFetchXml","includeAnnotations"),u&&(u=o.guidParameterCheck(u,"DynamicsWebApi.executeFetchXml","impersonateUserId"));var m={collection:e,includeAnnotations:n,impersonate:u},h=i.convertRequest(m,"executeFetchXml",t),d=encodeURIComponent(r);return l("GET",h.url+"?fetchXml="+d,null,h.headers).then(function(e){return null!=e.data["@Microsoft.Dynamics.CRM.fetchxmlpagingcookie"]&&(e.data.PagingInfo=a.getFetchXmlPagingCookie(e.data["@Microsoft.Dynamics.CRM.fetchxmlpagingcookie"],c)),null!=e.data["@odata.context"]&&(e.data.oDataContext=e.data["@odata.context"]),e.data})};this.fetch=this.executeFetchXml=h;var d=function(e,t,r,n,a,i,o){var o=o||[];return h(e,t,r,n,a,i,o).then(function(n){return o=o.concat(n.value),n.PagingInfo?d(e,t,r,n.PagingInfo.nextPage,n.PagingInfo.cookie,i,o):{value:o}})};this.fetchAll=this.executeFetchXmlAll=function(e,t,r,n){return d(e,t,r,null,null,n)},this.associate=function(e,r,n,a,i,c){o.stringParameterCheck(e,"DynamicsWebApi.associate","primarycollection"),o.stringParameterCheck(a,"DynamicsWebApi.associate","relatedcollection"),o.stringParameterCheck(n,"DynamicsWebApi.associate","relationshipName"),r=o.guidParameterCheck(r,"DynamicsWebApi.associate","primaryId"),i=o.guidParameterCheck(i,"DynamicsWebApi.associate","relatedId");var s={};return null!=c&&(c=o.guidParameterCheck(c,"DynamicsWebApi.associate","impersonateUserId"),s.MSCRMCallerID=c),l("POST",e+"("+r+")/"+n+"/$ref",{"@odata.id":t.webApiUrl+a+"("+i+")"},s).then(function(){})},this.disassociate=function(e,t,r,n,a){o.stringParameterCheck(e,"DynamicsWebApi.disassociate","primarycollection"),o.stringParameterCheck(r,"DynamicsWebApi.disassociate","relationshipName"),t=o.guidParameterCheck(t,"DynamicsWebApi.disassociate","primaryId"),n=o.guidParameterCheck(n,"DynamicsWebApi.disassociate","relatedId");var i={};return null!=a&&(a=o.guidParameterCheck(a,"DynamicsWebApi.associate","impersonateUserId"),i.MSCRMCallerID=a),l("DELETE",e+"("+t+")/"+r+"("+n+")/$ref",null,i).then(function(){})},this.associateSingleValued=function(e,r,n,a,i,c){o.stringParameterCheck(e,"DynamicsWebApi.associateSingleValued","collection"),r=o.guidParameterCheck(r,"DynamicsWebApi.associateSingleValued","id"),i=o.guidParameterCheck(i,"DynamicsWebApi.associateSingleValued","relatedId"),o.stringParameterCheck(n,"DynamicsWebApi.associateSingleValued","singleValuedNavigationPropertyName"),o.stringParameterCheck(a,"DynamicsWebApi.associateSingleValued","relatedcollection");var s={};return null!=c&&(c=o.guidParameterCheck(c,"DynamicsWebApi.associate","impersonateUserId"),s.MSCRMCallerID=c),l("PUT",e+"("+r+")/"+n+"/$ref",{"@odata.id":t.webApiUrl+a+"("+i+")"},s).then(function(){})},this.disassociateSingleValued=function(e,t,r,n){o.stringParameterCheck(e,"DynamicsWebApi.disassociateSingleValued","collection"),t=o.guidParameterCheck(t,"DynamicsWebApi.disassociateSingleValued","id"),o.stringParameterCheck(r,"DynamicsWebApi.disassociateSingleValued","singleValuedNavigationPropertyName");var a={};return null!=n&&(n=o.guidParameterCheck(n,"DynamicsWebApi.associate","impersonateUserId"),a.MSCRMCallerID=n),l("DELETE",e+"("+t+")/"+r+"/$ref",null,a).then(function(){})},this.executeUnboundFunction=function(e,t,r){return f(e,t,null,null,r)},this.executeBoundFunction=function(e,t,r,n,a){return f(r,n,t,e,a)};var f=function(e,t,r,n,i){o.stringParameterCheck(e,"DynamicsWebApi.executeFunction","functionName");var c=e+a.buildFunctionParameters(t);null!=r&&(o.stringParameterCheck(r,"DynamicsWebApi.executeFunction","collection"),n=o.guidParameterCheck(n,"DynamicsWebApi.executeFunction","id"),c=r+"("+n+")/"+c);var s={};return i&&(s.MSCRMCallerID=o.guidParameterCheck(i,"DynamicsWebApi.executeFunction","impersonateUserId")),l("GET",c,null,s).then(function(e){if(e.data)return e.data})};this.executeUnboundAction=function(e,t,r){return g(e,t,null,null,r)},this.executeBoundAction=function(e,t,r,n,a){return g(r,n,t,e,a)};var g=function(e,t,r,n,a){o.stringParameterCheck(e,"DynamicsWebApi.executeAction","actionName");var i=e;null!=r&&(o.stringParameterCheck(r,"DynamicsWebApi.executeAction","collection"),n=o.guidParameterCheck(n,"DynamicsWebApi.executeAction","id"),i=r+"("+n+")/"+i);var c={};return null!=a&&(a=o.guidParameterCheck(a,"DynamicsWebApi.executeAction","impersonateUserId"),c.MSCRMCallerID=a),l("POST",i,t,c).then(function(e){if(e.data)return e.data})};this.initializeInstance=function(e){return e||(e=t),new n(e)}}var a=(r(0),r(5)),i=r(4),o=r(1),c=r(3);String.prototype.endsWith&&String.prototype.startsWith||r(2),e.exports=n}])}); | ||
/*! dynamics-web-api v1.2.8 (c) 2017 Aleksandr Rogov */ | ||
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("DynamicsWebApi",[],t):"object"==typeof exports?exports.DynamicsWebApi=t():e.DynamicsWebApi=t()}(this,function(){return function(e){function t(n){if(r[n])return r[n].exports;var a=r[n]={i:n,l:!1,exports:{}};return e[n].call(a.exports,a,a.exports,t),a.l=!0,a.exports}var r={};return t.m=e,t.c=r,t.i=function(e){return e},t.d=function(e,r,n){t.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:n})},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=14)}([function(e,t){var r={Types:{ResponseBase:function(){this.oDataContext=""},Response:function(){r.Types.ResponseBase.call(this),this.value={}},ReferenceResponse:function(){r.Types.ResponseBase.call(this),this.id="",this.collection=""},MultipleResponse:function(){r.Types.ResponseBase.call(this),this.oDataNextLink="",this.oDataCount=0,this.value=[]},FetchXmlResponse:function(){r.Types.ResponseBase.call(this),this.value=[],this.PagingInfo={cookie:"",page:0,nextPage:1}}},Prefer:{ReturnRepresentation:"return=representation",Annotations:{AssociatedNavigationProperty:"Microsoft.Dynamics.CRM.associatednavigationproperty",LookupLogicalName:"Microsoft.Dynamics.CRM.lookuplogicalname",All:"*",FormattedValue:"OData.Community.Display.V1.FormattedValue",FetchXmlPagingCookie:"Microsoft.Dynamics.CRM.fetchxmlpagingcookie"}}};e.exports=r},function(e,t){function r(e,t,r){throw new Error(r?e+" requires the "+t+" parameter to be of type "+r:e+" requires the "+t+" parameter.")}var n={handleErrorResponse:function(e){throw new Error("Error: "+e.status+": "+e.message)},parameterCheck:function(e,t,n,a){void 0!==e&&null!==e&&""!=e||r(t,n,a)},stringParameterCheck:function(e,t,n){"string"!=typeof e&&r(t,n,"String")},arrayParameterCheck:function(e,t,n){e.constructor!==Array&&r(t,n,"Array")},stringOrArrayParameterCheck:function(e,t,n){e.constructor!==Array&&"string"!=typeof e&&r(t,n,"String or Array")},numberParameterCheck:function(e,t,n){if("number"!=typeof e){if("string"==typeof e&&e&&!isNaN(parseInt(e)))return;r(t,n,"Number")}},boolParameterCheck:function(e,t,n){"boolean"!=typeof e&&r(t,n,"Boolean")},guidParameterCheck:function(e,t,n){try{return/[0-9A-F]{8}[-]?([0-9A-F]{4}[-]?){3}[0-9A-F]{12}/i.exec(e)[0]}catch(e){r(t,n,"GUID String")}},callbackParameterCheck:function(e,t,n){"function"!=typeof e&&r(t,n,"Function")}};e.exports=n},function(e,t){String.prototype.endsWith=function(e,t){var r=this.toString();("number"!=typeof t||!isFinite(t)||Math.floor(t)!==t||t>r.length)&&(t=r.length),t-=e.length;var n=r.lastIndexOf(e,t);return n!==-1&&n===t},String.prototype.startsWith=function(e,t){return t=t||0,this.substr(t,e.length)===e}},function(e,t,r){function n(){var e=(new Date).getTime();return"undefined"!=typeof performance&&"function"==typeof performance.now&&(e+=performance.now()),"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){var r=(e+16*Math.random())%16|0;return e=Math.floor(e/16),("x"===t?r:3&r|8).toString(16)})}function a(e){return e.Accept="application/json",e["OData-MaxVersion"]="4.0",e["OData-Version"]="4.0",e["Content-Type"]="application/json; charset=utf-8",e}r(0);e.exports=function(e,t,i,o,c,s,u){c||(c={}),c=a(c);var l;if(o&&(l=JSON.stringify(o,function(e,t){return e.endsWith("@odata.bind")&&"string"==typeof t&&(/\(\{[\w\d-]+\}\)/g.test(t)&&(t=t.replace(/(.+)\(\{([\w\d-]+)\}\)/g,"$1($2)")),t.startsWith(i.webApiUrl)||(t=i.webApiUrl+t)),t})),t.length>2083){var p="dwa_batch_"+n(),h=[];h.push("--"+p),h.push("Content-Type: application/http"),h.push("Content-Transfer-Encoding: binary\n"),h.push(e+" "+i.webApiUrl+t+" HTTP/1.1");for(var m in c)h.push(m+": "+c[m]),delete c[m];h.push("\n--"+p+"--"),l=h.join("\n"),c=a(c),c["Content-Type"]="multipart/mixed;boundary="+p,t="$batch",e="POST"}i.impersonate&&!c.MSCRMCallerID&&(c.MSCRMCallerID=i.impersonate);var d;"undefined"!=typeof XMLHttpRequest&&(d=r(9));var f=function(r){r&&(c||(c={}),c.Authorization="Bearer "+r.accessToken),d(e,i.webApiUrl+t,l,c,s,u)};i.onTokenRefresh&&(!c||c&&!c.Authorization)?i.onTokenRefresh(f):f()}},function(e,t,r){function n(e,t,r,a,c){var s={},u=[];if(a=null!=a?a:"&",e){e.navigationProperty&&(i.stringParameterCheck(e.navigationProperty,"DynamicsWebApi."+t,"request.navigationProperty"),r+="/"+e.navigationProperty),null!=e.select&&e.select.length&&(i.arrayParameterCheck(e.select,"DynamicsWebApi."+t,"request.select"),"retrieve"==t&&1==e.select.length&&e.select[0].endsWith("/$ref")?r+="/"+e.select[0]:(e.select[0].startsWith("/")&&"retrieve"==t&&(null==e.navigationProperty?r+=e.select.shift():e.select.shift()),e.select.length&&u.push("$select="+e.select.join(",")))),e.filter&&(i.stringParameterCheck(e.filter,"DynamicsWebApi."+t,"request.filter"),u.push("$filter="+e.filter)),e.savedQuery&&u.push("savedQuery="+i.guidParameterCheck(e.savedQuery,"DynamicsWebApi."+t,"request.savedQuery")),e.userQuery&&u.push("userQuery="+i.guidParameterCheck(e.userQuery,"DynamicsWebApi."+t,"request.userQuery")),e.count&&(i.boolParameterCheck(e.count,"DynamicsWebApi."+t,"request.count"),u.push("$count="+e.count)),e.top&&e.top>0&&(i.numberParameterCheck(e.top,"DynamicsWebApi."+t,"request.top"),u.push("$top="+e.top)),null!=e.orderBy&&e.orderBy.length&&(i.arrayParameterCheck(e.orderBy,"DynamicsWebApi."+t,"request.orderBy"),u.push("$orderby="+e.orderBy.join(",")));var l=o(e,t,c);if(l.length&&(s.Prefer=l),null!=e.ifmatch&&null!=e.ifnonematch)throw new Error("DynamicsWebApi."+t+". Either one of request.ifmatch or request.ifnonematch parameters should be used in a call, not both.");if(e.ifmatch&&(i.stringParameterCheck(e.ifmatch,"DynamicsWebApi."+t,"request.ifmatch"),s["If-Match"]=e.ifmatch),e.ifnonematch&&(i.stringParameterCheck(e.ifnonematch,"DynamicsWebApi."+t,"request.ifnonematch"),s["If-None-Match"]=e.ifnonematch),e.impersonate&&(i.stringParameterCheck(e.impersonate,"DynamicsWebApi."+t,"request.impersonate"),s.MSCRMCallerID=i.guidParameterCheck(e.impersonate,"DynamicsWebApi."+t,"request.impersonate")),e.token&&(i.stringParameterCheck(e.token,"DynamicsWebApi."+t,"request.token"),s.Authorization="Bearer "+e.token),e.expand&&e.expand.length)if(i.stringOrArrayParameterCheck(e.expand,"DynamicsWebApi."+t,"request.expand"),"string"==typeof e.expand)u.push("$expand="+encodeURI(e.expand));else{for(var p=[],h=0;h<e.expand.length;h++)if(e.expand[h].property){var m=n(e.expand[h],t+" $expand",null,";"),d=m.query;d&&d.length&&(d="("+d+")"),p.push(e.expand[h].property+d)}p.length&&u.push("$expand="+encodeURI(p.join(",")))}}return{url:r,query:u.join(a),headers:s}}function a(e,t,r){e.collection?i.stringParameterCheck(e.collection,"DynamicsWebApi."+t,"request.collection"):i.parameterCheck(e.collection,"DynamicsWebApi."+t,"request.collection");var a=e.collection.toLowerCase();e.id&&(e.id=i.guidParameterCheck(e.id,"DynamicsWebApi."+t,"request.id"),a+="("+e.id+")");var o=n(e,t,a,"&",r);return o.query&&(o.url+="?"+encodeURI(o.query)),{url:o.url,headers:o.headers}}var i=(r(0),r(1)),o=r(11),c={convertRequestOptions:n,convertRequest:a};e.exports=c},function(e,t,r){var n={buildFunctionParameters:r(10),getFetchXmlPagingCookie:r(13),convertToReferenceObject:r(12)};e.exports=n},function(e,t){e.exports=function(e,t){return"string"==typeof t&&/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$/.exec(t)?new Date(t):t}},function(e,t,r){function n(e){var t=e.substr(0,e.indexOf("\r\n")),r=e.split(t);r.shift(),r.pop();for(var n=[],i=0;i<r.length;i++){var o=r[i],c=o.substring(o.indexOf("{"),o.lastIndexOf("}")+1);n.push(JSON.parse(c,a))}return n}var a=r(6);e.exports=function(e){var t=null;return e.length&&(t=t=e.indexOf("--batchresponse_")>-1?n(e)[0]:JSON.parse(e,a)),t}},function(e,t){e.exports=function(e){var t={};if(!e)return t;for(var r=e.split("\r\n"),n=0,a=r.length;n<a;n++){var i=r[n],o=i.indexOf(": ");o>0&&(t[i.substring(0,o)]=i.substring(o+2))}return t}},function(e,t,r){var n=r(7),a=r(8),i=function(e,t,r,i,o,c){var s=new XMLHttpRequest;s.open(e,t,!0);for(var u in i)s.setRequestHeader(u,i[u]);s.onreadystatechange=function(){if(4===s.readyState){switch(s.status){case 200:case 201:case 204:case 304:o({data:n(s.responseText),headers:a(s.getAllResponseHeaders()),status:s.status});break;default:var e;try{e=JSON.parse(s.response).error}catch(t){e=s.response.length>0?{message:s.response}:{message:"Unexpected Error"}}e.status=s.status,c(e)}s=null}},s.onerror=function(){c({message:"Network Error"}),s=null},s.ontimeout=function(e){c({message:"Request Timed Out"}),s=null},r?s.send(r):s.send()};e.exports=i},function(e,t){e.exports=function(e){if(e){for(var t=Object.keys(e),r="",n="",a=1;a<=t.length;a++){var i=t[a-1],o=e[i];a>1&&(r+=",",n+="&"),r+=i+"=@p"+a,n+="@p"+a+"="+("string"==typeof o?"'"+o+"'":o)}return"("+r+")?"+n}return"()"}},function(e,t,r){var n=r(0),a=r(1);e.exports=function(e,t,r){var i=e.returnRepresentation,o=e.includeAnnotations,c=e.maxPageSize;if(e.prefer&&e.prefer.length){a.stringOrArrayParameterCheck(e.prefer,"DynamicsWebApi."+t,"request.prefer");var s=e.prefer;"string"==typeof s&&(s=s.split(","));for(var u in s){var l=s[u].trim();l===n.Prefer.ReturnRepresentation?i=!0:l.startsWith("odata.include-annotations=")?o=l.replace("odata.include-annotations=","").replace(/"/g,""):l.startsWith("odata.maxpagesize=")&&(c=l.replace("odata.maxpagesize=","").replace(/"/g,""))}}r&&(null==i&&(i=r.returnRepresentation),o=o?o:r.includeAnnotations,c=c?c:r.maxPageSize);var s=[];return i&&(a.boolParameterCheck(i,"DynamicsWebApi."+t,"request.returnRepresentation"),s.push(n.Prefer.ReturnRepresentation)),o&&(a.stringParameterCheck(o,"DynamicsWebApi."+t,"request.includeAnnotations"),s.push('odata.include-annotations="'+o+'"')),c&&c>0&&(a.numberParameterCheck(c,"DynamicsWebApi."+t,"request.maxPageSize"),s.push("odata.maxpagesize="+c)),s.join(",")}},function(e,t){e.exports=function(e){var t=/\/(\w+)\(([0-9A-F]{8}[-]?([0-9A-F]{4}[-]?){3}[0-9A-F]{12})/i.exec(e["@odata.id"]);return{id:t[2],collection:t[1],oDataContext:e["@odata.context"]}}},function(e,t){e.exports=function(e,t){e=e?e:"",t=t?t:1,e=unescape(unescape(e));var r=/pagingcookie="(<cookie page="(\d+)".+<\/cookie>)/.exec(e);if(null!=r){var n=parseInt(r[2]);return{cookie:r[1].replace(/</g,"<").replace(/>/g,">").replace(/\"/g,"'").replace(/\'/g,"""),page:n,nextPage:n+1}}return{cookie:"",page:t,nextPage:t+1}}},function(e,t,r){function n(e){var t={webApiVersion:"8.0",webApiUrl:null,impersonate:null,onTokenRefresh:null,includeAnnotations:null,maxPageSize:null,returnRepresentation:null};e||(e=t);var r=function(){if("undefined"!=typeof GetGlobalContext)return GetGlobalContext();if("undefined"!=typeof Xrm)return Xrm.Page.context;throw new Error("Xrm Context is not available.")},s=function(){var e=r();if(e){var t=e.getClientUrl();return t.match(/\/$/)&&(t=t.substring(0,t.length-1)),t}return""},u=function(){return s()+"/api/data/v"+t.webApiVersion+"/"};this.setConfig=function(e){e.webApiVersion&&(o.stringParameterCheck(e.webApiVersion,"DynamicsWebApi.setConfig","config.webApiVersion"),t.webApiVersion=e.webApiVersion),e.webApiUrl?(o.stringParameterCheck(e.webApiUrl,"DynamicsWebApi.setConfig","config.webApiUrl"),t.webApiUrl=e.webApiUrl):t.webApiUrl=u(),e.impersonate&&(t.impersonate=o.guidParameterCheck(e.impersonate,"DynamicsWebApi.setConfig","config.impersonate")),e.onTokenRefresh&&(o.callbackParameterCheck(e.onTokenRefresh,"DynamicsWebApi.setConfig","config.onTokenRefresh"),t.onTokenRefresh=e.onTokenRefresh),e.includeAnnotations&&(o.stringParameterCheck(e.includeAnnotations,"DynamicsWebApi.setConfig","config.includeAnnotations"),t.includeAnnotations=e.includeAnnotations),e.maxPageSize&&(o.numberParameterCheck(e.maxPageSize,"DynamicsWebApi.setConfig","config.maxPageSize"),t.maxPageSize=e.maxPageSize),e.returnRepresentation&&(o.boolParameterCheck(e.returnRepresentation,"DynamicsWebApi.setConfig","config.returnRepresentation"),t.returnRepresentation=e.returnRepresentation)},this.setConfig(e);var l=function(e,r,n,a){return new Promise(function(i,o){c(e,r,t,n,a,i,o)})};this.create=function(e,r,n,a){o.parameterCheck(e,"DynamicsWebApi.create","object"),o.stringParameterCheck(r,"DynamicsWebApi.create","collection"),n&&o.stringOrArrayParameterCheck(n,"DynamicsWebApi.create","prefer"),a&&o.arrayParameterCheck(a,"DynamicsWebApi.create","select");var c={collection:r,select:a,prefer:n},s=i.convertRequest(c,"create",t);return l("POST",s.url,e,s.headers).then(function(e){if(e.data)return e.data;var t=e.headers["OData-EntityId"]?e.headers["OData-EntityId"]:e.headers["odata-entityid"];return/[0-9A-F]{8}[-]?([0-9A-F]{4}[-]?){3}[0-9A-F]{12}/i.exec(t)[0]})},this.retrieveRequest=function(e){o.parameterCheck(e,"DynamicsWebApi.retrieve","request");var r=i.convertRequest(e,"retrieve",t),n=e.select;return l("GET",r.url,null,r.headers).then(function(e){return null!=n&&1==n.length&&n[0].endsWith("/$ref")&&null!=e.data["@odata.id"]?a.convertToReferenceObject(e.data):e.data})},this.retrieve=function(e,t,r,n){o.stringParameterCheck(e,"DynamicsWebApi.retrieve","id"),e=o.guidParameterCheck(e,"DynamicsWebApi.retrieve","id"),o.stringParameterCheck(t,"DynamicsWebApi.retrieve","collection"),r&&r.length&&o.arrayParameterCheck(r,"DynamicsWebApi.retrieve","select"),n&&n.length&&o.stringOrArrayParameterCheck(n,"DynamicsWebApi.retrieve","expand");var a={collection:t,id:e,select:r,expand:n};return this.retrieveRequest(a)},this.updateRequest=function(e){o.parameterCheck(e,"DynamicsWebApi.update","request"),o.parameterCheck(e.entity,"DynamicsWebApi.update","request.entity"),null==e.ifmatch&&(e.ifmatch="*");var r=i.convertRequest(e,"update",t),n=e.ifmatch;return l("PATCH",r.url,e.entity,r.headers).then(function(e){return!e.data||e.data}).catch(function(e){if(n&&412==e.status)return!1;throw e})},this.update=function(e,t,r,n,a){o.stringParameterCheck(e,"DynamicsWebApi.update","id"),e=o.guidParameterCheck(e,"DynamicsWebApi.update","id"),o.parameterCheck(r,"DynamicsWebApi.update","object"),o.stringParameterCheck(t,"DynamicsWebApi.update","collection"),n&&o.stringOrArrayParameterCheck(n,"DynamicsWebApi.update","prefer"),a&&o.arrayParameterCheck(a,"DynamicsWebApi.update","select");var i={collection:t,id:e,select:a,prefer:n,entity:r};return this.updateRequest(i)},this.updateSingleProperty=function(e,r,n,a,c){o.stringParameterCheck(e,"DynamicsWebApi.updateSingleProperty","id"),e=o.guidParameterCheck(e,"DynamicsWebApi.updateSingleProperty","id"),o.parameterCheck(n,"DynamicsWebApi.updateSingleProperty","keyValuePair"),o.stringParameterCheck(r,"DynamicsWebApi.updateSingleProperty","collection");var s=Object.keys(n)[0],u=n[s];a&&o.stringOrArrayParameterCheck(a,"DynamicsWebApi.updateSingleProperty","prefer"),c&&o.arrayParameterCheck(c,"DynamicsWebApi.updateSingleProperty","select");var p={collection:r,id:e,select:c,prefer:a,navigationProperty:s},h=i.convertRequest(p,"updateSingleProperty",t);return l("PUT",h.url,{value:u},h.headers).then(function(e){if(e.data)return e.data})},this.deleteRequest=function(e){o.parameterCheck(e,"DynamicsWebApi.delete","request");var r=i.convertRequest(e,"deleteRequest",t),n=e.ifmatch;return l("DELETE",r.url,null,r.headers).then(function(){return!0}).catch(function(e){if(n&&412==e.status)return!1;throw e})},this.deleteRecord=function(e,t,r){o.stringParameterCheck(e,"DynamicsWebApi.deleteRecord","id"),e=o.guidParameterCheck(e,"DynamicsWebApi.deleteRecord","id"),o.stringParameterCheck(t,"DynamicsWebApi.deleteRecord","collection"),null!=r&&o.stringParameterCheck(r,"DynamicsWebApi.deleteRecord","propertyName");var n=t.toLowerCase()+"("+e+")";return null!=r&&(n+="/"+r),l("DELETE",n).then(function(){})},this.upsertRequest=function(e){o.parameterCheck(e,"DynamicsWebApi.upsert","request"),o.parameterCheck(e.entity,"DynamicsWebApi.upsert","request.entity");var r=i.convertRequest(e,"upsert",t),n=e.ifnonematch,a=e.ifmatch;return l("PATCH",r.url,e.entity,r.headers).then(function(e){if(e.headers["OData-EntityId"]||e.headers["odata-entityid"]){var t=e.headers["OData-EntityId"]?e.headers["OData-EntityId"]:e.headers["odata-entityid"];return/[0-9A-F]{8}[-]?([0-9A-F]{4}[-]?){3}[0-9A-F]{12}/i.exec(t)[0]}if(e.data)return e.data}).catch(function(e){if(!(n&&412==e.status||a&&404==e.status))throw e})},this.upsert=function(e,t,r,n,a){o.stringParameterCheck(e,"DynamicsWebApi.upsert","id"),e=o.guidParameterCheck(e,"DynamicsWebApi.upsert","id"),o.parameterCheck(r,"DynamicsWebApi.upsert","object"),o.stringParameterCheck(t,"DynamicsWebApi.upsert","collection"),n&&o.stringOrArrayParameterCheck(n,"DynamicsWebApi.upsert","prefer"),a&&o.arrayParameterCheck(a,"DynamicsWebApi.upsert","select");var i={collection:t,id:e,select:a,prefer:n,entity:r};return this.upsertRequest(i)};var p=function(e,r){r&&!e.collection&&(e.collection="any");var n=i.convertRequest(e,"retrieveMultiple",t);r&&(o.stringParameterCheck(r,"DynamicsWebApi.retrieveMultiple","nextPageLink"),n.url=r.replace(t.webApiUrl,""));var a=e.count;return l("GET",n.url,null,n.headers).then(function(e){return null!=e.data["@odata.nextLink"]&&(e.data.oDataNextLink=e.data["@odata.nextLink"]),a&&(e.data.oDataCount=null!=e.data["@odata.count"]?parseInt(e.data["@odata.count"]):0),null!=e.data["@odata.context"]&&(e.data.oDataContext=e.data["@odata.context"]),e.data})};this.retrieveMultipleRequest=p;var h=function(e,t,r){var r=r||[];return p(e,t).then(function(t){return r=r.concat(t.value),t.oDataNextLink?h(e,t.oDataNextLink,r):{value:r}})};this.retrieveAllRequest=function(e){return h(e)},this.count=function(e,t){return null==t||null!=t&&!t.length?(o.stringParameterCheck(e,"DynamicsWebApi.count","collection"),l("GET",e.toLowerCase()+"/$count").then(function(e){return e.data?parseInt(e.data):0})):this.retrieveMultipleRequest({collection:e,filter:t,count:!0},null).then(function(e){return e.oDataCount?e.oDataCount:0})},this.countAll=function(e,t,r){return h({collection:e,filter:t,select:r}).then(function(e){return e&&e.value?e.value.length:0})},this.retrieveMultiple=function(e,t,r,n){return this.retrieveMultipleRequest({collection:e,select:t,filter:r},n)},this.retrieveAll=function(e,t,r){return h({collection:e,select:t,filter:r})};var m=function(e,r,n,c,s,u){o.stringParameterCheck(e,"DynamicsWebApi.executeFetchXml","type"),o.stringParameterCheck(r,"DynamicsWebApi.executeFetchXml","fetchXml"),c=c||1,o.numberParameterCheck(c,"DynamicsWebApi.executeFetchXml","pageNumber");var p='$1 page="'+c+'"';null!=s&&(o.stringParameterCheck(s,"DynamicsWebApi.executeFetchXml","pagingCookie"),p+=' paging-cookie="'+s+'"'),r=r.replace(/^(<fetch[\w\d\s'"=]+)/,p),n&&o.stringParameterCheck(n,"DynamicsWebApi.executeFetchXml","includeAnnotations"),u&&(u=o.guidParameterCheck(u,"DynamicsWebApi.executeFetchXml","impersonateUserId"));var h={collection:e,includeAnnotations:n,impersonate:u},m=i.convertRequest(h,"executeFetchXml",t),d=encodeURIComponent(r);return l("GET",m.url+"?fetchXml="+d,null,m.headers).then(function(e){return null!=e.data["@Microsoft.Dynamics.CRM.fetchxmlpagingcookie"]&&(e.data.PagingInfo=a.getFetchXmlPagingCookie(e.data["@Microsoft.Dynamics.CRM.fetchxmlpagingcookie"],c)),null!=e.data["@odata.context"]&&(e.data.oDataContext=e.data["@odata.context"]),e.data})};this.fetch=this.executeFetchXml=m;var d=function(e,t,r,n,a,i,o){var o=o||[];return m(e,t,r,n,a,i,o).then(function(n){return o=o.concat(n.value),n.PagingInfo?d(e,t,r,n.PagingInfo.nextPage,n.PagingInfo.cookie,i,o):{value:o}})};this.fetchAll=this.executeFetchXmlAll=function(e,t,r,n){return d(e,t,r,null,null,n)},this.associate=function(e,r,n,a,i,c){o.stringParameterCheck(e,"DynamicsWebApi.associate","primarycollection"),o.stringParameterCheck(a,"DynamicsWebApi.associate","relatedcollection"),o.stringParameterCheck(n,"DynamicsWebApi.associate","relationshipName"),r=o.guidParameterCheck(r,"DynamicsWebApi.associate","primaryId"),i=o.guidParameterCheck(i,"DynamicsWebApi.associate","relatedId");var s={};return null!=c&&(c=o.guidParameterCheck(c,"DynamicsWebApi.associate","impersonateUserId"),s.MSCRMCallerID=c),l("POST",e+"("+r+")/"+n+"/$ref",{"@odata.id":t.webApiUrl+a+"("+i+")"},s).then(function(){})},this.disassociate=function(e,t,r,n,a){o.stringParameterCheck(e,"DynamicsWebApi.disassociate","primarycollection"),o.stringParameterCheck(r,"DynamicsWebApi.disassociate","relationshipName"),t=o.guidParameterCheck(t,"DynamicsWebApi.disassociate","primaryId"),n=o.guidParameterCheck(n,"DynamicsWebApi.disassociate","relatedId");var i={};return null!=a&&(a=o.guidParameterCheck(a,"DynamicsWebApi.associate","impersonateUserId"),i.MSCRMCallerID=a),l("DELETE",e+"("+t+")/"+r+"("+n+")/$ref",null,i).then(function(){})},this.associateSingleValued=function(e,r,n,a,i,c){o.stringParameterCheck(e,"DynamicsWebApi.associateSingleValued","collection"),r=o.guidParameterCheck(r,"DynamicsWebApi.associateSingleValued","id"),i=o.guidParameterCheck(i,"DynamicsWebApi.associateSingleValued","relatedId"),o.stringParameterCheck(n,"DynamicsWebApi.associateSingleValued","singleValuedNavigationPropertyName"),o.stringParameterCheck(a,"DynamicsWebApi.associateSingleValued","relatedcollection");var s={};return null!=c&&(c=o.guidParameterCheck(c,"DynamicsWebApi.associate","impersonateUserId"),s.MSCRMCallerID=c),l("PUT",e+"("+r+")/"+n+"/$ref",{"@odata.id":t.webApiUrl+a+"("+i+")"},s).then(function(){})},this.disassociateSingleValued=function(e,t,r,n){o.stringParameterCheck(e,"DynamicsWebApi.disassociateSingleValued","collection"),t=o.guidParameterCheck(t,"DynamicsWebApi.disassociateSingleValued","id"),o.stringParameterCheck(r,"DynamicsWebApi.disassociateSingleValued","singleValuedNavigationPropertyName");var a={};return null!=n&&(n=o.guidParameterCheck(n,"DynamicsWebApi.associate","impersonateUserId"),a.MSCRMCallerID=n),l("DELETE",e+"("+t+")/"+r+"/$ref",null,a).then(function(){})},this.executeUnboundFunction=function(e,t,r){return f(e,t,null,null,r)},this.executeBoundFunction=function(e,t,r,n,a){return f(r,n,t,e,a)};var f=function(e,t,r,n,i){o.stringParameterCheck(e,"DynamicsWebApi.executeFunction","functionName");var c=e+a.buildFunctionParameters(t);null!=r&&(o.stringParameterCheck(r,"DynamicsWebApi.executeFunction","collection"),n=o.guidParameterCheck(n,"DynamicsWebApi.executeFunction","id"),c=r+"("+n+")/"+c);var s={};return i&&(s.MSCRMCallerID=o.guidParameterCheck(i,"DynamicsWebApi.executeFunction","impersonateUserId")),l("GET",c,null,s).then(function(e){if(e.data)return e.data})};this.executeUnboundAction=function(e,t,r){return g(e,t,null,null,r)},this.executeBoundAction=function(e,t,r,n,a){return g(r,n,t,e,a)};var g=function(e,t,r,n,a){o.stringParameterCheck(e,"DynamicsWebApi.executeAction","actionName");var i=e;null!=r&&(o.stringParameterCheck(r,"DynamicsWebApi.executeAction","collection"),n=o.guidParameterCheck(n,"DynamicsWebApi.executeAction","id"),i=r+"("+n+")/"+i);var c={};return null!=a&&(a=o.guidParameterCheck(a,"DynamicsWebApi.executeAction","impersonateUserId"),c.MSCRMCallerID=a),l("POST",i,t,c).then(function(e){if(e.data)return e.data})};this.initializeInstance=function(e){return e||(e=t),new n(e)}}var a=(r(0),r(5)),i=r(4),o=r(1),c=r(3);String.prototype.endsWith&&String.prototype.startsWith||r(2),e.exports=n}])}); |
var http = require('http'); | ||
var https = require('https'); | ||
var url = require('url'); | ||
var dateReviver = require('./helpers/dateReviver'); | ||
var parseResponseHeaders = require('./helpers/parseResponseHeaders'); | ||
var parseResponse = require('./helpers/parseResponse'); | ||
@@ -18,18 +17,18 @@ /** | ||
var httpRequest = function (method, uri, data, additionalHeaders, successCallback, errorCallback) { | ||
var headers = { | ||
"Accept": "application/json", | ||
"OData-MaxVersion": "4.0", | ||
"OData-Version": "4.0" | ||
}; | ||
var headers = {}; | ||
// "Accept": "application/json", | ||
// "OData-MaxVersion": "4.0", | ||
// "OData-Version": "4.0" | ||
//}; | ||
if (data) { | ||
headers["Content-Type"] = "application/json"; | ||
headers["Content-Type"] = additionalHeaders['Content-Type']; | ||
headers["Content-Length"] = data.length; | ||
delete additionalHeaders['Content-Type']; | ||
} | ||
//set additional headers | ||
if (additionalHeaders != null) { | ||
for (var key in additionalHeaders) { | ||
headers[key] = additionalHeaders[key]; | ||
} | ||
for (var key in additionalHeaders) { | ||
headers[key] = additionalHeaders[key]; | ||
} | ||
@@ -64,6 +63,3 @@ | ||
case 304: {// Success with Not Modified | ||
var responseData = null; | ||
if (rawData.length) { | ||
responseData = JSON.parse(rawData, dateReviver); | ||
} | ||
var responseData = parseResponse(rawData); | ||
@@ -70,0 +66,0 @@ var response = { |
var DWA = require('../dwa'); | ||
//var RequestConverter = require('../utilities/RequestConverter'); | ||
//https://stackoverflow.com/a/8809472 | ||
function generateUUID() { // Public Domain/MIT | ||
var d = new Date().getTime(); | ||
if (typeof performance !== 'undefined' && typeof performance.now === 'function') { | ||
d += performance.now(); //use high-precision timer if available | ||
} | ||
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) { | ||
var r = (d + Math.random() * 16) % 16 | 0; | ||
d = Math.floor(d / 16); | ||
return (c === 'x' ? r : (r & 0x3 | 0x8)).toString(16); | ||
}); | ||
} | ||
function setStandardHeaders(additionalHeaders) { | ||
additionalHeaders["Accept"] = "application/json"; | ||
additionalHeaders["OData-MaxVersion"] = "4.0"; | ||
additionalHeaders["OData-Version"] = "4.0"; | ||
additionalHeaders['Content-Type'] = 'application/json; charset=utf-8'; | ||
return additionalHeaders; | ||
} | ||
/** | ||
@@ -16,9 +39,9 @@ * Sends a request to given URL with given parameters | ||
module.exports = function sendRequest(method, uri, config, data, additionalHeaders, successCallback, errorCallback) { | ||
if (config.impersonate && (!additionalHeaders || (additionalHeaders && !additionalHeaders["MSCRMCallerID"]))) { | ||
if (!additionalHeaders) { | ||
additionalHeaders = {}; | ||
} | ||
additionalHeaders['MSCRMCallerID'] = config.impersonate; | ||
if (!additionalHeaders) { | ||
additionalHeaders = {}; | ||
} | ||
additionalHeaders = setStandardHeaders(additionalHeaders); | ||
var stringifiedData; | ||
@@ -31,3 +54,3 @@ if (data) { | ||
//remove brackets in guid | ||
if (/\(\{[\w\d-]+\}\)/g.test(value)){ | ||
if (/\(\{[\w\d-]+\}\)/g.test(value)) { | ||
value = value.replace(/(.+)\(\{([\w\d-]+)\}\)/g, '$1($2)'); | ||
@@ -46,2 +69,31 @@ } | ||
//if the URL contains more characters than max possible limit, convert the request to a batch request | ||
if (uri.length > 2083) { | ||
var batchBoundary = 'dwa_batch_' + generateUUID(); | ||
var batchBody = []; | ||
batchBody.push('--' + batchBoundary); | ||
batchBody.push('Content-Type: application/http'); | ||
batchBody.push('Content-Transfer-Encoding: binary\n'); | ||
batchBody.push(method + ' ' + config.webApiUrl + uri + ' HTTP/1.1'); | ||
for (var key in additionalHeaders) { | ||
batchBody.push(key + ': ' + additionalHeaders[key]); | ||
delete additionalHeaders[key]; | ||
} | ||
batchBody.push('\n--' + batchBoundary + '--'); | ||
stringifiedData = batchBody.join('\n'); | ||
additionalHeaders = setStandardHeaders(additionalHeaders); | ||
additionalHeaders['Content-Type'] = 'multipart/mixed;boundary=' + batchBoundary; | ||
uri = '$batch'; | ||
method = 'POST'; | ||
} | ||
if (config.impersonate && !additionalHeaders['MSCRMCallerID']) { | ||
additionalHeaders['MSCRMCallerID'] = config.impersonate; | ||
} | ||
var executeRequest; | ||
@@ -62,3 +114,3 @@ if (typeof XMLHttpRequest !== 'undefined') { | ||
} | ||
additionalHeaders['Authorization'] = "Bearer " + token.accessToken; | ||
additionalHeaders['Authorization'] = 'Bearer ' + token.accessToken; | ||
} | ||
@@ -70,3 +122,3 @@ | ||
//call a token refresh callback only if it is set and there is no "Authorization" header set yet | ||
if (config.onTokenRefresh && (!additionalHeaders || (additionalHeaders && !additionalHeaders["Authorization"]))) { | ||
if (config.onTokenRefresh && (!additionalHeaders || (additionalHeaders && !additionalHeaders['Authorization']))) { | ||
config.onTokenRefresh(sendInternalRequest); | ||
@@ -73,0 +125,0 @@ } |
@@ -1,3 +0,2 @@ | ||
| ||
var dateReviver = require('./helpers/dateReviver'); | ||
var parseResponse = require('./helpers/parseResponse'); | ||
var parseResponseHeaders = require('./helpers/parseResponseHeaders'); | ||
@@ -18,12 +17,10 @@ | ||
request.open(method, uri, true); | ||
request.setRequestHeader("OData-MaxVersion", "4.0"); | ||
request.setRequestHeader("OData-Version", "4.0"); | ||
request.setRequestHeader("Accept", "application/json"); | ||
request.setRequestHeader("Content-Type", "application/json; charset=utf-8"); | ||
//request.setRequestHeader("OData-MaxVersion", "4.0"); | ||
//request.setRequestHeader("OData-Version", "4.0"); | ||
//request.setRequestHeader("Accept", "application/json"); | ||
//request.setRequestHeader("Content-Type", "application/json; charset=utf-8"); | ||
//set additional headers | ||
if (additionalHeaders != null) { | ||
for (var key in additionalHeaders) { | ||
request.setRequestHeader(key, additionalHeaders[key]); | ||
} | ||
for (var key in additionalHeaders) { | ||
request.setRequestHeader(key, additionalHeaders[key]); | ||
} | ||
@@ -38,6 +35,3 @@ | ||
case 304: {// Success with Not Modified | ||
var responseData = null; | ||
if (request.responseText) { | ||
responseData = JSON.parse(request.responseText, dateReviver); | ||
} | ||
var responseData = parseResponse(request.responseText); | ||
@@ -44,0 +38,0 @@ var response = { |
{ | ||
"name": "dynamics-web-api", | ||
"version": "1.2.7", | ||
"version": "1.2.8", | ||
"description": "DynamicsWebApi is a Microsoft Dynamics CRM Web API helper library", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
@@ -89,3 +89,3 @@ # DynamicsWebApi for Microsoft Dynamics CRM Web API | ||
//OAuth Token Endpoint | ||
var authorityUrl = 'https://login.windows.net/00000000-0000-0000-0000-000000000011/oauth2/token'; | ||
var authorityUrl = 'https://login.microsoftonline.com/00000000-0000-0000-0000-000000000011/oauth2/token'; | ||
//CRM Organization URL | ||
@@ -92,0 +92,0 @@ var resource = 'https://myorg.crm.dynamics.com'; |
var chai = require('chai'); | ||
var expect = chai.expect; | ||
var nock = require('nock'); | ||
var sinon = require('sinon'); | ||
var DWA = require('../lib/dwa'); | ||
@@ -10,17 +13,18 @@ var Utility = require('../lib/utilities/Utility'); | ||
var dateReviver = require('../lib/requests/helpers/dateReviver'); | ||
var sendRequest = require('../lib/requests/sendRequest'); | ||
describe("Utility.buildFunctionParameters - ", function() { | ||
it("no parameters", function() { | ||
describe("Utility.buildFunctionParameters - ", function () { | ||
it("no parameters", function () { | ||
var result = Utility.buildFunctionParameters(); | ||
expect(result).to.equal("()"); | ||
}); | ||
it("1 parameter", function() { | ||
it("1 parameter", function () { | ||
var result = Utility.buildFunctionParameters({ param1: "value1" }); | ||
expect(result).to.equal("(param1=@p1)?@p1='value1'"); | ||
}); | ||
it("2 parameters", function() { | ||
it("2 parameters", function () { | ||
var result = Utility.buildFunctionParameters({ param1: "value1", param2: 2 }); | ||
expect(result).to.equal("(param1=@p1,param2=@p2)?@p1='value1'&@p2=2"); | ||
}); | ||
it("3 parameters", function() { | ||
it("3 parameters", function () { | ||
var result = Utility.buildFunctionParameters({ param1: "value1", param2: 2, param3: "value2" }); | ||
@@ -31,4 +35,4 @@ expect(result).to.equal("(param1=@p1,param2=@p2,param3=@p3)?@p1='value1'&@p2=2&@p3='value2'"); | ||
describe("Utility.getFetchXmlPagingCookie -", function() { | ||
it("paginCookie is empty", function() { | ||
describe("Utility.getFetchXmlPagingCookie -", function () { | ||
it("paginCookie is empty", function () { | ||
var result = Utility.getFetchXmlPagingCookie("", 2); | ||
@@ -42,3 +46,3 @@ expect(result).to.deep.equal({ | ||
it("paginCookie is null or undefined", function() { | ||
it("paginCookie is null or undefined", function () { | ||
var result = Utility.getFetchXmlPagingCookie(null, 2); | ||
@@ -59,3 +63,3 @@ expect(result).to.deep.equal({ | ||
it("pagingCookie is normal", function() { | ||
it("pagingCookie is normal", function () { | ||
var result = Utility.getFetchXmlPagingCookie(mocks.data.fetchXmls.cookiePage2, 2); | ||
@@ -73,5 +77,5 @@ expect(result).to.deep.equal(mocks.data.fetchXmls.fetchXmlResultPage2Cookie.PagingInfo); | ||
describe("RequestConverter.convertRequestOptions -", function() { | ||
describe("RequestConverter.convertRequestOptions -", function () { | ||
var stubUrl = mocks.webApiUrl + "tests"; | ||
it("request is empty", function() { | ||
it("request is empty", function () { | ||
var dwaRequest; | ||
@@ -90,3 +94,3 @@ | ||
it("count=true", function() { | ||
it("count=true", function () { | ||
var dwaRequest = { | ||
@@ -100,3 +104,3 @@ count: true | ||
it("count=false", function() { | ||
it("count=false", function () { | ||
var dwaRequest = { | ||
@@ -110,3 +114,3 @@ count: false | ||
it("expand is empty", function() { | ||
it("expand is empty", function () { | ||
var dwaRequest = { | ||
@@ -134,3 +138,3 @@ expand: undefined | ||
it("expand - filter without expand.property", function() { | ||
it("expand - filter without expand.property", function () { | ||
var dwaRequest = { | ||
@@ -156,3 +160,3 @@ expand: [{ | ||
it("expand - property", function() { | ||
it("expand - property", function () { | ||
var dwaRequest = { | ||
@@ -168,3 +172,3 @@ expand: [{ | ||
it("expand - property,filter empty", function() { | ||
it("expand - property,filter empty", function () { | ||
var dwaRequest = { | ||
@@ -191,3 +195,3 @@ expand: [{ | ||
it("expand - property,filter", function() { | ||
it("expand - property,filter", function () { | ||
var dwaRequest = { | ||
@@ -204,3 +208,3 @@ expand: [{ | ||
it("expand - property,orderBy empty", function() { | ||
it("expand - property,orderBy empty", function () { | ||
var dwaRequest = { | ||
@@ -227,3 +231,3 @@ expand: [{ | ||
it("expand - property,orderBy", function() { | ||
it("expand - property,orderBy", function () { | ||
var dwaRequest = { | ||
@@ -250,3 +254,3 @@ expand: [{ | ||
it("expand - property,select empty", function() { | ||
it("expand - property,select empty", function () { | ||
var dwaRequest = { | ||
@@ -273,3 +277,3 @@ expand: [{ | ||
it("expand - property,select", function() { | ||
it("expand - property,select", function () { | ||
var dwaRequest = { | ||
@@ -296,3 +300,3 @@ expand: [{ | ||
it("expand - property,top empty or <=0", function() { | ||
it("expand - property,top empty or <=0", function () { | ||
var dwaRequest = { | ||
@@ -329,3 +333,3 @@ expand: [{ | ||
it("expand - property,top", function() { | ||
it("expand - property,top", function () { | ||
var dwaRequest = { | ||
@@ -342,3 +346,3 @@ expand: [{ | ||
it("expand - different properties", function() { | ||
it("expand - different properties", function () { | ||
var dwaRequest = { | ||
@@ -368,3 +372,3 @@ expand: [{ | ||
it("filter empty", function() { | ||
it("filter empty", function () { | ||
var dwaRequest = { | ||
@@ -385,3 +389,3 @@ filter: "" | ||
it("filter", function() { | ||
it("filter", function () { | ||
var dwaRequest = { | ||
@@ -395,3 +399,3 @@ filter: "name eq 'name'" | ||
it("ifmatch empty", function() { | ||
it("ifmatch empty", function () { | ||
var dwaRequest = { | ||
@@ -412,3 +416,3 @@ ifmatch: "" | ||
it("ifmatch", function() { | ||
it("ifmatch", function () { | ||
var dwaRequest = { | ||
@@ -422,3 +426,3 @@ ifmatch: "*" | ||
it("ifnonematch empty", function() { | ||
it("ifnonematch empty", function () { | ||
var dwaRequest = { | ||
@@ -439,3 +443,3 @@ ifnonematch: "" | ||
it("ifnonematch", function() { | ||
it("ifnonematch", function () { | ||
var dwaRequest = { | ||
@@ -449,3 +453,3 @@ ifnonematch: "*" | ||
it("ifmatch & ifnonematch both specified - throws an error", function() { | ||
it("ifmatch & ifnonematch both specified - throws an error", function () { | ||
var dwaRequest = { | ||
@@ -456,3 +460,3 @@ ifmatch: "*", | ||
var result = expect(function() { | ||
var result = expect(function () { | ||
RequestConverter.convertRequestOptions(dwaRequest, "fun", stubUrl); | ||
@@ -462,3 +466,3 @@ }).to.throw("DynamicsWebApi.fun. Either one of request.ifmatch or request.ifnonematch parameters should be used in a call, not both."); | ||
it("impersonate empty", function() { | ||
it("impersonate empty", function () { | ||
var dwaRequest = { | ||
@@ -479,3 +483,3 @@ impersonate: "" | ||
it("impersonate", function() { | ||
it("impersonate", function () { | ||
var dwaRequest = { | ||
@@ -489,3 +493,3 @@ impersonate: mocks.data.testEntityId | ||
it("includeAnnotations empty", function() { | ||
it("includeAnnotations empty", function () { | ||
var dwaRequest = { | ||
@@ -506,3 +510,3 @@ includeAnnotations: "" | ||
it("includeAnnotations", function() { | ||
it("includeAnnotations", function () { | ||
var dwaRequest = { | ||
@@ -516,3 +520,3 @@ includeAnnotations: DWA.Prefer.Annotations.AssociatedNavigationProperty | ||
it("maxPageSize empty or <=0", function() { | ||
it("maxPageSize empty or <=0", function () { | ||
var dwaRequest = { | ||
@@ -540,3 +544,3 @@ maxPageSize: 0 | ||
it("maxPageSize", function() { | ||
it("maxPageSize", function () { | ||
var dwaRequest = { | ||
@@ -550,3 +554,3 @@ maxPageSize: 10 | ||
it("navigationProperty empty", function() { | ||
it("navigationProperty empty", function () { | ||
var dwaRequest = { | ||
@@ -567,3 +571,3 @@ navigationProperty: "" | ||
it("navigationProperty", function() { | ||
it("navigationProperty", function () { | ||
var dwaRequest = { | ||
@@ -577,3 +581,3 @@ navigationProperty: "nav" | ||
it("orderBy empty", function() { | ||
it("orderBy empty", function () { | ||
var dwaRequest = { | ||
@@ -594,3 +598,3 @@ orderBy: [] | ||
it("orderBy", function() { | ||
it("orderBy", function () { | ||
var dwaRequest = { | ||
@@ -613,3 +617,3 @@ orderBy: ["name"] | ||
it("returnRepresentation empty", function() { | ||
it("returnRepresentation empty", function () { | ||
var dwaRequest = { | ||
@@ -623,3 +627,3 @@ returnRepresentation: false | ||
it("returnRepresentation null", function() { | ||
it("returnRepresentation null", function () { | ||
var dwaRequest = { | ||
@@ -633,3 +637,3 @@ returnRepresentation: null | ||
it("returnRepresentation", function() { | ||
it("returnRepresentation", function () { | ||
var dwaRequest = { | ||
@@ -643,3 +647,3 @@ returnRepresentation: true | ||
it("select empty", function() { | ||
it("select empty", function () { | ||
var dwaRequest = { | ||
@@ -660,3 +664,3 @@ select: [] | ||
it("select", function() { | ||
it("select", function () { | ||
var dwaRequest = { | ||
@@ -677,3 +681,3 @@ select: ["name"] | ||
it("select navigation property", function() { | ||
it("select navigation property", function () { | ||
var dwaRequest = { | ||
@@ -701,3 +705,3 @@ select: ["/nav"] | ||
it("select reference", function() { | ||
it("select reference", function () { | ||
var dwaRequest = { | ||
@@ -711,3 +715,3 @@ select: ["nav/$ref"] | ||
it("top empty or <=0", function() { | ||
it("top empty or <=0", function () { | ||
var dwaRequest = { | ||
@@ -735,3 +739,3 @@ top: 0 | ||
it("top", function() { | ||
it("top", function () { | ||
var dwaRequest = { | ||
@@ -745,3 +749,3 @@ top: 3 | ||
it("savedQuery empty", function() { | ||
it("savedQuery empty", function () { | ||
var dwaRequest = { | ||
@@ -762,3 +766,3 @@ savedQuery: "" | ||
it("savedQuery", function() { | ||
it("savedQuery", function () { | ||
var dwaRequest = { | ||
@@ -772,3 +776,3 @@ savedQuery: mocks.data.testEntityId | ||
it("userQuery empty", function() { | ||
it("userQuery empty", function () { | ||
var dwaRequest = { | ||
@@ -789,3 +793,3 @@ userQuery: "" | ||
it("userQuery", function() { | ||
it("userQuery", function () { | ||
var dwaRequest = { | ||
@@ -799,3 +803,3 @@ userQuery: mocks.data.testEntityId | ||
it("multiple options", function() { | ||
it("multiple options", function () { | ||
var dwaRequest = { | ||
@@ -1068,5 +1072,5 @@ select: ["name", "subject"], | ||
describe("RequestConverter.convertRequest -", function() { | ||
describe("RequestConverter.convertRequest -", function () { | ||
//{ url: result.url, headers: result.headers } | ||
it("collection", function() { | ||
it("collection", function () { | ||
var dwaRequest = { | ||
@@ -1080,3 +1084,3 @@ collection: "cols" | ||
it("collection empty - throw error", function() { | ||
it("collection empty - throw error", function () { | ||
var dwaRequest = { | ||
@@ -1086,3 +1090,3 @@ collection: "" | ||
var test = function() { | ||
var test = function () { | ||
RequestConverter.convertRequest(dwaRequest); | ||
@@ -1100,3 +1104,3 @@ } | ||
it("collection, id empty", function() { | ||
it("collection, id empty", function () { | ||
var dwaRequest = { | ||
@@ -1116,3 +1120,3 @@ collection: "cols", | ||
it("collection, id - wrong format throw error", function() { | ||
it("collection, id - wrong format throw error", function () { | ||
var dwaRequest = { | ||
@@ -1123,3 +1127,3 @@ collection: "cols", | ||
var test = function() { | ||
var test = function () { | ||
RequestConverter.convertRequest(dwaRequest); | ||
@@ -1131,3 +1135,3 @@ } | ||
it("collection, id", function() { | ||
it("collection, id", function () { | ||
var dwaRequest = { | ||
@@ -1142,3 +1146,3 @@ collection: "cols", | ||
it("collection, id in brackets {} converted to id without brackets", function() { | ||
it("collection, id in brackets {} converted to id without brackets", function () { | ||
var dwaRequest = { | ||
@@ -1153,3 +1157,3 @@ collection: "cols", | ||
it("full", function() { | ||
it("full", function () { | ||
var dwaRequest = { | ||
@@ -1172,4 +1176,4 @@ collection: "cols", | ||
describe("ErrorHelper.handleErrorResponse", function() { | ||
it("returns a correct error object", function() { | ||
describe("ErrorHelper.handleErrorResponse", function () { | ||
it("returns a correct error object", function () { | ||
var errorResponse = { | ||
@@ -1180,3 +1184,3 @@ status: 500, | ||
expect(function() { | ||
expect(function () { | ||
ErrorHelper.handleErrorResponse(errorResponse); | ||
@@ -1187,14 +1191,14 @@ }).to.throw("Error: 500: Invalid"); | ||
describe("ErrorHelper.parameterCheck", function() { | ||
it("does not return anything", function() { | ||
describe("ErrorHelper.parameterCheck", function () { | ||
it("does not return anything", function () { | ||
var result = ErrorHelper.parameterCheck(2, "fun", "param", "type"); | ||
expect(result).to.be.undefined; | ||
}); | ||
it("when parameter is null it throws an error", function() { | ||
expect(function() { | ||
it("when parameter is null it throws an error", function () { | ||
expect(function () { | ||
ErrorHelper.parameterCheck(null, "fun", "param", "type"); | ||
}).to.throw("fun requires the param parameter to be of type type"); | ||
}); | ||
it("throws Error with message without type", function() { | ||
expect(function() { | ||
it("throws Error with message without type", function () { | ||
expect(function () { | ||
ErrorHelper.parameterCheck(null, "fun", "param"); | ||
@@ -1205,9 +1209,9 @@ }).to.throw("fun requires the param parameter"); | ||
describe("ErrorHelper.stringParameterCheck", function() { | ||
it("does not return anything", function() { | ||
describe("ErrorHelper.stringParameterCheck", function () { | ||
it("does not return anything", function () { | ||
var result = ErrorHelper.stringParameterCheck("2", "fun", "param"); | ||
expect(result).to.be.undefined; | ||
}); | ||
it("when parameter is wrong it throws an error", function() { | ||
expect(function() { | ||
it("when parameter is wrong it throws an error", function () { | ||
expect(function () { | ||
ErrorHelper.stringParameterCheck(4, "fun", "param"); | ||
@@ -1218,9 +1222,9 @@ }).to.throw("fun requires the param parameter to be of type String"); | ||
describe("ErrorHelper.arrayParameterCheck", function() { | ||
it("does not return anything", function() { | ||
describe("ErrorHelper.arrayParameterCheck", function () { | ||
it("does not return anything", function () { | ||
var result = ErrorHelper.arrayParameterCheck([], "fun", "param"); | ||
expect(result).to.be.undefined; | ||
}); | ||
it("when parameter is wrong it throws an error", function() { | ||
expect(function() { | ||
it("when parameter is wrong it throws an error", function () { | ||
expect(function () { | ||
ErrorHelper.arrayParameterCheck({}, "fun", "param"); | ||
@@ -1231,4 +1235,4 @@ }).to.throw("fun requires the param parameter to be of type Array"); | ||
describe("ErrorHelper.stringOrArrayParameterCheck", function() { | ||
it("does not return anything", function() { | ||
describe("ErrorHelper.stringOrArrayParameterCheck", function () { | ||
it("does not return anything", function () { | ||
var result = ErrorHelper.stringOrArrayParameterCheck([], "fun", "param"); | ||
@@ -1240,4 +1244,4 @@ expect(result).to.be.undefined; | ||
}); | ||
it("when parameter is wrong it throws an error", function() { | ||
expect(function() { | ||
it("when parameter is wrong it throws an error", function () { | ||
expect(function () { | ||
ErrorHelper.stringOrArrayParameterCheck({}, "fun", "param"); | ||
@@ -1248,13 +1252,13 @@ }).to.throw("fun requires the param parameter to be of type String or Array"); | ||
describe("ErrorHelper.numberParameterCheck", function() { | ||
it("does not return anything", function() { | ||
describe("ErrorHelper.numberParameterCheck", function () { | ||
it("does not return anything", function () { | ||
var result = ErrorHelper.numberParameterCheck(54, "fun", "param"); | ||
expect(result).to.be.undefined; | ||
}); | ||
it("when parameter is a string-number then the function does not return anything", function() { | ||
it("when parameter is a string-number then the function does not return anything", function () { | ||
var result = ErrorHelper.numberParameterCheck("54", "fun", "param"); | ||
expect(result).to.be.undefined; | ||
}); | ||
it("when parameter is wrong it throws an error", function() { | ||
expect(function() { | ||
it("when parameter is wrong it throws an error", function () { | ||
expect(function () { | ||
ErrorHelper.numberParameterCheck("a word", "fun", "param"); | ||
@@ -1265,9 +1269,9 @@ }).to.throw("fun requires the param parameter to be of type Number"); | ||
describe("ErrorHelper.boolParameterCheck", function() { | ||
it("does not return anything", function() { | ||
describe("ErrorHelper.boolParameterCheck", function () { | ||
it("does not return anything", function () { | ||
var result = ErrorHelper.boolParameterCheck(false, "fun", "param"); | ||
expect(result).to.be.undefined; | ||
}); | ||
it("when parameter is wrong it throws an error", function() { | ||
expect(function() { | ||
it("when parameter is wrong it throws an error", function () { | ||
expect(function () { | ||
ErrorHelper.boolParameterCheck("a word", "fun", "param"); | ||
@@ -1278,9 +1282,9 @@ }).to.throw("fun requires the param parameter to be of type Boolean"); | ||
describe("ErrorHelper.callbackParameterCheck", function() { | ||
it("does not return anything", function() { | ||
var result = ErrorHelper.callbackParameterCheck(function() { }, "fun", "param"); | ||
describe("ErrorHelper.callbackParameterCheck", function () { | ||
it("does not return anything", function () { | ||
var result = ErrorHelper.callbackParameterCheck(function () { }, "fun", "param"); | ||
expect(result).to.be.undefined; | ||
}); | ||
it("when parameter is wrong it throws an error", function() { | ||
expect(function() { | ||
it("when parameter is wrong it throws an error", function () { | ||
expect(function () { | ||
ErrorHelper.callbackParameterCheck("a word", "fun", "param"); | ||
@@ -1291,4 +1295,4 @@ }).to.throw("fun requires the param parameter to be of type Function"); | ||
describe("ErrorHelper.guidParameterCheck", function() { | ||
it("parses guid in brackets and removes them", function() { | ||
describe("ErrorHelper.guidParameterCheck", function () { | ||
it("parses guid in brackets and removes them", function () { | ||
var guid = "{00000000-0000-0000-0000-000000000001}"; | ||
@@ -1299,4 +1303,4 @@ var result = ErrorHelper.guidParameterCheck(guid); | ||
it("throws an error", function() { | ||
expect(function() { | ||
it("throws an error", function () { | ||
expect(function () { | ||
ErrorHelper.guidParameterCheck("ds", "fun", "param"); | ||
@@ -1307,4 +1311,4 @@ }).to.throw("fun requires the param parameter to be of type GUID String"); | ||
describe("dateReviver", function() { | ||
it("returns date when a string matches exact 'YYYY-MM-DDTHH:MM:SSZ' teamplate", function() { | ||
describe("dateReviver", function () { | ||
it("returns date when a string matches exact 'YYYY-MM-DDTHH:MM:SSZ' teamplate", function () { | ||
var result = dateReviver('any', '2016-12-22T23:22:12Z'); | ||
@@ -1314,3 +1318,3 @@ expect(result).to.deep.equal(new Date('2016-12-22T23:22:12Z')); | ||
it("returns the same value when a string does not match exact 'YYYY-MM-DDTHH:MM:SSZ' teamplate", function() { | ||
it("returns the same value when a string does not match exact 'YYYY-MM-DDTHH:MM:SSZ' teamplate", function () { | ||
var result = dateReviver('any', 'other'); | ||
@@ -1320,3 +1324,3 @@ expect(result).to.equal('other'); | ||
it("returns the same value when its type is not String", function() { | ||
it("returns the same value when its type is not String", function () { | ||
var result = dateReviver('any', 54); | ||
@@ -1327,12 +1331,12 @@ expect(result).to.equal(54); | ||
describe("DWA.Types", function() { | ||
it("ResponseBase", function() { | ||
describe("DWA.Types", function () { | ||
it("ResponseBase", function () { | ||
expect(new DWA.Types.ResponseBase().oDataContext).to.eq(""); | ||
}); | ||
it("Response", function() { | ||
it("Response", function () { | ||
expect(new DWA.Types.Response().value).to.deep.equal({}); | ||
}); | ||
it("ReferenceResponse", function() { | ||
it("ReferenceResponse", function () { | ||
expect(new DWA.Types.ReferenceResponse()).to.deep | ||
@@ -1342,3 +1346,3 @@ .equal({ oDataContext: "", id: "", collection: "" }); | ||
it("MultipleResponse", function() { | ||
it("MultipleResponse", function () { | ||
expect(new DWA.Types.MultipleResponse()).to.deep | ||
@@ -1348,3 +1352,3 @@ .equal({ oDataContext: "", oDataNextLink: "", oDataCount: 0, value: [] }); | ||
it("FetchXmlResponse", function() { | ||
it("FetchXmlResponse", function () { | ||
expect(new DWA.Types.FetchXmlResponse()).to.deep | ||
@@ -1357,2 +1361,61 @@ .equal({ | ||
}); | ||
}); | ||
describe("sendRequest", function () { | ||
describe("when url is long, request is converted to batch", function () { | ||
var scope; | ||
var url = 'test'; | ||
while (url.length < 2085) { | ||
url += 'test'; | ||
}; | ||
var rBody = mocks.data.batch.replace('{0}', mocks.webApiUrl + url); | ||
var rBodys = rBody.split('\n'); | ||
var checkBody = ''; | ||
for (var i = 0; i < rBodys.length; i++) { | ||
checkBody += rBodys[i]; | ||
} | ||
console.error(rBody + '!'); | ||
before(function () { | ||
var response = mocks.responses.batch; | ||
scope = nock(mocks.webApiUrl + '$batch') | ||
.filteringRequestBody(function (body) { | ||
body = body.replace(/dwa_batch_[\d\w]{8}-[\d\w]{4}-[\d\w]{4}-[\d\w]{4}-[\d\w]{12}/g, 'dwa_batch_XXX'); | ||
var bodys = body.split('\n'); | ||
var resultBody = ''; | ||
for (var i = 0; i < bodys.length; i++) { | ||
resultBody += bodys[i]; | ||
} | ||
return resultBody; | ||
}) | ||
.post("", checkBody) | ||
.reply(response.status, response.responseText, response.responseHeaders); | ||
}); | ||
after(function () { | ||
nock.cleanAll(); | ||
}); | ||
it("returns a correct response", function (done) { | ||
sendRequest('GET', url, { webApiUrl: mocks.webApiUrl }, null, null, function (object) { | ||
var multiple = mocks.responses.multiple(); | ||
delete multiple.oDataContext; | ||
var expectedO = { | ||
status: 200, | ||
headers: {}, | ||
data: multiple | ||
}; | ||
expect(object).to.deep.equal(expectedO); | ||
done(); | ||
}, function (object) { | ||
expect(object).to.be.undefined; | ||
done(); | ||
}); | ||
}); | ||
it("all requests have been made", function () { | ||
expect(scope.isDone()).to.be.true; | ||
}); | ||
}); | ||
}); |
@@ -64,2 +64,12 @@ //<cookie pagenumber="2" pagingcookie="<cookie page="1"><accountid last="{EF72AE29-B3DE-E611-8102-5065F38A7BF1}" first="{475B158C-541C-E511-80D3-3863BB347BA8}" /></cookie>" istracking="False" /> | ||
}, | ||
batch: | ||
'--dwa_batch_XXX\n' + | ||
'Content-Type: application/http\n' + | ||
'Content-Transfer-Encoding: binary\n\n' + | ||
'GET {0} HTTP/1.1\n' + | ||
'Accept: application/json\n' + | ||
'OData-MaxVersion: 4.0\n' + | ||
'OData-Version: 4.0\n' + | ||
'Content-Type: application/json; charset=utf-8\n\n' + | ||
'--dwa_batch_XXX--', | ||
@@ -169,3 +179,3 @@ fetchXmls: { | ||
} | ||
} | ||
}, | ||
} | ||
@@ -218,2 +228,17 @@ }; | ||
}, | ||
batch: { | ||
status: 200, | ||
responseText: | ||
'--batchresponse_904020fa-6213-43d4-a26a-5347b70095e8\r\n' + | ||
'Content-Type: application/http\r\n' + | ||
'Content-Transfer-Encoding: binary\r\n\r\n' + | ||
'HTTP/ 1.1 200 OK\r\n' + | ||
'Access-Control-Expose-Headers: Preference-Applied, OData-EntityId, Location, ETag, OData-Version, Content-Encoding, Transfer-Encoding, Content-Length, Retry-After\r\n' + | ||
'Content-Type: application/json; odata.metadata=minimal\r\n' + | ||
'OData-Version: 4.0\r\n\r\n' + | ||
JSON.stringify(dataStubs.multiple) + '\r\n' + | ||
'--batchresponse_904020fa-6213-43d4-a26a-5347b70095e8--' | ||
}, | ||
fetchXmlResponsePage1Cookie: { | ||
@@ -220,0 +245,0 @@ status: 200, |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
917743
41
14260