6eba2b53e8880b2de52736851cbbd8b0fa610618
[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 _0xf3ec=['../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','client','http','request','info','Dynamics365Account,\x20%s,\x20%s','debug','Dynamics365Account,\x20%s,\x20%s,\x20%s','request\x20sent','error','code','message','catch','sendStatus','end','status','json','count','offset','limit','set','Content-Range','apply','reject','update','then','stack','name','send','index','map','Dynamics365Account','rawAttributes','type','key','model','query','keys','filters','intersection','fields','attributes','length','nolimit','order','sort','pick','filter','where','VIRTUAL','merge','options','includeAll','include','rows','show','find','create','body','params','destroy','getConfigurations','findOne','Dynamics365Configuration','hasOwnProperty','addConfiguration','Subjects','channel','Descriptions','getDescriptions','Dynamics365Field','incident','title','description','customerid','ownerid','subject','phonenumber','regardingobjectid','directioncode','phonecall_activity_parties','accountidyominame','actualserviceunits','billedserviceunits','contactidname','contactidyominame','contractidname','createdbyexternalpartyname','createdon','createdonbehalfbyname','createdonbehalfbyyominame','customeridname','customeridtype','customeridyominame','entitlementidname','escalatedon','exchangerate','firstresponsebykpiidname','followupby','importsequencenumber','kbarticleidname','lastonholdtime','modifiedbyexternalpartyname','modifiedbyexternalpartyyominame','modifiedbyname','modifiedbyyominame','modifiedon','modifiedonbehalfbyname','msdyn_incidenttypename','msdyn_iotalertname','numberofchildincidents','onholdtime','overriddencreatedon','owneridtype','primarycontactidname','primarycontactidyominame','prioritycodename','productidname','productserialnumber','resolveby','responsiblecontactidname','responsiblecontactidyominame','slainvokedidname','slaname','statecode','subjectidname','ticketnumber','timezoneruleversionnumber','transactioncurrencyidname','traversedpath','utcconversiontimezonecode','versionnumber','concat','username','password','remoteUri','tenantId','clientId','clientSecret','slice','substring','lastIndexOf','format','%s/api/data/v9.0/','POST','https://login.microsoftonline.com/','/oauth2/token','EntityDefinitions?$select=DisplayName,EntitySetName&$filter=SchemaName\x20eq\x20\x27','Bearer\x20','EntityDefinitions(','4.0','remove','includes','LogicalName','forEach','@odata.type','PicklistAttributeMetadata','push','all','isNil','BooleanAttributeMetadata','MetadataId','StringAttributeMetadata','DoubleAttributeMetadata','BigIntAttributeMetadata','IntegerAttributeMetadata','MemoAttributeMetadata','StatusAttributeMetadata','StateAttributeMetadata','DecimalAttributeMetadata','test','statusCode','GET',')/Microsoft.Dynamics.CRM.PicklistAttributeMetadata?','$select=DisplayName,LogicalName&$expand=OptionSet($select=Options)','Options','UserLocalizedLabel','Label',')/Attributes(',')/Microsoft.Dynamics.CRM.BooleanAttributeMetadata?$select=DisplayName,LogicalName&$expand=OptionSet($select=FalseOption,\x20TrueOption)','OptionSet','true','FalseOption','?$select=DisplayName,LogicalName','DisplayName','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','path','ejs','lodash','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware'];(function(_0x4e8d49,_0xb8f611){var _0x569df0=function(_0x4dde4c){while(--_0x4dde4c){_0x4e8d49['push'](_0x4e8d49['shift']());}};_0x569df0(++_0xb8f611);}(_0xf3ec,0xbe));var _0xcf3e=function(_0x75fbac,_0x4f4fb3){_0x75fbac=_0x75fbac-0x0;var _0x194ed5=_0xf3ec[_0x75fbac];return _0x194ed5;};'use strict';var pdf=require(_0xcf3e('0x0'));var emlformat=require(_0xcf3e('0x1'));var rimraf=require(_0xcf3e('0x2'));var zipdir=require(_0xcf3e('0x3'));var jsonpatch=require(_0xcf3e('0x4'));var rp=require(_0xcf3e('0x5'));var moment=require(_0xcf3e('0x6'));var BPromise=require(_0xcf3e('0x7'));var Mustache=require('mustache');var util=require('util');var path=require(_0xcf3e('0x8'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0xcf3e('0x9'));var fs=require('fs');var _=require(_0xcf3e('0xa'));var squel=require('squel');var crypto=require(_0xcf3e('0xb'));var jsforce=require(_0xcf3e('0xc'));var deskjs=require(_0xcf3e('0xd'));var toCsv=require(_0xcf3e('0xe'));var querystring=require(_0xcf3e('0xf'));var Papa=require(_0xcf3e('0x10'));var Redis=require(_0xcf3e('0x11'));var authService=require(_0xcf3e('0x12'));var qs=require(_0xcf3e('0x13'));var as=require(_0xcf3e('0x14'));var hardwareService=require(_0xcf3e('0x15'));var logger=require(_0xcf3e('0x16'))(_0xcf3e('0x17'));var utils=require(_0xcf3e('0x18'));var config=require(_0xcf3e('0x19'));var licenseUtil=require(_0xcf3e('0x1a'));var db=require(_0xcf3e('0x1b'))['db'];var integrations=require('../../components/integrations/configuration');var jayson=require('jayson/promise');var client=jayson[_0xcf3e('0x1c')][_0xcf3e('0x1d')]({'port':0x232a});function respondWithRpcPromise(_0x4ea811,_0x432f1e,_0x552742,_0x1cf2e4){return new BPromise(function(_0x202943,_0x42f589){var _0x3dc4ee=_0x1cf2e4||client;return _0x3dc4ee[_0xcf3e('0x1e')](_0x4ea811,_0x552742)['then'](function(_0x5dab6c){logger[_0xcf3e('0x1f')](_0xcf3e('0x20'),_0x432f1e,'request\x20sent');logger[_0xcf3e('0x21')](_0xcf3e('0x22'),_0x432f1e,_0xcf3e('0x23'),JSON['stringify'](_0x5dab6c));if(_0x5dab6c[_0xcf3e('0x24')]){if(_0x5dab6c[_0xcf3e('0x24')][_0xcf3e('0x25')]===0x1f4){logger['error']('Dynamics365Account,\x20%s,\x20%s',_0x432f1e,_0x5dab6c[_0xcf3e('0x24')][_0xcf3e('0x26')]);return _0x42f589(_0x5dab6c[_0xcf3e('0x24')]['message']);}logger['error']('Dynamics365Account,\x20%s,\x20%s',_0x432f1e,_0x5dab6c['error'][_0xcf3e('0x26')]);return _0x202943(_0x5dab6c[_0xcf3e('0x24')][_0xcf3e('0x26')]);}else{logger[_0xcf3e('0x1f')](_0xcf3e('0x20'),_0x432f1e,_0xcf3e('0x23'));_0x202943(_0x5dab6c['result']['message']);}})[_0xcf3e('0x27')](function(_0x26173a){logger[_0xcf3e('0x24')](_0xcf3e('0x20'),_0x432f1e,_0x26173a);_0x42f589(_0x26173a);});});}function respondWithStatusCode(_0x13212e,_0x1825d1){_0x1825d1=_0x1825d1||0xcc;return function(_0x4f7629){if(_0x4f7629){return _0x13212e[_0xcf3e('0x28')](_0x1825d1);}return _0x13212e['status'](_0x1825d1)[_0xcf3e('0x29')]();};}function respondWithResult(_0x524433,_0xdf424b){_0xdf424b=_0xdf424b||0xc8;return function(_0x50c2b2){if(_0x50c2b2){return _0x524433[_0xcf3e('0x2a')](_0xdf424b)[_0xcf3e('0x2b')](_0x50c2b2);}};}function respondWithFilteredResult(_0x19a341,_0x1ac468){return function(_0x350a2c){if(_0x350a2c){var _0xcfcdd9=_0x350a2c[_0xcf3e('0x2c')],_0x56a99d=_0x1ac468[_0xcf3e('0x2d')],_0x267c42=_0x1ac468[_0xcf3e('0x2d')]+_0x1ac468[_0xcf3e('0x2e')],_0x2c57fc;if(_0x267c42>=_0xcfcdd9){_0x267c42=_0xcfcdd9;_0x2c57fc=0xc8;}else{_0x2c57fc=0xce;}_0x19a341[_0xcf3e('0x2a')](_0x2c57fc);return _0x19a341[_0xcf3e('0x2f')](_0xcf3e('0x30'),_0x56a99d+'-'+_0x267c42+'/'+_0xcfcdd9)[_0xcf3e('0x2b')](_0x350a2c);}return null;};}function patchUpdates(_0x1940b5){return function(_0x115bf4){try{jsonpatch[_0xcf3e('0x31')](_0x115bf4,_0x1940b5,!![]);}catch(_0x40f4ac){return BPromise[_0xcf3e('0x32')](_0x40f4ac);}return _0x115bf4['save']();};}function saveUpdates(_0x4ed382,_0x19dd34){return function(_0xa25963){if(_0xa25963){return _0xa25963[_0xcf3e('0x33')](_0x4ed382)[_0xcf3e('0x34')](function(_0x3f988f){return _0x3f988f;});}return null;};}function removeEntity(_0x50afa8,_0x1568ff){return function(_0x22203b){if(_0x22203b){return _0x22203b['destroy']()[_0xcf3e('0x34')](function(){_0x50afa8['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x34dadd,_0x4daf4d){return function(_0x71c504){if(!_0x71c504){_0x34dadd['sendStatus'](0x194);}return _0x71c504;};}function handleError(_0x4f42a0,_0xf287aa){_0xf287aa=_0xf287aa||0x1f4;return function(_0x1bf15c){logger[_0xcf3e('0x24')](_0x1bf15c[_0xcf3e('0x35')]);if(_0x1bf15c[_0xcf3e('0x36')]){delete _0x1bf15c[_0xcf3e('0x36')];}_0x4f42a0[_0xcf3e('0x2a')](_0xf287aa)[_0xcf3e('0x37')](_0x1bf15c);};}exports[_0xcf3e('0x38')]=function(_0x3add62,_0x5ba795){var _0x3b42ea={},_0x56bcc9={},_0x23a64d={'count':0x0,'rows':[]};var _0x2e9ba2=_[_0xcf3e('0x39')](db[_0xcf3e('0x3a')][_0xcf3e('0x3b')],function(_0x3f3c9a){return{'name':_0x3f3c9a['fieldName'],'type':_0x3f3c9a[_0xcf3e('0x3c')][_0xcf3e('0x3d')]};});_0x56bcc9[_0xcf3e('0x3e')]=_[_0xcf3e('0x39')](_0x2e9ba2,'name');_0x56bcc9[_0xcf3e('0x3f')]=_[_0xcf3e('0x40')](_0x3add62[_0xcf3e('0x3f')]);_0x56bcc9[_0xcf3e('0x41')]=_[_0xcf3e('0x42')](_0x56bcc9['model'],_0x56bcc9[_0xcf3e('0x3f')]);_0x3b42ea['attributes']=_[_0xcf3e('0x42')](_0x56bcc9[_0xcf3e('0x3e')],qs[_0xcf3e('0x43')](_0x3add62['query']['fields']));_0x3b42ea[_0xcf3e('0x44')]=_0x3b42ea[_0xcf3e('0x44')][_0xcf3e('0x45')]?_0x3b42ea[_0xcf3e('0x44')]:_0x56bcc9[_0xcf3e('0x3e')];if(!_0x3add62[_0xcf3e('0x3f')]['hasOwnProperty'](_0xcf3e('0x46'))){_0x3b42ea['limit']=qs[_0xcf3e('0x2e')](_0x3add62['query']['limit']);_0x3b42ea[_0xcf3e('0x2d')]=qs['offset'](_0x3add62[_0xcf3e('0x3f')][_0xcf3e('0x2d')]);}_0x3b42ea[_0xcf3e('0x47')]=qs['sort'](_0x3add62[_0xcf3e('0x3f')][_0xcf3e('0x48')]);_0x3b42ea['where']=qs[_0xcf3e('0x41')](_[_0xcf3e('0x49')](_0x3add62[_0xcf3e('0x3f')],_0x56bcc9['filters']),_0x2e9ba2);if(_0x3add62[_0xcf3e('0x3f')][_0xcf3e('0x4a')]){_0x3b42ea[_0xcf3e('0x4b')]=_['merge'](_0x3b42ea[_0xcf3e('0x4b')],{'$or':_[_0xcf3e('0x39')](_0x2e9ba2,function(_0x572c77){if(_0x572c77['type']!==_0xcf3e('0x4c')){var _0x6491={};_0x6491[_0x572c77[_0xcf3e('0x36')]]={'$like':'%'+_0x3add62[_0xcf3e('0x3f')][_0xcf3e('0x4a')]+'%'};return _0x6491;}})});}_0x3b42ea=_[_0xcf3e('0x4d')]({},_0x3b42ea,_0x3add62[_0xcf3e('0x4e')]);var _0x504460={'where':_0x3b42ea[_0xcf3e('0x4b')]};return db[_0xcf3e('0x3a')]['count'](_0x504460)[_0xcf3e('0x34')](function(_0x51d741){_0x23a64d[_0xcf3e('0x2c')]=_0x51d741;if(_0x3add62[_0xcf3e('0x3f')][_0xcf3e('0x4f')]){_0x3b42ea[_0xcf3e('0x50')]=[{'all':!![]}];}return db[_0xcf3e('0x3a')]['findAll'](_0x3b42ea);})[_0xcf3e('0x34')](function(_0x3ca50d){_0x23a64d[_0xcf3e('0x51')]=_0x3ca50d;return _0x23a64d;})[_0xcf3e('0x34')](respondWithFilteredResult(_0x5ba795,_0x3b42ea))[_0xcf3e('0x27')](handleError(_0x5ba795,null));};exports[_0xcf3e('0x52')]=function(_0x5c8950,_0x5db5f6){var _0x120f19={'raw':![],'where':{'id':_0x5c8950['params']['id']}},_0x199717={};_0x199717[_0xcf3e('0x3e')]=_[_0xcf3e('0x40')](db[_0xcf3e('0x3a')][_0xcf3e('0x3b')]);_0x199717[_0xcf3e('0x3f')]=_[_0xcf3e('0x40')](_0x5c8950[_0xcf3e('0x3f')]);_0x199717['filters']=_['intersection'](_0x199717[_0xcf3e('0x3e')],_0x199717['query']);_0x120f19[_0xcf3e('0x44')]=_[_0xcf3e('0x42')](_0x199717[_0xcf3e('0x3e')],qs[_0xcf3e('0x43')](_0x5c8950[_0xcf3e('0x3f')][_0xcf3e('0x43')]));_0x120f19['attributes']=_0x120f19['attributes'][_0xcf3e('0x45')]?_0x120f19[_0xcf3e('0x44')]:_0x199717['model'];if(_0x5c8950[_0xcf3e('0x3f')]['includeAll']){_0x120f19[_0xcf3e('0x50')]=[{'all':!![]}];}_0x120f19=_['merge']({},_0x120f19,_0x5c8950[_0xcf3e('0x4e')]);return db[_0xcf3e('0x3a')][_0xcf3e('0x53')](_0x120f19)[_0xcf3e('0x34')](handleEntityNotFound(_0x5db5f6,null))[_0xcf3e('0x34')](respondWithResult(_0x5db5f6,null))[_0xcf3e('0x27')](handleError(_0x5db5f6,null));};exports[_0xcf3e('0x54')]=function(_0x16d748,_0x39dea9){return db[_0xcf3e('0x3a')]['create'](_0x16d748[_0xcf3e('0x55')],{})[_0xcf3e('0x34')](respondWithResult(_0x39dea9,0xc9))[_0xcf3e('0x27')](handleError(_0x39dea9,null));};exports[_0xcf3e('0x33')]=function(_0x15cc2a,_0x50b830){if(_0x15cc2a[_0xcf3e('0x55')]['id']){delete _0x15cc2a[_0xcf3e('0x55')]['id'];}return db[_0xcf3e('0x3a')][_0xcf3e('0x53')]({'where':{'id':_0x15cc2a[_0xcf3e('0x56')]['id']}})[_0xcf3e('0x34')](handleEntityNotFound(_0x50b830,null))[_0xcf3e('0x34')](saveUpdates(_0x15cc2a['body'],null))[_0xcf3e('0x34')](respondWithResult(_0x50b830,null))['catch'](handleError(_0x50b830,null));};exports[_0xcf3e('0x57')]=function(_0x4ada0f,_0x2dc9fb){return db['Dynamics365Account']['find']({'where':{'id':_0x4ada0f[_0xcf3e('0x56')]['id']}})[_0xcf3e('0x34')](handleEntityNotFound(_0x2dc9fb,null))['then'](removeEntity(_0x2dc9fb,null))[_0xcf3e('0x27')](handleError(_0x2dc9fb,null));};exports[_0xcf3e('0x58')]=function(_0x489f0a,_0xc37ab8,_0x481997){var _0x2c39a7={};var _0xf0993b={};var _0x35348c;var _0x11c01d;return db[_0xcf3e('0x3a')][_0xcf3e('0x59')]({'where':{'id':_0x489f0a[_0xcf3e('0x56')]['id']}})['then'](handleEntityNotFound(_0xc37ab8,null))[_0xcf3e('0x34')](function(_0xfd85c1){if(_0xfd85c1){_0x35348c=_0xfd85c1;_0xf0993b[_0xcf3e('0x3e')]=_[_0xcf3e('0x40')](db[_0xcf3e('0x5a')][_0xcf3e('0x3b')]);_0xf0993b[_0xcf3e('0x3f')]=_[_0xcf3e('0x40')](_0x489f0a[_0xcf3e('0x3f')]);_0xf0993b['filters']=_[_0xcf3e('0x42')](_0xf0993b[_0xcf3e('0x3e')],_0xf0993b[_0xcf3e('0x3f')]);_0x2c39a7['attributes']=_[_0xcf3e('0x42')](_0xf0993b[_0xcf3e('0x3e')],qs[_0xcf3e('0x43')](_0x489f0a[_0xcf3e('0x3f')][_0xcf3e('0x43')]));_0x2c39a7[_0xcf3e('0x44')]=_0x2c39a7[_0xcf3e('0x44')][_0xcf3e('0x45')]?_0x2c39a7['attributes']:_0xf0993b[_0xcf3e('0x3e')];_0x2c39a7[_0xcf3e('0x47')]=qs[_0xcf3e('0x48')](_0x489f0a[_0xcf3e('0x3f')][_0xcf3e('0x48')]);_0x2c39a7['where']=qs[_0xcf3e('0x41')](_[_0xcf3e('0x49')](_0x489f0a['query'],_0xf0993b[_0xcf3e('0x41')]));if(_0x489f0a[_0xcf3e('0x3f')][_0xcf3e('0x4a')]){_0x2c39a7[_0xcf3e('0x4b')]=_[_0xcf3e('0x4d')](_0x2c39a7[_0xcf3e('0x4b')],{'$or':_['map'](_0x2c39a7[_0xcf3e('0x44')],function(_0x5ac8a3){var _0x9a8c98={};_0x9a8c98[_0x5ac8a3]={'$like':'%'+_0x489f0a['query'][_0xcf3e('0x4a')]+'%'};return _0x9a8c98;})});}_0x2c39a7=_[_0xcf3e('0x4d')]({},_0x2c39a7,_0x489f0a['options']);return _0x35348c[_0xcf3e('0x58')](_0x2c39a7);}})[_0xcf3e('0x34')](function(_0x4e5207){if(_0x4e5207){_0x11c01d=_0x4e5207['length'];if(!_0x489f0a[_0xcf3e('0x3f')][_0xcf3e('0x5b')](_0xcf3e('0x46'))){_0x2c39a7[_0xcf3e('0x2e')]=qs['limit'](_0x489f0a['query']['limit']);_0x2c39a7[_0xcf3e('0x2d')]=qs[_0xcf3e('0x2d')](_0x489f0a[_0xcf3e('0x3f')][_0xcf3e('0x2d')]);}return _0x35348c[_0xcf3e('0x58')](_0x2c39a7);}})['then'](function(_0x17332a){if(_0x17332a){return _0x17332a?{'count':_0x11c01d,'rows':_0x17332a}:null;}})[_0xcf3e('0x34')](respondWithResult(_0xc37ab8,null))[_0xcf3e('0x27')](handleError(_0xc37ab8,null));};exports[_0xcf3e('0x5c')]=function(_0x2941c7,_0x2a9377,_0x305357){if(_0x2941c7[_0xcf3e('0x55')]['id']){delete _0x2941c7[_0xcf3e('0x55')]['id'];}return db[_0xcf3e('0x3a')][_0xcf3e('0x59')]({'where':{'id':_0x2941c7['params']['id']}})[_0xcf3e('0x34')](handleEntityNotFound(_0x2a9377,null))[_0xcf3e('0x34')](function(_0x311a8c){if(_0x311a8c){_0x2941c7['body']['AccountId']=_0x311a8c['id'];_0x2941c7['body'][_0xcf3e('0x5d')]=integrations['getSubjects'](_0x2941c7[_0xcf3e('0x55')][_0xcf3e('0x5e')],_0x2941c7[_0xcf3e('0x55')][_0xcf3e('0x3c')]);_0x2941c7[_0xcf3e('0x55')][_0xcf3e('0x5f')]=integrations[_0xcf3e('0x60')](_0x2941c7['body'][_0xcf3e('0x5e')],_0x2941c7[_0xcf3e('0x55')][_0xcf3e('0x3c')]);return db[_0xcf3e('0x5a')]['create'](_0x2941c7[_0xcf3e('0x55')],{'include':[{'model':db['Dynamics365Field'],'as':'Subjects'},{'model':db[_0xcf3e('0x61')],'as':_0xcf3e('0x5f')}]});}return null;})[_0xcf3e('0x34')](respondWithResult(_0x2a9377,null))[_0xcf3e('0x27')](handleError(_0x2a9377,null));};exports['getFields']=function(_0xc5f788,_0x44cbd2,_0x538fa2){var _0x2b0e12=_0xc5f788['query']['ticketType'];var _0x9b5c80=_0x2b0e12===_0xcf3e('0x62')?'Incident':'PhoneCall';var _0x528e59='';var _0x25d893='';var _0x1806f9='';var _0x42f06e='';var _0x3e086b='';var _0x3659c1='';var _0x4edf2a='';var _0x256662='';var _0x261fcf=[_0xcf3e('0x63'),_0xcf3e('0x64'),_0xcf3e('0x65'),_0xcf3e('0x66'),'caseorigincode',_0xcf3e('0x67'),_0xcf3e('0x68'),_0xcf3e('0x69'),_0xcf3e('0x6a'),_0xcf3e('0x6b')];var _0x46fab8=['accountidname',_0xcf3e('0x6c'),_0xcf3e('0x6d'),_0xcf3e('0x6e'),_0xcf3e('0x6f'),_0xcf3e('0x70'),'contractdetailidname',_0xcf3e('0x71'),_0xcf3e('0x72'),'createdbyexternalpartyyominame','createdbyname','createdbyyominame',_0xcf3e('0x73'),_0xcf3e('0x74'),_0xcf3e('0x75'),_0xcf3e('0x76'),_0xcf3e('0x77'),_0xcf3e('0x78'),'emailaddress',_0xcf3e('0x79'),'entityimage_timestamp','entityimage_url',_0xcf3e('0x7a'),_0xcf3e('0x7b'),_0xcf3e('0x7c'),_0xcf3e('0x7d'),_0xcf3e('0x7e'),'influencescore',_0xcf3e('0x7f'),_0xcf3e('0x80'),'masteridname',_0xcf3e('0x81'),_0xcf3e('0x82'),_0xcf3e('0x83'),_0xcf3e('0x84'),_0xcf3e('0x85'),_0xcf3e('0x86'),'modifiedonbehalfbyyominame',_0xcf3e('0x87'),_0xcf3e('0x88'),_0xcf3e('0x89'),_0xcf3e('0x8a'),_0xcf3e('0x8b'),'owneridname',_0xcf3e('0x8c'),'owneridyominame','parentcaseidname',_0xcf3e('0x8d'),_0xcf3e('0x8e'),_0xcf3e('0x8f'),_0xcf3e('0x90'),_0xcf3e('0x91'),_0xcf3e('0x92'),'resolvebykpiidname','responseby',_0xcf3e('0x93'),_0xcf3e('0x94'),'sentimentvalue',_0xcf3e('0x95'),_0xcf3e('0x96'),'socialprofileidname',_0xcf3e('0x97'),'statuscode',_0xcf3e('0x98'),_0xcf3e('0x99'),_0xcf3e('0x9a'),_0xcf3e('0x9b'),_0xcf3e('0x9c'),_0xcf3e('0x9d'),_0xcf3e('0x9e')];var _0x5d7301=_0x261fcf[_0xcf3e('0x9f')](_0x46fab8);return db[_0xcf3e('0x3a')][_0xcf3e('0x59')]({'where':{'id':_0xc5f788[_0xcf3e('0x56')]['id']},'attributes':['id',_0xcf3e('0xa0'),_0xcf3e('0xa1'),_0xcf3e('0xa2'),_0xcf3e('0xa3'),_0xcf3e('0xa4'),_0xcf3e('0xa5')]})[_0xcf3e('0x34')](handleEntityNotFound(_0x44cbd2,null))[_0xcf3e('0x34')](function(_0x231e08){if(_0x231e08){_0x256662=_0x231e08['remoteUri'];var _0x502950=_0x256662[_0xcf3e('0xa6')](-0x1);if(_0x502950==='/'){_0x256662=_0x256662[_0xcf3e('0xa7')](0x0,_0x256662[_0xcf3e('0xa8')](_0x502950));}_0x4edf2a=util[_0xcf3e('0xa9')](_0xcf3e('0xaa'),_0x256662);var _0x404edc={'method':_0xcf3e('0xab'),'uri':_0xcf3e('0xac')+_0x231e08[_0xcf3e('0xa3')]+_0xcf3e('0xad'),'form':{'client_id':_0x231e08[_0xcf3e('0xa4')],'resource':_0x256662,'username':_0x231e08['username'],'password':_0x231e08['password'],'grant_type':'password','client_secret':_0x231e08['clientSecret']},'json':!![]};return rp(_0x404edc);}})[_0xcf3e('0x34')](function(_0x2d1f9e){_0x3659c1=_0x2d1f9e['access_token'];var _0x4cb12e={'method':'GET','uri':encodeURI(_0x4edf2a+_0xcf3e('0xae')+_0x9b5c80+'\x27'),'headers':{'Authorization':_0xcf3e('0xaf')+_0x3659c1,'If-None-Match':null,'OData-Version':'4.0'},'json':!![]};return rp(_0x4cb12e);})[_0xcf3e('0x34')](function(_0x29a7ed){var _0xbd2dda=_0x29a7ed['value'][0x0];var _0x47a635=_0xbd2dda['MetadataId'];var _0x4937d9={'method':'GET','uri':_0x4edf2a+_0xcf3e('0xb0')+_0x47a635+')?$select=LogicalName&$expand=Attributes($select=LogicalName)','headers':{'Authorization':'Bearer\x20'+_0x3659c1,'If-None-Match':null,'OData-Version':_0xcf3e('0xb1')},'json':!![]};return rp(_0x4937d9);})[_0xcf3e('0x34')](function(_0x3412fc){_0x528e59=_0x3412fc;_0x25d893=_0x528e59['Attributes'];_0x25d893=_[_0xcf3e('0xb2')](_0x25d893,function(_0x5f3265){return!_0x5d7301[_0xcf3e('0xb3')](_0x5f3265[_0xcf3e('0xb4')]);});var _0x1b1def=[];var _0x4832e7=[];_0x25d893[_0xcf3e('0xb5')](function(_0x162f36){if(_0x162f36['@odata.type']){var _0x3ecc9c=_0x162f36['@odata.type'][_0xcf3e('0xa7')](_0x162f36[_0xcf3e('0xb6')][_0xcf3e('0xa8')]('.')+0x1);if(_0x3ecc9c===_0xcf3e('0xb7')){_0x1b1def[_0xcf3e('0xb8')](getSelectList(_0x4edf2a,_0x2b0e12,_0x4832e7,_0x528e59['MetadataId'],_0x162f36['MetadataId'],_0x3659c1));}}});return Promise[_0xcf3e('0xb9')](_0x1b1def);})['then'](function(_0x651e30){_0x1806f9=_0x651e30[0x0];var _0x46721f=[];var _0x22dff6=[];_0x25d893[_0xcf3e('0xb5')](function(_0x1d7eae){if(!_[_0xcf3e('0xba')](_0x1d7eae[_0xcf3e('0xb6')])){var _0x66c7bc=_0x1d7eae[_0xcf3e('0xb6')][_0xcf3e('0xa7')](_0x1d7eae[_0xcf3e('0xb6')][_0xcf3e('0xa8')]('.')+0x1);if(_0x66c7bc===_0xcf3e('0xbb')){_0x46721f[_0xcf3e('0xb8')](getBooleanList(_0x4edf2a,_0x2b0e12,_0x22dff6,_0x528e59[_0xcf3e('0xbc')],_0x1d7eae[_0xcf3e('0xbc')],_0x3659c1));}}});return Promise[_0xcf3e('0xb9')](_0x46721f);})['then'](function(_0x4b4a14){_0x42f06e=_0x4b4a14[0x0];var _0x58e182=[];var _0x33a596=[];_0x25d893[_0xcf3e('0xb5')](function(_0x58a999){if(_0x58a999[_0xcf3e('0xb6')]){var _0x437b3e=_0x58a999[_0xcf3e('0xb6')]['substring'](_0x58a999[_0xcf3e('0xb6')][_0xcf3e('0xa8')]('.')+0x1);if(_0x437b3e===_0xcf3e('0xbd')||_0x437b3e===_0xcf3e('0xbe')||_0x437b3e===_0xcf3e('0xbf')||_0x437b3e===_0xcf3e('0xc0')||_0x437b3e===_0xcf3e('0xc1')||_0x437b3e==='DateTimeAttributeMetadata'||_0x437b3e===_0xcf3e('0xc2')||_0x437b3e==='EntityNameAttributeMetadata'||_0x437b3e===_0xcf3e('0xc3')||_0x437b3e===_0xcf3e('0xc4')){_0x58e182[_0xcf3e('0xb8')](getInputList(_0x4edf2a,_0x2b0e12,_0x437b3e,_0x33a596,_0x528e59[_0xcf3e('0xbc')],_0x58a999[_0xcf3e('0xbc')],_0x3659c1));}}});return Promise[_0xcf3e('0xb9')](_0x58e182);})['then'](function(_0x57b37b){_0x3e086b=_0x57b37b[0x0];var _0x2a023c=_0x1806f9['concat'](_0x42f06e)[_0xcf3e('0x9f')](_0x3e086b);var _0x40ec6f={'count':_0x2a023c[_0xcf3e('0x45')],'rows':_0x2a023c};return _0x40ec6f;})[_0xcf3e('0x34')](respondWithResult(_0x44cbd2,null))[_0xcf3e('0x27')](function(_0x59f7c8){var _0x496a29=_0xc5f788[_0xcf3e('0x3f')][_0xcf3e('0xc5')]?0x1f4:_0x59f7c8['statusCode']||0x1f4;logger['error'](_0x59f7c8[_0xcf3e('0x35')]);delete _0x59f7c8[_0xcf3e('0x36')];if(_0x496a29===0x191){_0x496a29=0x190;}_0x44cbd2[_0xcf3e('0x2a')](_0x496a29)['send'](_0xc5f788[_0xcf3e('0x3f')][_0xcf3e('0xc5')]?{'message':'Wrong\x20credentials','statusCode':_0x59f7c8[_0xcf3e('0xc6')]}:_0x59f7c8);});};function getSelectList(_0x34fbb5,_0xc00ab9,_0x5c4be0,_0x2d3887,_0x169225,_0x49f4f4){var _0x16941a={'method':_0xcf3e('0xc7'),'uri':_0x34fbb5+_0xcf3e('0xb0')+_0x2d3887+')/Attributes('+_0x169225+_0xcf3e('0xc8')+_0xcf3e('0xc9'),'headers':{'Authorization':_0xcf3e('0xaf')+_0x49f4f4,'If-None-Match':null,'OData-Version':_0xcf3e('0xb1')},'json':!![]};return rp(_0x16941a)[_0xcf3e('0x34')](function(_0x362e05){var _0x3317bb=[];var _0x3108a9=_0x362e05['OptionSet'][_0xcf3e('0xca')];_0x3108a9['forEach'](function(_0x36cab6){_0x3317bb[_0xcf3e('0xb8')]({'name':_0x36cab6['Label'][_0xcf3e('0xcb')][_0xcf3e('0xcc')],'value':String(_0x36cab6['Value'])});});var _0x304acc={'id':_0xc00ab9+'_'+_0x362e05[_0xcf3e('0xb4')],'name':_0x362e05['DisplayName'][_0xcf3e('0xcb')][_0xcf3e('0xcc')],'custom':![],'options':_0x3317bb};_0x5c4be0[_0xcf3e('0xb8')](_0x304acc);return _0x5c4be0;});}function getBooleanList(_0x3d99c8,_0xec4023,_0x574bd0,_0x8e027a,_0x2f1f0f,_0x1560f4){var _0x4b8aaf={'method':_0xcf3e('0xc7'),'uri':_0x3d99c8+_0xcf3e('0xb0')+_0x8e027a+_0xcf3e('0xcd')+_0x2f1f0f+_0xcf3e('0xce'),'headers':{'Authorization':_0xcf3e('0xaf')+_0x1560f4,'If-None-Match':null,'OData-Version':_0xcf3e('0xb1')},'json':!![]};return rp(_0x4b8aaf)['then'](function(_0x400797){var _0x353720=[];_0x353720['push']({'name':_0x400797[_0xcf3e('0xcf')]['TrueOption'][_0xcf3e('0xcc')][_0xcf3e('0xcb')][_0xcf3e('0xcc')],'value':_0xcf3e('0xd0')},{'name':_0x400797[_0xcf3e('0xcf')][_0xcf3e('0xd1')][_0xcf3e('0xcc')][_0xcf3e('0xcb')][_0xcf3e('0xcc')],'value':'false'});var _0x2b59fa={'id':_0xec4023+'_'+_0x400797['LogicalName'],'name':_0x400797['DisplayName'][_0xcf3e('0xcb')][_0xcf3e('0xcc')],'custom':![],'options':_0x353720};_0x574bd0[_0xcf3e('0xb8')](_0x2b59fa);return _0x574bd0;});}function getInputList(_0x3c11bf,_0x311f3c,_0x1b4176,_0xfedbfd,_0x339f55,_0x534f54,_0x572b65){var _0x18d243={'method':_0xcf3e('0xc7'),'uri':_0x3c11bf+'EntityDefinitions('+_0x339f55+')/Attributes('+_0x534f54+')/Microsoft.Dynamics.CRM.'+_0x1b4176+_0xcf3e('0xd2'),'headers':{'Authorization':'Bearer\x20'+_0x572b65,'If-None-Match':null,'OData-Version':_0xcf3e('0xb1')},'json':!![]};return rp(_0x18d243)[_0xcf3e('0x34')](function(_0x184a6d){var _0x274f2a={'id':_0x311f3c+'_'+_0x184a6d[_0xcf3e('0xb4')],'name':_0x184a6d[_0xcf3e('0xd3')][_0xcf3e('0xcb')]?_0x184a6d[_0xcf3e('0xd3')][_0xcf3e('0xcb')][_0xcf3e('0xcc')]:_0x184a6d[_0xcf3e('0xb4')],'custom':![],'options':[]};_0xfedbfd['push'](_0x274f2a);return _0xfedbfd;});}