Built motion from commit (unavailable).|2.5.26
[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 _0xe53a=['responseby','sentimentvalue','slainvokedidname','socialprofileidname','statecode','statuscode','timezoneruleversionnumber','transactioncurrencyidname','traversedpath','utcconversiontimezonecode','versionnumber','concat','username','password','remoteUri','clientId','clientSecret','slice','substring','lastIndexOf','format','POST','https://login.microsoftonline.com/','tenantId','/oauth2/token','access_token','GET','EntityDefinitions?$select=DisplayName,EntitySetName&$filter=SchemaName\x20eq\x20\x27','Bearer\x20','4.0','value','MetadataId','EntityDefinitions(',')?$select=LogicalName&$expand=Attributes($select=LogicalName)','Attributes','remove','@odata.type','push','all','forEach','isNil','BooleanAttributeMetadata','StringAttributeMetadata','BigIntAttributeMetadata','IntegerAttributeMetadata','MemoAttributeMetadata','DateTimeAttributeMetadata','StatusAttributeMetadata','StateAttributeMetadata','DecimalAttributeMetadata','test','statusCode','send','Wrong\x20credentials',')/Attributes(','$select=DisplayName,LogicalName&$expand=OptionSet($select=Options)','OptionSet','Label','UserLocalizedLabel','LogicalName','DisplayName',')/Microsoft.Dynamics.CRM.BooleanAttributeMetadata?$select=DisplayName,LogicalName&$expand=OptionSet($select=FalseOption,\x20TrueOption)','TrueOption','true','FalseOption','false',')/Microsoft.Dynamics.CRM.','eml-format','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','to-csv','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','jayson/promise','http','request','then','info','Dynamics365Account,\x20%s,\x20%s','request\x20sent','debug','Dynamics365Account,\x20%s,\x20%s,\x20%s','stringify','error','message','result','status','end','count','offset','limit','set','json','reject','save','update','destroy','stack','name','index','map','Dynamics365Account','rawAttributes','fieldName','type','key','query','keys','intersection','model','fields','attributes','length','hasOwnProperty','nolimit','order','where','pick','filters','filter','merge','options','include','findAll','rows','catch','params','includeAll','find','create','body','getConfigurations','findOne','Dynamics365Configuration','sort','AccountId','Subjects','getSubjects','channel','Descriptions','getDescriptions','Dynamics365Field','getFields','ticketType','incident','Incident','PhoneCall','title','description','customerid','ownerid','caseorigincode','subject','phonecall_activity_parties','accountidname','billedserviceunits','contactidname','contactidyominame','contractdetailidname','contractidname','createdbyexternalpartyname','createdbyexternalpartyyominame','createdbyname','createdbyyominame','createdonbehalfbyname','createdonbehalfbyyominame','customeridname','emailaddress','entitlementidname','exchangerate','firstresponsebykpiidname','kbarticleidname','lastonholdtime','modifiedbyexternalpartyname','modifiedbyexternalpartyyominame','modifiedbyname','modifiedonbehalfbyyominame','msdyn_incidenttypename','numberofchildincidents','onholdtime','overriddencreatedon','owneridname','owneridtype','parentcaseidname','primarycontactidname','primarycontactidyominame','prioritycodename','productidname','resolveby','resolvebykpiidname'];(function(_0x39028e,_0x2610f2){var _0x1c353d=function(_0x4bd7e8){while(--_0x4bd7e8){_0x39028e['push'](_0x39028e['shift']());}};_0x1c353d(++_0x2610f2);}(_0xe53a,0x1e1));var _0xae53=function(_0x221f8b,_0x750c0b){_0x221f8b=_0x221f8b-0x0;var _0x468973=_0xe53a[_0x221f8b];return _0x468973;};'use strict';var emlformat=require(_0xae53('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0xae53('0x1'));var rp=require(_0xae53('0x2'));var moment=require(_0xae53('0x3'));var BPromise=require(_0xae53('0x4'));var Mustache=require(_0xae53('0x5'));var util=require(_0xae53('0x6'));var path=require(_0xae53('0x7'));var sox=require('sox');var csv=require(_0xae53('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xae53('0x9'));var squel=require(_0xae53('0xa'));var crypto=require(_0xae53('0xb'));var jsforce=require(_0xae53('0xc'));var deskjs=require(_0xae53('0xd'));var toCsv=require(_0xae53('0x8'));var querystring=require(_0xae53('0xe'));var Papa=require('papaparse');var Redis=require(_0xae53('0xf'));var authService=require(_0xae53('0x10'));var qs=require(_0xae53('0x11'));var as=require(_0xae53('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xae53('0x13'))(_0xae53('0x14'));var utils=require(_0xae53('0x15'));var config=require(_0xae53('0x16'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];var integrations=require('../../components/integrations/configuration');var jayson=require(_0xae53('0x17'));var client=jayson['client'][_0xae53('0x18')]({'port':0x232a});function respondWithRpcPromise(_0x1c1036,_0xfca5dc,_0x3ef8a0,_0xd7f660){return new BPromise(function(_0x128e51,_0x1798ba){var _0x3a541e=_0xd7f660||client;return _0x3a541e[_0xae53('0x19')](_0x1c1036,_0x3ef8a0)[_0xae53('0x1a')](function(_0x519268){logger[_0xae53('0x1b')](_0xae53('0x1c'),_0xfca5dc,_0xae53('0x1d'));logger[_0xae53('0x1e')](_0xae53('0x1f'),_0xfca5dc,_0xae53('0x1d'),JSON[_0xae53('0x20')](_0x519268));if(_0x519268['error']){if(_0x519268[_0xae53('0x21')]['code']===0x1f4){logger['error'](_0xae53('0x1c'),_0xfca5dc,_0x519268[_0xae53('0x21')]['message']);return _0x1798ba(_0x519268[_0xae53('0x21')][_0xae53('0x22')]);}logger[_0xae53('0x21')]('Dynamics365Account,\x20%s,\x20%s',_0xfca5dc,_0x519268[_0xae53('0x21')]['message']);return _0x128e51(_0x519268[_0xae53('0x21')][_0xae53('0x22')]);}else{logger[_0xae53('0x1b')](_0xae53('0x1c'),_0xfca5dc,_0xae53('0x1d'));_0x128e51(_0x519268[_0xae53('0x23')][_0xae53('0x22')]);}})['catch'](function(_0x4f9c76){logger['error'](_0xae53('0x1c'),_0xfca5dc,_0x4f9c76);_0x1798ba(_0x4f9c76);});});}function respondWithStatusCode(_0x5d9610,_0xb1ca7d){_0xb1ca7d=_0xb1ca7d||0xcc;return function(_0x235790){if(_0x235790){return _0x5d9610['sendStatus'](_0xb1ca7d);}return _0x5d9610[_0xae53('0x24')](_0xb1ca7d)[_0xae53('0x25')]();};}function respondWithResult(_0x7f3029,_0x39b9f9){_0x39b9f9=_0x39b9f9||0xc8;return function(_0x1de7b0){if(_0x1de7b0){return _0x7f3029[_0xae53('0x24')](_0x39b9f9)['json'](_0x1de7b0);}};}function respondWithFilteredResult(_0x4ba788,_0x2b0162){return function(_0x1bfde7){if(_0x1bfde7){var _0x5be673=_0x1bfde7[_0xae53('0x26')],_0x1c0a97=_0x2b0162[_0xae53('0x27')],_0x3dca5c=_0x2b0162[_0xae53('0x27')]+_0x2b0162[_0xae53('0x28')],_0xd0b508;if(_0x3dca5c>=_0x5be673){_0x3dca5c=_0x5be673;_0xd0b508=0xc8;}else{_0xd0b508=0xce;}_0x4ba788[_0xae53('0x24')](_0xd0b508);return _0x4ba788[_0xae53('0x29')]('Content-Range',_0x1c0a97+'-'+_0x3dca5c+'/'+_0x5be673)[_0xae53('0x2a')](_0x1bfde7);}return null;};}function patchUpdates(_0x3e64d3){return function(_0x568052){try{jsonpatch['apply'](_0x568052,_0x3e64d3,!![]);}catch(_0x3e88c4){return BPromise[_0xae53('0x2b')](_0x3e88c4);}return _0x568052[_0xae53('0x2c')]();};}function saveUpdates(_0x52c09d,_0x4cc0c9){return function(_0x3415d7){if(_0x3415d7){return _0x3415d7[_0xae53('0x2d')](_0x52c09d)['then'](function(_0x34138e){return _0x34138e;});}return null;};}function removeEntity(_0x31f386,_0x1506c0){return function(_0x1291b0){if(_0x1291b0){return _0x1291b0[_0xae53('0x2e')]()[_0xae53('0x1a')](function(){_0x31f386['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x767bda,_0x2cec95){return function(_0x57b1ff){if(!_0x57b1ff){_0x767bda['sendStatus'](0x194);}return _0x57b1ff;};}function handleError(_0x47f625,_0x393724){_0x393724=_0x393724||0x1f4;return function(_0x15bd0c){logger[_0xae53('0x21')](_0x15bd0c[_0xae53('0x2f')]);if(_0x15bd0c['name']){delete _0x15bd0c[_0xae53('0x30')];}_0x47f625[_0xae53('0x24')](_0x393724)['send'](_0x15bd0c);};}exports[_0xae53('0x31')]=function(_0x114681,_0x17109e){var _0x549a65={},_0x13e84c={},_0x1804e8={'count':0x0,'rows':[]};var _0x440643=_[_0xae53('0x32')](db[_0xae53('0x33')][_0xae53('0x34')],function(_0x53d8eb){return{'name':_0x53d8eb[_0xae53('0x35')],'type':_0x53d8eb[_0xae53('0x36')][_0xae53('0x37')]};});_0x13e84c['model']=_[_0xae53('0x32')](_0x440643,_0xae53('0x30'));_0x13e84c[_0xae53('0x38')]=_[_0xae53('0x39')](_0x114681[_0xae53('0x38')]);_0x13e84c['filters']=_[_0xae53('0x3a')](_0x13e84c[_0xae53('0x3b')],_0x13e84c[_0xae53('0x38')]);_0x549a65['attributes']=_[_0xae53('0x3a')](_0x13e84c['model'],qs[_0xae53('0x3c')](_0x114681[_0xae53('0x38')][_0xae53('0x3c')]));_0x549a65[_0xae53('0x3d')]=_0x549a65['attributes'][_0xae53('0x3e')]?_0x549a65['attributes']:_0x13e84c[_0xae53('0x3b')];if(!_0x114681['query'][_0xae53('0x3f')](_0xae53('0x40'))){_0x549a65[_0xae53('0x28')]=qs[_0xae53('0x28')](_0x114681[_0xae53('0x38')]['limit']);_0x549a65['offset']=qs[_0xae53('0x27')](_0x114681[_0xae53('0x38')][_0xae53('0x27')]);}_0x549a65[_0xae53('0x41')]=qs['sort'](_0x114681[_0xae53('0x38')]['sort']);_0x549a65[_0xae53('0x42')]=qs['filters'](_[_0xae53('0x43')](_0x114681[_0xae53('0x38')],_0x13e84c[_0xae53('0x44')]),_0x440643);if(_0x114681[_0xae53('0x38')][_0xae53('0x45')]){_0x549a65[_0xae53('0x42')]=_['merge'](_0x549a65[_0xae53('0x42')],{'$or':_[_0xae53('0x32')](_0x440643,function(_0x10de5d){if(_0x10de5d['type']!=='VIRTUAL'){var _0x557ff5={};_0x557ff5[_0x10de5d[_0xae53('0x30')]]={'$like':'%'+_0x114681[_0xae53('0x38')][_0xae53('0x45')]+'%'};return _0x557ff5;}})});}_0x549a65=_[_0xae53('0x46')]({},_0x549a65,_0x114681[_0xae53('0x47')]);var _0x1a59bd={'where':_0x549a65[_0xae53('0x42')]};return db[_0xae53('0x33')][_0xae53('0x26')](_0x1a59bd)[_0xae53('0x1a')](function(_0xb31368){_0x1804e8[_0xae53('0x26')]=_0xb31368;if(_0x114681[_0xae53('0x38')]['includeAll']){_0x549a65[_0xae53('0x48')]=[{'all':!![]}];}return db[_0xae53('0x33')][_0xae53('0x49')](_0x549a65);})[_0xae53('0x1a')](function(_0x144aa3){_0x1804e8[_0xae53('0x4a')]=_0x144aa3;return _0x1804e8;})['then'](respondWithFilteredResult(_0x17109e,_0x549a65))[_0xae53('0x4b')](handleError(_0x17109e,null));};exports['show']=function(_0x1a98bd,_0x192440){var _0x10ef53={'raw':![],'where':{'id':_0x1a98bd[_0xae53('0x4c')]['id']}},_0x3c8f0c={};_0x3c8f0c['model']=_[_0xae53('0x39')](db['Dynamics365Account'][_0xae53('0x34')]);_0x3c8f0c[_0xae53('0x38')]=_[_0xae53('0x39')](_0x1a98bd[_0xae53('0x38')]);_0x3c8f0c[_0xae53('0x44')]=_[_0xae53('0x3a')](_0x3c8f0c[_0xae53('0x3b')],_0x3c8f0c[_0xae53('0x38')]);_0x10ef53['attributes']=_[_0xae53('0x3a')](_0x3c8f0c[_0xae53('0x3b')],qs['fields'](_0x1a98bd['query'][_0xae53('0x3c')]));_0x10ef53[_0xae53('0x3d')]=_0x10ef53[_0xae53('0x3d')][_0xae53('0x3e')]?_0x10ef53[_0xae53('0x3d')]:_0x3c8f0c[_0xae53('0x3b')];if(_0x1a98bd[_0xae53('0x38')][_0xae53('0x4d')]){_0x10ef53[_0xae53('0x48')]=[{'all':!![]}];}_0x10ef53=_[_0xae53('0x46')]({},_0x10ef53,_0x1a98bd[_0xae53('0x47')]);return db['Dynamics365Account'][_0xae53('0x4e')](_0x10ef53)['then'](handleEntityNotFound(_0x192440,null))[_0xae53('0x1a')](respondWithResult(_0x192440,null))[_0xae53('0x4b')](handleError(_0x192440,null));};exports['create']=function(_0x217813,_0xa2518d){return db[_0xae53('0x33')][_0xae53('0x4f')](_0x217813[_0xae53('0x50')],{})['then'](respondWithResult(_0xa2518d,0xc9))[_0xae53('0x4b')](handleError(_0xa2518d,null));};exports[_0xae53('0x2d')]=function(_0x430a7d,_0x562572){if(_0x430a7d[_0xae53('0x50')]['id']){delete _0x430a7d[_0xae53('0x50')]['id'];}return db[_0xae53('0x33')][_0xae53('0x4e')]({'where':{'id':_0x430a7d[_0xae53('0x4c')]['id']}})[_0xae53('0x1a')](handleEntityNotFound(_0x562572,null))[_0xae53('0x1a')](saveUpdates(_0x430a7d[_0xae53('0x50')],null))[_0xae53('0x1a')](respondWithResult(_0x562572,null))['catch'](handleError(_0x562572,null));};exports[_0xae53('0x2e')]=function(_0x4945d1,_0x4328c3){return db[_0xae53('0x33')][_0xae53('0x4e')]({'where':{'id':_0x4945d1[_0xae53('0x4c')]['id']}})[_0xae53('0x1a')](handleEntityNotFound(_0x4328c3,null))[_0xae53('0x1a')](removeEntity(_0x4328c3,null))[_0xae53('0x4b')](handleError(_0x4328c3,null));};exports[_0xae53('0x51')]=function(_0x3ece84,_0x2eecc0,_0xf20d8c){var _0x3b7f05={};var _0xb586a4={};var _0x2c354d;var _0x2b700d;return db[_0xae53('0x33')][_0xae53('0x52')]({'where':{'id':_0x3ece84[_0xae53('0x4c')]['id']}})[_0xae53('0x1a')](handleEntityNotFound(_0x2eecc0,null))[_0xae53('0x1a')](function(_0x56acfe){if(_0x56acfe){_0x2c354d=_0x56acfe;_0xb586a4[_0xae53('0x3b')]=_[_0xae53('0x39')](db[_0xae53('0x53')][_0xae53('0x34')]);_0xb586a4[_0xae53('0x38')]=_['keys'](_0x3ece84[_0xae53('0x38')]);_0xb586a4[_0xae53('0x44')]=_[_0xae53('0x3a')](_0xb586a4[_0xae53('0x3b')],_0xb586a4[_0xae53('0x38')]);_0x3b7f05[_0xae53('0x3d')]=_[_0xae53('0x3a')](_0xb586a4[_0xae53('0x3b')],qs[_0xae53('0x3c')](_0x3ece84['query'][_0xae53('0x3c')]));_0x3b7f05[_0xae53('0x3d')]=_0x3b7f05[_0xae53('0x3d')][_0xae53('0x3e')]?_0x3b7f05[_0xae53('0x3d')]:_0xb586a4[_0xae53('0x3b')];_0x3b7f05[_0xae53('0x41')]=qs[_0xae53('0x54')](_0x3ece84[_0xae53('0x38')]['sort']);_0x3b7f05['where']=qs['filters'](_['pick'](_0x3ece84[_0xae53('0x38')],_0xb586a4[_0xae53('0x44')]));if(_0x3ece84[_0xae53('0x38')][_0xae53('0x45')]){_0x3b7f05[_0xae53('0x42')]=_[_0xae53('0x46')](_0x3b7f05['where'],{'$or':_[_0xae53('0x32')](_0x3b7f05[_0xae53('0x3d')],function(_0x42079d){var _0x5ee960={};_0x5ee960[_0x42079d]={'$like':'%'+_0x3ece84[_0xae53('0x38')][_0xae53('0x45')]+'%'};return _0x5ee960;})});}_0x3b7f05=_[_0xae53('0x46')]({},_0x3b7f05,_0x3ece84[_0xae53('0x47')]);return _0x2c354d[_0xae53('0x51')](_0x3b7f05);}})['then'](function(_0x5450ea){if(_0x5450ea){_0x2b700d=_0x5450ea[_0xae53('0x3e')];if(!_0x3ece84['query']['hasOwnProperty']('nolimit')){_0x3b7f05['limit']=qs[_0xae53('0x28')](_0x3ece84['query'][_0xae53('0x28')]);_0x3b7f05[_0xae53('0x27')]=qs[_0xae53('0x27')](_0x3ece84[_0xae53('0x38')][_0xae53('0x27')]);}return _0x2c354d[_0xae53('0x51')](_0x3b7f05);}})[_0xae53('0x1a')](function(_0x349c28){if(_0x349c28){return _0x349c28?{'count':_0x2b700d,'rows':_0x349c28}:null;}})['then'](respondWithResult(_0x2eecc0,null))['catch'](handleError(_0x2eecc0,null));};exports['addConfiguration']=function(_0x2679b4,_0x1ba180,_0x1e4163){if(_0x2679b4[_0xae53('0x50')]['id']){delete _0x2679b4[_0xae53('0x50')]['id'];}return db['Dynamics365Account']['findOne']({'where':{'id':_0x2679b4[_0xae53('0x4c')]['id']}})[_0xae53('0x1a')](handleEntityNotFound(_0x1ba180,null))['then'](function(_0x167d72){if(_0x167d72){_0x2679b4[_0xae53('0x50')][_0xae53('0x55')]=_0x167d72['id'];_0x2679b4[_0xae53('0x50')][_0xae53('0x56')]=integrations[_0xae53('0x57')](_0x2679b4['body'][_0xae53('0x58')],_0x2679b4[_0xae53('0x50')][_0xae53('0x36')]);_0x2679b4[_0xae53('0x50')][_0xae53('0x59')]=integrations[_0xae53('0x5a')](_0x2679b4['body'][_0xae53('0x58')],_0x2679b4[_0xae53('0x50')][_0xae53('0x36')]);return db['Dynamics365Configuration']['create'](_0x2679b4[_0xae53('0x50')],{'include':[{'model':db[_0xae53('0x5b')],'as':_0xae53('0x56')},{'model':db['Dynamics365Field'],'as':'Descriptions'}]});}return null;})['then'](respondWithResult(_0x1ba180,null))['catch'](handleError(_0x1ba180,null));};exports[_0xae53('0x5c')]=function(_0x46b8f4,_0x12fb1f,_0x1cbbe3){var _0x3fbd07=_0x46b8f4['query'][_0xae53('0x5d')];var _0x45c3e0=_0x3fbd07===_0xae53('0x5e')?_0xae53('0x5f'):_0xae53('0x60');var _0x304929='';var _0x4b26b6='';var _0x313fa1='';var _0x1f6aab='';var _0x474c07='';var _0x1dbc5f='';var _0x56f9df='';var _0x56bc5d='';var _0x3564c9=[_0xae53('0x61'),_0xae53('0x62'),_0xae53('0x63'),_0xae53('0x64'),_0xae53('0x65'),_0xae53('0x66'),'phonenumber','regardingobjectid','directioncode',_0xae53('0x67')];var _0x377468=[_0xae53('0x68'),'accountidyominame','actualserviceunits',_0xae53('0x69'),_0xae53('0x6a'),_0xae53('0x6b'),_0xae53('0x6c'),_0xae53('0x6d'),_0xae53('0x6e'),_0xae53('0x6f'),_0xae53('0x70'),_0xae53('0x71'),'createdon',_0xae53('0x72'),_0xae53('0x73'),_0xae53('0x74'),'customeridtype','customeridyominame',_0xae53('0x75'),_0xae53('0x76'),'entityimage_timestamp','entityimage_url','escalatedon',_0xae53('0x77'),_0xae53('0x78'),'followupby','importsequencenumber','influencescore',_0xae53('0x79'),_0xae53('0x7a'),'masteridname',_0xae53('0x7b'),_0xae53('0x7c'),_0xae53('0x7d'),'modifiedbyyominame','modifiedon','modifiedonbehalfbyname',_0xae53('0x7e'),_0xae53('0x7f'),'msdyn_iotalertname',_0xae53('0x80'),_0xae53('0x81'),_0xae53('0x82'),_0xae53('0x83'),_0xae53('0x84'),'owneridyominame',_0xae53('0x85'),_0xae53('0x86'),_0xae53('0x87'),_0xae53('0x88'),_0xae53('0x89'),'productserialnumber',_0xae53('0x8a'),_0xae53('0x8b'),_0xae53('0x8c'),'responsiblecontactidname','responsiblecontactidyominame',_0xae53('0x8d'),_0xae53('0x8e'),'slaname',_0xae53('0x8f'),_0xae53('0x90'),_0xae53('0x91'),'subjectidname','ticketnumber',_0xae53('0x92'),_0xae53('0x93'),_0xae53('0x94'),_0xae53('0x95'),_0xae53('0x96')];var _0x1829af=_0x3564c9[_0xae53('0x97')](_0x377468);return db[_0xae53('0x33')][_0xae53('0x52')]({'where':{'id':_0x46b8f4[_0xae53('0x4c')]['id']},'attributes':['id',_0xae53('0x98'),_0xae53('0x99'),_0xae53('0x9a'),'tenantId',_0xae53('0x9b'),_0xae53('0x9c')]})[_0xae53('0x1a')](handleEntityNotFound(_0x12fb1f,null))[_0xae53('0x1a')](function(_0x483a49){if(_0x483a49){_0x56bc5d=_0x483a49[_0xae53('0x9a')];var _0x507c2e=_0x56bc5d[_0xae53('0x9d')](-0x1);if(_0x507c2e==='/'){_0x56bc5d=_0x56bc5d[_0xae53('0x9e')](0x0,_0x56bc5d[_0xae53('0x9f')](_0x507c2e));}_0x56f9df=util[_0xae53('0xa0')]('%s/api/data/v9.0/',_0x56bc5d);var _0x29b002={'method':_0xae53('0xa1'),'uri':_0xae53('0xa2')+_0x483a49[_0xae53('0xa3')]+_0xae53('0xa4'),'form':{'client_id':_0x483a49['clientId'],'resource':_0x56bc5d,'username':_0x483a49[_0xae53('0x98')],'password':_0x483a49[_0xae53('0x99')],'grant_type':_0xae53('0x99'),'client_secret':_0x483a49[_0xae53('0x9c')]},'json':!![]};return rp(_0x29b002);}})['then'](function(_0x709348){_0x1dbc5f=_0x709348[_0xae53('0xa5')];var _0x551246={'method':_0xae53('0xa6'),'uri':encodeURI(_0x56f9df+_0xae53('0xa7')+_0x45c3e0+'\x27'),'headers':{'Authorization':_0xae53('0xa8')+_0x1dbc5f,'If-None-Match':null,'OData-Version':_0xae53('0xa9')},'json':!![]};return rp(_0x551246);})['then'](function(_0xa00d5f){var _0x5ac33f=_0xa00d5f[_0xae53('0xaa')][0x0];var _0x5386c1=_0x5ac33f[_0xae53('0xab')];var _0x5e21b8={'method':_0xae53('0xa6'),'uri':_0x56f9df+_0xae53('0xac')+_0x5386c1+_0xae53('0xad'),'headers':{'Authorization':_0xae53('0xa8')+_0x1dbc5f,'If-None-Match':null,'OData-Version':_0xae53('0xa9')},'json':!![]};return rp(_0x5e21b8);})['then'](function(_0x426f00){_0x304929=_0x426f00;_0x4b26b6=_0x304929[_0xae53('0xae')];_0x4b26b6=_[_0xae53('0xaf')](_0x4b26b6,function(_0x34ed22){return!_0x1829af['includes'](_0x34ed22['LogicalName']);});var _0x2aae10=[];var _0x2663ed=[];_0x4b26b6['forEach'](function(_0x3421df){if(_0x3421df[_0xae53('0xb0')]){var _0x20b09a=_0x3421df[_0xae53('0xb0')][_0xae53('0x9e')](_0x3421df[_0xae53('0xb0')][_0xae53('0x9f')]('.')+0x1);if(_0x20b09a==='PicklistAttributeMetadata'){_0x2aae10[_0xae53('0xb1')](getSelectList(_0x56f9df,_0x3fbd07,_0x2663ed,_0x304929[_0xae53('0xab')],_0x3421df[_0xae53('0xab')],_0x1dbc5f));}}});return Promise[_0xae53('0xb2')](_0x2aae10);})[_0xae53('0x1a')](function(_0x4ed30d){_0x313fa1=_0x4ed30d[0x0];var _0x571df4=[];var _0x30022c=[];_0x4b26b6[_0xae53('0xb3')](function(_0x35fb58){if(!_[_0xae53('0xb4')](_0x35fb58[_0xae53('0xb0')])){var _0x38eb74=_0x35fb58[_0xae53('0xb0')]['substring'](_0x35fb58[_0xae53('0xb0')][_0xae53('0x9f')]('.')+0x1);if(_0x38eb74===_0xae53('0xb5')){_0x571df4['push'](getBooleanList(_0x56f9df,_0x3fbd07,_0x30022c,_0x304929[_0xae53('0xab')],_0x35fb58['MetadataId'],_0x1dbc5f));}}});return Promise[_0xae53('0xb2')](_0x571df4);})[_0xae53('0x1a')](function(_0x7868cb){_0x1f6aab=_0x7868cb[0x0];var _0x31c8ea=[];var _0x124de1=[];_0x4b26b6[_0xae53('0xb3')](function(_0x4708c8){if(_0x4708c8[_0xae53('0xb0')]){var _0x426b4a=_0x4708c8[_0xae53('0xb0')][_0xae53('0x9e')](_0x4708c8[_0xae53('0xb0')][_0xae53('0x9f')]('.')+0x1);if(_0x426b4a===_0xae53('0xb6')||_0x426b4a==='DoubleAttributeMetadata'||_0x426b4a===_0xae53('0xb7')||_0x426b4a===_0xae53('0xb8')||_0x426b4a===_0xae53('0xb9')||_0x426b4a===_0xae53('0xba')||_0x426b4a===_0xae53('0xbb')||_0x426b4a==='EntityNameAttributeMetadata'||_0x426b4a===_0xae53('0xbc')||_0x426b4a===_0xae53('0xbd')){_0x31c8ea[_0xae53('0xb1')](getInputList(_0x56f9df,_0x3fbd07,_0x426b4a,_0x124de1,_0x304929[_0xae53('0xab')],_0x4708c8[_0xae53('0xab')],_0x1dbc5f));}}});return Promise['all'](_0x31c8ea);})[_0xae53('0x1a')](function(_0x3d33b7){_0x474c07=_0x3d33b7[0x0];var _0x3fabc9=_0x313fa1[_0xae53('0x97')](_0x1f6aab)['concat'](_0x474c07);var _0xab2576={'count':_0x3fabc9[_0xae53('0x3e')],'rows':_0x3fabc9};return _0xab2576;})[_0xae53('0x1a')](respondWithResult(_0x12fb1f,null))[_0xae53('0x4b')](function(_0x37bcce){var _0x6cb305=_0x46b8f4['query'][_0xae53('0xbe')]?0x1f4:_0x37bcce[_0xae53('0xbf')]||0x1f4;logger[_0xae53('0x21')](_0x37bcce[_0xae53('0x2f')]);delete _0x37bcce[_0xae53('0x30')];if(_0x6cb305===0x191){_0x6cb305=0x190;}_0x12fb1f[_0xae53('0x24')](_0x6cb305)[_0xae53('0xc0')](_0x46b8f4[_0xae53('0x38')]['test']?{'message':_0xae53('0xc1'),'statusCode':_0x37bcce[_0xae53('0xbf')]}:_0x37bcce);});};function getSelectList(_0x2c4a32,_0x381ae8,_0x387600,_0x1b0a25,_0x5b862a,_0x173e2c){var _0x69bd97={'method':'GET','uri':_0x2c4a32+_0xae53('0xac')+_0x1b0a25+_0xae53('0xc2')+_0x5b862a+')/Microsoft.Dynamics.CRM.PicklistAttributeMetadata?'+_0xae53('0xc3'),'headers':{'Authorization':_0xae53('0xa8')+_0x173e2c,'If-None-Match':null,'OData-Version':_0xae53('0xa9')},'json':!![]};return rp(_0x69bd97)['then'](function(_0x5e1f7f){var _0x11ad61=[];var _0x2d2c52=_0x5e1f7f[_0xae53('0xc4')]['Options'];_0x2d2c52['forEach'](function(_0x1b5bde){_0x11ad61['push']({'name':_0x1b5bde[_0xae53('0xc5')][_0xae53('0xc6')][_0xae53('0xc5')],'value':String(_0x1b5bde['Value'])});});var _0x4fce23={'id':_0x381ae8+'_'+_0x5e1f7f[_0xae53('0xc7')],'name':_0x5e1f7f[_0xae53('0xc8')][_0xae53('0xc6')][_0xae53('0xc5')],'custom':![],'options':_0x11ad61};_0x387600[_0xae53('0xb1')](_0x4fce23);return _0x387600;});}function getBooleanList(_0x4240b0,_0x17561a,_0x181313,_0x3678a2,_0x3d94bb,_0xfa96b2){var _0x2c6061={'method':_0xae53('0xa6'),'uri':_0x4240b0+'EntityDefinitions('+_0x3678a2+_0xae53('0xc2')+_0x3d94bb+_0xae53('0xc9'),'headers':{'Authorization':_0xae53('0xa8')+_0xfa96b2,'If-None-Match':null,'OData-Version':_0xae53('0xa9')},'json':!![]};return rp(_0x2c6061)['then'](function(_0x475405){var _0x1beffe=[];_0x1beffe['push']({'name':_0x475405[_0xae53('0xc4')][_0xae53('0xca')]['Label'][_0xae53('0xc6')][_0xae53('0xc5')],'value':_0xae53('0xcb')},{'name':_0x475405[_0xae53('0xc4')][_0xae53('0xcc')][_0xae53('0xc5')][_0xae53('0xc6')][_0xae53('0xc5')],'value':_0xae53('0xcd')});var _0x308b86={'id':_0x17561a+'_'+_0x475405['LogicalName'],'name':_0x475405['DisplayName'][_0xae53('0xc6')][_0xae53('0xc5')],'custom':![],'options':_0x1beffe};_0x181313[_0xae53('0xb1')](_0x308b86);return _0x181313;});}function getInputList(_0x168552,_0x49f144,_0x480d49,_0x1e4980,_0x30e2a5,_0x14a9f2,_0x1ebe42){var _0x1f974c={'method':'GET','uri':_0x168552+_0xae53('0xac')+_0x30e2a5+_0xae53('0xc2')+_0x14a9f2+_0xae53('0xce')+_0x480d49+'?$select=DisplayName,LogicalName','headers':{'Authorization':_0xae53('0xa8')+_0x1ebe42,'If-None-Match':null,'OData-Version':_0xae53('0xa9')},'json':!![]};return rp(_0x1f974c)['then'](function(_0x524f53){var _0x4cae21={'id':_0x49f144+'_'+_0x524f53[_0xae53('0xc7')],'name':_0x524f53[_0xae53('0xc8')]['UserLocalizedLabel']?_0x524f53['DisplayName'][_0xae53('0xc6')]['Label']:_0x524f53[_0xae53('0xc7')],'custom':![],'options':[]};_0x1e4980[_0xae53('0xb1')](_0x4cae21);return _0x1e4980;});}