7887bf403dde543d0aa6267bdcd9db6520402858
[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 _0x072a=['attributes','length','hasOwnProperty','nolimit','order','sort','where','filters','pick','filter','type','options','includeAll','include','findAll','show','params','find','create','body','getConfigurations','findOne','Dynamics365Configuration','AccountId','Subjects','getSubjects','channel','Descriptions','Dynamics365Field','getFields','ticketType','Incident','PhoneCall','title','description','customerid','regardingobjectid','directioncode','phonecall_activity_parties','accountidname','billedserviceunits','contactidname','contactidyominame','createdbyexternalpartyname','createdbyexternalpartyyominame','createdbyname','createdbyyominame','createdon','createdonbehalfbyname','createdonbehalfbyyominame','customeridtype','customeridyominame','emailaddress','entitlementidname','entityimage_timestamp','entityimage_url','escalatedon','exchangerate','followupby','importsequencenumber','influencescore','kbarticleidname','lastonholdtime','masteridname','modifiedbyexternalpartyname','modifiedbyexternalpartyyominame','modifiedbyname','modifiedbyyominame','modifiedon','modifiedonbehalfbyname','modifiedonbehalfbyyominame','msdyn_incidenttypename','onholdtime','overriddencreatedon','owneridname','owneridtype','owneridyominame','parentcaseidname','primarycontactidname','primarycontactidyominame','prioritycodename','resolveby','resolvebykpiidname','responsiblecontactidname','responsiblecontactidyominame','sentimentvalue','slainvokedidname','slaname','statecode','statuscode','subjectidname','ticketnumber','timezoneruleversionnumber','transactioncurrencyidname','traversedpath','utcconversiontimezonecode','concat','tenantId','clientId','clientSecret','slice','substring','lastIndexOf','format','POST','https://login.microsoftonline.com/','/oauth2/token','username','password','access_token','Bearer\x20','4.0','value','MetadataId','GET',')?$select=LogicalName&$expand=Attributes($select=LogicalName)','Attributes','includes','LogicalName','@odata.type','PicklistAttributeMetadata','all','isNil','push','forEach','BigIntAttributeMetadata','IntegerAttributeMetadata','MemoAttributeMetadata','DateTimeAttributeMetadata','EntityNameAttributeMetadata','StateAttributeMetadata','test','statusCode','stack','Wrong\x20credentials','EntityDefinitions(',')/Attributes(',')/Microsoft.Dynamics.CRM.PicklistAttributeMetadata?','OptionSet','Options','Label','UserLocalizedLabel','Value','DisplayName',')/Microsoft.Dynamics.CRM.BooleanAttributeMetadata?$select=DisplayName,LogicalName&$expand=OptionSet($select=FalseOption,\x20TrueOption)','TrueOption','FalseOption','false',')/Microsoft.Dynamics.CRM.','?$select=DisplayName,LogicalName','eml-format','rimraf','fast-json-patch','request-promise','mustache','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','../../components/integrations/configuration','jayson/promise','client','request','then','request\x20sent','debug','Dynamics365Account,\x20%s,\x20%s,\x20%s','stringify','error','code','Dynamics365Account,\x20%s,\x20%s','message','info','catch','sendStatus','json','offset','undefined','limit','count','status','set','Content-Range','apply','reject','save','update','destroy','send','render','merge','contact','agent','interaction','account','index','map','Dynamics365Account','rawAttributes','fieldName','key','model','name','query','keys','intersection','fields'];(function(_0x2eff5c,_0x387104){var _0x5b3a44=function(_0x2335c9){while(--_0x2335c9){_0x2eff5c['push'](_0x2eff5c['shift']());}};_0x5b3a44(++_0x387104);}(_0x072a,0x173));var _0xa072=function(_0x3d40d3,_0x291ec6){_0x3d40d3=_0x3d40d3-0x0;var _0x4ea40c=_0x072a[_0x3d40d3];return _0x4ea40c;};'use strict';var emlformat=require(_0xa072('0x0'));var rimraf=require(_0xa072('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xa072('0x2'));var rp=require(_0xa072('0x3'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0xa072('0x4'));var util=require('util');var path=require(_0xa072('0x5'));var sox=require(_0xa072('0x6'));var csv=require(_0xa072('0x7'));var ejs=require(_0xa072('0x8'));var fs=require('fs');var fs_extra=require(_0xa072('0x9'));var _=require(_0xa072('0xa'));var squel=require(_0xa072('0xb'));var crypto=require(_0xa072('0xc'));var jsforce=require('jsforce');var deskjs=require(_0xa072('0xd'));var toCsv=require(_0xa072('0x7'));var querystring=require(_0xa072('0xe'));var Papa=require(_0xa072('0xf'));var Redis=require('ioredis');var authService=require(_0xa072('0x10'));var qs=require('../../components/parsers/qs');var as=require(_0xa072('0x11'));var hardwareService=require(_0xa072('0x12'));var logger=require(_0xa072('0x13'))('api');var utils=require(_0xa072('0x14'));var config=require(_0xa072('0x15'));var licenseUtil=require('../../config/license/util');var db=require(_0xa072('0x16'))['db'];var integrations=require(_0xa072('0x17'));var jayson=require(_0xa072('0x18'));var client=jayson[_0xa072('0x19')]['http']({'port':0x232a});function respondWithRpcPromise(_0x2acc7f,_0x2dff25,_0x41a4e4,_0x1732e4){return new BPromise(function(_0x2aaa7b,_0x54f5ad){var _0x450821=_0x1732e4||client;return _0x450821[_0xa072('0x1a')](_0x2acc7f,_0x41a4e4)[_0xa072('0x1b')](function(_0x2a8124){logger['info']('Dynamics365Account,\x20%s,\x20%s',_0x2dff25,_0xa072('0x1c'));logger[_0xa072('0x1d')](_0xa072('0x1e'),_0x2dff25,'request\x20sent',JSON[_0xa072('0x1f')](_0x2a8124));if(_0x2a8124['error']){if(_0x2a8124[_0xa072('0x20')][_0xa072('0x21')]===0x1f4){logger[_0xa072('0x20')](_0xa072('0x22'),_0x2dff25,_0x2a8124['error'][_0xa072('0x23')]);return _0x54f5ad(_0x2a8124[_0xa072('0x20')][_0xa072('0x23')]);}logger['error'](_0xa072('0x22'),_0x2dff25,_0x2a8124[_0xa072('0x20')]['message']);return _0x2aaa7b(_0x2a8124[_0xa072('0x20')]['message']);}else{logger[_0xa072('0x24')](_0xa072('0x22'),_0x2dff25,_0xa072('0x1c'));_0x2aaa7b(_0x2a8124['result'][_0xa072('0x23')]);}})[_0xa072('0x25')](function(_0x715d43){logger[_0xa072('0x20')](_0xa072('0x22'),_0x2dff25,_0x715d43);_0x54f5ad(_0x715d43);});});}function respondWithStatusCode(_0x5da9fb,_0x1806ea){_0x1806ea=_0x1806ea||0xcc;return function(_0x1640a1){if(_0x1640a1){return _0x5da9fb[_0xa072('0x26')](_0x1806ea);}return _0x5da9fb['status'](_0x1806ea)['end']();};}function respondWithResult(_0x20280f,_0x46c338){_0x46c338=_0x46c338||0xc8;return function(_0x87abdd){if(_0x87abdd){return _0x20280f['status'](_0x46c338)[_0xa072('0x27')](_0x87abdd);}};}function respondWithFilteredResult(_0x50cd2a,_0x1333a5){return function(_0x3028be){if(_0x3028be){var _0x4e3e2d=typeof _0x1333a5[_0xa072('0x28')]===_0xa072('0x29')&&typeof _0x1333a5[_0xa072('0x2a')]==='undefined';var _0x485f39=_0x3028be[_0xa072('0x2b')];var _0x66fed0=_0x4e3e2d?0x0:_0x1333a5['offset'];var _0x115dbb=_0x4e3e2d?_0x3028be[_0xa072('0x2b')]:_0x1333a5[_0xa072('0x28')]+_0x1333a5[_0xa072('0x2a')];var _0x581e2b;if(_0x115dbb>=_0x485f39){_0x115dbb=_0x485f39;_0x581e2b=0xc8;}else{_0x581e2b=0xce;}_0x50cd2a[_0xa072('0x2c')](_0x581e2b);return _0x50cd2a[_0xa072('0x2d')](_0xa072('0x2e'),_0x66fed0+'-'+_0x115dbb+'/'+_0x485f39)[_0xa072('0x27')](_0x3028be);}return null;};}function patchUpdates(_0x438d95){return function(_0x11963e){try{jsonpatch[_0xa072('0x2f')](_0x11963e,_0x438d95,!![]);}catch(_0x564a3e){return BPromise[_0xa072('0x30')](_0x564a3e);}return _0x11963e[_0xa072('0x31')]();};}function saveUpdates(_0x490e0c,_0x4c5671){return function(_0x3bb246){if(_0x3bb246){return _0x3bb246[_0xa072('0x32')](_0x490e0c)['then'](function(_0x4430f0){return _0x4430f0;});}return null;};}function removeEntity(_0x34f231,_0x2255fe){return function(_0x355649){if(_0x355649){return _0x355649[_0xa072('0x33')]()[_0xa072('0x1b')](function(){_0x34f231[_0xa072('0x2c')](0xcc)['end']();});}};}function handleEntityNotFound(_0x4229ef,_0x2c12c8){return function(_0x144d01){if(!_0x144d01){_0x4229ef[_0xa072('0x26')](0x194);}return _0x144d01;};}function handleError(_0x2aad14,_0x3a39b9){_0x3a39b9=_0x3a39b9||0x1f4;return function(_0x1ced19){logger['error'](_0x1ced19['stack']);if(_0x1ced19['name']){delete _0x1ced19['name'];}_0x2aad14[_0xa072('0x2c')](_0x3a39b9)[_0xa072('0x34')](_0x1ced19);};}function getMustacheRender(_0x2fc5d9,_0x5d8ca4){return Mustache[_0xa072('0x35')](_0x2fc5d9,_[_0xa072('0x36')](_0x5d8ca4['body'],{'contact':_0x5d8ca4[_0xa072('0x37')],'message':_0x5d8ca4['message'],'agent':_0x5d8ca4[_0xa072('0x38')],'interaction':_0x5d8ca4[_0xa072('0x39')],'account':_0x5d8ca4[_0xa072('0x3a')]}))||'';}exports[_0xa072('0x3b')]=function(_0x1f286a,_0x22a191){var _0x555d79={},_0x476cc2={},_0x3e673c={'count':0x0,'rows':[]};var _0x46106d=_[_0xa072('0x3c')](db[_0xa072('0x3d')][_0xa072('0x3e')],function(_0x5104b4){return{'name':_0x5104b4[_0xa072('0x3f')],'type':_0x5104b4['type'][_0xa072('0x40')]};});_0x476cc2[_0xa072('0x41')]=_[_0xa072('0x3c')](_0x46106d,_0xa072('0x42'));_0x476cc2[_0xa072('0x43')]=_[_0xa072('0x44')](_0x1f286a[_0xa072('0x43')]);_0x476cc2['filters']=_['intersection'](_0x476cc2[_0xa072('0x41')],_0x476cc2['query']);_0x555d79['attributes']=_[_0xa072('0x45')](_0x476cc2[_0xa072('0x41')],qs['fields'](_0x1f286a[_0xa072('0x43')][_0xa072('0x46')]));_0x555d79[_0xa072('0x47')]=_0x555d79['attributes'][_0xa072('0x48')]?_0x555d79[_0xa072('0x47')]:_0x476cc2['model'];if(!_0x1f286a[_0xa072('0x43')][_0xa072('0x49')](_0xa072('0x4a'))){_0x555d79[_0xa072('0x2a')]=qs[_0xa072('0x2a')](_0x1f286a[_0xa072('0x43')][_0xa072('0x2a')]);_0x555d79[_0xa072('0x28')]=qs[_0xa072('0x28')](_0x1f286a[_0xa072('0x43')][_0xa072('0x28')]);}_0x555d79[_0xa072('0x4b')]=qs[_0xa072('0x4c')](_0x1f286a['query'][_0xa072('0x4c')]);_0x555d79[_0xa072('0x4d')]=qs[_0xa072('0x4e')](_[_0xa072('0x4f')](_0x1f286a[_0xa072('0x43')],_0x476cc2[_0xa072('0x4e')]),_0x46106d);if(_0x1f286a[_0xa072('0x43')][_0xa072('0x50')]){_0x555d79[_0xa072('0x4d')]=_[_0xa072('0x36')](_0x555d79['where'],{'$or':_['map'](_0x46106d,function(_0x10bd9e){if(_0x10bd9e[_0xa072('0x51')]!=='VIRTUAL'){var _0x155bff={};_0x155bff[_0x10bd9e['name']]={'$like':'%'+_0x1f286a[_0xa072('0x43')][_0xa072('0x50')]+'%'};return _0x155bff;}})});}_0x555d79=_[_0xa072('0x36')]({},_0x555d79,_0x1f286a[_0xa072('0x52')]);var _0x416d38={'where':_0x555d79[_0xa072('0x4d')]};return db['Dynamics365Account'][_0xa072('0x2b')](_0x416d38)[_0xa072('0x1b')](function(_0x337d87){_0x3e673c[_0xa072('0x2b')]=_0x337d87;if(_0x1f286a['query'][_0xa072('0x53')]){_0x555d79[_0xa072('0x54')]=[{'all':!![]}];}return db[_0xa072('0x3d')][_0xa072('0x55')](_0x555d79);})[_0xa072('0x1b')](function(_0x5934ee){_0x3e673c['rows']=_0x5934ee;return _0x3e673c;})[_0xa072('0x1b')](respondWithFilteredResult(_0x22a191,_0x555d79))[_0xa072('0x25')](handleError(_0x22a191,null));};exports[_0xa072('0x56')]=function(_0x2df1cd,_0x3c3923){var _0x379159={'raw':![],'where':{'id':_0x2df1cd[_0xa072('0x57')]['id']}},_0x218995={};_0x218995[_0xa072('0x41')]=_['keys'](db[_0xa072('0x3d')][_0xa072('0x3e')]);_0x218995['query']=_[_0xa072('0x44')](_0x2df1cd['query']);_0x218995[_0xa072('0x4e')]=_['intersection'](_0x218995[_0xa072('0x41')],_0x218995[_0xa072('0x43')]);_0x379159[_0xa072('0x47')]=_[_0xa072('0x45')](_0x218995[_0xa072('0x41')],qs['fields'](_0x2df1cd['query']['fields']));_0x379159[_0xa072('0x47')]=_0x379159['attributes'][_0xa072('0x48')]?_0x379159[_0xa072('0x47')]:_0x218995[_0xa072('0x41')];if(_0x2df1cd[_0xa072('0x43')]['includeAll']){_0x379159[_0xa072('0x54')]=[{'all':!![]}];}_0x379159=_[_0xa072('0x36')]({},_0x379159,_0x2df1cd[_0xa072('0x52')]);return db[_0xa072('0x3d')][_0xa072('0x58')](_0x379159)[_0xa072('0x1b')](handleEntityNotFound(_0x3c3923,null))[_0xa072('0x1b')](respondWithResult(_0x3c3923,null))[_0xa072('0x25')](handleError(_0x3c3923,null));};exports[_0xa072('0x59')]=function(_0x331fa3,_0x4c5bc5){return db[_0xa072('0x3d')][_0xa072('0x59')](_0x331fa3[_0xa072('0x5a')],{})['then'](respondWithResult(_0x4c5bc5,0xc9))[_0xa072('0x25')](handleError(_0x4c5bc5,null));};exports[_0xa072('0x32')]=function(_0x43863e,_0x94475e){if(_0x43863e[_0xa072('0x5a')]['id']){delete _0x43863e[_0xa072('0x5a')]['id'];}return db[_0xa072('0x3d')][_0xa072('0x58')]({'where':{'id':_0x43863e['params']['id']}})[_0xa072('0x1b')](handleEntityNotFound(_0x94475e,null))[_0xa072('0x1b')](saveUpdates(_0x43863e['body'],null))[_0xa072('0x1b')](respondWithResult(_0x94475e,null))[_0xa072('0x25')](handleError(_0x94475e,null));};exports[_0xa072('0x33')]=function(_0x4297ec,_0x4c0cb1){return db[_0xa072('0x3d')][_0xa072('0x58')]({'where':{'id':_0x4297ec['params']['id']}})[_0xa072('0x1b')](handleEntityNotFound(_0x4c0cb1,null))['then'](removeEntity(_0x4c0cb1,null))[_0xa072('0x25')](handleError(_0x4c0cb1,null));};exports[_0xa072('0x5b')]=function(_0x49c06e,_0x5df11b,_0x3088ba){var _0x3321d3={};var _0x4f51f9={};var _0x100852;var _0x1cff83;return db[_0xa072('0x3d')][_0xa072('0x5c')]({'where':{'id':_0x49c06e[_0xa072('0x57')]['id']}})[_0xa072('0x1b')](handleEntityNotFound(_0x5df11b,null))[_0xa072('0x1b')](function(_0x4f8f87){if(_0x4f8f87){_0x100852=_0x4f8f87;_0x4f51f9[_0xa072('0x41')]=_[_0xa072('0x44')](db[_0xa072('0x5d')]['rawAttributes']);_0x4f51f9['query']=_[_0xa072('0x44')](_0x49c06e[_0xa072('0x43')]);_0x4f51f9['filters']=_['intersection'](_0x4f51f9['model'],_0x4f51f9[_0xa072('0x43')]);_0x3321d3['attributes']=_['intersection'](_0x4f51f9[_0xa072('0x41')],qs[_0xa072('0x46')](_0x49c06e[_0xa072('0x43')][_0xa072('0x46')]));_0x3321d3[_0xa072('0x47')]=_0x3321d3[_0xa072('0x47')][_0xa072('0x48')]?_0x3321d3[_0xa072('0x47')]:_0x4f51f9[_0xa072('0x41')];_0x3321d3[_0xa072('0x4b')]=qs[_0xa072('0x4c')](_0x49c06e[_0xa072('0x43')][_0xa072('0x4c')]);_0x3321d3[_0xa072('0x4d')]=qs['filters'](_[_0xa072('0x4f')](_0x49c06e['query'],_0x4f51f9['filters']));if(_0x49c06e['query'][_0xa072('0x50')]){_0x3321d3['where']=_[_0xa072('0x36')](_0x3321d3[_0xa072('0x4d')],{'$or':_[_0xa072('0x3c')](_0x3321d3['attributes'],function(_0x3f299c){var _0x52bb56={};_0x52bb56[_0x3f299c]={'$like':'%'+_0x49c06e[_0xa072('0x43')][_0xa072('0x50')]+'%'};return _0x52bb56;})});}_0x3321d3=_[_0xa072('0x36')]({},_0x3321d3,_0x49c06e[_0xa072('0x52')]);return _0x100852['getConfigurations'](_0x3321d3);}})[_0xa072('0x1b')](function(_0x279e36){if(_0x279e36){_0x1cff83=_0x279e36[_0xa072('0x48')];if(!_0x49c06e['query'][_0xa072('0x49')](_0xa072('0x4a'))){_0x3321d3[_0xa072('0x2a')]=qs['limit'](_0x49c06e[_0xa072('0x43')][_0xa072('0x2a')]);_0x3321d3['offset']=qs['offset'](_0x49c06e['query'][_0xa072('0x28')]);}return _0x100852[_0xa072('0x5b')](_0x3321d3);}})[_0xa072('0x1b')](function(_0x358f18){if(_0x358f18){return _0x358f18?{'count':_0x1cff83,'rows':_0x358f18}:null;}})[_0xa072('0x1b')](respondWithResult(_0x5df11b,null))[_0xa072('0x25')](handleError(_0x5df11b,null));};exports['addConfiguration']=function(_0x36686f,_0x4026b8,_0x32acce){if(_0x36686f[_0xa072('0x5a')]['id']){delete _0x36686f[_0xa072('0x5a')]['id'];}return db[_0xa072('0x3d')][_0xa072('0x5c')]({'where':{'id':_0x36686f['params']['id']}})[_0xa072('0x1b')](handleEntityNotFound(_0x4026b8,null))[_0xa072('0x1b')](function(_0xcc69e0){if(_0xcc69e0){_0x36686f[_0xa072('0x5a')][_0xa072('0x5e')]=_0xcc69e0['id'];_0x36686f['body'][_0xa072('0x5f')]=integrations[_0xa072('0x60')](_0x36686f[_0xa072('0x5a')][_0xa072('0x61')],_0x36686f[_0xa072('0x5a')][_0xa072('0x51')]);_0x36686f['body'][_0xa072('0x62')]=integrations['getDescriptions'](_0x36686f['body']['channel'],_0x36686f[_0xa072('0x5a')]['type']);return db[_0xa072('0x5d')][_0xa072('0x59')](_0x36686f[_0xa072('0x5a')],{'include':[{'model':db[_0xa072('0x63')],'as':_0xa072('0x5f')},{'model':db['Dynamics365Field'],'as':'Descriptions'}]});}return null;})[_0xa072('0x1b')](respondWithResult(_0x4026b8,null))[_0xa072('0x25')](handleError(_0x4026b8,null));};exports[_0xa072('0x64')]=function(_0x4ba0a1,_0x48a6f3,_0x17a7eb){var _0x17e2da=_0x4ba0a1[_0xa072('0x43')][_0xa072('0x65')];var _0xb03505=_0x17e2da==='incident'?_0xa072('0x66'):_0xa072('0x67');var _0xdd4608='';var _0x20d14f='';var _0xf4f836='';var _0x5359a6='';var _0x313d00='';var _0x590f1a='';var _0x4e3e6b='';var _0x20b186='';var _0x5c6e1=[_0xa072('0x68'),_0xa072('0x69'),_0xa072('0x6a'),'ownerid','caseorigincode','subject','phonenumber',_0xa072('0x6b'),_0xa072('0x6c'),_0xa072('0x6d')];var _0x89dab2=[_0xa072('0x6e'),'accountidyominame','actualserviceunits',_0xa072('0x6f'),_0xa072('0x70'),_0xa072('0x71'),'contractdetailidname','contractidname',_0xa072('0x72'),_0xa072('0x73'),_0xa072('0x74'),_0xa072('0x75'),_0xa072('0x76'),_0xa072('0x77'),_0xa072('0x78'),'customeridname',_0xa072('0x79'),_0xa072('0x7a'),_0xa072('0x7b'),_0xa072('0x7c'),_0xa072('0x7d'),_0xa072('0x7e'),_0xa072('0x7f'),_0xa072('0x80'),'firstresponsebykpiidname',_0xa072('0x81'),_0xa072('0x82'),_0xa072('0x83'),_0xa072('0x84'),_0xa072('0x85'),_0xa072('0x86'),_0xa072('0x87'),_0xa072('0x88'),_0xa072('0x89'),_0xa072('0x8a'),_0xa072('0x8b'),_0xa072('0x8c'),_0xa072('0x8d'),_0xa072('0x8e'),'msdyn_iotalertname','numberofchildincidents',_0xa072('0x8f'),_0xa072('0x90'),_0xa072('0x91'),_0xa072('0x92'),_0xa072('0x93'),_0xa072('0x94'),_0xa072('0x95'),_0xa072('0x96'),_0xa072('0x97'),'productidname','productserialnumber',_0xa072('0x98'),_0xa072('0x99'),'responseby',_0xa072('0x9a'),_0xa072('0x9b'),_0xa072('0x9c'),_0xa072('0x9d'),_0xa072('0x9e'),'socialprofileidname',_0xa072('0x9f'),_0xa072('0xa0'),_0xa072('0xa1'),_0xa072('0xa2'),_0xa072('0xa3'),_0xa072('0xa4'),_0xa072('0xa5'),_0xa072('0xa6'),'versionnumber'];var _0x550c0a=_0x5c6e1[_0xa072('0xa7')](_0x89dab2);return db[_0xa072('0x3d')][_0xa072('0x5c')]({'where':{'id':_0x4ba0a1[_0xa072('0x57')]['id']},'attributes':['id','username','password','remoteUri',_0xa072('0xa8'),_0xa072('0xa9'),_0xa072('0xaa')]})[_0xa072('0x1b')](handleEntityNotFound(_0x48a6f3,null))[_0xa072('0x1b')](function(_0x31ebfb){if(_0x31ebfb){_0x20b186=_0x31ebfb['remoteUri'];var _0x487e7b=_0x20b186[_0xa072('0xab')](-0x1);if(_0x487e7b==='/'){_0x20b186=_0x20b186[_0xa072('0xac')](0x0,_0x20b186[_0xa072('0xad')](_0x487e7b));}_0x4e3e6b=util[_0xa072('0xae')]('%s/api/data/v9.0/',_0x20b186);var _0x408a32={'method':_0xa072('0xaf'),'uri':_0xa072('0xb0')+_0x31ebfb[_0xa072('0xa8')]+_0xa072('0xb1'),'form':{'client_id':_0x31ebfb[_0xa072('0xa9')],'resource':_0x20b186,'username':_0x31ebfb[_0xa072('0xb2')],'password':_0x31ebfb[_0xa072('0xb3')],'grant_type':_0xa072('0xb3'),'client_secret':_0x31ebfb[_0xa072('0xaa')]},'json':!![]};return rp(_0x408a32);}})[_0xa072('0x1b')](function(_0x259d1c){_0x590f1a=_0x259d1c[_0xa072('0xb4')];var _0x3dcae5={'method':'GET','uri':encodeURI(_0x4e3e6b+'EntityDefinitions?$select=DisplayName,EntitySetName&$filter=SchemaName\x20eq\x20\x27'+_0xb03505+'\x27'),'headers':{'Authorization':_0xa072('0xb5')+_0x590f1a,'If-None-Match':null,'OData-Version':_0xa072('0xb6')},'json':!![]};return rp(_0x3dcae5);})[_0xa072('0x1b')](function(_0x6c1f3d){var _0x5be289=_0x6c1f3d[_0xa072('0xb7')][0x0];var _0x28151c=_0x5be289[_0xa072('0xb8')];var _0x45047c={'method':_0xa072('0xb9'),'uri':_0x4e3e6b+'EntityDefinitions('+_0x28151c+_0xa072('0xba'),'headers':{'Authorization':_0xa072('0xb5')+_0x590f1a,'If-None-Match':null,'OData-Version':'4.0'},'json':!![]};return rp(_0x45047c);})['then'](function(_0x2ed6ba){_0xdd4608=_0x2ed6ba;_0x20d14f=_0xdd4608[_0xa072('0xbb')];_0x20d14f=_['remove'](_0x20d14f,function(_0x9149c0){return!_0x550c0a[_0xa072('0xbc')](_0x9149c0[_0xa072('0xbd')]);});var _0x407c1c=[];var _0x5a947a=[];_0x20d14f['forEach'](function(_0x4da1d1){if(_0x4da1d1[_0xa072('0xbe')]){var _0x307f8e=_0x4da1d1[_0xa072('0xbe')][_0xa072('0xac')](_0x4da1d1[_0xa072('0xbe')][_0xa072('0xad')]('.')+0x1);if(_0x307f8e===_0xa072('0xbf')){_0x407c1c['push'](getSelectList(_0x4e3e6b,_0x17e2da,_0x5a947a,_0xdd4608['MetadataId'],_0x4da1d1['MetadataId'],_0x590f1a));}}});return Promise[_0xa072('0xc0')](_0x407c1c);})[_0xa072('0x1b')](function(_0x5e03d3){_0xf4f836=_0x5e03d3[0x0];var _0xf90842=[];var _0x189a1c=[];_0x20d14f['forEach'](function(_0x34cbf5){if(!_[_0xa072('0xc1')](_0x34cbf5[_0xa072('0xbe')])){var _0x4e0106=_0x34cbf5[_0xa072('0xbe')][_0xa072('0xac')](_0x34cbf5[_0xa072('0xbe')][_0xa072('0xad')]('.')+0x1);if(_0x4e0106==='BooleanAttributeMetadata'){_0xf90842[_0xa072('0xc2')](getBooleanList(_0x4e3e6b,_0x17e2da,_0x189a1c,_0xdd4608[_0xa072('0xb8')],_0x34cbf5[_0xa072('0xb8')],_0x590f1a));}}});return Promise[_0xa072('0xc0')](_0xf90842);})[_0xa072('0x1b')](function(_0x6012ce){_0x5359a6=_0x6012ce[0x0];var _0xff38a3=[];var _0x2ce4db=[];_0x20d14f[_0xa072('0xc3')](function(_0x3171fd){if(_0x3171fd[_0xa072('0xbe')]){var _0x4c399e=_0x3171fd[_0xa072('0xbe')][_0xa072('0xac')](_0x3171fd[_0xa072('0xbe')][_0xa072('0xad')]('.')+0x1);if(_0x4c399e==='StringAttributeMetadata'||_0x4c399e==='DoubleAttributeMetadata'||_0x4c399e===_0xa072('0xc4')||_0x4c399e===_0xa072('0xc5')||_0x4c399e===_0xa072('0xc6')||_0x4c399e===_0xa072('0xc7')||_0x4c399e==='StatusAttributeMetadata'||_0x4c399e===_0xa072('0xc8')||_0x4c399e===_0xa072('0xc9')||_0x4c399e==='DecimalAttributeMetadata'){_0xff38a3[_0xa072('0xc2')](getInputList(_0x4e3e6b,_0x17e2da,_0x4c399e,_0x2ce4db,_0xdd4608[_0xa072('0xb8')],_0x3171fd[_0xa072('0xb8')],_0x590f1a));}}});return Promise[_0xa072('0xc0')](_0xff38a3);})[_0xa072('0x1b')](function(_0x52bfac){_0x313d00=_0x52bfac[0x0];var _0x816877=_0xf4f836[_0xa072('0xa7')](_0x5359a6)[_0xa072('0xa7')](_0x313d00);var _0x3a25d0={'count':_0x816877[_0xa072('0x48')],'rows':_0x816877};return _0x3a25d0;})[_0xa072('0x1b')](respondWithResult(_0x48a6f3,null))[_0xa072('0x25')](function(_0x2c68d0){var _0x3a98dd=_0x4ba0a1['query'][_0xa072('0xca')]?0x1f4:_0x2c68d0[_0xa072('0xcb')]||0x1f4;logger['error'](_0x2c68d0[_0xa072('0xcc')]);delete _0x2c68d0[_0xa072('0x42')];if(_0x3a98dd===0x191){_0x3a98dd=0x190;}_0x48a6f3[_0xa072('0x2c')](_0x3a98dd)['send'](_0x4ba0a1[_0xa072('0x43')][_0xa072('0xca')]?{'message':_0xa072('0xcd'),'statusCode':_0x2c68d0[_0xa072('0xcb')]}:_0x2c68d0);});};function getSelectList(_0x2ab481,_0x4be608,_0x3bbdc7,_0x209634,_0x5a5b86,_0x57b2d3){var _0x17c181={'method':_0xa072('0xb9'),'uri':_0x2ab481+_0xa072('0xce')+_0x209634+_0xa072('0xcf')+_0x5a5b86+_0xa072('0xd0')+'$select=DisplayName,LogicalName&$expand=OptionSet($select=Options)','headers':{'Authorization':_0xa072('0xb5')+_0x57b2d3,'If-None-Match':null,'OData-Version':_0xa072('0xb6')},'json':!![]};return rp(_0x17c181)['then'](function(_0x23dbcb){var _0x4ec26b=[];var _0x54f2c0=_0x23dbcb[_0xa072('0xd1')][_0xa072('0xd2')];_0x54f2c0[_0xa072('0xc3')](function(_0x1e9d14){_0x4ec26b[_0xa072('0xc2')]({'name':_0x1e9d14[_0xa072('0xd3')][_0xa072('0xd4')][_0xa072('0xd3')],'value':String(_0x1e9d14[_0xa072('0xd5')])});});var _0x422447={'id':_0x4be608+'_'+_0x23dbcb[_0xa072('0xbd')],'name':_0x23dbcb[_0xa072('0xd6')][_0xa072('0xd4')][_0xa072('0xd3')],'custom':![],'options':_0x4ec26b};_0x3bbdc7[_0xa072('0xc2')](_0x422447);return _0x3bbdc7;});}function getBooleanList(_0x358cda,_0x13e682,_0x294207,_0x22b4f4,_0x57d779,_0x354a32){var _0x3f0fec={'method':_0xa072('0xb9'),'uri':_0x358cda+_0xa072('0xce')+_0x22b4f4+_0xa072('0xcf')+_0x57d779+_0xa072('0xd7'),'headers':{'Authorization':_0xa072('0xb5')+_0x354a32,'If-None-Match':null,'OData-Version':_0xa072('0xb6')},'json':!![]};return rp(_0x3f0fec)[_0xa072('0x1b')](function(_0x4185ee){var _0x4f2faf=[];_0x4f2faf[_0xa072('0xc2')]({'name':_0x4185ee[_0xa072('0xd1')][_0xa072('0xd8')]['Label'][_0xa072('0xd4')][_0xa072('0xd3')],'value':'true'},{'name':_0x4185ee[_0xa072('0xd1')][_0xa072('0xd9')][_0xa072('0xd3')][_0xa072('0xd4')][_0xa072('0xd3')],'value':_0xa072('0xda')});var _0x14dbdb={'id':_0x13e682+'_'+_0x4185ee[_0xa072('0xbd')],'name':_0x4185ee['DisplayName'][_0xa072('0xd4')][_0xa072('0xd3')],'custom':![],'options':_0x4f2faf};_0x294207['push'](_0x14dbdb);return _0x294207;});}function getInputList(_0x20a384,_0x3c43b2,_0x20f3f0,_0x5cc13b,_0x5a963e,_0x4aa508,_0x316686){var _0xb45bb4={'method':_0xa072('0xb9'),'uri':_0x20a384+_0xa072('0xce')+_0x5a963e+_0xa072('0xcf')+_0x4aa508+_0xa072('0xdb')+_0x20f3f0+_0xa072('0xdc'),'headers':{'Authorization':_0xa072('0xb5')+_0x316686,'If-None-Match':null,'OData-Version':_0xa072('0xb6')},'json':!![]};return rp(_0xb45bb4)[_0xa072('0x1b')](function(_0x2162bb){var _0x4801d3={'id':_0x3c43b2+'_'+_0x2162bb['LogicalName'],'name':_0x2162bb[_0xa072('0xd6')][_0xa072('0xd4')]?_0x2162bb['DisplayName'][_0xa072('0xd4')][_0xa072('0xd3')]:_0x2162bb[_0xa072('0xbd')],'custom':![],'options':[]};_0x5cc13b['push'](_0x4801d3);return _0x5cc13b;});}