a4fee30dc22bdd86738784a8496354d328bd8e36
[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 _0x2ef3=['papaparse','ioredis','../../components/auth/service','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../components/integrations/configuration','client','http','request','Dynamics365Account,\x20%s,\x20%s','request\x20sent','debug','stringify','error','message','info','result','catch','status','json','count','offset','limit','set','Content-Range','apply','reject','save','then','destroy','end','sendStatus','stack','name','map','Dynamics365Account','fieldName','type','key','model','query','keys','intersection','fields','attributes','length','hasOwnProperty','sort','where','pick','merge','VIRTUAL','includeAll','include','rows','show','params','filters','options','find','create','body','update','findOne','Dynamics365Configuration','rawAttributes','filter','getConfigurations','nolimit','addConfiguration','AccountId','Subjects','getSubjects','channel','Descriptions','getDescriptions','Dynamics365Field','Incident','PhoneCall','title','description','customerid','caseorigincode','regardingobjectid','phonecall_activity_parties','accountidyominame','actualserviceunits','billedserviceunits','contactidname','contactidyominame','contractdetailidname','createdbyexternalpartyyominame','createdbyyominame','createdon','createdonbehalfbyname','createdonbehalfbyyominame','customeridname','customeridtype','emailaddress','entitlementidname','entityimage_timestamp','entityimage_url','escalatedon','followupby','importsequencenumber','kbarticleidname','lastonholdtime','masteridname','modifiedbyexternalpartyname','modifiedbyexternalpartyyominame','modifiedbyname','modifiedbyyominame','modifiedon','modifiedonbehalfbyname','msdyn_incidenttypename','msdyn_iotalertname','onholdtime','owneridname','owneridyominame','parentcaseidname','primarycontactidname','primarycontactidyominame','productidname','productserialnumber','resolveby','responsiblecontactidyominame','sentimentvalue','slainvokedidname','slaname','socialprofileidname','statuscode','ticketnumber','timezoneruleversionnumber','transactioncurrencyidname','utcconversiontimezonecode','versionnumber','concat','password','remoteUri','clientSecret','lastIndexOf','%s/api/data/v9.0/','POST','/oauth2/token','clientId','username','access_token','GET','EntityDefinitions?$select=DisplayName,EntitySetName&$filter=SchemaName\x20eq\x20\x27','value','EntityDefinitions(',')?$select=LogicalName&$expand=Attributes($select=LogicalName)','Bearer\x20','Attributes','LogicalName','@odata.type','substring','PicklistAttributeMetadata','push','MetadataId','forEach','isNil','BooleanAttributeMetadata','StringAttributeMetadata','BigIntAttributeMetadata','MemoAttributeMetadata','all','statusCode','send','test','Wrong\x20credentials',')/Attributes(','4.0','OptionSet','Options','UserLocalizedLabel','Label','Value','DisplayName',')/Microsoft.Dynamics.CRM.BooleanAttributeMetadata?$select=DisplayName,LogicalName&$expand=OptionSet($select=FalseOption,\x20TrueOption)','TrueOption','true',')/Microsoft.Dynamics.CRM.','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','path','sox','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring'];(function(_0x1d4a68,_0x4de1e6){var _0x7a282c=function(_0x1a3e0c){while(--_0x1a3e0c){_0x1d4a68['push'](_0x1d4a68['shift']());}};_0x7a282c(++_0x4de1e6);}(_0x2ef3,0xba));var _0x32ef=function(_0x4d3f94,_0x191af6){_0x4d3f94=_0x4d3f94-0x0;var _0x413662=_0x2ef3[_0x4d3f94];return _0x413662;};'use strict';var pdf=require(_0x32ef('0x0'));var emlformat=require(_0x32ef('0x1'));var rimraf=require(_0x32ef('0x2'));var zipdir=require(_0x32ef('0x3'));var jsonpatch=require(_0x32ef('0x4'));var rp=require(_0x32ef('0x5'));var moment=require('moment');var BPromise=require(_0x32ef('0x6'));var Mustache=require(_0x32ef('0x7'));var util=require('util');var path=require(_0x32ef('0x8'));var sox=require(_0x32ef('0x9'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require(_0x32ef('0xa'));var squel=require(_0x32ef('0xb'));var crypto=require(_0x32ef('0xc'));var jsforce=require(_0x32ef('0xd'));var deskjs=require(_0x32ef('0xe'));var toCsv=require(_0x32ef('0xf'));var querystring=require(_0x32ef('0x10'));var Papa=require(_0x32ef('0x11'));var Redis=require(_0x32ef('0x12'));var authService=require(_0x32ef('0x13'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x32ef('0x14'));var logger=require(_0x32ef('0x15'))(_0x32ef('0x16'));var utils=require(_0x32ef('0x17'));var config=require('../../config/environment');var licenseUtil=require(_0x32ef('0x18'));var db=require('../../mysqldb')['db'];var integrations=require(_0x32ef('0x19'));var jayson=require('jayson/promise');var client=jayson[_0x32ef('0x1a')][_0x32ef('0x1b')]({'port':0x232a});function respondWithRpcPromise(_0x5c3eb9,_0x539d18,_0x19ce1,_0x4d8009){return new BPromise(function(_0x326fce,_0x40a6e6){var _0x93d492=_0x4d8009||client;return _0x93d492[_0x32ef('0x1c')](_0x5c3eb9,_0x19ce1)['then'](function(_0x55bf0b){logger['info'](_0x32ef('0x1d'),_0x539d18,_0x32ef('0x1e'));logger[_0x32ef('0x1f')]('Dynamics365Account,\x20%s,\x20%s,\x20%s',_0x539d18,'request\x20sent',JSON[_0x32ef('0x20')](_0x55bf0b));if(_0x55bf0b[_0x32ef('0x21')]){if(_0x55bf0b[_0x32ef('0x21')]['code']===0x1f4){logger[_0x32ef('0x21')](_0x32ef('0x1d'),_0x539d18,_0x55bf0b['error'][_0x32ef('0x22')]);return _0x40a6e6(_0x55bf0b[_0x32ef('0x21')][_0x32ef('0x22')]);}logger[_0x32ef('0x21')](_0x32ef('0x1d'),_0x539d18,_0x55bf0b[_0x32ef('0x21')]['message']);return _0x326fce(_0x55bf0b[_0x32ef('0x21')]['message']);}else{logger[_0x32ef('0x23')](_0x32ef('0x1d'),_0x539d18,'request\x20sent');_0x326fce(_0x55bf0b[_0x32ef('0x24')][_0x32ef('0x22')]);}})[_0x32ef('0x25')](function(_0x55f7f2){logger['error'](_0x32ef('0x1d'),_0x539d18,_0x55f7f2);_0x40a6e6(_0x55f7f2);});});}function respondWithStatusCode(_0xb30fab,_0x225feb){_0x225feb=_0x225feb||0xcc;return function(_0x478bef){if(_0x478bef){return _0xb30fab['sendStatus'](_0x225feb);}return _0xb30fab[_0x32ef('0x26')](_0x225feb)['end']();};}function respondWithResult(_0x51a412,_0x278495){_0x278495=_0x278495||0xc8;return function(_0x14d4b3){if(_0x14d4b3){return _0x51a412[_0x32ef('0x26')](_0x278495)[_0x32ef('0x27')](_0x14d4b3);}};}function respondWithFilteredResult(_0x15ce54,_0x234175){return function(_0x1874ea){if(_0x1874ea){var _0x38aed5=_0x1874ea[_0x32ef('0x28')],_0x338f19=_0x234175['offset'],_0x2f52d7=_0x234175[_0x32ef('0x29')]+_0x234175[_0x32ef('0x2a')],_0x1335e2;if(_0x2f52d7>=_0x38aed5){_0x2f52d7=_0x38aed5;_0x1335e2=0xc8;}else{_0x1335e2=0xce;}_0x15ce54['status'](_0x1335e2);return _0x15ce54[_0x32ef('0x2b')](_0x32ef('0x2c'),_0x338f19+'-'+_0x2f52d7+'/'+_0x38aed5)[_0x32ef('0x27')](_0x1874ea);}return null;};}function patchUpdates(_0x26e207){return function(_0x50a95b){try{jsonpatch[_0x32ef('0x2d')](_0x50a95b,_0x26e207,!![]);}catch(_0x22bf86){return BPromise[_0x32ef('0x2e')](_0x22bf86);}return _0x50a95b[_0x32ef('0x2f')]();};}function saveUpdates(_0x1b668a,_0x1a6ed2){return function(_0x1a122d){if(_0x1a122d){return _0x1a122d['update'](_0x1b668a)[_0x32ef('0x30')](function(_0x537214){return _0x537214;});}return null;};}function removeEntity(_0x38bf73,_0x2b6c6a){return function(_0x5a9565){if(_0x5a9565){return _0x5a9565[_0x32ef('0x31')]()[_0x32ef('0x30')](function(){_0x38bf73[_0x32ef('0x26')](0xcc)[_0x32ef('0x32')]();});}};}function handleEntityNotFound(_0x120f30,_0x59a4a3){return function(_0x50ecd6){if(!_0x50ecd6){_0x120f30[_0x32ef('0x33')](0x194);}return _0x50ecd6;};}function handleError(_0x5dadf7,_0x643dc4){_0x643dc4=_0x643dc4||0x1f4;return function(_0x15b873){logger[_0x32ef('0x21')](_0x15b873[_0x32ef('0x34')]);if(_0x15b873[_0x32ef('0x35')]){delete _0x15b873[_0x32ef('0x35')];}_0x5dadf7['status'](_0x643dc4)['send'](_0x15b873);};}exports['index']=function(_0x2261a6,_0x3c4651){var _0x136b02={},_0x5f2443={},_0x4fb402={'count':0x0,'rows':[]};var _0x1c3633=_[_0x32ef('0x36')](db[_0x32ef('0x37')]['rawAttributes'],function(_0x4abbd6){return{'name':_0x4abbd6[_0x32ef('0x38')],'type':_0x4abbd6[_0x32ef('0x39')][_0x32ef('0x3a')]};});_0x5f2443[_0x32ef('0x3b')]=_[_0x32ef('0x36')](_0x1c3633,_0x32ef('0x35'));_0x5f2443[_0x32ef('0x3c')]=_[_0x32ef('0x3d')](_0x2261a6[_0x32ef('0x3c')]);_0x5f2443['filters']=_[_0x32ef('0x3e')](_0x5f2443[_0x32ef('0x3b')],_0x5f2443[_0x32ef('0x3c')]);_0x136b02['attributes']=_[_0x32ef('0x3e')](_0x5f2443[_0x32ef('0x3b')],qs[_0x32ef('0x3f')](_0x2261a6[_0x32ef('0x3c')][_0x32ef('0x3f')]));_0x136b02[_0x32ef('0x40')]=_0x136b02[_0x32ef('0x40')][_0x32ef('0x41')]?_0x136b02[_0x32ef('0x40')]:_0x5f2443[_0x32ef('0x3b')];if(!_0x2261a6[_0x32ef('0x3c')][_0x32ef('0x42')]('nolimit')){_0x136b02[_0x32ef('0x2a')]=qs[_0x32ef('0x2a')](_0x2261a6[_0x32ef('0x3c')][_0x32ef('0x2a')]);_0x136b02[_0x32ef('0x29')]=qs[_0x32ef('0x29')](_0x2261a6[_0x32ef('0x3c')]['offset']);}_0x136b02['order']=qs[_0x32ef('0x43')](_0x2261a6[_0x32ef('0x3c')][_0x32ef('0x43')]);_0x136b02[_0x32ef('0x44')]=qs['filters'](_[_0x32ef('0x45')](_0x2261a6[_0x32ef('0x3c')],_0x5f2443['filters']),_0x1c3633);if(_0x2261a6[_0x32ef('0x3c')]['filter']){_0x136b02[_0x32ef('0x44')]=_[_0x32ef('0x46')](_0x136b02[_0x32ef('0x44')],{'$or':_[_0x32ef('0x36')](_0x1c3633,function(_0x2c2b62){if(_0x2c2b62[_0x32ef('0x39')]!==_0x32ef('0x47')){var _0x3d35a1={};_0x3d35a1[_0x2c2b62[_0x32ef('0x35')]]={'$like':'%'+_0x2261a6[_0x32ef('0x3c')]['filter']+'%'};return _0x3d35a1;}})});}_0x136b02=_[_0x32ef('0x46')]({},_0x136b02,_0x2261a6['options']);var _0xfe9f16={'where':_0x136b02[_0x32ef('0x44')]};return db[_0x32ef('0x37')]['count'](_0xfe9f16)[_0x32ef('0x30')](function(_0x230ac9){_0x4fb402[_0x32ef('0x28')]=_0x230ac9;if(_0x2261a6[_0x32ef('0x3c')][_0x32ef('0x48')]){_0x136b02[_0x32ef('0x49')]=[{'all':!![]}];}return db[_0x32ef('0x37')]['findAll'](_0x136b02);})['then'](function(_0x36252c){_0x4fb402[_0x32ef('0x4a')]=_0x36252c;return _0x4fb402;})[_0x32ef('0x30')](respondWithFilteredResult(_0x3c4651,_0x136b02))[_0x32ef('0x25')](handleError(_0x3c4651,null));};exports[_0x32ef('0x4b')]=function(_0xd67dc9,_0x44ad11){var _0x115fa3={'raw':![],'where':{'id':_0xd67dc9[_0x32ef('0x4c')]['id']}},_0xc10e7={};_0xc10e7[_0x32ef('0x3b')]=_[_0x32ef('0x3d')](db[_0x32ef('0x37')]['rawAttributes']);_0xc10e7[_0x32ef('0x3c')]=_[_0x32ef('0x3d')](_0xd67dc9[_0x32ef('0x3c')]);_0xc10e7[_0x32ef('0x4d')]=_[_0x32ef('0x3e')](_0xc10e7[_0x32ef('0x3b')],_0xc10e7[_0x32ef('0x3c')]);_0x115fa3[_0x32ef('0x40')]=_[_0x32ef('0x3e')](_0xc10e7[_0x32ef('0x3b')],qs[_0x32ef('0x3f')](_0xd67dc9[_0x32ef('0x3c')][_0x32ef('0x3f')]));_0x115fa3[_0x32ef('0x40')]=_0x115fa3[_0x32ef('0x40')][_0x32ef('0x41')]?_0x115fa3[_0x32ef('0x40')]:_0xc10e7[_0x32ef('0x3b')];if(_0xd67dc9['query']['includeAll']){_0x115fa3[_0x32ef('0x49')]=[{'all':!![]}];}_0x115fa3=_[_0x32ef('0x46')]({},_0x115fa3,_0xd67dc9[_0x32ef('0x4e')]);return db[_0x32ef('0x37')][_0x32ef('0x4f')](_0x115fa3)[_0x32ef('0x30')](handleEntityNotFound(_0x44ad11,null))[_0x32ef('0x30')](respondWithResult(_0x44ad11,null))[_0x32ef('0x25')](handleError(_0x44ad11,null));};exports[_0x32ef('0x50')]=function(_0x368bf1,_0x3697a7){return db['Dynamics365Account'][_0x32ef('0x50')](_0x368bf1[_0x32ef('0x51')],{})[_0x32ef('0x30')](respondWithResult(_0x3697a7,0xc9))[_0x32ef('0x25')](handleError(_0x3697a7,null));};exports[_0x32ef('0x52')]=function(_0x387cf0,_0x52c588){if(_0x387cf0[_0x32ef('0x51')]['id']){delete _0x387cf0[_0x32ef('0x51')]['id'];}return db[_0x32ef('0x37')]['find']({'where':{'id':_0x387cf0[_0x32ef('0x4c')]['id']}})['then'](handleEntityNotFound(_0x52c588,null))[_0x32ef('0x30')](saveUpdates(_0x387cf0[_0x32ef('0x51')],null))['then'](respondWithResult(_0x52c588,null))[_0x32ef('0x25')](handleError(_0x52c588,null));};exports['destroy']=function(_0x13f5db,_0x1d974c){return db[_0x32ef('0x37')][_0x32ef('0x4f')]({'where':{'id':_0x13f5db[_0x32ef('0x4c')]['id']}})[_0x32ef('0x30')](handleEntityNotFound(_0x1d974c,null))[_0x32ef('0x30')](removeEntity(_0x1d974c,null))['catch'](handleError(_0x1d974c,null));};exports['getConfigurations']=function(_0xdfa103,_0x52232a,_0x4fbab6){var _0xb519e9={};var _0x89d0b3={};var _0x2ef0f8;var _0x6aae59;return db[_0x32ef('0x37')][_0x32ef('0x53')]({'where':{'id':_0xdfa103[_0x32ef('0x4c')]['id']}})[_0x32ef('0x30')](handleEntityNotFound(_0x52232a,null))[_0x32ef('0x30')](function(_0x123571){if(_0x123571){_0x2ef0f8=_0x123571;_0x89d0b3['model']=_['keys'](db[_0x32ef('0x54')][_0x32ef('0x55')]);_0x89d0b3['query']=_[_0x32ef('0x3d')](_0xdfa103[_0x32ef('0x3c')]);_0x89d0b3[_0x32ef('0x4d')]=_['intersection'](_0x89d0b3[_0x32ef('0x3b')],_0x89d0b3[_0x32ef('0x3c')]);_0xb519e9[_0x32ef('0x40')]=_['intersection'](_0x89d0b3['model'],qs[_0x32ef('0x3f')](_0xdfa103['query'][_0x32ef('0x3f')]));_0xb519e9['attributes']=_0xb519e9['attributes'][_0x32ef('0x41')]?_0xb519e9[_0x32ef('0x40')]:_0x89d0b3[_0x32ef('0x3b')];_0xb519e9['order']=qs[_0x32ef('0x43')](_0xdfa103[_0x32ef('0x3c')][_0x32ef('0x43')]);_0xb519e9['where']=qs[_0x32ef('0x4d')](_[_0x32ef('0x45')](_0xdfa103['query'],_0x89d0b3['filters']));if(_0xdfa103[_0x32ef('0x3c')][_0x32ef('0x56')]){_0xb519e9[_0x32ef('0x44')]=_[_0x32ef('0x46')](_0xb519e9[_0x32ef('0x44')],{'$or':_[_0x32ef('0x36')](_0xb519e9['attributes'],function(_0x285330){var _0x63b65={};_0x63b65[_0x285330]={'$like':'%'+_0xdfa103[_0x32ef('0x3c')][_0x32ef('0x56')]+'%'};return _0x63b65;})});}_0xb519e9=_[_0x32ef('0x46')]({},_0xb519e9,_0xdfa103[_0x32ef('0x4e')]);return _0x2ef0f8[_0x32ef('0x57')](_0xb519e9);}})[_0x32ef('0x30')](function(_0x229d6e){if(_0x229d6e){_0x6aae59=_0x229d6e['length'];if(!_0xdfa103[_0x32ef('0x3c')][_0x32ef('0x42')](_0x32ef('0x58'))){_0xb519e9[_0x32ef('0x2a')]=qs[_0x32ef('0x2a')](_0xdfa103['query']['limit']);_0xb519e9[_0x32ef('0x29')]=qs[_0x32ef('0x29')](_0xdfa103[_0x32ef('0x3c')][_0x32ef('0x29')]);}return _0x2ef0f8[_0x32ef('0x57')](_0xb519e9);}})['then'](function(_0x3372d9){if(_0x3372d9){return _0x3372d9?{'count':_0x6aae59,'rows':_0x3372d9}:null;}})['then'](respondWithResult(_0x52232a,null))[_0x32ef('0x25')](handleError(_0x52232a,null));};exports[_0x32ef('0x59')]=function(_0x48b6f4,_0x5402b4,_0x2c9f7a){if(_0x48b6f4[_0x32ef('0x51')]['id']){delete _0x48b6f4[_0x32ef('0x51')]['id'];}return db['Dynamics365Account']['findOne']({'where':{'id':_0x48b6f4[_0x32ef('0x4c')]['id']}})[_0x32ef('0x30')](handleEntityNotFound(_0x5402b4,null))[_0x32ef('0x30')](function(_0x416e62){if(_0x416e62){_0x48b6f4['body'][_0x32ef('0x5a')]=_0x416e62['id'];_0x48b6f4[_0x32ef('0x51')][_0x32ef('0x5b')]=integrations[_0x32ef('0x5c')](_0x48b6f4[_0x32ef('0x51')][_0x32ef('0x5d')],_0x48b6f4[_0x32ef('0x51')][_0x32ef('0x39')]);_0x48b6f4[_0x32ef('0x51')][_0x32ef('0x5e')]=integrations[_0x32ef('0x5f')](_0x48b6f4[_0x32ef('0x51')]['channel'],_0x48b6f4['body'][_0x32ef('0x39')]);return db[_0x32ef('0x54')]['create'](_0x48b6f4[_0x32ef('0x51')],{'include':[{'model':db['Dynamics365Field'],'as':_0x32ef('0x5b')},{'model':db[_0x32ef('0x60')],'as':_0x32ef('0x5e')}]});}return null;})['then'](respondWithResult(_0x5402b4,null))[_0x32ef('0x25')](handleError(_0x5402b4,null));};exports['getFields']=function(_0x141fec,_0x29b826,_0x47e3cc){var _0x4c70e0=_0x141fec[_0x32ef('0x3c')]['ticketType'];var _0x2b0098=_0x4c70e0==='incident'?_0x32ef('0x61'):_0x32ef('0x62');var _0x1adcb8='';var _0x4f3442='';var _0x48b35e='';var _0x4f1b94='';var _0x574fb3='';var _0x5e5766='';var _0x267364='';var _0x13a374='';var _0x281541=[_0x32ef('0x63'),_0x32ef('0x64'),_0x32ef('0x65'),'ownerid',_0x32ef('0x66'),'subject','phonenumber',_0x32ef('0x67'),'directioncode',_0x32ef('0x68')];var _0x313798=['accountidname',_0x32ef('0x69'),_0x32ef('0x6a'),_0x32ef('0x6b'),_0x32ef('0x6c'),_0x32ef('0x6d'),_0x32ef('0x6e'),'contractidname','createdbyexternalpartyname',_0x32ef('0x6f'),'createdbyname',_0x32ef('0x70'),_0x32ef('0x71'),_0x32ef('0x72'),_0x32ef('0x73'),_0x32ef('0x74'),_0x32ef('0x75'),'customeridyominame',_0x32ef('0x76'),_0x32ef('0x77'),_0x32ef('0x78'),_0x32ef('0x79'),_0x32ef('0x7a'),'exchangerate','firstresponsebykpiidname',_0x32ef('0x7b'),_0x32ef('0x7c'),'influencescore',_0x32ef('0x7d'),_0x32ef('0x7e'),_0x32ef('0x7f'),_0x32ef('0x80'),_0x32ef('0x81'),_0x32ef('0x82'),_0x32ef('0x83'),_0x32ef('0x84'),_0x32ef('0x85'),'modifiedonbehalfbyyominame',_0x32ef('0x86'),_0x32ef('0x87'),'numberofchildincidents',_0x32ef('0x88'),'overriddencreatedon',_0x32ef('0x89'),'owneridtype',_0x32ef('0x8a'),_0x32ef('0x8b'),_0x32ef('0x8c'),_0x32ef('0x8d'),'prioritycodename',_0x32ef('0x8e'),_0x32ef('0x8f'),_0x32ef('0x90'),'resolvebykpiidname','responseby','responsiblecontactidname',_0x32ef('0x91'),_0x32ef('0x92'),_0x32ef('0x93'),_0x32ef('0x94'),_0x32ef('0x95'),'statecode',_0x32ef('0x96'),'subjectidname',_0x32ef('0x97'),_0x32ef('0x98'),_0x32ef('0x99'),'traversedpath',_0x32ef('0x9a'),_0x32ef('0x9b')];var _0x307c76=_0x281541[_0x32ef('0x9c')](_0x313798);return db[_0x32ef('0x37')]['findOne']({'where':{'id':_0x141fec[_0x32ef('0x4c')]['id']},'attributes':['id','username',_0x32ef('0x9d'),_0x32ef('0x9e'),'tenantId','clientId',_0x32ef('0x9f')]})[_0x32ef('0x30')](handleEntityNotFound(_0x29b826,null))[_0x32ef('0x30')](function(_0x3b9896){if(_0x3b9896){_0x13a374=_0x3b9896['remoteUri'];var _0x356fd4=_0x13a374['slice'](-0x1);if(_0x356fd4==='/'){_0x13a374=_0x13a374['substring'](0x0,_0x13a374[_0x32ef('0xa0')](_0x356fd4));}_0x267364=util['format'](_0x32ef('0xa1'),_0x13a374);var _0x246748={'method':_0x32ef('0xa2'),'uri':'https://login.microsoftonline.com/'+_0x3b9896['tenantId']+_0x32ef('0xa3'),'form':{'client_id':_0x3b9896[_0x32ef('0xa4')],'resource':_0x13a374,'username':_0x3b9896[_0x32ef('0xa5')],'password':_0x3b9896[_0x32ef('0x9d')],'grant_type':_0x32ef('0x9d'),'client_secret':_0x3b9896[_0x32ef('0x9f')]},'json':!![]};return rp(_0x246748);}})[_0x32ef('0x30')](function(_0x4bbf7f){_0x5e5766=_0x4bbf7f[_0x32ef('0xa6')];var _0x8f0436={'method':_0x32ef('0xa7'),'uri':encodeURI(_0x267364+_0x32ef('0xa8')+_0x2b0098+'\x27'),'headers':{'Authorization':'Bearer\x20'+_0x5e5766,'If-None-Match':null,'OData-Version':'4.0'},'json':!![]};return rp(_0x8f0436);})[_0x32ef('0x30')](function(_0x5eb320){var _0x116951=_0x5eb320[_0x32ef('0xa9')][0x0];var _0x50f13b=_0x116951['MetadataId'];var _0x5f2637={'method':_0x32ef('0xa7'),'uri':_0x267364+_0x32ef('0xaa')+_0x50f13b+_0x32ef('0xab'),'headers':{'Authorization':_0x32ef('0xac')+_0x5e5766,'If-None-Match':null,'OData-Version':'4.0'},'json':!![]};return rp(_0x5f2637);})[_0x32ef('0x30')](function(_0xe52b7f){_0x1adcb8=_0xe52b7f;_0x4f3442=_0x1adcb8[_0x32ef('0xad')];_0x4f3442=_['remove'](_0x4f3442,function(_0x2895ad){return!_0x307c76['includes'](_0x2895ad[_0x32ef('0xae')]);});var _0x6c8ba=[];var _0x5f4890=[];_0x4f3442['forEach'](function(_0x2d6a9a){if(_0x2d6a9a[_0x32ef('0xaf')]){var _0x435538=_0x2d6a9a[_0x32ef('0xaf')][_0x32ef('0xb0')](_0x2d6a9a[_0x32ef('0xaf')][_0x32ef('0xa0')]('.')+0x1);if(_0x435538===_0x32ef('0xb1')){_0x6c8ba[_0x32ef('0xb2')](getSelectList(_0x267364,_0x4c70e0,_0x5f4890,_0x1adcb8['MetadataId'],_0x2d6a9a[_0x32ef('0xb3')],_0x5e5766));}}});return Promise['all'](_0x6c8ba);})[_0x32ef('0x30')](function(_0x7e47b9){_0x48b35e=_0x7e47b9[0x0];var _0x1d9d57=[];var _0x18cf5d=[];_0x4f3442[_0x32ef('0xb4')](function(_0x5d8a66){if(!_[_0x32ef('0xb5')](_0x5d8a66[_0x32ef('0xaf')])){var _0xf7fb75=_0x5d8a66[_0x32ef('0xaf')][_0x32ef('0xb0')](_0x5d8a66[_0x32ef('0xaf')][_0x32ef('0xa0')]('.')+0x1);if(_0xf7fb75===_0x32ef('0xb6')){_0x1d9d57[_0x32ef('0xb2')](getBooleanList(_0x267364,_0x4c70e0,_0x18cf5d,_0x1adcb8['MetadataId'],_0x5d8a66['MetadataId'],_0x5e5766));}}});return Promise['all'](_0x1d9d57);})[_0x32ef('0x30')](function(_0x37d37f){_0x4f1b94=_0x37d37f[0x0];var _0x517a2b=[];var _0x3b7998=[];_0x4f3442['forEach'](function(_0x378198){if(_0x378198['@odata.type']){var _0x519eda=_0x378198[_0x32ef('0xaf')][_0x32ef('0xb0')](_0x378198[_0x32ef('0xaf')][_0x32ef('0xa0')]('.')+0x1);if(_0x519eda===_0x32ef('0xb7')||_0x519eda==='DoubleAttributeMetadata'||_0x519eda===_0x32ef('0xb8')||_0x519eda==='IntegerAttributeMetadata'||_0x519eda===_0x32ef('0xb9')||_0x519eda==='DateTimeAttributeMetadata'||_0x519eda==='StatusAttributeMetadata'||_0x519eda==='EntityNameAttributeMetadata'||_0x519eda==='StateAttributeMetadata'||_0x519eda==='DecimalAttributeMetadata'){_0x517a2b[_0x32ef('0xb2')](getInputList(_0x267364,_0x4c70e0,_0x519eda,_0x3b7998,_0x1adcb8[_0x32ef('0xb3')],_0x378198['MetadataId'],_0x5e5766));}}});return Promise[_0x32ef('0xba')](_0x517a2b);})[_0x32ef('0x30')](function(_0x206bd1){_0x574fb3=_0x206bd1[0x0];var _0x44679d=_0x48b35e[_0x32ef('0x9c')](_0x4f1b94)[_0x32ef('0x9c')](_0x574fb3);var _0x59f0aa={'count':_0x44679d[_0x32ef('0x41')],'rows':_0x44679d};return _0x59f0aa;})['then'](respondWithResult(_0x29b826,null))[_0x32ef('0x25')](function(_0x1be713){var _0x536b3d=_0x141fec[_0x32ef('0x3c')]['test']?0x1f4:_0x1be713[_0x32ef('0xbb')]||0x1f4;logger[_0x32ef('0x21')](_0x1be713[_0x32ef('0x34')]);delete _0x1be713[_0x32ef('0x35')];if(_0x536b3d===0x191){_0x536b3d=0x190;}_0x29b826['status'](_0x536b3d)[_0x32ef('0xbc')](_0x141fec[_0x32ef('0x3c')][_0x32ef('0xbd')]?{'message':_0x32ef('0xbe'),'statusCode':_0x1be713['statusCode']}:_0x1be713);});};function getSelectList(_0x43dc17,_0x520bea,_0x2d9e2e,_0x43425e,_0x277dac,_0x28ef17){var _0x1cbb24={'method':_0x32ef('0xa7'),'uri':_0x43dc17+'EntityDefinitions('+_0x43425e+_0x32ef('0xbf')+_0x277dac+')/Microsoft.Dynamics.CRM.PicklistAttributeMetadata?'+'$select=DisplayName,LogicalName&$expand=OptionSet($select=Options)','headers':{'Authorization':_0x32ef('0xac')+_0x28ef17,'If-None-Match':null,'OData-Version':_0x32ef('0xc0')},'json':!![]};return rp(_0x1cbb24)[_0x32ef('0x30')](function(_0x3956e7){var _0x4dd1f0=[];var _0x8d3b24=_0x3956e7[_0x32ef('0xc1')][_0x32ef('0xc2')];_0x8d3b24[_0x32ef('0xb4')](function(_0x4c95d5){_0x4dd1f0['push']({'name':_0x4c95d5['Label'][_0x32ef('0xc3')][_0x32ef('0xc4')],'value':String(_0x4c95d5[_0x32ef('0xc5')])});});var _0xc92dcc={'id':_0x520bea+'_'+_0x3956e7[_0x32ef('0xae')],'name':_0x3956e7[_0x32ef('0xc6')][_0x32ef('0xc3')][_0x32ef('0xc4')],'custom':![],'options':_0x4dd1f0};_0x2d9e2e[_0x32ef('0xb2')](_0xc92dcc);return _0x2d9e2e;});}function getBooleanList(_0x2b0b07,_0xa76912,_0x5e535c,_0x1abe2b,_0x7c2649,_0x42d79b){var _0x349e03={'method':_0x32ef('0xa7'),'uri':_0x2b0b07+_0x32ef('0xaa')+_0x1abe2b+')/Attributes('+_0x7c2649+_0x32ef('0xc7'),'headers':{'Authorization':_0x32ef('0xac')+_0x42d79b,'If-None-Match':null,'OData-Version':_0x32ef('0xc0')},'json':!![]};return rp(_0x349e03)[_0x32ef('0x30')](function(_0x2a26ad){var _0x317148=[];_0x317148[_0x32ef('0xb2')]({'name':_0x2a26ad[_0x32ef('0xc1')][_0x32ef('0xc8')][_0x32ef('0xc4')][_0x32ef('0xc3')][_0x32ef('0xc4')],'value':_0x32ef('0xc9')},{'name':_0x2a26ad[_0x32ef('0xc1')]['FalseOption'][_0x32ef('0xc4')][_0x32ef('0xc3')][_0x32ef('0xc4')],'value':'false'});var _0x16525b={'id':_0xa76912+'_'+_0x2a26ad['LogicalName'],'name':_0x2a26ad[_0x32ef('0xc6')][_0x32ef('0xc3')][_0x32ef('0xc4')],'custom':![],'options':_0x317148};_0x5e535c['push'](_0x16525b);return _0x5e535c;});}function getInputList(_0x27aff9,_0x4c2d6f,_0x5f0d27,_0x252e86,_0x5b753c,_0xb78cf6,_0x119dcf){var _0x3a9501={'method':_0x32ef('0xa7'),'uri':_0x27aff9+_0x32ef('0xaa')+_0x5b753c+_0x32ef('0xbf')+_0xb78cf6+_0x32ef('0xca')+_0x5f0d27+'?$select=DisplayName,LogicalName','headers':{'Authorization':'Bearer\x20'+_0x119dcf,'If-None-Match':null,'OData-Version':_0x32ef('0xc0')},'json':!![]};return rp(_0x3a9501)['then'](function(_0x37c49c){var _0x3aec09={'id':_0x4c2d6f+'_'+_0x37c49c['LogicalName'],'name':_0x37c49c[_0x32ef('0xc6')][_0x32ef('0xc3')]?_0x37c49c['DisplayName'][_0x32ef('0xc3')][_0x32ef('0xc4')]:_0x37c49c[_0x32ef('0xae')],'custom':![],'options':[]};_0x252e86[_0x32ef('0xb2')](_0x3aec09);return _0x252e86;});}