Built motion from commit (unavailable).|2.5.28
[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 _0x5cd8=['ticketnumber','timezoneruleversionnumber','traversedpath','utcconversiontimezonecode','versionnumber','tenantId','clientId','clientSecret','remoteUri','substring','lastIndexOf','format','%s/api/data/v9.0/','POST','https://login.microsoftonline.com/','password','GET','Bearer\x20','4.0','Attributes','remove','includes','LogicalName','forEach','@odata.type','push','MetadataId','all','isNil','BooleanAttributeMetadata','StringAttributeMetadata','DoubleAttributeMetadata','BigIntAttributeMetadata','IntegerAttributeMetadata','DateTimeAttributeMetadata','EntityNameAttributeMetadata','DecimalAttributeMetadata','concat','test','Wrong\x20credentials','statusCode','EntityDefinitions(',')/Attributes(',')/Microsoft.Dynamics.CRM.PicklistAttributeMetadata?','$select=DisplayName,LogicalName&$expand=OptionSet($select=Options)','Label','UserLocalizedLabel','Value',')/Microsoft.Dynamics.CRM.BooleanAttributeMetadata?$select=DisplayName,LogicalName&$expand=OptionSet($select=FalseOption,\x20TrueOption)','OptionSet','TrueOption','true','FalseOption','false','DisplayName','?$select=DisplayName,LogicalName','eml-format','zip-dir','fast-json-patch','request-promise','moment','mustache','path','sox','to-csv','ejs','fs-extra','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','jayson/promise','client','http','request','then','info','request\x20sent','Dynamics365Account,\x20%s,\x20%s,\x20%s','stringify','error','code','Dynamics365Account,\x20%s,\x20%s','message','result','catch','sendStatus','status','count','offset','limit','set','Content-Range','json','apply','reject','update','end','stack','name','send','index','map','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','order','sort','where','pick','filter','merge','options','Dynamics365Account','includeAll','include','findAll','rows','show','params','find','create','body','destroy','findOne','getConfigurations','nolimit','AccountId','Subjects','channel','Descriptions','getDescriptions','Dynamics365Configuration','Dynamics365Field','getFields','ticketType','incident','PhoneCall','title','description','customerid','subject','phonenumber','regardingobjectid','phonecall_activity_parties','billedserviceunits','contactidname','contactidyominame','contractdetailidname','contractidname','createdbyexternalpartyname','createdbyexternalpartyyominame','createdbyname','createdbyyominame','createdon','createdonbehalfbyname','customeridtype','customeridyominame','emailaddress','entityimage_timestamp','escalatedon','exchangerate','firstresponsebykpiidname','followupby','importsequencenumber','influencescore','kbarticleidname','modifiedbyexternalpartyyominame','modifiedbyyominame','modifiedonbehalfbyyominame','msdyn_incidenttypename','msdyn_iotalertname','numberofchildincidents','onholdtime','owneridyominame','primarycontactidname','prioritycodename','productserialnumber','resolveby','resolvebykpiidname','responseby','responsiblecontactidyominame','slainvokedidname','slaname','socialprofileidname','statecode'];(function(_0x5965f5,_0x480586){var _0x1a2a48=function(_0xb00456){while(--_0xb00456){_0x5965f5['push'](_0x5965f5['shift']());}};_0x1a2a48(++_0x480586);}(_0x5cd8,0x1d2));var _0x85cd=function(_0x576c6c,_0x83f9a6){_0x576c6c=_0x576c6c-0x0;var _0x5190d1=_0x5cd8[_0x576c6c];return _0x5190d1;};'use strict';var emlformat=require(_0x85cd('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x85cd('0x1'));var jsonpatch=require(_0x85cd('0x2'));var rp=require(_0x85cd('0x3'));var moment=require(_0x85cd('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x85cd('0x5'));var util=require('util');var path=require(_0x85cd('0x6'));var sox=require(_0x85cd('0x7'));var csv=require(_0x85cd('0x8'));var ejs=require(_0x85cd('0x9'));var fs=require('fs');var fs_extra=require(_0x85cd('0xa'));var _=require('lodash');var squel=require(_0x85cd('0xb'));var crypto=require(_0x85cd('0xc'));var jsforce=require('jsforce');var deskjs=require(_0x85cd('0xd'));var toCsv=require(_0x85cd('0x8'));var querystring=require(_0x85cd('0xe'));var Papa=require(_0x85cd('0xf'));var Redis=require(_0x85cd('0x10'));var authService=require(_0x85cd('0x11'));var qs=require(_0x85cd('0x12'));var as=require(_0x85cd('0x13'));var hardwareService=require(_0x85cd('0x14'));var logger=require('../../config/logger')('api');var utils=require(_0x85cd('0x15'));var config=require(_0x85cd('0x16'));var licenseUtil=require(_0x85cd('0x17'));var db=require(_0x85cd('0x18'))['db'];var integrations=require('../../components/integrations/configuration');var jayson=require(_0x85cd('0x19'));var client=jayson[_0x85cd('0x1a')][_0x85cd('0x1b')]({'port':0x232a});function respondWithRpcPromise(_0x8d4f02,_0xc695a0,_0x3639c2,_0x58c13e){return new BPromise(function(_0x3d4c54,_0x564853){var _0x20cccf=_0x58c13e||client;return _0x20cccf[_0x85cd('0x1c')](_0x8d4f02,_0x3639c2)[_0x85cd('0x1d')](function(_0x424a01){logger[_0x85cd('0x1e')]('Dynamics365Account,\x20%s,\x20%s',_0xc695a0,_0x85cd('0x1f'));logger['debug'](_0x85cd('0x20'),_0xc695a0,'request\x20sent',JSON[_0x85cd('0x21')](_0x424a01));if(_0x424a01['error']){if(_0x424a01[_0x85cd('0x22')][_0x85cd('0x23')]===0x1f4){logger[_0x85cd('0x22')](_0x85cd('0x24'),_0xc695a0,_0x424a01[_0x85cd('0x22')][_0x85cd('0x25')]);return _0x564853(_0x424a01[_0x85cd('0x22')][_0x85cd('0x25')]);}logger['error'](_0x85cd('0x24'),_0xc695a0,_0x424a01[_0x85cd('0x22')]['message']);return _0x3d4c54(_0x424a01['error']['message']);}else{logger['info'](_0x85cd('0x24'),_0xc695a0,'request\x20sent');_0x3d4c54(_0x424a01[_0x85cd('0x26')][_0x85cd('0x25')]);}})[_0x85cd('0x27')](function(_0x14ab80){logger['error'](_0x85cd('0x24'),_0xc695a0,_0x14ab80);_0x564853(_0x14ab80);});});}function respondWithStatusCode(_0x2b00a8,_0x358202){_0x358202=_0x358202||0xcc;return function(_0x1e5b87){if(_0x1e5b87){return _0x2b00a8[_0x85cd('0x28')](_0x358202);}return _0x2b00a8[_0x85cd('0x29')](_0x358202)['end']();};}function respondWithResult(_0xb3500f,_0x421baa){_0x421baa=_0x421baa||0xc8;return function(_0x216106){if(_0x216106){return _0xb3500f[_0x85cd('0x29')](_0x421baa)['json'](_0x216106);}};}function respondWithFilteredResult(_0x3b3b9f,_0x43a062){return function(_0x1672cf){if(_0x1672cf){var _0x5a58a0=_0x1672cf[_0x85cd('0x2a')],_0x48e80d=_0x43a062[_0x85cd('0x2b')],_0x2ea68b=_0x43a062[_0x85cd('0x2b')]+_0x43a062[_0x85cd('0x2c')],_0x53b51a;if(_0x2ea68b>=_0x5a58a0){_0x2ea68b=_0x5a58a0;_0x53b51a=0xc8;}else{_0x53b51a=0xce;}_0x3b3b9f['status'](_0x53b51a);return _0x3b3b9f[_0x85cd('0x2d')](_0x85cd('0x2e'),_0x48e80d+'-'+_0x2ea68b+'/'+_0x5a58a0)[_0x85cd('0x2f')](_0x1672cf);}return null;};}function patchUpdates(_0x34cb51){return function(_0x587f02){try{jsonpatch[_0x85cd('0x30')](_0x587f02,_0x34cb51,!![]);}catch(_0x1334c1){return BPromise[_0x85cd('0x31')](_0x1334c1);}return _0x587f02['save']();};}function saveUpdates(_0x5b2c6f,_0x9eda6c){return function(_0x313346){if(_0x313346){return _0x313346[_0x85cd('0x32')](_0x5b2c6f)[_0x85cd('0x1d')](function(_0x439af1){return _0x439af1;});}return null;};}function removeEntity(_0x16d379,_0x3ebd3d){return function(_0x29e3b4){if(_0x29e3b4){return _0x29e3b4['destroy']()[_0x85cd('0x1d')](function(){_0x16d379[_0x85cd('0x29')](0xcc)[_0x85cd('0x33')]();});}};}function handleEntityNotFound(_0x134562,_0x502fd5){return function(_0xbcabc9){if(!_0xbcabc9){_0x134562[_0x85cd('0x28')](0x194);}return _0xbcabc9;};}function handleError(_0x3e182a,_0x34dfa8){_0x34dfa8=_0x34dfa8||0x1f4;return function(_0x212555){logger['error'](_0x212555[_0x85cd('0x34')]);if(_0x212555[_0x85cd('0x35')]){delete _0x212555['name'];}_0x3e182a[_0x85cd('0x29')](_0x34dfa8)[_0x85cd('0x36')](_0x212555);};}exports[_0x85cd('0x37')]=function(_0x5e652e,_0x48a04e){var _0x2c7b30={},_0x25e998={},_0x4fc244={'count':0x0,'rows':[]};var _0x562b05=_[_0x85cd('0x38')](db['Dynamics365Account']['rawAttributes'],function(_0x10f3a3){return{'name':_0x10f3a3[_0x85cd('0x39')],'type':_0x10f3a3[_0x85cd('0x3a')][_0x85cd('0x3b')]};});_0x25e998[_0x85cd('0x3c')]=_[_0x85cd('0x38')](_0x562b05,_0x85cd('0x35'));_0x25e998[_0x85cd('0x3d')]=_[_0x85cd('0x3e')](_0x5e652e[_0x85cd('0x3d')]);_0x25e998[_0x85cd('0x3f')]=_[_0x85cd('0x40')](_0x25e998[_0x85cd('0x3c')],_0x25e998[_0x85cd('0x3d')]);_0x2c7b30[_0x85cd('0x41')]=_['intersection'](_0x25e998[_0x85cd('0x3c')],qs[_0x85cd('0x42')](_0x5e652e[_0x85cd('0x3d')][_0x85cd('0x42')]));_0x2c7b30[_0x85cd('0x41')]=_0x2c7b30[_0x85cd('0x41')][_0x85cd('0x43')]?_0x2c7b30[_0x85cd('0x41')]:_0x25e998[_0x85cd('0x3c')];if(!_0x5e652e[_0x85cd('0x3d')][_0x85cd('0x44')]('nolimit')){_0x2c7b30['limit']=qs[_0x85cd('0x2c')](_0x5e652e[_0x85cd('0x3d')][_0x85cd('0x2c')]);_0x2c7b30[_0x85cd('0x2b')]=qs['offset'](_0x5e652e[_0x85cd('0x3d')][_0x85cd('0x2b')]);}_0x2c7b30[_0x85cd('0x45')]=qs['sort'](_0x5e652e[_0x85cd('0x3d')][_0x85cd('0x46')]);_0x2c7b30[_0x85cd('0x47')]=qs[_0x85cd('0x3f')](_[_0x85cd('0x48')](_0x5e652e[_0x85cd('0x3d')],_0x25e998['filters']),_0x562b05);if(_0x5e652e['query'][_0x85cd('0x49')]){_0x2c7b30[_0x85cd('0x47')]=_[_0x85cd('0x4a')](_0x2c7b30['where'],{'$or':_[_0x85cd('0x38')](_0x562b05,function(_0x45c08a){if(_0x45c08a[_0x85cd('0x3a')]!=='VIRTUAL'){var _0x35ce52={};_0x35ce52[_0x45c08a['name']]={'$like':'%'+_0x5e652e['query'][_0x85cd('0x49')]+'%'};return _0x35ce52;}})});}_0x2c7b30=_[_0x85cd('0x4a')]({},_0x2c7b30,_0x5e652e[_0x85cd('0x4b')]);var _0x1eb4a3={'where':_0x2c7b30[_0x85cd('0x47')]};return db[_0x85cd('0x4c')]['count'](_0x1eb4a3)[_0x85cd('0x1d')](function(_0x304d2c){_0x4fc244[_0x85cd('0x2a')]=_0x304d2c;if(_0x5e652e[_0x85cd('0x3d')][_0x85cd('0x4d')]){_0x2c7b30[_0x85cd('0x4e')]=[{'all':!![]}];}return db[_0x85cd('0x4c')][_0x85cd('0x4f')](_0x2c7b30);})['then'](function(_0x4e63f9){_0x4fc244[_0x85cd('0x50')]=_0x4e63f9;return _0x4fc244;})[_0x85cd('0x1d')](respondWithFilteredResult(_0x48a04e,_0x2c7b30))[_0x85cd('0x27')](handleError(_0x48a04e,null));};exports[_0x85cd('0x51')]=function(_0x446e64,_0x172a25){var _0x58dffa={'raw':![],'where':{'id':_0x446e64[_0x85cd('0x52')]['id']}},_0x28e4f6={};_0x28e4f6[_0x85cd('0x3c')]=_['keys'](db['Dynamics365Account']['rawAttributes']);_0x28e4f6['query']=_['keys'](_0x446e64[_0x85cd('0x3d')]);_0x28e4f6['filters']=_['intersection'](_0x28e4f6[_0x85cd('0x3c')],_0x28e4f6[_0x85cd('0x3d')]);_0x58dffa[_0x85cd('0x41')]=_[_0x85cd('0x40')](_0x28e4f6['model'],qs[_0x85cd('0x42')](_0x446e64[_0x85cd('0x3d')]['fields']));_0x58dffa['attributes']=_0x58dffa[_0x85cd('0x41')]['length']?_0x58dffa[_0x85cd('0x41')]:_0x28e4f6['model'];if(_0x446e64[_0x85cd('0x3d')][_0x85cd('0x4d')]){_0x58dffa[_0x85cd('0x4e')]=[{'all':!![]}];}_0x58dffa=_['merge']({},_0x58dffa,_0x446e64[_0x85cd('0x4b')]);return db[_0x85cd('0x4c')][_0x85cd('0x53')](_0x58dffa)[_0x85cd('0x1d')](handleEntityNotFound(_0x172a25,null))['then'](respondWithResult(_0x172a25,null))[_0x85cd('0x27')](handleError(_0x172a25,null));};exports[_0x85cd('0x54')]=function(_0x4d6aeb,_0x5f28eb){return db['Dynamics365Account'][_0x85cd('0x54')](_0x4d6aeb[_0x85cd('0x55')],{})[_0x85cd('0x1d')](respondWithResult(_0x5f28eb,0xc9))[_0x85cd('0x27')](handleError(_0x5f28eb,null));};exports[_0x85cd('0x32')]=function(_0x394e1d,_0x553350){if(_0x394e1d['body']['id']){delete _0x394e1d[_0x85cd('0x55')]['id'];}return db[_0x85cd('0x4c')][_0x85cd('0x53')]({'where':{'id':_0x394e1d[_0x85cd('0x52')]['id']}})['then'](handleEntityNotFound(_0x553350,null))[_0x85cd('0x1d')](saveUpdates(_0x394e1d[_0x85cd('0x55')],null))[_0x85cd('0x1d')](respondWithResult(_0x553350,null))[_0x85cd('0x27')](handleError(_0x553350,null));};exports[_0x85cd('0x56')]=function(_0x160e30,_0x3ab6d4){return db['Dynamics365Account']['find']({'where':{'id':_0x160e30[_0x85cd('0x52')]['id']}})[_0x85cd('0x1d')](handleEntityNotFound(_0x3ab6d4,null))[_0x85cd('0x1d')](removeEntity(_0x3ab6d4,null))[_0x85cd('0x27')](handleError(_0x3ab6d4,null));};exports['getConfigurations']=function(_0x457daa,_0x2b31c1,_0x572230){var _0x395b9a={};var _0x132a3f={};var _0x568e60;var _0x3b482f;return db['Dynamics365Account'][_0x85cd('0x57')]({'where':{'id':_0x457daa[_0x85cd('0x52')]['id']}})[_0x85cd('0x1d')](handleEntityNotFound(_0x2b31c1,null))[_0x85cd('0x1d')](function(_0x3fabb0){if(_0x3fabb0){_0x568e60=_0x3fabb0;_0x132a3f[_0x85cd('0x3c')]=_[_0x85cd('0x3e')](db['Dynamics365Configuration']['rawAttributes']);_0x132a3f[_0x85cd('0x3d')]=_[_0x85cd('0x3e')](_0x457daa['query']);_0x132a3f[_0x85cd('0x3f')]=_[_0x85cd('0x40')](_0x132a3f[_0x85cd('0x3c')],_0x132a3f[_0x85cd('0x3d')]);_0x395b9a[_0x85cd('0x41')]=_['intersection'](_0x132a3f[_0x85cd('0x3c')],qs[_0x85cd('0x42')](_0x457daa[_0x85cd('0x3d')][_0x85cd('0x42')]));_0x395b9a[_0x85cd('0x41')]=_0x395b9a[_0x85cd('0x41')][_0x85cd('0x43')]?_0x395b9a[_0x85cd('0x41')]:_0x132a3f[_0x85cd('0x3c')];_0x395b9a['order']=qs['sort'](_0x457daa[_0x85cd('0x3d')][_0x85cd('0x46')]);_0x395b9a[_0x85cd('0x47')]=qs[_0x85cd('0x3f')](_[_0x85cd('0x48')](_0x457daa[_0x85cd('0x3d')],_0x132a3f['filters']));if(_0x457daa[_0x85cd('0x3d')][_0x85cd('0x49')]){_0x395b9a[_0x85cd('0x47')]=_['merge'](_0x395b9a[_0x85cd('0x47')],{'$or':_['map'](_0x395b9a[_0x85cd('0x41')],function(_0x2ab4ba){var _0x225b28={};_0x225b28[_0x2ab4ba]={'$like':'%'+_0x457daa[_0x85cd('0x3d')][_0x85cd('0x49')]+'%'};return _0x225b28;})});}_0x395b9a=_[_0x85cd('0x4a')]({},_0x395b9a,_0x457daa[_0x85cd('0x4b')]);return _0x568e60[_0x85cd('0x58')](_0x395b9a);}})[_0x85cd('0x1d')](function(_0x3cafb4){if(_0x3cafb4){_0x3b482f=_0x3cafb4['length'];if(!_0x457daa[_0x85cd('0x3d')][_0x85cd('0x44')](_0x85cd('0x59'))){_0x395b9a[_0x85cd('0x2c')]=qs[_0x85cd('0x2c')](_0x457daa[_0x85cd('0x3d')][_0x85cd('0x2c')]);_0x395b9a[_0x85cd('0x2b')]=qs[_0x85cd('0x2b')](_0x457daa[_0x85cd('0x3d')][_0x85cd('0x2b')]);}return _0x568e60[_0x85cd('0x58')](_0x395b9a);}})[_0x85cd('0x1d')](function(_0x790f50){if(_0x790f50){return _0x790f50?{'count':_0x3b482f,'rows':_0x790f50}:null;}})[_0x85cd('0x1d')](respondWithResult(_0x2b31c1,null))[_0x85cd('0x27')](handleError(_0x2b31c1,null));};exports['addConfiguration']=function(_0x4963c7,_0xe7a662,_0x73bc88){if(_0x4963c7[_0x85cd('0x55')]['id']){delete _0x4963c7['body']['id'];}return db['Dynamics365Account'][_0x85cd('0x57')]({'where':{'id':_0x4963c7[_0x85cd('0x52')]['id']}})[_0x85cd('0x1d')](handleEntityNotFound(_0xe7a662,null))[_0x85cd('0x1d')](function(_0x40cc9a){if(_0x40cc9a){_0x4963c7['body'][_0x85cd('0x5a')]=_0x40cc9a['id'];_0x4963c7[_0x85cd('0x55')][_0x85cd('0x5b')]=integrations['getSubjects'](_0x4963c7['body'][_0x85cd('0x5c')],_0x4963c7[_0x85cd('0x55')][_0x85cd('0x3a')]);_0x4963c7[_0x85cd('0x55')][_0x85cd('0x5d')]=integrations[_0x85cd('0x5e')](_0x4963c7[_0x85cd('0x55')][_0x85cd('0x5c')],_0x4963c7[_0x85cd('0x55')][_0x85cd('0x3a')]);return db[_0x85cd('0x5f')][_0x85cd('0x54')](_0x4963c7[_0x85cd('0x55')],{'include':[{'model':db['Dynamics365Field'],'as':_0x85cd('0x5b')},{'model':db[_0x85cd('0x60')],'as':'Descriptions'}]});}return null;})[_0x85cd('0x1d')](respondWithResult(_0xe7a662,null))[_0x85cd('0x27')](handleError(_0xe7a662,null));};exports[_0x85cd('0x61')]=function(_0x15236e,_0x2a3918,_0x548109){var _0x4ac956=_0x15236e[_0x85cd('0x3d')][_0x85cd('0x62')];var _0x4ed025=_0x4ac956===_0x85cd('0x63')?'Incident':_0x85cd('0x64');var _0x28c855='';var _0x1e12b0='';var _0x2237d7='';var _0x137fb2='';var _0x358d38='';var _0x47101c='';var _0x5667e='';var _0x49c942='';var _0x13f447=[_0x85cd('0x65'),_0x85cd('0x66'),_0x85cd('0x67'),'ownerid','caseorigincode',_0x85cd('0x68'),_0x85cd('0x69'),_0x85cd('0x6a'),'directioncode',_0x85cd('0x6b')];var _0x2c9d65=['accountidname','accountidyominame','actualserviceunits',_0x85cd('0x6c'),_0x85cd('0x6d'),_0x85cd('0x6e'),_0x85cd('0x6f'),_0x85cd('0x70'),_0x85cd('0x71'),_0x85cd('0x72'),_0x85cd('0x73'),_0x85cd('0x74'),_0x85cd('0x75'),_0x85cd('0x76'),'createdonbehalfbyyominame','customeridname',_0x85cd('0x77'),_0x85cd('0x78'),_0x85cd('0x79'),'entitlementidname',_0x85cd('0x7a'),'entityimage_url',_0x85cd('0x7b'),_0x85cd('0x7c'),_0x85cd('0x7d'),_0x85cd('0x7e'),_0x85cd('0x7f'),_0x85cd('0x80'),_0x85cd('0x81'),'lastonholdtime','masteridname','modifiedbyexternalpartyname',_0x85cd('0x82'),'modifiedbyname',_0x85cd('0x83'),'modifiedon','modifiedonbehalfbyname',_0x85cd('0x84'),_0x85cd('0x85'),_0x85cd('0x86'),_0x85cd('0x87'),_0x85cd('0x88'),'overriddencreatedon','owneridname','owneridtype',_0x85cd('0x89'),'parentcaseidname',_0x85cd('0x8a'),'primarycontactidyominame',_0x85cd('0x8b'),'productidname',_0x85cd('0x8c'),_0x85cd('0x8d'),_0x85cd('0x8e'),_0x85cd('0x8f'),'responsiblecontactidname',_0x85cd('0x90'),'sentimentvalue',_0x85cd('0x91'),_0x85cd('0x92'),_0x85cd('0x93'),_0x85cd('0x94'),'statuscode','subjectidname',_0x85cd('0x95'),_0x85cd('0x96'),'transactioncurrencyidname',_0x85cd('0x97'),_0x85cd('0x98'),_0x85cd('0x99')];var _0x5bd935=_0x13f447['concat'](_0x2c9d65);return db[_0x85cd('0x4c')][_0x85cd('0x57')]({'where':{'id':_0x15236e[_0x85cd('0x52')]['id']},'attributes':['id','username','password','remoteUri',_0x85cd('0x9a'),_0x85cd('0x9b'),_0x85cd('0x9c')]})['then'](handleEntityNotFound(_0x2a3918,null))[_0x85cd('0x1d')](function(_0x454058){if(_0x454058){_0x49c942=_0x454058[_0x85cd('0x9d')];var _0x5b6313=_0x49c942['slice'](-0x1);if(_0x5b6313==='/'){_0x49c942=_0x49c942[_0x85cd('0x9e')](0x0,_0x49c942[_0x85cd('0x9f')](_0x5b6313));}_0x5667e=util[_0x85cd('0xa0')](_0x85cd('0xa1'),_0x49c942);var _0x3a5453={'method':_0x85cd('0xa2'),'uri':_0x85cd('0xa3')+_0x454058[_0x85cd('0x9a')]+'/oauth2/token','form':{'client_id':_0x454058[_0x85cd('0x9b')],'resource':_0x49c942,'username':_0x454058['username'],'password':_0x454058[_0x85cd('0xa4')],'grant_type':_0x85cd('0xa4'),'client_secret':_0x454058[_0x85cd('0x9c')]},'json':!![]};return rp(_0x3a5453);}})['then'](function(_0x247028){_0x47101c=_0x247028['access_token'];var _0x2fc2f4={'method':_0x85cd('0xa5'),'uri':encodeURI(_0x5667e+'EntityDefinitions?$select=DisplayName,EntitySetName&$filter=SchemaName\x20eq\x20\x27'+_0x4ed025+'\x27'),'headers':{'Authorization':_0x85cd('0xa6')+_0x47101c,'If-None-Match':null,'OData-Version':_0x85cd('0xa7')},'json':!![]};return rp(_0x2fc2f4);})[_0x85cd('0x1d')](function(_0x45eadc){var _0x36d51f=_0x45eadc['value'][0x0];var _0x265ea2=_0x36d51f['MetadataId'];var _0x218c1e={'method':_0x85cd('0xa5'),'uri':_0x5667e+'EntityDefinitions('+_0x265ea2+')?$select=LogicalName&$expand=Attributes($select=LogicalName)','headers':{'Authorization':_0x85cd('0xa6')+_0x47101c,'If-None-Match':null,'OData-Version':_0x85cd('0xa7')},'json':!![]};return rp(_0x218c1e);})[_0x85cd('0x1d')](function(_0x1d4c03){_0x28c855=_0x1d4c03;_0x1e12b0=_0x28c855[_0x85cd('0xa8')];_0x1e12b0=_[_0x85cd('0xa9')](_0x1e12b0,function(_0x2a5213){return!_0x5bd935[_0x85cd('0xaa')](_0x2a5213[_0x85cd('0xab')]);});var _0xf49804=[];var _0x464c70=[];_0x1e12b0[_0x85cd('0xac')](function(_0x195fe5){if(_0x195fe5[_0x85cd('0xad')]){var _0x280de3=_0x195fe5[_0x85cd('0xad')]['substring'](_0x195fe5[_0x85cd('0xad')]['lastIndexOf']('.')+0x1);if(_0x280de3==='PicklistAttributeMetadata'){_0xf49804[_0x85cd('0xae')](getSelectList(_0x5667e,_0x4ac956,_0x464c70,_0x28c855[_0x85cd('0xaf')],_0x195fe5['MetadataId'],_0x47101c));}}});return Promise[_0x85cd('0xb0')](_0xf49804);})[_0x85cd('0x1d')](function(_0x41be62){_0x2237d7=_0x41be62[0x0];var _0x5e1262=[];var _0x427f92=[];_0x1e12b0[_0x85cd('0xac')](function(_0x209d0){if(!_[_0x85cd('0xb1')](_0x209d0[_0x85cd('0xad')])){var _0x37f4e4=_0x209d0[_0x85cd('0xad')][_0x85cd('0x9e')](_0x209d0['@odata.type'][_0x85cd('0x9f')]('.')+0x1);if(_0x37f4e4===_0x85cd('0xb2')){_0x5e1262['push'](getBooleanList(_0x5667e,_0x4ac956,_0x427f92,_0x28c855[_0x85cd('0xaf')],_0x209d0[_0x85cd('0xaf')],_0x47101c));}}});return Promise['all'](_0x5e1262);})[_0x85cd('0x1d')](function(_0x1aa018){_0x137fb2=_0x1aa018[0x0];var _0x13f2dc=[];var _0x2073c2=[];_0x1e12b0[_0x85cd('0xac')](function(_0x2e87ef){if(_0x2e87ef[_0x85cd('0xad')]){var _0x2c1109=_0x2e87ef[_0x85cd('0xad')][_0x85cd('0x9e')](_0x2e87ef[_0x85cd('0xad')][_0x85cd('0x9f')]('.')+0x1);if(_0x2c1109===_0x85cd('0xb3')||_0x2c1109===_0x85cd('0xb4')||_0x2c1109===_0x85cd('0xb5')||_0x2c1109===_0x85cd('0xb6')||_0x2c1109==='MemoAttributeMetadata'||_0x2c1109===_0x85cd('0xb7')||_0x2c1109==='StatusAttributeMetadata'||_0x2c1109===_0x85cd('0xb8')||_0x2c1109==='StateAttributeMetadata'||_0x2c1109===_0x85cd('0xb9')){_0x13f2dc['push'](getInputList(_0x5667e,_0x4ac956,_0x2c1109,_0x2073c2,_0x28c855[_0x85cd('0xaf')],_0x2e87ef[_0x85cd('0xaf')],_0x47101c));}}});return Promise['all'](_0x13f2dc);})[_0x85cd('0x1d')](function(_0x573477){_0x358d38=_0x573477[0x0];var _0x38a488=_0x2237d7['concat'](_0x137fb2)[_0x85cd('0xba')](_0x358d38);var _0x59c4e9={'count':_0x38a488[_0x85cd('0x43')],'rows':_0x38a488};return _0x59c4e9;})[_0x85cd('0x1d')](respondWithResult(_0x2a3918,null))[_0x85cd('0x27')](function(_0x21072c){var _0x367baa=_0x15236e[_0x85cd('0x3d')][_0x85cd('0xbb')]?0x1f4:_0x21072c['statusCode']||0x1f4;logger['error'](_0x21072c[_0x85cd('0x34')]);delete _0x21072c['name'];if(_0x367baa===0x191){_0x367baa=0x190;}_0x2a3918[_0x85cd('0x29')](_0x367baa)[_0x85cd('0x36')](_0x15236e[_0x85cd('0x3d')][_0x85cd('0xbb')]?{'message':_0x85cd('0xbc'),'statusCode':_0x21072c[_0x85cd('0xbd')]}:_0x21072c);});};function getSelectList(_0x2874cb,_0x3fbeaf,_0x11a14f,_0x4db86f,_0x370c8c,_0x6770cc){var _0xe25173={'method':_0x85cd('0xa5'),'uri':_0x2874cb+_0x85cd('0xbe')+_0x4db86f+_0x85cd('0xbf')+_0x370c8c+_0x85cd('0xc0')+_0x85cd('0xc1'),'headers':{'Authorization':'Bearer\x20'+_0x6770cc,'If-None-Match':null,'OData-Version':_0x85cd('0xa7')},'json':!![]};return rp(_0xe25173)[_0x85cd('0x1d')](function(_0x310887){var _0x49f158=[];var _0x396b2a=_0x310887['OptionSet']['Options'];_0x396b2a['forEach'](function(_0x3c726e){_0x49f158[_0x85cd('0xae')]({'name':_0x3c726e[_0x85cd('0xc2')][_0x85cd('0xc3')]['Label'],'value':String(_0x3c726e[_0x85cd('0xc4')])});});var _0x1f8029={'id':_0x3fbeaf+'_'+_0x310887[_0x85cd('0xab')],'name':_0x310887['DisplayName'][_0x85cd('0xc3')][_0x85cd('0xc2')],'custom':![],'options':_0x49f158};_0x11a14f[_0x85cd('0xae')](_0x1f8029);return _0x11a14f;});}function getBooleanList(_0x124036,_0x1e09ab,_0x210fbc,_0x3a63bb,_0x5f3818,_0x42c522){var _0x3a820c={'method':_0x85cd('0xa5'),'uri':_0x124036+_0x85cd('0xbe')+_0x3a63bb+_0x85cd('0xbf')+_0x5f3818+_0x85cd('0xc5'),'headers':{'Authorization':_0x85cd('0xa6')+_0x42c522,'If-None-Match':null,'OData-Version':_0x85cd('0xa7')},'json':!![]};return rp(_0x3a820c)[_0x85cd('0x1d')](function(_0xfd3d3e){var _0x397e11=[];_0x397e11[_0x85cd('0xae')]({'name':_0xfd3d3e[_0x85cd('0xc6')][_0x85cd('0xc7')][_0x85cd('0xc2')]['UserLocalizedLabel'][_0x85cd('0xc2')],'value':_0x85cd('0xc8')},{'name':_0xfd3d3e[_0x85cd('0xc6')][_0x85cd('0xc9')][_0x85cd('0xc2')]['UserLocalizedLabel'][_0x85cd('0xc2')],'value':_0x85cd('0xca')});var _0x2f92d7={'id':_0x1e09ab+'_'+_0xfd3d3e[_0x85cd('0xab')],'name':_0xfd3d3e[_0x85cd('0xcb')][_0x85cd('0xc3')][_0x85cd('0xc2')],'custom':![],'options':_0x397e11};_0x210fbc[_0x85cd('0xae')](_0x2f92d7);return _0x210fbc;});}function getInputList(_0x189155,_0x45970b,_0x21f509,_0xbf3ae4,_0x5ddc26,_0x54c273,_0x5936d5){var _0x3ae9b4={'method':_0x85cd('0xa5'),'uri':_0x189155+_0x85cd('0xbe')+_0x5ddc26+_0x85cd('0xbf')+_0x54c273+')/Microsoft.Dynamics.CRM.'+_0x21f509+_0x85cd('0xcc'),'headers':{'Authorization':_0x85cd('0xa6')+_0x5936d5,'If-None-Match':null,'OData-Version':_0x85cd('0xa7')},'json':!![]};return rp(_0x3ae9b4)[_0x85cd('0x1d')](function(_0xae8c17){var _0x270f1e={'id':_0x45970b+'_'+_0xae8c17[_0x85cd('0xab')],'name':_0xae8c17[_0x85cd('0xcb')]['UserLocalizedLabel']?_0xae8c17[_0x85cd('0xcb')][_0x85cd('0xc3')][_0x85cd('0xc2')]:_0xae8c17[_0x85cd('0xab')],'custom':![],'options':[]};_0xbf3ae4['push'](_0x270f1e);return _0xbf3ae4;});}