e55662ff897cc98cb2ebe711844b5483ff9af6d6
[motion2.git] / server / api / intDynamics365Account / intDynamics365Account.controller.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0x846a=['concat','password','clientSecret','remoteUri','substring','lastIndexOf','format','%s/api/data/v9.0/','POST','https://login.microsoftonline.com/','/oauth2/token','username','access_token','GET','EntityDefinitions?$select=DisplayName,EntitySetName&$filter=SchemaName\x20eq\x20\x27','Bearer\x20','4.0','value','EntityDefinitions(',')?$select=LogicalName&$expand=Attributes($select=LogicalName)','Attributes','remove','includes','forEach','@odata.type','PicklistAttributeMetadata','push','MetadataId','BooleanAttributeMetadata','all','DoubleAttributeMetadata','IntegerAttributeMetadata','MemoAttributeMetadata','DateTimeAttributeMetadata','StatusAttributeMetadata','EntityNameAttributeMetadata','DecimalAttributeMetadata','test','statusCode','Wrong\x20credentials',')/Attributes(','$select=DisplayName,LogicalName&$expand=OptionSet($select=Options)','Options','Label','UserLocalizedLabel','LogicalName',')/Microsoft.Dynamics.CRM.BooleanAttributeMetadata?$select=DisplayName,LogicalName&$expand=OptionSet($select=FalseOption,\x20TrueOption)','TrueOption','FalseOption','false','DisplayName','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','desk.js','querystring','papaparse','ioredis','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','jayson/promise','client','http','request','then','request\x20sent','debug','Dynamics365Account,\x20%s,\x20%s,\x20%s','stringify','error','code','Dynamics365Account,\x20%s,\x20%s','message','result','catch','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','reject','save','destroy','stack','name','send','rawAttributes','type','query','keys','filters','intersection','model','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','merge','VIRTUAL','filter','options','Dynamics365Account','includeAll','include','findAll','show','params','create','update','body','find','getConfigurations','findOne','map','addConfiguration','AccountId','Subjects','getDescriptions','Dynamics365Configuration','Dynamics365Field','Descriptions','getFields','ticketType','incident','Incident','PhoneCall','title','description','customerid','caseorigincode','phonenumber','regardingobjectid','directioncode','phonecall_activity_parties','accountidname','actualserviceunits','billedserviceunits','contactidname','contactidyominame','contractdetailidname','contractidname','createdbyexternalpartyname','createdbyyominame','createdon','createdonbehalfbyname','createdonbehalfbyyominame','customeridname','customeridtype','customeridyominame','emailaddress','entityimage_timestamp','entityimage_url','escalatedon','exchangerate','firstresponsebykpiidname','followupby','importsequencenumber','influencescore','kbarticleidname','lastonholdtime','masteridname','modifiedbyexternalpartyname','modifiedbyexternalpartyyominame','modifiedbyname','modifiedbyyominame','modifiedon','modifiedonbehalfbyname','msdyn_iotalertname','numberofchildincidents','overriddencreatedon','owneridname','owneridtype','owneridyominame','parentcaseidname','primarycontactidname','primarycontactidyominame','prioritycodename','productidname','productserialnumber','responsiblecontactidname','sentimentvalue','slainvokedidname','slaname','socialprofileidname','subjectidname','ticketnumber','traversedpath','versionnumber'];(function(_0x551290,_0x46417f){var _0x492792=function(_0x53a808){while(--_0x53a808){_0x551290['push'](_0x551290['shift']());}};_0x492792(++_0x46417f);}(_0x846a,0x108));var _0xa846=function(_0x588705,_0x4c18d6){_0x588705=_0x588705-0x0;var _0xb6966e=_0x846a[_0x588705];return _0xb6966e;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0xa846('0x0'));var rp=require('request-promise');var moment=require(_0xa846('0x1'));var BPromise=require(_0xa846('0x2'));var Mustache=require(_0xa846('0x3'));var util=require(_0xa846('0x4'));var path=require(_0xa846('0x5'));var sox=require(_0xa846('0x6'));var csv=require(_0xa846('0x7'));var ejs=require(_0xa846('0x8'));var fs=require('fs');var fs_extra=require(_0xa846('0x9'));var _=require(_0xa846('0xa'));var squel=require(_0xa846('0xb'));var crypto=require(_0xa846('0xc'));var jsforce=require('jsforce');var deskjs=require(_0xa846('0xd'));var toCsv=require(_0xa846('0x7'));var querystring=require(_0xa846('0xe'));var Papa=require(_0xa846('0xf'));var Redis=require(_0xa846('0x10'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xa846('0x11'));var logger=require(_0xa846('0x12'))(_0xa846('0x13'));var utils=require(_0xa846('0x14'));var config=require(_0xa846('0x15'));var licenseUtil=require(_0xa846('0x16'));var db=require(_0xa846('0x17'))['db'];var integrations=require('../../components/integrations/configuration');var jayson=require(_0xa846('0x18'));var client=jayson[_0xa846('0x19')][_0xa846('0x1a')]({'port':0x232a});function respondWithRpcPromise(_0x4091cf,_0x317d5b,_0x3320a7,_0x498de9){return new BPromise(function(_0x4743e9,_0x16e73f){var _0x54de97=_0x498de9||client;return _0x54de97[_0xa846('0x1b')](_0x4091cf,_0x3320a7)[_0xa846('0x1c')](function(_0x4f1b9e){logger['info']('Dynamics365Account,\x20%s,\x20%s',_0x317d5b,_0xa846('0x1d'));logger[_0xa846('0x1e')](_0xa846('0x1f'),_0x317d5b,'request\x20sent',JSON[_0xa846('0x20')](_0x4f1b9e));if(_0x4f1b9e[_0xa846('0x21')]){if(_0x4f1b9e[_0xa846('0x21')][_0xa846('0x22')]===0x1f4){logger[_0xa846('0x21')](_0xa846('0x23'),_0x317d5b,_0x4f1b9e[_0xa846('0x21')][_0xa846('0x24')]);return _0x16e73f(_0x4f1b9e[_0xa846('0x21')]['message']);}logger['error'](_0xa846('0x23'),_0x317d5b,_0x4f1b9e[_0xa846('0x21')][_0xa846('0x24')]);return _0x4743e9(_0x4f1b9e['error'][_0xa846('0x24')]);}else{logger['info'](_0xa846('0x23'),_0x317d5b,'request\x20sent');_0x4743e9(_0x4f1b9e[_0xa846('0x25')][_0xa846('0x24')]);}})[_0xa846('0x26')](function(_0x2a16be){logger[_0xa846('0x21')](_0xa846('0x23'),_0x317d5b,_0x2a16be);_0x16e73f(_0x2a16be);});});}function respondWithStatusCode(_0x1e49c8,_0x47d816){_0x47d816=_0x47d816||0xcc;return function(_0x49589e){if(_0x49589e){return _0x1e49c8[_0xa846('0x27')](_0x47d816);}return _0x1e49c8[_0xa846('0x28')](_0x47d816)[_0xa846('0x29')]();};}function respondWithResult(_0x205134,_0xa50191){_0xa50191=_0xa50191||0xc8;return function(_0x266f0c){if(_0x266f0c){return _0x205134['status'](_0xa50191)[_0xa846('0x2a')](_0x266f0c);}};}function respondWithFilteredResult(_0x4ad53b,_0x174684){return function(_0x5e0aa6){if(_0x5e0aa6){var _0xf7e5d=_0x5e0aa6[_0xa846('0x2b')],_0x342ffb=_0x174684[_0xa846('0x2c')],_0x4536c9=_0x174684['offset']+_0x174684[_0xa846('0x2d')],_0xd6b7f6;if(_0x4536c9>=_0xf7e5d){_0x4536c9=_0xf7e5d;_0xd6b7f6=0xc8;}else{_0xd6b7f6=0xce;}_0x4ad53b[_0xa846('0x28')](_0xd6b7f6);return _0x4ad53b[_0xa846('0x2e')](_0xa846('0x2f'),_0x342ffb+'-'+_0x4536c9+'/'+_0xf7e5d)[_0xa846('0x2a')](_0x5e0aa6);}return null;};}function patchUpdates(_0x1f3ecc){return function(_0x49b0a2){try{jsonpatch[_0xa846('0x30')](_0x49b0a2,_0x1f3ecc,!![]);}catch(_0x197eef){return BPromise[_0xa846('0x31')](_0x197eef);}return _0x49b0a2[_0xa846('0x32')]();};}function saveUpdates(_0x5304c0,_0x352353){return function(_0x10de85){if(_0x10de85){return _0x10de85['update'](_0x5304c0)[_0xa846('0x1c')](function(_0x1e74d3){return _0x1e74d3;});}return null;};}function removeEntity(_0x2ec7dd,_0x211a3d){return function(_0x247a2a){if(_0x247a2a){return _0x247a2a[_0xa846('0x33')]()['then'](function(){_0x2ec7dd[_0xa846('0x28')](0xcc)[_0xa846('0x29')]();});}};}function handleEntityNotFound(_0xeba9b,_0x25b4f0){return function(_0x23e396){if(!_0x23e396){_0xeba9b[_0xa846('0x27')](0x194);}return _0x23e396;};}function handleError(_0x6556c,_0x81af18){_0x81af18=_0x81af18||0x1f4;return function(_0x531d9c){logger[_0xa846('0x21')](_0x531d9c[_0xa846('0x34')]);if(_0x531d9c[_0xa846('0x35')]){delete _0x531d9c[_0xa846('0x35')];}_0x6556c[_0xa846('0x28')](_0x81af18)[_0xa846('0x36')](_0x531d9c);};}exports['index']=function(_0x18e5e0,_0x227d48){var _0x143fa2={},_0x5b0394={},_0x34fea5={'count':0x0,'rows':[]};var _0x417bbb=_['map'](db['Dynamics365Account'][_0xa846('0x37')],function(_0x207140){return{'name':_0x207140['fieldName'],'type':_0x207140[_0xa846('0x38')]['key']};});_0x5b0394['model']=_['map'](_0x417bbb,_0xa846('0x35'));_0x5b0394[_0xa846('0x39')]=_[_0xa846('0x3a')](_0x18e5e0[_0xa846('0x39')]);_0x5b0394[_0xa846('0x3b')]=_[_0xa846('0x3c')](_0x5b0394[_0xa846('0x3d')],_0x5b0394['query']);_0x143fa2['attributes']=_[_0xa846('0x3c')](_0x5b0394['model'],qs[_0xa846('0x3e')](_0x18e5e0[_0xa846('0x39')][_0xa846('0x3e')]));_0x143fa2['attributes']=_0x143fa2[_0xa846('0x3f')][_0xa846('0x40')]?_0x143fa2[_0xa846('0x3f')]:_0x5b0394['model'];if(!_0x18e5e0['query'][_0xa846('0x41')](_0xa846('0x42'))){_0x143fa2[_0xa846('0x2d')]=qs[_0xa846('0x2d')](_0x18e5e0['query'][_0xa846('0x2d')]);_0x143fa2[_0xa846('0x2c')]=qs['offset'](_0x18e5e0['query']['offset']);}_0x143fa2[_0xa846('0x43')]=qs[_0xa846('0x44')](_0x18e5e0[_0xa846('0x39')]['sort']);_0x143fa2[_0xa846('0x45')]=qs[_0xa846('0x3b')](_[_0xa846('0x46')](_0x18e5e0[_0xa846('0x39')],_0x5b0394['filters']),_0x417bbb);if(_0x18e5e0['query']['filter']){_0x143fa2['where']=_[_0xa846('0x47')](_0x143fa2['where'],{'$or':_['map'](_0x417bbb,function(_0x24885f){if(_0x24885f[_0xa846('0x38')]!==_0xa846('0x48')){var _0x464c3c={};_0x464c3c[_0x24885f[_0xa846('0x35')]]={'$like':'%'+_0x18e5e0['query'][_0xa846('0x49')]+'%'};return _0x464c3c;}})});}_0x143fa2=_[_0xa846('0x47')]({},_0x143fa2,_0x18e5e0[_0xa846('0x4a')]);var _0x2e69af={'where':_0x143fa2[_0xa846('0x45')]};return db[_0xa846('0x4b')]['count'](_0x2e69af)[_0xa846('0x1c')](function(_0x512932){_0x34fea5[_0xa846('0x2b')]=_0x512932;if(_0x18e5e0['query'][_0xa846('0x4c')]){_0x143fa2[_0xa846('0x4d')]=[{'all':!![]}];}return db[_0xa846('0x4b')][_0xa846('0x4e')](_0x143fa2);})[_0xa846('0x1c')](function(_0x34b020){_0x34fea5['rows']=_0x34b020;return _0x34fea5;})['then'](respondWithFilteredResult(_0x227d48,_0x143fa2))[_0xa846('0x26')](handleError(_0x227d48,null));};exports[_0xa846('0x4f')]=function(_0x5e7593,_0x5c924a){var _0x1d84be={'raw':![],'where':{'id':_0x5e7593[_0xa846('0x50')]['id']}},_0x36898={};_0x36898[_0xa846('0x3d')]=_[_0xa846('0x3a')](db[_0xa846('0x4b')]['rawAttributes']);_0x36898['query']=_[_0xa846('0x3a')](_0x5e7593[_0xa846('0x39')]);_0x36898[_0xa846('0x3b')]=_['intersection'](_0x36898[_0xa846('0x3d')],_0x36898[_0xa846('0x39')]);_0x1d84be[_0xa846('0x3f')]=_[_0xa846('0x3c')](_0x36898[_0xa846('0x3d')],qs[_0xa846('0x3e')](_0x5e7593['query'][_0xa846('0x3e')]));_0x1d84be['attributes']=_0x1d84be[_0xa846('0x3f')][_0xa846('0x40')]?_0x1d84be[_0xa846('0x3f')]:_0x36898[_0xa846('0x3d')];if(_0x5e7593[_0xa846('0x39')][_0xa846('0x4c')]){_0x1d84be[_0xa846('0x4d')]=[{'all':!![]}];}_0x1d84be=_[_0xa846('0x47')]({},_0x1d84be,_0x5e7593[_0xa846('0x4a')]);return db['Dynamics365Account']['find'](_0x1d84be)['then'](handleEntityNotFound(_0x5c924a,null))['then'](respondWithResult(_0x5c924a,null))[_0xa846('0x26')](handleError(_0x5c924a,null));};exports[_0xa846('0x51')]=function(_0x4204c0,_0x44d86a){return db[_0xa846('0x4b')][_0xa846('0x51')](_0x4204c0['body'],{})[_0xa846('0x1c')](respondWithResult(_0x44d86a,0xc9))[_0xa846('0x26')](handleError(_0x44d86a,null));};exports[_0xa846('0x52')]=function(_0x2fcbec,_0x41f6bf){if(_0x2fcbec[_0xa846('0x53')]['id']){delete _0x2fcbec[_0xa846('0x53')]['id'];}return db[_0xa846('0x4b')][_0xa846('0x54')]({'where':{'id':_0x2fcbec[_0xa846('0x50')]['id']}})[_0xa846('0x1c')](handleEntityNotFound(_0x41f6bf,null))['then'](saveUpdates(_0x2fcbec['body'],null))[_0xa846('0x1c')](respondWithResult(_0x41f6bf,null))['catch'](handleError(_0x41f6bf,null));};exports[_0xa846('0x33')]=function(_0x41a954,_0x264024){return db[_0xa846('0x4b')]['find']({'where':{'id':_0x41a954[_0xa846('0x50')]['id']}})[_0xa846('0x1c')](handleEntityNotFound(_0x264024,null))[_0xa846('0x1c')](removeEntity(_0x264024,null))['catch'](handleError(_0x264024,null));};exports[_0xa846('0x55')]=function(_0x135aef,_0x2dce17,_0x3b984a){var _0x5c2297={};var _0x366bb9={};var _0x48fcd5;var _0x5e994d;return db[_0xa846('0x4b')][_0xa846('0x56')]({'where':{'id':_0x135aef[_0xa846('0x50')]['id']}})['then'](handleEntityNotFound(_0x2dce17,null))[_0xa846('0x1c')](function(_0xa64fbd){if(_0xa64fbd){_0x48fcd5=_0xa64fbd;_0x366bb9['model']=_[_0xa846('0x3a')](db['Dynamics365Configuration']['rawAttributes']);_0x366bb9['query']=_[_0xa846('0x3a')](_0x135aef[_0xa846('0x39')]);_0x366bb9[_0xa846('0x3b')]=_[_0xa846('0x3c')](_0x366bb9[_0xa846('0x3d')],_0x366bb9['query']);_0x5c2297[_0xa846('0x3f')]=_['intersection'](_0x366bb9[_0xa846('0x3d')],qs[_0xa846('0x3e')](_0x135aef[_0xa846('0x39')][_0xa846('0x3e')]));_0x5c2297[_0xa846('0x3f')]=_0x5c2297[_0xa846('0x3f')][_0xa846('0x40')]?_0x5c2297['attributes']:_0x366bb9[_0xa846('0x3d')];_0x5c2297['order']=qs[_0xa846('0x44')](_0x135aef[_0xa846('0x39')][_0xa846('0x44')]);_0x5c2297['where']=qs[_0xa846('0x3b')](_[_0xa846('0x46')](_0x135aef[_0xa846('0x39')],_0x366bb9[_0xa846('0x3b')]));if(_0x135aef[_0xa846('0x39')]['filter']){_0x5c2297[_0xa846('0x45')]=_[_0xa846('0x47')](_0x5c2297[_0xa846('0x45')],{'$or':_[_0xa846('0x57')](_0x5c2297[_0xa846('0x3f')],function(_0x4b3b4f){var _0x3f7b5d={};_0x3f7b5d[_0x4b3b4f]={'$like':'%'+_0x135aef[_0xa846('0x39')][_0xa846('0x49')]+'%'};return _0x3f7b5d;})});}_0x5c2297=_['merge']({},_0x5c2297,_0x135aef['options']);return _0x48fcd5[_0xa846('0x55')](_0x5c2297);}})[_0xa846('0x1c')](function(_0x15e14d){if(_0x15e14d){_0x5e994d=_0x15e14d[_0xa846('0x40')];if(!_0x135aef[_0xa846('0x39')][_0xa846('0x41')](_0xa846('0x42'))){_0x5c2297[_0xa846('0x2d')]=qs[_0xa846('0x2d')](_0x135aef[_0xa846('0x39')][_0xa846('0x2d')]);_0x5c2297[_0xa846('0x2c')]=qs[_0xa846('0x2c')](_0x135aef['query']['offset']);}return _0x48fcd5[_0xa846('0x55')](_0x5c2297);}})['then'](function(_0x57573c){if(_0x57573c){return _0x57573c?{'count':_0x5e994d,'rows':_0x57573c}:null;}})[_0xa846('0x1c')](respondWithResult(_0x2dce17,null))[_0xa846('0x26')](handleError(_0x2dce17,null));};exports[_0xa846('0x58')]=function(_0x1f3859,_0x14f67d,_0x2fd7c3){if(_0x1f3859['body']['id']){delete _0x1f3859[_0xa846('0x53')]['id'];}return db[_0xa846('0x4b')]['findOne']({'where':{'id':_0x1f3859[_0xa846('0x50')]['id']}})[_0xa846('0x1c')](handleEntityNotFound(_0x14f67d,null))[_0xa846('0x1c')](function(_0x374ccb){if(_0x374ccb){_0x1f3859[_0xa846('0x53')][_0xa846('0x59')]=_0x374ccb['id'];_0x1f3859['body'][_0xa846('0x5a')]=integrations['getSubjects'](_0x1f3859[_0xa846('0x53')]['channel'],_0x1f3859[_0xa846('0x53')]['type']);_0x1f3859[_0xa846('0x53')]['Descriptions']=integrations[_0xa846('0x5b')](_0x1f3859[_0xa846('0x53')]['channel'],_0x1f3859[_0xa846('0x53')][_0xa846('0x38')]);return db[_0xa846('0x5c')][_0xa846('0x51')](_0x1f3859[_0xa846('0x53')],{'include':[{'model':db[_0xa846('0x5d')],'as':'Subjects'},{'model':db[_0xa846('0x5d')],'as':_0xa846('0x5e')}]});}return null;})[_0xa846('0x1c')](respondWithResult(_0x14f67d,null))[_0xa846('0x26')](handleError(_0x14f67d,null));};exports[_0xa846('0x5f')]=function(_0x2061da,_0x4a9997,_0x4f5f11){var _0x271e55=_0x2061da['query'][_0xa846('0x60')];var _0x778d65=_0x271e55===_0xa846('0x61')?_0xa846('0x62'):_0xa846('0x63');var _0x225e21='';var _0x54d8c8='';var _0x432729='';var _0x5be1c9='';var _0x1a577b='';var _0x328c8b='';var _0x3c23ff='';var _0x333b05='';var _0x29ee4b=[_0xa846('0x64'),_0xa846('0x65'),_0xa846('0x66'),'ownerid',_0xa846('0x67'),'subject',_0xa846('0x68'),_0xa846('0x69'),_0xa846('0x6a'),_0xa846('0x6b')];var _0x781c8d=[_0xa846('0x6c'),'accountidyominame',_0xa846('0x6d'),_0xa846('0x6e'),_0xa846('0x6f'),_0xa846('0x70'),_0xa846('0x71'),_0xa846('0x72'),_0xa846('0x73'),'createdbyexternalpartyyominame','createdbyname',_0xa846('0x74'),_0xa846('0x75'),_0xa846('0x76'),_0xa846('0x77'),_0xa846('0x78'),_0xa846('0x79'),_0xa846('0x7a'),_0xa846('0x7b'),'entitlementidname',_0xa846('0x7c'),_0xa846('0x7d'),_0xa846('0x7e'),_0xa846('0x7f'),_0xa846('0x80'),_0xa846('0x81'),_0xa846('0x82'),_0xa846('0x83'),_0xa846('0x84'),_0xa846('0x85'),_0xa846('0x86'),_0xa846('0x87'),_0xa846('0x88'),_0xa846('0x89'),_0xa846('0x8a'),_0xa846('0x8b'),_0xa846('0x8c'),'modifiedonbehalfbyyominame','msdyn_incidenttypename',_0xa846('0x8d'),_0xa846('0x8e'),'onholdtime',_0xa846('0x8f'),_0xa846('0x90'),_0xa846('0x91'),_0xa846('0x92'),_0xa846('0x93'),_0xa846('0x94'),_0xa846('0x95'),_0xa846('0x96'),_0xa846('0x97'),_0xa846('0x98'),'resolveby','resolvebykpiidname','responseby',_0xa846('0x99'),'responsiblecontactidyominame',_0xa846('0x9a'),_0xa846('0x9b'),_0xa846('0x9c'),_0xa846('0x9d'),'statecode','statuscode',_0xa846('0x9e'),_0xa846('0x9f'),'timezoneruleversionnumber','transactioncurrencyidname',_0xa846('0xa0'),'utcconversiontimezonecode',_0xa846('0xa1')];var _0x279b5b=_0x29ee4b[_0xa846('0xa2')](_0x781c8d);return db[_0xa846('0x4b')][_0xa846('0x56')]({'where':{'id':_0x2061da[_0xa846('0x50')]['id']},'attributes':['id','username',_0xa846('0xa3'),'remoteUri','tenantId','clientId',_0xa846('0xa4')]})['then'](handleEntityNotFound(_0x4a9997,null))[_0xa846('0x1c')](function(_0x2ae44e){if(_0x2ae44e){_0x333b05=_0x2ae44e[_0xa846('0xa5')];var _0x51ac4c=_0x333b05['slice'](-0x1);if(_0x51ac4c==='/'){_0x333b05=_0x333b05[_0xa846('0xa6')](0x0,_0x333b05[_0xa846('0xa7')](_0x51ac4c));}_0x3c23ff=util[_0xa846('0xa8')](_0xa846('0xa9'),_0x333b05);var _0x5b16ce={'method':_0xa846('0xaa'),'uri':_0xa846('0xab')+_0x2ae44e['tenantId']+_0xa846('0xac'),'form':{'client_id':_0x2ae44e['clientId'],'resource':_0x333b05,'username':_0x2ae44e[_0xa846('0xad')],'password':_0x2ae44e[_0xa846('0xa3')],'grant_type':_0xa846('0xa3'),'client_secret':_0x2ae44e[_0xa846('0xa4')]},'json':!![]};return rp(_0x5b16ce);}})['then'](function(_0xdb3843){_0x328c8b=_0xdb3843[_0xa846('0xae')];var _0x183dd8={'method':_0xa846('0xaf'),'uri':encodeURI(_0x3c23ff+_0xa846('0xb0')+_0x778d65+'\x27'),'headers':{'Authorization':_0xa846('0xb1')+_0x328c8b,'If-None-Match':null,'OData-Version':_0xa846('0xb2')},'json':!![]};return rp(_0x183dd8);})[_0xa846('0x1c')](function(_0x12020a){var _0x552b72=_0x12020a[_0xa846('0xb3')][0x0];var _0x322812=_0x552b72['MetadataId'];var _0x5bf698={'method':'GET','uri':_0x3c23ff+_0xa846('0xb4')+_0x322812+_0xa846('0xb5'),'headers':{'Authorization':_0xa846('0xb1')+_0x328c8b,'If-None-Match':null,'OData-Version':_0xa846('0xb2')},'json':!![]};return rp(_0x5bf698);})['then'](function(_0xf5e789){_0x225e21=_0xf5e789;_0x54d8c8=_0x225e21[_0xa846('0xb6')];_0x54d8c8=_[_0xa846('0xb7')](_0x54d8c8,function(_0x3c5571){return!_0x279b5b[_0xa846('0xb8')](_0x3c5571['LogicalName']);});var _0x233c71=[];var _0x17b2ec=[];_0x54d8c8[_0xa846('0xb9')](function(_0x27b509){if(_0x27b509[_0xa846('0xba')]){var _0x267096=_0x27b509[_0xa846('0xba')]['substring'](_0x27b509[_0xa846('0xba')][_0xa846('0xa7')]('.')+0x1);if(_0x267096===_0xa846('0xbb')){_0x233c71[_0xa846('0xbc')](getSelectList(_0x3c23ff,_0x271e55,_0x17b2ec,_0x225e21[_0xa846('0xbd')],_0x27b509[_0xa846('0xbd')],_0x328c8b));}}});return Promise['all'](_0x233c71);})[_0xa846('0x1c')](function(_0x4994ca){_0x432729=_0x4994ca[0x0];var _0x5a9d41=[];var _0x487cf1=[];_0x54d8c8[_0xa846('0xb9')](function(_0xba37ef){if(!_['isNil'](_0xba37ef[_0xa846('0xba')])){var _0x455c71=_0xba37ef[_0xa846('0xba')][_0xa846('0xa6')](_0xba37ef['@odata.type']['lastIndexOf']('.')+0x1);if(_0x455c71===_0xa846('0xbe')){_0x5a9d41[_0xa846('0xbc')](getBooleanList(_0x3c23ff,_0x271e55,_0x487cf1,_0x225e21[_0xa846('0xbd')],_0xba37ef[_0xa846('0xbd')],_0x328c8b));}}});return Promise[_0xa846('0xbf')](_0x5a9d41);})[_0xa846('0x1c')](function(_0x3ed195){_0x5be1c9=_0x3ed195[0x0];var _0x2310aa=[];var _0x35be25=[];_0x54d8c8['forEach'](function(_0xbc680d){if(_0xbc680d[_0xa846('0xba')]){var _0x24c7d1=_0xbc680d[_0xa846('0xba')]['substring'](_0xbc680d['@odata.type']['lastIndexOf']('.')+0x1);if(_0x24c7d1==='StringAttributeMetadata'||_0x24c7d1===_0xa846('0xc0')||_0x24c7d1==='BigIntAttributeMetadata'||_0x24c7d1===_0xa846('0xc1')||_0x24c7d1===_0xa846('0xc2')||_0x24c7d1===_0xa846('0xc3')||_0x24c7d1===_0xa846('0xc4')||_0x24c7d1===_0xa846('0xc5')||_0x24c7d1==='StateAttributeMetadata'||_0x24c7d1===_0xa846('0xc6')){_0x2310aa[_0xa846('0xbc')](getInputList(_0x3c23ff,_0x271e55,_0x24c7d1,_0x35be25,_0x225e21[_0xa846('0xbd')],_0xbc680d[_0xa846('0xbd')],_0x328c8b));}}});return Promise[_0xa846('0xbf')](_0x2310aa);})[_0xa846('0x1c')](function(_0x2e5d8f){_0x1a577b=_0x2e5d8f[0x0];var _0x13e8a0=_0x432729[_0xa846('0xa2')](_0x5be1c9)[_0xa846('0xa2')](_0x1a577b);var _0x389cd1={'count':_0x13e8a0[_0xa846('0x40')],'rows':_0x13e8a0};return _0x389cd1;})[_0xa846('0x1c')](respondWithResult(_0x4a9997,null))[_0xa846('0x26')](function(_0x3c6a8a){var _0x465f60=_0x2061da[_0xa846('0x39')][_0xa846('0xc7')]?0x1f4:_0x3c6a8a[_0xa846('0xc8')]||0x1f4;logger[_0xa846('0x21')](_0x3c6a8a[_0xa846('0x34')]);delete _0x3c6a8a['name'];if(_0x465f60===0x191){_0x465f60=0x190;}_0x4a9997['status'](_0x465f60)[_0xa846('0x36')](_0x2061da[_0xa846('0x39')][_0xa846('0xc7')]?{'message':_0xa846('0xc9'),'statusCode':_0x3c6a8a[_0xa846('0xc8')]}:_0x3c6a8a);});};function getSelectList(_0x3fdaae,_0x1a076e,_0x4e15e2,_0x331c9e,_0x22bfbb,_0x4eb86f){var _0x17685e={'method':_0xa846('0xaf'),'uri':_0x3fdaae+_0xa846('0xb4')+_0x331c9e+_0xa846('0xca')+_0x22bfbb+')/Microsoft.Dynamics.CRM.PicklistAttributeMetadata?'+_0xa846('0xcb'),'headers':{'Authorization':'Bearer\x20'+_0x4eb86f,'If-None-Match':null,'OData-Version':_0xa846('0xb2')},'json':!![]};return rp(_0x17685e)[_0xa846('0x1c')](function(_0x45d0b7){var _0x1f5e66=[];var _0xe9d006=_0x45d0b7['OptionSet'][_0xa846('0xcc')];_0xe9d006['forEach'](function(_0x4b9de4){_0x1f5e66[_0xa846('0xbc')]({'name':_0x4b9de4[_0xa846('0xcd')][_0xa846('0xce')]['Label'],'value':String(_0x4b9de4['Value'])});});var _0x178c38={'id':_0x1a076e+'_'+_0x45d0b7[_0xa846('0xcf')],'name':_0x45d0b7['DisplayName'][_0xa846('0xce')]['Label'],'custom':![],'options':_0x1f5e66};_0x4e15e2[_0xa846('0xbc')](_0x178c38);return _0x4e15e2;});}function getBooleanList(_0x159ca3,_0x5e70c1,_0xbda53,_0x4bdba7,_0x458351,_0x27be82){var _0x325d78={'method':_0xa846('0xaf'),'uri':_0x159ca3+'EntityDefinitions('+_0x4bdba7+_0xa846('0xca')+_0x458351+_0xa846('0xd0'),'headers':{'Authorization':_0xa846('0xb1')+_0x27be82,'If-None-Match':null,'OData-Version':'4.0'},'json':!![]};return rp(_0x325d78)[_0xa846('0x1c')](function(_0x565fb1){var _0x3bf699=[];_0x3bf699[_0xa846('0xbc')]({'name':_0x565fb1['OptionSet'][_0xa846('0xd1')][_0xa846('0xcd')][_0xa846('0xce')][_0xa846('0xcd')],'value':'true'},{'name':_0x565fb1['OptionSet'][_0xa846('0xd2')][_0xa846('0xcd')][_0xa846('0xce')]['Label'],'value':_0xa846('0xd3')});var _0x1d2c01={'id':_0x5e70c1+'_'+_0x565fb1[_0xa846('0xcf')],'name':_0x565fb1['DisplayName'][_0xa846('0xce')][_0xa846('0xcd')],'custom':![],'options':_0x3bf699};_0xbda53[_0xa846('0xbc')](_0x1d2c01);return _0xbda53;});}function getInputList(_0x27b469,_0x33872f,_0x50d388,_0x3268f4,_0x3e0bf3,_0x96246e,_0x141d9d){var _0x6c40d5={'method':'GET','uri':_0x27b469+_0xa846('0xb4')+_0x3e0bf3+_0xa846('0xca')+_0x96246e+')/Microsoft.Dynamics.CRM.'+_0x50d388+'?$select=DisplayName,LogicalName','headers':{'Authorization':_0xa846('0xb1')+_0x141d9d,'If-None-Match':null,'OData-Version':_0xa846('0xb2')},'json':!![]};return rp(_0x6c40d5)[_0xa846('0x1c')](function(_0x58449d){var _0x4ec152={'id':_0x33872f+'_'+_0x58449d[_0xa846('0xcf')],'name':_0x58449d['DisplayName'][_0xa846('0xce')]?_0x58449d[_0xa846('0xd4')]['UserLocalizedLabel'][_0xa846('0xcd')]:_0x58449d[_0xa846('0xcf')],'custom':![],'options':[]};_0x3268f4[_0xa846('0xbc')](_0x4ec152);return _0x3268f4;});}