a2cbd3a3a11ac605dea10c0fb222b9a79c8570c7
[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 _0x346b=['intersection','fields','length','hasOwnProperty','nolimit','limit','offset','sort','where','filter','VIRTUAL','merge','options','Dynamics365Account','includeAll','include','findAll','params','find','catch','create','body','findOne','pick','getConfigurations','addConfiguration','AccountId','Subjects','Descriptions','getDescriptions','Dynamics365Configuration','Dynamics365Field','getFields','ticketType','incident','Incident','title','description','customerid','caseorigincode','subject','phonenumber','regardingobjectid','directioncode','phonecall_activity_parties','accountidname','accountidyominame','actualserviceunits','contactidname','contactidyominame','contractdetailidname','contractidname','createdbyexternalpartyname','createdbyexternalpartyyominame','createdbyname','createdbyyominame','createdon','createdonbehalfbyname','createdonbehalfbyyominame','customeridtype','emailaddress','entitlementidname','entityimage_timestamp','entityimage_url','escalatedon','exchangerate','followupby','importsequencenumber','kbarticleidname','lastonholdtime','masteridname','modifiedbyexternalpartyname','modifiedbyexternalpartyyominame','modifiedbyname','modifiedon','modifiedonbehalfbyyominame','msdyn_iotalertname','numberofchildincidents','overriddencreatedon','owneridname','owneridtype','owneridyominame','parentcaseidname','primarycontactidname','prioritycodename','productidname','productserialnumber','resolveby','resolvebykpiidname','responseby','responsiblecontactidname','sentimentvalue','slaname','socialprofileidname','statuscode','subjectidname','ticketnumber','timezoneruleversionnumber','transactioncurrencyidname','traversedpath','concat','username','remoteUri','tenantId','clientId','clientSecret','substring','lastIndexOf','format','%s/api/data/v9.0/','POST','https://login.microsoftonline.com/','/oauth2/token','password','access_token','GET','EntityDefinitions?$select=DisplayName,EntitySetName&$filter=SchemaName\x20eq\x20\x27','4.0','value','MetadataId','EntityDefinitions(',')?$select=LogicalName&$expand=Attributes($select=LogicalName)','Bearer\x20','Attributes','includes','@odata.type','PicklistAttributeMetadata','all','forEach','isNil','BooleanAttributeMetadata','StringAttributeMetadata','MemoAttributeMetadata','DateTimeAttributeMetadata','StatusAttributeMetadata','EntityNameAttributeMetadata','StateAttributeMetadata','DecimalAttributeMetadata','push','stack',')/Attributes(','OptionSet','Label','UserLocalizedLabel','Value','LogicalName','DisplayName',')/Microsoft.Dynamics.CRM.BooleanAttributeMetadata?$select=DisplayName,LogicalName&$expand=OptionSet($select=FalseOption,\x20TrueOption)','TrueOption','true','FalseOption','false',')/Microsoft.Dynamics.CRM.','html-pdf','rimraf','fast-json-patch','bluebird','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../components/integrations/configuration','jayson/promise','client','http','test','Sequelize','ValidationError','request','then','info','Dynamics365Account,\x20%s,\x20%s','request\x20sent','debug','stringify','error','code','message','sendStatus','status','end','json','count','Content-Range','reject','save','update','destroy','name','send','index','map','rawAttributes','fieldName','type','key','model','query','keys','filters','attributes'];(function(_0x2307fa,_0x266e5e){var _0x496486=function(_0x53466e){while(--_0x53466e){_0x2307fa['push'](_0x2307fa['shift']());}};_0x496486(++_0x266e5e);}(_0x346b,0x99));var _0xb346=function(_0xef0336,_0x402eb7){_0xef0336=_0xef0336-0x0;var _0x3a3407=_0x346b[_0xef0336];return _0x3a3407;};'use strict';var pdf=require(_0xb346('0x0'));var emlformat=require('eml-format');var rimraf=require(_0xb346('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xb346('0x2'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0xb346('0x3'));var Mustache=require('mustache');var util=require(_0xb346('0x4'));var path=require(_0xb346('0x5'));var sox=require(_0xb346('0x6'));var csv=require(_0xb346('0x7'));var ejs=require(_0xb346('0x8'));var fs=require('fs');var _=require(_0xb346('0x9'));var squel=require(_0xb346('0xa'));var crypto=require(_0xb346('0xb'));var jsforce=require(_0xb346('0xc'));var deskjs=require('desk.js');var toCsv=require(_0xb346('0x7'));var querystring=require(_0xb346('0xd'));var Papa=require(_0xb346('0xe'));var Redis=require('ioredis');var authService=require(_0xb346('0xf'));var qs=require(_0xb346('0x10'));var as=require(_0xb346('0x11'));var hardwareService=require(_0xb346('0x12'));var logger=require(_0xb346('0x13'))(_0xb346('0x14'));var utils=require('../../config/utils');var config=require(_0xb346('0x15'));var db=require('../../mysqldb')['db'];var integrations=require(_0xb346('0x16'));var jayson=require(_0xb346('0x17'));var client=jayson[_0xb346('0x18')][_0xb346('0x19')]({'port':0x232a});function checkPasswordPattern(_0x3893f2,_0x4911f3,_0x27131a){if(_0x27131a){var _0x526645=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x526645[_0xb346('0x1a')](_0x4911f3)){return _0x3893f2;}else{throw new db[(_0xb346('0x1b'))][(_0xb346('0x1c'))]('The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.');}}else{return _0x3893f2;}}function respondWithRpcPromise(_0x20dca0,_0x47c6f5,_0x2556ad,_0x2b0b0d){return new BPromise(function(_0x174f71,_0x2dbf07){var _0x37536a=_0x2b0b0d||client;return _0x37536a[_0xb346('0x1d')](_0x20dca0,_0x2556ad)[_0xb346('0x1e')](function(_0x912bf2){logger[_0xb346('0x1f')](_0xb346('0x20'),_0x47c6f5,_0xb346('0x21'));logger[_0xb346('0x22')]('Dynamics365Account,\x20%s,\x20%s,\x20%s',_0x47c6f5,_0xb346('0x21'),JSON[_0xb346('0x23')](_0x912bf2));if(_0x912bf2[_0xb346('0x24')]){if(_0x912bf2[_0xb346('0x24')][_0xb346('0x25')]===0x1f4){logger[_0xb346('0x24')](_0xb346('0x20'),_0x47c6f5,_0x912bf2[_0xb346('0x24')]['message']);return _0x2dbf07(_0x912bf2[_0xb346('0x24')]['message']);}logger['error'](_0xb346('0x20'),_0x47c6f5,_0x912bf2['error'][_0xb346('0x26')]);return _0x174f71(_0x912bf2['error'][_0xb346('0x26')]);}else{logger['info'](_0xb346('0x20'),_0x47c6f5,_0xb346('0x21'));_0x174f71(_0x912bf2['result']['message']);}})['catch'](function(_0x55b7d1){logger[_0xb346('0x24')](_0xb346('0x20'),_0x47c6f5,_0x55b7d1);_0x2dbf07(_0x55b7d1);});});}function respondWithStatusCode(_0x13642e,_0x457d48){_0x457d48=_0x457d48||0xcc;return function(_0x4c088c){if(_0x4c088c){return _0x13642e[_0xb346('0x27')](_0x457d48);}return _0x13642e[_0xb346('0x28')](_0x457d48)[_0xb346('0x29')]();};}function respondWithResult(_0x30f06c,_0x54db27){_0x54db27=_0x54db27||0xc8;return function(_0xca6d22){if(_0xca6d22){return _0x30f06c['status'](_0x54db27)[_0xb346('0x2a')](_0xca6d22);}};}function respondWithFilteredResult(_0xaed126,_0x6874f5){return function(_0x59497c){if(_0x59497c){var _0x39f610=_0x59497c[_0xb346('0x2b')],_0x59fad7=_0x6874f5['offset'],_0x3c1a13=_0x6874f5['offset']+_0x6874f5['limit'],_0x4128fa;if(_0x3c1a13>=_0x39f610){_0x3c1a13=_0x39f610;_0x4128fa=0xc8;}else{_0x4128fa=0xce;}_0xaed126['status'](_0x4128fa);return _0xaed126['set'](_0xb346('0x2c'),_0x59fad7+'-'+_0x3c1a13+'/'+_0x39f610)[_0xb346('0x2a')](_0x59497c);}return null;};}function patchUpdates(_0x557c8d){return function(_0x194695){try{jsonpatch['apply'](_0x194695,_0x557c8d,!![]);}catch(_0x5c480e){return BPromise[_0xb346('0x2d')](_0x5c480e);}return _0x194695[_0xb346('0x2e')]();};}function saveUpdates(_0x4c1ba0,_0x31a940){return function(_0x11cdf2){if(_0x11cdf2){return _0x11cdf2[_0xb346('0x2f')](_0x4c1ba0)[_0xb346('0x1e')](function(_0xebc886){return _0xebc886;});}return null;};}function removeEntity(_0x57d1ea,_0x2aca2a){return function(_0x45e3a5){if(_0x45e3a5){return _0x45e3a5[_0xb346('0x30')]()[_0xb346('0x1e')](function(){_0x57d1ea[_0xb346('0x28')](0xcc)['end']();});}};}function handleEntityNotFound(_0x46e92a,_0x19d45){return function(_0x1c1109){if(!_0x1c1109){_0x46e92a[_0xb346('0x27')](0x194);}return _0x1c1109;};}function handleError(_0x54b127,_0x479741){_0x479741=_0x479741||0x1f4;return function(_0x362d85){logger['error'](_0x362d85['stack']);if(_0x362d85[_0xb346('0x31')]){delete _0x362d85['name'];}_0x54b127[_0xb346('0x28')](_0x479741)[_0xb346('0x32')](_0x362d85);};}exports[_0xb346('0x33')]=function(_0x334c4e,_0x219b97){var _0x1cfb61={},_0x26517a={},_0x95e1ea={'count':0x0,'rows':[]};var _0xe03d3b=_[_0xb346('0x34')](db['Dynamics365Account'][_0xb346('0x35')],function(_0x1657d8){return{'name':_0x1657d8[_0xb346('0x36')],'type':_0x1657d8[_0xb346('0x37')][_0xb346('0x38')]};});_0x26517a[_0xb346('0x39')]=_['map'](_0xe03d3b,'name');_0x26517a[_0xb346('0x3a')]=_[_0xb346('0x3b')](_0x334c4e['query']);_0x26517a[_0xb346('0x3c')]=_['intersection'](_0x26517a['model'],_0x26517a[_0xb346('0x3a')]);_0x1cfb61[_0xb346('0x3d')]=_[_0xb346('0x3e')](_0x26517a['model'],qs[_0xb346('0x3f')](_0x334c4e[_0xb346('0x3a')]['fields']));_0x1cfb61[_0xb346('0x3d')]=_0x1cfb61[_0xb346('0x3d')][_0xb346('0x40')]?_0x1cfb61[_0xb346('0x3d')]:_0x26517a['model'];if(!_0x334c4e[_0xb346('0x3a')][_0xb346('0x41')](_0xb346('0x42'))){_0x1cfb61[_0xb346('0x43')]=qs['limit'](_0x334c4e[_0xb346('0x3a')][_0xb346('0x43')]);_0x1cfb61[_0xb346('0x44')]=qs[_0xb346('0x44')](_0x334c4e[_0xb346('0x3a')][_0xb346('0x44')]);}_0x1cfb61['order']=qs[_0xb346('0x45')](_0x334c4e[_0xb346('0x3a')][_0xb346('0x45')]);_0x1cfb61[_0xb346('0x46')]=qs[_0xb346('0x3c')](_['pick'](_0x334c4e[_0xb346('0x3a')],_0x26517a[_0xb346('0x3c')]),_0xe03d3b);if(_0x334c4e[_0xb346('0x3a')][_0xb346('0x47')]){_0x1cfb61['where']=_['merge'](_0x1cfb61['where'],{'$or':_[_0xb346('0x34')](_0xe03d3b,function(_0x382802){if(_0x382802[_0xb346('0x37')]!==_0xb346('0x48')){var _0x14debc={};_0x14debc[_0x382802[_0xb346('0x31')]]={'$like':'%'+_0x334c4e[_0xb346('0x3a')]['filter']+'%'};return _0x14debc;}})});}_0x1cfb61=_[_0xb346('0x49')]({},_0x1cfb61,_0x334c4e[_0xb346('0x4a')]);var _0x27a53a={'where':_0x1cfb61[_0xb346('0x46')]};return db[_0xb346('0x4b')][_0xb346('0x2b')](_0x27a53a)['then'](function(_0x4782a1){_0x95e1ea[_0xb346('0x2b')]=_0x4782a1;if(_0x334c4e['query'][_0xb346('0x4c')]){_0x1cfb61[_0xb346('0x4d')]=[{'all':!![]}];}return db[_0xb346('0x4b')][_0xb346('0x4e')](_0x1cfb61);})[_0xb346('0x1e')](function(_0x2740d7){_0x95e1ea['rows']=_0x2740d7;return _0x95e1ea;})[_0xb346('0x1e')](respondWithFilteredResult(_0x219b97,_0x1cfb61))['catch'](handleError(_0x219b97,null));};exports['show']=function(_0x1471ac,_0x2c3331){var _0x527fa7={'raw':![],'where':{'id':_0x1471ac[_0xb346('0x4f')]['id']}},_0x288feb={};_0x288feb[_0xb346('0x39')]=_[_0xb346('0x3b')](db[_0xb346('0x4b')][_0xb346('0x35')]);_0x288feb[_0xb346('0x3a')]=_[_0xb346('0x3b')](_0x1471ac[_0xb346('0x3a')]);_0x288feb['filters']=_[_0xb346('0x3e')](_0x288feb[_0xb346('0x39')],_0x288feb['query']);_0x527fa7[_0xb346('0x3d')]=_[_0xb346('0x3e')](_0x288feb['model'],qs['fields'](_0x1471ac['query'][_0xb346('0x3f')]));_0x527fa7[_0xb346('0x3d')]=_0x527fa7[_0xb346('0x3d')][_0xb346('0x40')]?_0x527fa7[_0xb346('0x3d')]:_0x288feb['model'];if(_0x1471ac[_0xb346('0x3a')][_0xb346('0x4c')]){_0x527fa7[_0xb346('0x4d')]=[{'all':!![]}];}_0x527fa7=_['merge']({},_0x527fa7,_0x1471ac[_0xb346('0x4a')]);return db['Dynamics365Account'][_0xb346('0x50')](_0x527fa7)[_0xb346('0x1e')](handleEntityNotFound(_0x2c3331,null))[_0xb346('0x1e')](respondWithResult(_0x2c3331,null))[_0xb346('0x51')](handleError(_0x2c3331,null));};exports[_0xb346('0x52')]=function(_0x2709c4,_0x3406bd){return db[_0xb346('0x4b')]['create'](_0x2709c4[_0xb346('0x53')],{})['then'](respondWithResult(_0x3406bd,0xc9))[_0xb346('0x51')](handleError(_0x3406bd,null));};exports[_0xb346('0x2f')]=function(_0x22f2cb,_0x3984e7){if(_0x22f2cb['body']['id']){delete _0x22f2cb[_0xb346('0x53')]['id'];}return db['Dynamics365Account'][_0xb346('0x50')]({'where':{'id':_0x22f2cb[_0xb346('0x4f')]['id']}})[_0xb346('0x1e')](handleEntityNotFound(_0x3984e7,null))[_0xb346('0x1e')](saveUpdates(_0x22f2cb[_0xb346('0x53')],null))['then'](respondWithResult(_0x3984e7,null))[_0xb346('0x51')](handleError(_0x3984e7,null));};exports['destroy']=function(_0x245199,_0x120afb){return db[_0xb346('0x4b')][_0xb346('0x50')]({'where':{'id':_0x245199['params']['id']}})['then'](handleEntityNotFound(_0x120afb,null))['then'](removeEntity(_0x120afb,null))[_0xb346('0x51')](handleError(_0x120afb,null));};exports['getConfigurations']=function(_0x3e39cc,_0x71ec81,_0x5cf9f1){var _0x52409e={};var _0x49b7ae={};var _0x40c9f6;var _0x4922a3;return db[_0xb346('0x4b')][_0xb346('0x54')]({'where':{'id':_0x3e39cc[_0xb346('0x4f')]['id']}})[_0xb346('0x1e')](handleEntityNotFound(_0x71ec81,null))[_0xb346('0x1e')](function(_0x566a00){if(_0x566a00){_0x40c9f6=_0x566a00;_0x49b7ae['model']=_[_0xb346('0x3b')](db['Dynamics365Configuration'][_0xb346('0x35')]);_0x49b7ae[_0xb346('0x3a')]=_[_0xb346('0x3b')](_0x3e39cc[_0xb346('0x3a')]);_0x49b7ae['filters']=_[_0xb346('0x3e')](_0x49b7ae['model'],_0x49b7ae['query']);_0x52409e[_0xb346('0x3d')]=_[_0xb346('0x3e')](_0x49b7ae[_0xb346('0x39')],qs['fields'](_0x3e39cc[_0xb346('0x3a')]['fields']));_0x52409e[_0xb346('0x3d')]=_0x52409e[_0xb346('0x3d')]['length']?_0x52409e[_0xb346('0x3d')]:_0x49b7ae[_0xb346('0x39')];_0x52409e['order']=qs[_0xb346('0x45')](_0x3e39cc[_0xb346('0x3a')]['sort']);_0x52409e['where']=qs['filters'](_[_0xb346('0x55')](_0x3e39cc[_0xb346('0x3a')],_0x49b7ae['filters']));if(_0x3e39cc['query'][_0xb346('0x47')]){_0x52409e['where']=_[_0xb346('0x49')](_0x52409e[_0xb346('0x46')],{'$or':_['map'](_0x52409e[_0xb346('0x3d')],function(_0x59218f){var _0x4f85be={};_0x4f85be[_0x59218f]={'$like':'%'+_0x3e39cc[_0xb346('0x3a')][_0xb346('0x47')]+'%'};return _0x4f85be;})});}_0x52409e=_['merge']({},_0x52409e,_0x3e39cc[_0xb346('0x4a')]);return _0x40c9f6[_0xb346('0x56')](_0x52409e);}})['then'](function(_0x187e41){if(_0x187e41){_0x4922a3=_0x187e41[_0xb346('0x40')];if(!_0x3e39cc[_0xb346('0x3a')][_0xb346('0x41')](_0xb346('0x42'))){_0x52409e['limit']=qs[_0xb346('0x43')](_0x3e39cc[_0xb346('0x3a')][_0xb346('0x43')]);_0x52409e[_0xb346('0x44')]=qs['offset'](_0x3e39cc[_0xb346('0x3a')]['offset']);}return _0x40c9f6[_0xb346('0x56')](_0x52409e);}})[_0xb346('0x1e')](function(_0x1b549a){if(_0x1b549a){return _0x1b549a?{'count':_0x4922a3,'rows':_0x1b549a}:null;}})[_0xb346('0x1e')](respondWithResult(_0x71ec81,null))[_0xb346('0x51')](handleError(_0x71ec81,null));};exports[_0xb346('0x57')]=function(_0x468079,_0x3c098e,_0x38c15a){if(_0x468079[_0xb346('0x53')]['id']){delete _0x468079['body']['id'];}return db[_0xb346('0x4b')][_0xb346('0x54')]({'where':{'id':_0x468079['params']['id']}})[_0xb346('0x1e')](handleEntityNotFound(_0x3c098e,null))[_0xb346('0x1e')](function(_0x34aced){if(_0x34aced){_0x468079[_0xb346('0x53')][_0xb346('0x58')]=_0x34aced['id'];_0x468079[_0xb346('0x53')][_0xb346('0x59')]=integrations['getSubjects'](_0x468079[_0xb346('0x53')]['channel'],_0x468079['body'][_0xb346('0x37')]);_0x468079[_0xb346('0x53')][_0xb346('0x5a')]=integrations[_0xb346('0x5b')](_0x468079['body']['channel'],_0x468079['body'][_0xb346('0x37')]);return db[_0xb346('0x5c')][_0xb346('0x52')](_0x468079[_0xb346('0x53')],{'include':[{'model':db['Dynamics365Field'],'as':_0xb346('0x59')},{'model':db[_0xb346('0x5d')],'as':'Descriptions'}]});}return null;})[_0xb346('0x1e')](respondWithResult(_0x3c098e,null))[_0xb346('0x51')](handleError(_0x3c098e,null));};exports[_0xb346('0x5e')]=function(_0x381754,_0x4c9645,_0x168fb1){var _0x5aeda9=_0x381754[_0xb346('0x3a')][_0xb346('0x5f')];var _0x4f163f=_0x5aeda9===_0xb346('0x60')?_0xb346('0x61'):'PhoneCall';var _0x52eb78='';var _0x447328='';var _0xff11e2='';var _0x42e614='';var _0x4d2c32='';var _0x4544af='';var _0xf07bdd='';var _0x4abd66='';var _0x47b65d=[_0xb346('0x62'),_0xb346('0x63'),_0xb346('0x64'),'ownerid',_0xb346('0x65'),_0xb346('0x66'),_0xb346('0x67'),_0xb346('0x68'),_0xb346('0x69'),_0xb346('0x6a')];var _0x102614=[_0xb346('0x6b'),_0xb346('0x6c'),_0xb346('0x6d'),'billedserviceunits',_0xb346('0x6e'),_0xb346('0x6f'),_0xb346('0x70'),_0xb346('0x71'),_0xb346('0x72'),_0xb346('0x73'),_0xb346('0x74'),_0xb346('0x75'),_0xb346('0x76'),_0xb346('0x77'),_0xb346('0x78'),'customeridname',_0xb346('0x79'),'customeridyominame',_0xb346('0x7a'),_0xb346('0x7b'),_0xb346('0x7c'),_0xb346('0x7d'),_0xb346('0x7e'),_0xb346('0x7f'),'firstresponsebykpiidname',_0xb346('0x80'),_0xb346('0x81'),'influencescore',_0xb346('0x82'),_0xb346('0x83'),_0xb346('0x84'),_0xb346('0x85'),_0xb346('0x86'),_0xb346('0x87'),'modifiedbyyominame',_0xb346('0x88'),'modifiedonbehalfbyname',_0xb346('0x89'),'msdyn_incidenttypename',_0xb346('0x8a'),_0xb346('0x8b'),'onholdtime',_0xb346('0x8c'),_0xb346('0x8d'),_0xb346('0x8e'),_0xb346('0x8f'),_0xb346('0x90'),_0xb346('0x91'),'primarycontactidyominame',_0xb346('0x92'),_0xb346('0x93'),_0xb346('0x94'),_0xb346('0x95'),_0xb346('0x96'),_0xb346('0x97'),_0xb346('0x98'),'responsiblecontactidyominame',_0xb346('0x99'),'slainvokedidname',_0xb346('0x9a'),_0xb346('0x9b'),'statecode',_0xb346('0x9c'),_0xb346('0x9d'),_0xb346('0x9e'),_0xb346('0x9f'),_0xb346('0xa0'),_0xb346('0xa1'),'utcconversiontimezonecode','versionnumber'];var _0x2dfe1a=_0x47b65d[_0xb346('0xa2')](_0x102614);return db[_0xb346('0x4b')][_0xb346('0x54')]({'where':{'id':_0x381754[_0xb346('0x4f')]['id']},'attributes':['id',_0xb346('0xa3'),'password',_0xb346('0xa4'),_0xb346('0xa5'),_0xb346('0xa6'),_0xb346('0xa7')]})[_0xb346('0x1e')](handleEntityNotFound(_0x4c9645,null))[_0xb346('0x1e')](function(_0x4a2f07){if(_0x4a2f07){_0x4abd66=_0x4a2f07[_0xb346('0xa4')];var _0x567e99=_0x4abd66['slice'](-0x1);if(_0x567e99==='/'){_0x4abd66=_0x4abd66[_0xb346('0xa8')](0x0,_0x4abd66[_0xb346('0xa9')](_0x567e99));}_0xf07bdd=util[_0xb346('0xaa')](_0xb346('0xab'),_0x4abd66);var _0x54d3fe={'method':_0xb346('0xac'),'uri':_0xb346('0xad')+_0x4a2f07[_0xb346('0xa5')]+_0xb346('0xae'),'form':{'client_id':_0x4a2f07[_0xb346('0xa6')],'resource':_0x4abd66,'username':_0x4a2f07[_0xb346('0xa3')],'password':_0x4a2f07['password'],'grant_type':_0xb346('0xaf'),'client_secret':_0x4a2f07[_0xb346('0xa7')]},'json':!![]};return rp(_0x54d3fe);}})[_0xb346('0x1e')](function(_0x4d914c){_0x4544af=_0x4d914c[_0xb346('0xb0')];var _0x3b9ccc={'method':_0xb346('0xb1'),'uri':encodeURI(_0xf07bdd+_0xb346('0xb2')+_0x4f163f+'\x27'),'headers':{'Authorization':'Bearer\x20'+_0x4544af,'If-None-Match':null,'OData-Version':_0xb346('0xb3')},'json':!![]};return rp(_0x3b9ccc);})[_0xb346('0x1e')](function(_0x155243){var _0x201dd9=_0x155243[_0xb346('0xb4')][0x0];var _0x247081=_0x201dd9[_0xb346('0xb5')];var _0x49fb96={'method':_0xb346('0xb1'),'uri':_0xf07bdd+_0xb346('0xb6')+_0x247081+_0xb346('0xb7'),'headers':{'Authorization':_0xb346('0xb8')+_0x4544af,'If-None-Match':null,'OData-Version':'4.0'},'json':!![]};return rp(_0x49fb96);})[_0xb346('0x1e')](function(_0x240977){_0x52eb78=_0x240977;_0x447328=_0x52eb78[_0xb346('0xb9')];_0x447328=_['remove'](_0x447328,function(_0x149b92){return!_0x2dfe1a[_0xb346('0xba')](_0x149b92['LogicalName']);});var _0x3e3291=[];var _0x226e17=[];_0x447328['forEach'](function(_0x2d19a1){if(_0x2d19a1[_0xb346('0xbb')]){var _0x4eb123=_0x2d19a1[_0xb346('0xbb')][_0xb346('0xa8')](_0x2d19a1[_0xb346('0xbb')]['lastIndexOf']('.')+0x1);if(_0x4eb123===_0xb346('0xbc')){_0x3e3291['push'](getSelectList(_0xf07bdd,_0x5aeda9,_0x226e17,_0x52eb78[_0xb346('0xb5')],_0x2d19a1['MetadataId'],_0x4544af));}}});return Promise[_0xb346('0xbd')](_0x3e3291);})[_0xb346('0x1e')](function(_0x13b555){_0xff11e2=_0x13b555[0x0];var _0x433010=[];var _0x3e89a3=[];_0x447328[_0xb346('0xbe')](function(_0x3d340c){if(!_[_0xb346('0xbf')](_0x3d340c[_0xb346('0xbb')])){var _0x40bbe2=_0x3d340c[_0xb346('0xbb')]['substring'](_0x3d340c[_0xb346('0xbb')][_0xb346('0xa9')]('.')+0x1);if(_0x40bbe2===_0xb346('0xc0')){_0x433010['push'](getBooleanList(_0xf07bdd,_0x5aeda9,_0x3e89a3,_0x52eb78['MetadataId'],_0x3d340c[_0xb346('0xb5')],_0x4544af));}}});return Promise[_0xb346('0xbd')](_0x433010);})[_0xb346('0x1e')](function(_0x898773){_0x42e614=_0x898773[0x0];var _0x67a213=[];var _0x436fcb=[];_0x447328[_0xb346('0xbe')](function(_0x19070a){if(_0x19070a[_0xb346('0xbb')]){var _0x333546=_0x19070a[_0xb346('0xbb')]['substring'](_0x19070a['@odata.type'][_0xb346('0xa9')]('.')+0x1);if(_0x333546===_0xb346('0xc1')||_0x333546==='DoubleAttributeMetadata'||_0x333546==='BigIntAttributeMetadata'||_0x333546==='IntegerAttributeMetadata'||_0x333546===_0xb346('0xc2')||_0x333546===_0xb346('0xc3')||_0x333546===_0xb346('0xc4')||_0x333546===_0xb346('0xc5')||_0x333546===_0xb346('0xc6')||_0x333546===_0xb346('0xc7')){_0x67a213[_0xb346('0xc8')](getInputList(_0xf07bdd,_0x5aeda9,_0x333546,_0x436fcb,_0x52eb78[_0xb346('0xb5')],_0x19070a['MetadataId'],_0x4544af));}}});return Promise[_0xb346('0xbd')](_0x67a213);})['then'](function(_0x175adc){_0x4d2c32=_0x175adc[0x0];var _0x21afea=_0xff11e2[_0xb346('0xa2')](_0x42e614)[_0xb346('0xa2')](_0x4d2c32);var _0x96bfc7={'count':_0x21afea['length'],'rows':_0x21afea};return _0x96bfc7;})['then'](respondWithResult(_0x4c9645,null))[_0xb346('0x51')](function(_0x450bde){var _0x2ef4cb=_0x381754['query'][_0xb346('0x1a')]?0x1f4:_0x450bde['statusCode']||0x1f4;logger[_0xb346('0x24')](_0x450bde[_0xb346('0xc9')]);delete _0x450bde[_0xb346('0x31')];if(_0x2ef4cb===0x191){_0x2ef4cb=0x190;}_0x4c9645['status'](_0x2ef4cb)['send'](_0x381754[_0xb346('0x3a')][_0xb346('0x1a')]?{'message':'Wrong\x20credentials','statusCode':_0x450bde['statusCode']}:_0x450bde);});};function getSelectList(_0x3215f0,_0x45d262,_0x4d0928,_0x521217,_0x1adb0c,_0x36e74c){var _0x3c4cfa={'method':_0xb346('0xb1'),'uri':_0x3215f0+_0xb346('0xb6')+_0x521217+_0xb346('0xca')+_0x1adb0c+')/Microsoft.Dynamics.CRM.PicklistAttributeMetadata?'+'$select=DisplayName,LogicalName&$expand=OptionSet($select=Options)','headers':{'Authorization':_0xb346('0xb8')+_0x36e74c,'If-None-Match':null,'OData-Version':'4.0'},'json':!![]};return rp(_0x3c4cfa)[_0xb346('0x1e')](function(_0x29777e){var _0x431aca=[];var _0x45ab51=_0x29777e[_0xb346('0xcb')]['Options'];_0x45ab51['forEach'](function(_0x2fed7c){_0x431aca['push']({'name':_0x2fed7c[_0xb346('0xcc')][_0xb346('0xcd')][_0xb346('0xcc')],'value':String(_0x2fed7c[_0xb346('0xce')])});});var _0x50b31f={'id':_0x45d262+'_'+_0x29777e[_0xb346('0xcf')],'name':_0x29777e[_0xb346('0xd0')]['UserLocalizedLabel'][_0xb346('0xcc')],'custom':![],'options':_0x431aca};_0x4d0928[_0xb346('0xc8')](_0x50b31f);return _0x4d0928;});}function getBooleanList(_0x2d80f1,_0x162ee4,_0x57dde6,_0x5caff8,_0x22a665,_0x50ae44){var _0x1bfac8={'method':_0xb346('0xb1'),'uri':_0x2d80f1+_0xb346('0xb6')+_0x5caff8+_0xb346('0xca')+_0x22a665+_0xb346('0xd1'),'headers':{'Authorization':_0xb346('0xb8')+_0x50ae44,'If-None-Match':null,'OData-Version':_0xb346('0xb3')},'json':!![]};return rp(_0x1bfac8)[_0xb346('0x1e')](function(_0x3a1d55){var _0x39289f=[];_0x39289f[_0xb346('0xc8')]({'name':_0x3a1d55[_0xb346('0xcb')][_0xb346('0xd2')][_0xb346('0xcc')][_0xb346('0xcd')][_0xb346('0xcc')],'value':_0xb346('0xd3')},{'name':_0x3a1d55[_0xb346('0xcb')][_0xb346('0xd4')][_0xb346('0xcc')][_0xb346('0xcd')][_0xb346('0xcc')],'value':_0xb346('0xd5')});var _0xa0a7fb={'id':_0x162ee4+'_'+_0x3a1d55[_0xb346('0xcf')],'name':_0x3a1d55[_0xb346('0xd0')][_0xb346('0xcd')]['Label'],'custom':![],'options':_0x39289f};_0x57dde6[_0xb346('0xc8')](_0xa0a7fb);return _0x57dde6;});}function getInputList(_0x51a8ba,_0x27527a,_0x15fdde,_0x20684d,_0x2e1605,_0x23e886,_0x4a2d11){var _0x27e2ca={'method':_0xb346('0xb1'),'uri':_0x51a8ba+'EntityDefinitions('+_0x2e1605+_0xb346('0xca')+_0x23e886+_0xb346('0xd6')+_0x15fdde+'?$select=DisplayName,LogicalName','headers':{'Authorization':_0xb346('0xb8')+_0x4a2d11,'If-None-Match':null,'OData-Version':_0xb346('0xb3')},'json':!![]};return rp(_0x27e2ca)[_0xb346('0x1e')](function(_0x183d44){var _0x20d807={'id':_0x27527a+'_'+_0x183d44[_0xb346('0xcf')],'name':_0x183d44[_0xb346('0xd0')][_0xb346('0xcd')]?_0x183d44[_0xb346('0xd0')][_0xb346('0xcd')]['Label']:_0x183d44[_0xb346('0xcf')],'custom':![],'options':[]};_0x20684d[_0xb346('0xc8')](_0x20d807);return _0x20684d;});}