Built motion from commit (unavailable).|2.5.2
[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 _0x340b=['OptionSet','Label','UserLocalizedLabel','Value','LogicalName','DisplayName','TrueOption','true','FalseOption','?$select=DisplayName,LogicalName','html-pdf','eml-format','rimraf','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../mysqldb','../../components/integrations/configuration','client','test','Sequelize','ValidationError','The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.','then','info','Dynamics365Account,\x20%s,\x20%s','debug','request\x20sent','stringify','error','code','message','result','catch','sendStatus','status','json','offset','limit','set','apply','destroy','end','stack','name','send','index','map','type','key','model','query','intersection','attributes','fields','hasOwnProperty','nolimit','sort','where','filters','pick','filter','VIRTUAL','merge','options','Dynamics365Account','count','include','findAll','show','params','keys','rawAttributes','length','includeAll','create','update','body','find','getConfigurations','Dynamics365Configuration','order','addConfiguration','AccountId','getSubjects','channel','Descriptions','getDescriptions','Dynamics365Field','Subjects','ticketType','incident','PhoneCall','title','customerid','ownerid','subject','phonenumber','regardingobjectid','directioncode','accountidyominame','billedserviceunits','contactidyominame','contractdetailidname','contractidname','createdbyexternalpartyyominame','createdon','createdonbehalfbyname','createdonbehalfbyyominame','customeridname','customeridtype','customeridyominame','emailaddress','entitlementidname','entityimage_timestamp','entityimage_url','escalatedon','exchangerate','firstresponsebykpiidname','followupby','importsequencenumber','influencescore','kbarticleidname','lastonholdtime','masteridname','modifiedbyexternalpartyname','modifiedbyexternalpartyyominame','modifiedbyname','modifiedon','modifiedonbehalfbyname','modifiedonbehalfbyyominame','msdyn_iotalertname','numberofchildincidents','onholdtime','overriddencreatedon','owneridname','owneridyominame','parentcaseidname','primarycontactidname','primarycontactidyominame','productidname','productserialnumber','responseby','responsiblecontactidname','responsiblecontactidyominame','sentimentvalue','slainvokedidname','socialprofileidname','statecode','statuscode','subjectidname','ticketnumber','transactioncurrencyidname','traversedpath','utcconversiontimezonecode','versionnumber','concat','findOne','username','password','clientId','clientSecret','remoteUri','slice','substring','lastIndexOf','%s/api/data/v9.0/','POST','https://login.microsoftonline.com/','tenantId','/oauth2/token','access_token','GET','EntityDefinitions?$select=DisplayName,EntitySetName&$filter=SchemaName\x20eq\x20\x27','Bearer\x20','MetadataId','EntityDefinitions(','4.0','Attributes','remove','includes','forEach','@odata.type','PicklistAttributeMetadata','push','all','BooleanAttributeMetadata','StringAttributeMetadata','DoubleAttributeMetadata','BigIntAttributeMetadata','MemoAttributeMetadata','DateTimeAttributeMetadata','EntityNameAttributeMetadata','StateAttributeMetadata','DecimalAttributeMetadata','statusCode','Wrong\x20credentials',')/Attributes('];(function(_0x2b193a,_0xc8d9af){var _0x41f844=function(_0x1e86bf){while(--_0x1e86bf){_0x2b193a['push'](_0x2b193a['shift']());}};_0x41f844(++_0xc8d9af);}(_0x340b,0x1bc));var _0xb340=function(_0x5db35c,_0x4c46bf){_0x5db35c=_0x5db35c-0x0;var _0x5f22f0=_0x340b[_0x5db35c];return _0x5f22f0;};'use strict';var pdf=require(_0xb340('0x0'));var emlformat=require(_0xb340('0x1'));var rimraf=require(_0xb340('0x2'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0xb340('0x3'));var BPromise=require(_0xb340('0x4'));var Mustache=require(_0xb340('0x5'));var util=require(_0xb340('0x6'));var path=require(_0xb340('0x7'));var sox=require(_0xb340('0x8'));var csv=require(_0xb340('0x9'));var ejs=require(_0xb340('0xa'));var fs=require('fs');var _=require(_0xb340('0xb'));var squel=require(_0xb340('0xc'));var crypto=require(_0xb340('0xd'));var jsforce=require('jsforce');var deskjs=require(_0xb340('0xe'));var toCsv=require(_0xb340('0x9'));var querystring=require(_0xb340('0xf'));var Papa=require(_0xb340('0x10'));var Redis=require(_0xb340('0x11'));var authService=require(_0xb340('0x12'));var qs=require(_0xb340('0x13'));var as=require(_0xb340('0x14'));var hardwareService=require(_0xb340('0x15'));var logger=require(_0xb340('0x16'))(_0xb340('0x17'));var utils=require('../../config/utils');var config=require(_0xb340('0x18'));var db=require(_0xb340('0x19'))['db'];var integrations=require(_0xb340('0x1a'));var jayson=require('jayson/promise');var client=jayson[_0xb340('0x1b')]['http']({'port':0x232a});function checkPasswordPattern(_0x49d270,_0x16641c,_0x55562c){if(_0x55562c){var _0x20b20e=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x20b20e[_0xb340('0x1c')](_0x16641c)){return _0x49d270;}else{throw new db[(_0xb340('0x1d'))][(_0xb340('0x1e'))](_0xb340('0x1f'));}}else{return _0x49d270;}}function respondWithRpcPromise(_0x4fe9e5,_0x413776,_0x400914,_0x52f005){return new BPromise(function(_0x4c3b28,_0x3dc73a){var _0x5c2be5=_0x52f005||client;return _0x5c2be5['request'](_0x4fe9e5,_0x400914)[_0xb340('0x20')](function(_0x237bd6){logger[_0xb340('0x21')](_0xb340('0x22'),_0x413776,'request\x20sent');logger[_0xb340('0x23')]('Dynamics365Account,\x20%s,\x20%s,\x20%s',_0x413776,_0xb340('0x24'),JSON[_0xb340('0x25')](_0x237bd6));if(_0x237bd6[_0xb340('0x26')]){if(_0x237bd6[_0xb340('0x26')][_0xb340('0x27')]===0x1f4){logger[_0xb340('0x26')](_0xb340('0x22'),_0x413776,_0x237bd6['error']['message']);return _0x3dc73a(_0x237bd6[_0xb340('0x26')][_0xb340('0x28')]);}logger['error'](_0xb340('0x22'),_0x413776,_0x237bd6[_0xb340('0x26')][_0xb340('0x28')]);return _0x4c3b28(_0x237bd6[_0xb340('0x26')][_0xb340('0x28')]);}else{logger[_0xb340('0x21')](_0xb340('0x22'),_0x413776,_0xb340('0x24'));_0x4c3b28(_0x237bd6[_0xb340('0x29')][_0xb340('0x28')]);}})[_0xb340('0x2a')](function(_0x643056){logger[_0xb340('0x26')](_0xb340('0x22'),_0x413776,_0x643056);_0x3dc73a(_0x643056);});});}function respondWithStatusCode(_0x50c4c3,_0x3a1ff3){_0x3a1ff3=_0x3a1ff3||0xcc;return function(_0x5e011d){if(_0x5e011d){return _0x50c4c3[_0xb340('0x2b')](_0x3a1ff3);}return _0x50c4c3[_0xb340('0x2c')](_0x3a1ff3)['end']();};}function respondWithResult(_0x1ecc8c,_0x2a99fa){_0x2a99fa=_0x2a99fa||0xc8;return function(_0x57b7fa){if(_0x57b7fa){return _0x1ecc8c[_0xb340('0x2c')](_0x2a99fa)[_0xb340('0x2d')](_0x57b7fa);}};}function respondWithFilteredResult(_0x3a049c,_0x11938f){return function(_0xbe6233){if(_0xbe6233){var _0x4f18b2=_0xbe6233['count'],_0x2d21a4=_0x11938f[_0xb340('0x2e')],_0x465c8a=_0x11938f['offset']+_0x11938f[_0xb340('0x2f')],_0x25037f;if(_0x465c8a>=_0x4f18b2){_0x465c8a=_0x4f18b2;_0x25037f=0xc8;}else{_0x25037f=0xce;}_0x3a049c[_0xb340('0x2c')](_0x25037f);return _0x3a049c[_0xb340('0x30')]('Content-Range',_0x2d21a4+'-'+_0x465c8a+'/'+_0x4f18b2)[_0xb340('0x2d')](_0xbe6233);}return null;};}function patchUpdates(_0x218c07){return function(_0xbbd740){try{jsonpatch[_0xb340('0x31')](_0xbbd740,_0x218c07,!![]);}catch(_0x41a43a){return BPromise['reject'](_0x41a43a);}return _0xbbd740['save']();};}function saveUpdates(_0x4b3cdb,_0x58e25b){return function(_0x563408){if(_0x563408){return _0x563408['update'](_0x4b3cdb)[_0xb340('0x20')](function(_0x1fcd36){return _0x1fcd36;});}return null;};}function removeEntity(_0x5a3b85,_0x1dbe05){return function(_0x53365d){if(_0x53365d){return _0x53365d[_0xb340('0x32')]()['then'](function(){_0x5a3b85['status'](0xcc)[_0xb340('0x33')]();});}};}function handleEntityNotFound(_0x5449cb,_0x190988){return function(_0x4e5fb9){if(!_0x4e5fb9){_0x5449cb[_0xb340('0x2b')](0x194);}return _0x4e5fb9;};}function handleError(_0x3e3a62,_0x330c59){_0x330c59=_0x330c59||0x1f4;return function(_0x10383d){logger[_0xb340('0x26')](_0x10383d[_0xb340('0x34')]);if(_0x10383d[_0xb340('0x35')]){delete _0x10383d[_0xb340('0x35')];}_0x3e3a62[_0xb340('0x2c')](_0x330c59)[_0xb340('0x36')](_0x10383d);};}exports[_0xb340('0x37')]=function(_0x5e9ace,_0x55ed28){var _0x34ea30={},_0x517102={},_0x48f919={'count':0x0,'rows':[]};var _0x129d80=_[_0xb340('0x38')](db['Dynamics365Account']['rawAttributes'],function(_0x1db330){return{'name':_0x1db330['fieldName'],'type':_0x1db330[_0xb340('0x39')][_0xb340('0x3a')]};});_0x517102[_0xb340('0x3b')]=_[_0xb340('0x38')](_0x129d80,_0xb340('0x35'));_0x517102[_0xb340('0x3c')]=_['keys'](_0x5e9ace[_0xb340('0x3c')]);_0x517102['filters']=_[_0xb340('0x3d')](_0x517102[_0xb340('0x3b')],_0x517102['query']);_0x34ea30[_0xb340('0x3e')]=_[_0xb340('0x3d')](_0x517102['model'],qs[_0xb340('0x3f')](_0x5e9ace[_0xb340('0x3c')]['fields']));_0x34ea30[_0xb340('0x3e')]=_0x34ea30[_0xb340('0x3e')]['length']?_0x34ea30[_0xb340('0x3e')]:_0x517102[_0xb340('0x3b')];if(!_0x5e9ace[_0xb340('0x3c')][_0xb340('0x40')](_0xb340('0x41'))){_0x34ea30[_0xb340('0x2f')]=qs[_0xb340('0x2f')](_0x5e9ace[_0xb340('0x3c')][_0xb340('0x2f')]);_0x34ea30['offset']=qs[_0xb340('0x2e')](_0x5e9ace['query']['offset']);}_0x34ea30['order']=qs[_0xb340('0x42')](_0x5e9ace['query'][_0xb340('0x42')]);_0x34ea30[_0xb340('0x43')]=qs[_0xb340('0x44')](_[_0xb340('0x45')](_0x5e9ace[_0xb340('0x3c')],_0x517102[_0xb340('0x44')]),_0x129d80);if(_0x5e9ace[_0xb340('0x3c')][_0xb340('0x46')]){_0x34ea30[_0xb340('0x43')]=_['merge'](_0x34ea30[_0xb340('0x43')],{'$or':_[_0xb340('0x38')](_0x129d80,function(_0x3afc18){if(_0x3afc18[_0xb340('0x39')]!==_0xb340('0x47')){var _0x9ba53b={};_0x9ba53b[_0x3afc18[_0xb340('0x35')]]={'$like':'%'+_0x5e9ace[_0xb340('0x3c')][_0xb340('0x46')]+'%'};return _0x9ba53b;}})});}_0x34ea30=_[_0xb340('0x48')]({},_0x34ea30,_0x5e9ace[_0xb340('0x49')]);var _0x2d59c6={'where':_0x34ea30[_0xb340('0x43')]};return db[_0xb340('0x4a')][_0xb340('0x4b')](_0x2d59c6)['then'](function(_0x51c7dd){_0x48f919[_0xb340('0x4b')]=_0x51c7dd;if(_0x5e9ace['query']['includeAll']){_0x34ea30[_0xb340('0x4c')]=[{'all':!![]}];}return db[_0xb340('0x4a')][_0xb340('0x4d')](_0x34ea30);})[_0xb340('0x20')](function(_0xb1ee94){_0x48f919['rows']=_0xb1ee94;return _0x48f919;})[_0xb340('0x20')](respondWithFilteredResult(_0x55ed28,_0x34ea30))[_0xb340('0x2a')](handleError(_0x55ed28,null));};exports[_0xb340('0x4e')]=function(_0x1acec2,_0x31d89d){var _0x1ebf25={'raw':![],'where':{'id':_0x1acec2[_0xb340('0x4f')]['id']}},_0x586661={};_0x586661[_0xb340('0x3b')]=_[_0xb340('0x50')](db[_0xb340('0x4a')][_0xb340('0x51')]);_0x586661[_0xb340('0x3c')]=_[_0xb340('0x50')](_0x1acec2['query']);_0x586661['filters']=_[_0xb340('0x3d')](_0x586661['model'],_0x586661[_0xb340('0x3c')]);_0x1ebf25[_0xb340('0x3e')]=_[_0xb340('0x3d')](_0x586661[_0xb340('0x3b')],qs[_0xb340('0x3f')](_0x1acec2['query'][_0xb340('0x3f')]));_0x1ebf25[_0xb340('0x3e')]=_0x1ebf25[_0xb340('0x3e')][_0xb340('0x52')]?_0x1ebf25[_0xb340('0x3e')]:_0x586661[_0xb340('0x3b')];if(_0x1acec2[_0xb340('0x3c')][_0xb340('0x53')]){_0x1ebf25['include']=[{'all':!![]}];}_0x1ebf25=_[_0xb340('0x48')]({},_0x1ebf25,_0x1acec2['options']);return db[_0xb340('0x4a')]['find'](_0x1ebf25)[_0xb340('0x20')](handleEntityNotFound(_0x31d89d,null))[_0xb340('0x20')](respondWithResult(_0x31d89d,null))['catch'](handleError(_0x31d89d,null));};exports[_0xb340('0x54')]=function(_0x50251a,_0x5d955d){return db[_0xb340('0x4a')][_0xb340('0x54')](_0x50251a['body'],{})[_0xb340('0x20')](respondWithResult(_0x5d955d,0xc9))['catch'](handleError(_0x5d955d,null));};exports[_0xb340('0x55')]=function(_0x5412d8,_0x48b15d){if(_0x5412d8[_0xb340('0x56')]['id']){delete _0x5412d8[_0xb340('0x56')]['id'];}return db['Dynamics365Account'][_0xb340('0x57')]({'where':{'id':_0x5412d8[_0xb340('0x4f')]['id']}})[_0xb340('0x20')](handleEntityNotFound(_0x48b15d,null))['then'](saveUpdates(_0x5412d8[_0xb340('0x56')],null))[_0xb340('0x20')](respondWithResult(_0x48b15d,null))['catch'](handleError(_0x48b15d,null));};exports[_0xb340('0x32')]=function(_0x31470c,_0x14ef7c){return db[_0xb340('0x4a')][_0xb340('0x57')]({'where':{'id':_0x31470c[_0xb340('0x4f')]['id']}})[_0xb340('0x20')](handleEntityNotFound(_0x14ef7c,null))[_0xb340('0x20')](removeEntity(_0x14ef7c,null))[_0xb340('0x2a')](handleError(_0x14ef7c,null));};exports[_0xb340('0x58')]=function(_0x28605a,_0x3e1e21,_0x42911d){var _0x402dea={};var _0x563592={};var _0x3aa950;var _0x57f741;return db[_0xb340('0x4a')]['findOne']({'where':{'id':_0x28605a[_0xb340('0x4f')]['id']}})[_0xb340('0x20')](handleEntityNotFound(_0x3e1e21,null))[_0xb340('0x20')](function(_0x26df70){if(_0x26df70){_0x3aa950=_0x26df70;_0x563592[_0xb340('0x3b')]=_[_0xb340('0x50')](db[_0xb340('0x59')][_0xb340('0x51')]);_0x563592[_0xb340('0x3c')]=_[_0xb340('0x50')](_0x28605a[_0xb340('0x3c')]);_0x563592[_0xb340('0x44')]=_['intersection'](_0x563592[_0xb340('0x3b')],_0x563592[_0xb340('0x3c')]);_0x402dea[_0xb340('0x3e')]=_[_0xb340('0x3d')](_0x563592[_0xb340('0x3b')],qs['fields'](_0x28605a[_0xb340('0x3c')][_0xb340('0x3f')]));_0x402dea['attributes']=_0x402dea[_0xb340('0x3e')][_0xb340('0x52')]?_0x402dea['attributes']:_0x563592[_0xb340('0x3b')];_0x402dea[_0xb340('0x5a')]=qs['sort'](_0x28605a['query'][_0xb340('0x42')]);_0x402dea[_0xb340('0x43')]=qs['filters'](_[_0xb340('0x45')](_0x28605a[_0xb340('0x3c')],_0x563592[_0xb340('0x44')]));if(_0x28605a['query']['filter']){_0x402dea[_0xb340('0x43')]=_[_0xb340('0x48')](_0x402dea[_0xb340('0x43')],{'$or':_[_0xb340('0x38')](_0x402dea[_0xb340('0x3e')],function(_0x1857be){var _0x123554={};_0x123554[_0x1857be]={'$like':'%'+_0x28605a['query'][_0xb340('0x46')]+'%'};return _0x123554;})});}_0x402dea=_[_0xb340('0x48')]({},_0x402dea,_0x28605a['options']);return _0x3aa950[_0xb340('0x58')](_0x402dea);}})[_0xb340('0x20')](function(_0xf0d02e){if(_0xf0d02e){_0x57f741=_0xf0d02e[_0xb340('0x52')];if(!_0x28605a[_0xb340('0x3c')]['hasOwnProperty'](_0xb340('0x41'))){_0x402dea[_0xb340('0x2f')]=qs['limit'](_0x28605a[_0xb340('0x3c')][_0xb340('0x2f')]);_0x402dea[_0xb340('0x2e')]=qs[_0xb340('0x2e')](_0x28605a['query']['offset']);}return _0x3aa950[_0xb340('0x58')](_0x402dea);}})[_0xb340('0x20')](function(_0x354624){if(_0x354624){return _0x354624?{'count':_0x57f741,'rows':_0x354624}:null;}})['then'](respondWithResult(_0x3e1e21,null))[_0xb340('0x2a')](handleError(_0x3e1e21,null));};exports[_0xb340('0x5b')]=function(_0x54f81d,_0x1ae82b,_0x47df01){if(_0x54f81d[_0xb340('0x56')]['id']){delete _0x54f81d['body']['id'];}return db[_0xb340('0x4a')]['findOne']({'where':{'id':_0x54f81d[_0xb340('0x4f')]['id']}})[_0xb340('0x20')](handleEntityNotFound(_0x1ae82b,null))[_0xb340('0x20')](function(_0x29edfb){if(_0x29edfb){_0x54f81d[_0xb340('0x56')][_0xb340('0x5c')]=_0x29edfb['id'];_0x54f81d['body']['Subjects']=integrations[_0xb340('0x5d')](_0x54f81d[_0xb340('0x56')][_0xb340('0x5e')],_0x54f81d[_0xb340('0x56')][_0xb340('0x39')]);_0x54f81d['body'][_0xb340('0x5f')]=integrations[_0xb340('0x60')](_0x54f81d[_0xb340('0x56')]['channel'],_0x54f81d['body']['type']);return db[_0xb340('0x59')][_0xb340('0x54')](_0x54f81d['body'],{'include':[{'model':db[_0xb340('0x61')],'as':_0xb340('0x62')},{'model':db['Dynamics365Field'],'as':_0xb340('0x5f')}]});}return null;})['then'](respondWithResult(_0x1ae82b,null))['catch'](handleError(_0x1ae82b,null));};exports['getFields']=function(_0x1aeae5,_0x4acd19,_0x251c3f){var _0xd5cf2b=_0x1aeae5[_0xb340('0x3c')][_0xb340('0x63')];var _0x1c4834=_0xd5cf2b===_0xb340('0x64')?'Incident':_0xb340('0x65');var _0xf07631='';var _0x49fc4d='';var _0x21fc3c='';var _0x479d08='';var _0x3fd14b='';var _0x6b796c='';var _0x4467f2='';var _0x293355='';var _0x2e162e=[_0xb340('0x66'),'description',_0xb340('0x67'),_0xb340('0x68'),'caseorigincode',_0xb340('0x69'),_0xb340('0x6a'),_0xb340('0x6b'),_0xb340('0x6c'),'phonecall_activity_parties'];var _0x38f3dc=['accountidname',_0xb340('0x6d'),'actualserviceunits',_0xb340('0x6e'),'contactidname',_0xb340('0x6f'),_0xb340('0x70'),_0xb340('0x71'),'createdbyexternalpartyname',_0xb340('0x72'),'createdbyname','createdbyyominame',_0xb340('0x73'),_0xb340('0x74'),_0xb340('0x75'),_0xb340('0x76'),_0xb340('0x77'),_0xb340('0x78'),_0xb340('0x79'),_0xb340('0x7a'),_0xb340('0x7b'),_0xb340('0x7c'),_0xb340('0x7d'),_0xb340('0x7e'),_0xb340('0x7f'),_0xb340('0x80'),_0xb340('0x81'),_0xb340('0x82'),_0xb340('0x83'),_0xb340('0x84'),_0xb340('0x85'),_0xb340('0x86'),_0xb340('0x87'),_0xb340('0x88'),'modifiedbyyominame',_0xb340('0x89'),_0xb340('0x8a'),_0xb340('0x8b'),'msdyn_incidenttypename',_0xb340('0x8c'),_0xb340('0x8d'),_0xb340('0x8e'),_0xb340('0x8f'),_0xb340('0x90'),'owneridtype',_0xb340('0x91'),_0xb340('0x92'),_0xb340('0x93'),_0xb340('0x94'),'prioritycodename',_0xb340('0x95'),_0xb340('0x96'),'resolveby','resolvebykpiidname',_0xb340('0x97'),_0xb340('0x98'),_0xb340('0x99'),_0xb340('0x9a'),_0xb340('0x9b'),'slaname',_0xb340('0x9c'),_0xb340('0x9d'),_0xb340('0x9e'),_0xb340('0x9f'),_0xb340('0xa0'),'timezoneruleversionnumber',_0xb340('0xa1'),_0xb340('0xa2'),_0xb340('0xa3'),_0xb340('0xa4')];var _0xc84fa3=_0x2e162e[_0xb340('0xa5')](_0x38f3dc);return db[_0xb340('0x4a')][_0xb340('0xa6')]({'where':{'id':_0x1aeae5[_0xb340('0x4f')]['id']},'attributes':['id',_0xb340('0xa7'),_0xb340('0xa8'),'remoteUri','tenantId',_0xb340('0xa9'),_0xb340('0xaa')]})['then'](handleEntityNotFound(_0x4acd19,null))[_0xb340('0x20')](function(_0x10552e){if(_0x10552e){_0x293355=_0x10552e[_0xb340('0xab')];var _0x3bdcf4=_0x293355[_0xb340('0xac')](-0x1);if(_0x3bdcf4==='/'){_0x293355=_0x293355[_0xb340('0xad')](0x0,_0x293355[_0xb340('0xae')](_0x3bdcf4));}_0x4467f2=util['format'](_0xb340('0xaf'),_0x293355);var _0x5fe996={'method':_0xb340('0xb0'),'uri':_0xb340('0xb1')+_0x10552e[_0xb340('0xb2')]+_0xb340('0xb3'),'form':{'client_id':_0x10552e[_0xb340('0xa9')],'resource':_0x293355,'username':_0x10552e[_0xb340('0xa7')],'password':_0x10552e[_0xb340('0xa8')],'grant_type':_0xb340('0xa8'),'client_secret':_0x10552e[_0xb340('0xaa')]},'json':!![]};return rp(_0x5fe996);}})['then'](function(_0x5e4250){_0x6b796c=_0x5e4250[_0xb340('0xb4')];var _0x2da581={'method':_0xb340('0xb5'),'uri':encodeURI(_0x4467f2+_0xb340('0xb6')+_0x1c4834+'\x27'),'headers':{'Authorization':_0xb340('0xb7')+_0x6b796c,'If-None-Match':null,'OData-Version':'4.0'},'json':!![]};return rp(_0x2da581);})[_0xb340('0x20')](function(_0x4abd0e){var _0x49cbcc=_0x4abd0e['value'][0x0];var _0x27e813=_0x49cbcc[_0xb340('0xb8')];var _0x5e5f6e={'method':_0xb340('0xb5'),'uri':_0x4467f2+_0xb340('0xb9')+_0x27e813+')?$select=LogicalName&$expand=Attributes($select=LogicalName)','headers':{'Authorization':_0xb340('0xb7')+_0x6b796c,'If-None-Match':null,'OData-Version':_0xb340('0xba')},'json':!![]};return rp(_0x5e5f6e);})['then'](function(_0x54ab79){_0xf07631=_0x54ab79;_0x49fc4d=_0xf07631[_0xb340('0xbb')];_0x49fc4d=_[_0xb340('0xbc')](_0x49fc4d,function(_0x328914){return!_0xc84fa3[_0xb340('0xbd')](_0x328914['LogicalName']);});var _0x29c222=[];var _0x3c6ed0=[];_0x49fc4d[_0xb340('0xbe')](function(_0x3ae7f8){if(_0x3ae7f8[_0xb340('0xbf')]){var _0x5acb9c=_0x3ae7f8['@odata.type'][_0xb340('0xad')](_0x3ae7f8['@odata.type'][_0xb340('0xae')]('.')+0x1);if(_0x5acb9c===_0xb340('0xc0')){_0x29c222[_0xb340('0xc1')](getSelectList(_0x4467f2,_0xd5cf2b,_0x3c6ed0,_0xf07631['MetadataId'],_0x3ae7f8[_0xb340('0xb8')],_0x6b796c));}}});return Promise[_0xb340('0xc2')](_0x29c222);})[_0xb340('0x20')](function(_0x1eec37){_0x21fc3c=_0x1eec37[0x0];var _0x500049=[];var _0x57e215=[];_0x49fc4d[_0xb340('0xbe')](function(_0x299cdf){if(!_['isNil'](_0x299cdf[_0xb340('0xbf')])){var _0x5caddc=_0x299cdf['@odata.type'][_0xb340('0xad')](_0x299cdf[_0xb340('0xbf')][_0xb340('0xae')]('.')+0x1);if(_0x5caddc===_0xb340('0xc3')){_0x500049[_0xb340('0xc1')](getBooleanList(_0x4467f2,_0xd5cf2b,_0x57e215,_0xf07631[_0xb340('0xb8')],_0x299cdf['MetadataId'],_0x6b796c));}}});return Promise[_0xb340('0xc2')](_0x500049);})['then'](function(_0x2cb60b){_0x479d08=_0x2cb60b[0x0];var _0x1e011b=[];var _0x2a4167=[];_0x49fc4d['forEach'](function(_0x333347){if(_0x333347['@odata.type']){var _0x300fb4=_0x333347[_0xb340('0xbf')][_0xb340('0xad')](_0x333347[_0xb340('0xbf')][_0xb340('0xae')]('.')+0x1);if(_0x300fb4===_0xb340('0xc4')||_0x300fb4===_0xb340('0xc5')||_0x300fb4===_0xb340('0xc6')||_0x300fb4==='IntegerAttributeMetadata'||_0x300fb4===_0xb340('0xc7')||_0x300fb4===_0xb340('0xc8')||_0x300fb4==='StatusAttributeMetadata'||_0x300fb4===_0xb340('0xc9')||_0x300fb4===_0xb340('0xca')||_0x300fb4===_0xb340('0xcb')){_0x1e011b['push'](getInputList(_0x4467f2,_0xd5cf2b,_0x300fb4,_0x2a4167,_0xf07631[_0xb340('0xb8')],_0x333347[_0xb340('0xb8')],_0x6b796c));}}});return Promise[_0xb340('0xc2')](_0x1e011b);})['then'](function(_0x54b2f8){_0x3fd14b=_0x54b2f8[0x0];var _0x72d32f=_0x21fc3c[_0xb340('0xa5')](_0x479d08)[_0xb340('0xa5')](_0x3fd14b);var _0x281aae={'count':_0x72d32f['length'],'rows':_0x72d32f};return _0x281aae;})['then'](respondWithResult(_0x4acd19,null))[_0xb340('0x2a')](function(_0x1bac17){var _0x3a9fdc=_0x1aeae5[_0xb340('0x3c')][_0xb340('0x1c')]?0x1f4:_0x1bac17[_0xb340('0xcc')]||0x1f4;logger[_0xb340('0x26')](_0x1bac17[_0xb340('0x34')]);delete _0x1bac17[_0xb340('0x35')];if(_0x3a9fdc===0x191){_0x3a9fdc=0x190;}_0x4acd19['status'](_0x3a9fdc)[_0xb340('0x36')](_0x1aeae5[_0xb340('0x3c')][_0xb340('0x1c')]?{'message':_0xb340('0xcd'),'statusCode':_0x1bac17[_0xb340('0xcc')]}:_0x1bac17);});};function getSelectList(_0x139496,_0x16722f,_0x10a831,_0x3a4a75,_0x581476,_0x3021d0){var _0x144ab7={'method':_0xb340('0xb5'),'uri':_0x139496+_0xb340('0xb9')+_0x3a4a75+_0xb340('0xce')+_0x581476+')/Microsoft.Dynamics.CRM.PicklistAttributeMetadata?'+'$select=DisplayName,LogicalName&$expand=OptionSet($select=Options)','headers':{'Authorization':_0xb340('0xb7')+_0x3021d0,'If-None-Match':null,'OData-Version':_0xb340('0xba')},'json':!![]};return rp(_0x144ab7)[_0xb340('0x20')](function(_0x32e97a){var _0x19e638=[];var _0x456c2a=_0x32e97a[_0xb340('0xcf')]['Options'];_0x456c2a['forEach'](function(_0x51327f){_0x19e638[_0xb340('0xc1')]({'name':_0x51327f[_0xb340('0xd0')][_0xb340('0xd1')][_0xb340('0xd0')],'value':String(_0x51327f[_0xb340('0xd2')])});});var _0x513a6f={'id':_0x16722f+'_'+_0x32e97a[_0xb340('0xd3')],'name':_0x32e97a[_0xb340('0xd4')]['UserLocalizedLabel'][_0xb340('0xd0')],'custom':![],'options':_0x19e638};_0x10a831[_0xb340('0xc1')](_0x513a6f);return _0x10a831;});}function getBooleanList(_0x30a202,_0x4e7c32,_0x23c0fb,_0x296d74,_0x38e40a,_0x3bc642){var _0x3a1d7d={'method':'GET','uri':_0x30a202+_0xb340('0xb9')+_0x296d74+')/Attributes('+_0x38e40a+')/Microsoft.Dynamics.CRM.BooleanAttributeMetadata?$select=DisplayName,LogicalName&$expand=OptionSet($select=FalseOption,\x20TrueOption)','headers':{'Authorization':_0xb340('0xb7')+_0x3bc642,'If-None-Match':null,'OData-Version':_0xb340('0xba')},'json':!![]};return rp(_0x3a1d7d)[_0xb340('0x20')](function(_0x3165a3){var _0x557590=[];_0x557590[_0xb340('0xc1')]({'name':_0x3165a3['OptionSet'][_0xb340('0xd5')][_0xb340('0xd0')][_0xb340('0xd1')][_0xb340('0xd0')],'value':_0xb340('0xd6')},{'name':_0x3165a3[_0xb340('0xcf')][_0xb340('0xd7')][_0xb340('0xd0')][_0xb340('0xd1')][_0xb340('0xd0')],'value':'false'});var _0x28f1b0={'id':_0x4e7c32+'_'+_0x3165a3[_0xb340('0xd3')],'name':_0x3165a3[_0xb340('0xd4')][_0xb340('0xd1')]['Label'],'custom':![],'options':_0x557590};_0x23c0fb[_0xb340('0xc1')](_0x28f1b0);return _0x23c0fb;});}function getInputList(_0x124c14,_0x4fdb7d,_0xe257dd,_0x25ee20,_0x42e4c7,_0x140c56,_0x599a8b){var _0x3a643d={'method':_0xb340('0xb5'),'uri':_0x124c14+_0xb340('0xb9')+_0x42e4c7+_0xb340('0xce')+_0x140c56+')/Microsoft.Dynamics.CRM.'+_0xe257dd+_0xb340('0xd8'),'headers':{'Authorization':_0xb340('0xb7')+_0x599a8b,'If-None-Match':null,'OData-Version':_0xb340('0xba')},'json':!![]};return rp(_0x3a643d)[_0xb340('0x20')](function(_0x1340cb){var _0x4df1bc={'id':_0x4fdb7d+'_'+_0x1340cb[_0xb340('0xd3')],'name':_0x1340cb[_0xb340('0xd4')][_0xb340('0xd1')]?_0x1340cb[_0xb340('0xd4')][_0xb340('0xd1')][_0xb340('0xd0')]:_0x1340cb['LogicalName'],'custom':![],'options':[]};_0x25ee20[_0xb340('0xc1')](_0x4df1bc);return _0x25ee20;});}