aae9dc8096343316f81ead17fb7eb09aa5103ad9
[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 _0x8958=['keys','filters','intersection','attributes','model','fields','length','nolimit','limit','pick','filter','merge','where','options','includeAll','include','params','find','create','body','getConfigurations','findOne','Dynamics365Configuration','order','sort','hasOwnProperty','addConfiguration','AccountId','Subjects','getSubjects','channel','Descriptions','getDescriptions','Dynamics365Field','getFields','ticketType','incident','title','description','customerid','ownerid','caseorigincode','subject','regardingobjectid','directioncode','phonecall_activity_parties','accountidname','actualserviceunits','contactidname','contactidyominame','contractidname','createdbyexternalpartyname','createdbyname','createdbyyominame','createdon','createdonbehalfbyname','createdonbehalfbyyominame','customeridname','customeridtype','emailaddress','entityimage_timestamp','entityimage_url','escalatedon','exchangerate','followupby','importsequencenumber','influencescore','kbarticleidname','lastonholdtime','masteridname','modifiedbyexternalpartyname','modifiedbyexternalpartyyominame','modifiedbyyominame','modifiedon','msdyn_incidenttypename','msdyn_iotalertname','numberofchildincidents','onholdtime','owneridtype','owneridyominame','parentcaseidname','primarycontactidname','primarycontactidyominame','productidname','productserialnumber','resolvebykpiidname','responseby','responsiblecontactidname','responsiblecontactidyominame','sentimentvalue','slainvokedidname','socialprofileidname','statecode','timezoneruleversionnumber','transactioncurrencyidname','utcconversiontimezonecode','username','password','tenantId','clientId','clientSecret','remoteUri','slice','substring','lastIndexOf','format','%s/api/data/v9.0/','POST','GET','EntityDefinitions?$select=DisplayName,EntitySetName&$filter=SchemaName\x20eq\x20\x27','Bearer\x20','4.0','value','MetadataId','EntityDefinitions(',')?$select=LogicalName&$expand=Attributes($select=LogicalName)','remove','includes','forEach','@odata.type','push','all','isNil','BooleanAttributeMetadata','DoubleAttributeMetadata','BigIntAttributeMetadata','DateTimeAttributeMetadata','StatusAttributeMetadata','StateAttributeMetadata','DecimalAttributeMetadata','concat','statusCode',')/Attributes(','$select=DisplayName,LogicalName&$expand=OptionSet($select=Options)','OptionSet','Options','Label','UserLocalizedLabel','Value','LogicalName','DisplayName',')/Microsoft.Dynamics.CRM.BooleanAttributeMetadata?$select=DisplayName,LogicalName&$expand=OptionSet($select=FalseOption,\x20TrueOption)','TrueOption','true','FalseOption',')/Microsoft.Dynamics.CRM.','?$select=DisplayName,LogicalName','eml-format','moment','mustache','util','path','to-csv','ejs','lodash','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','../../components/integrations/configuration','jayson/promise','http','request','then','info','request\x20sent','debug','Dynamics365Account,\x20%s,\x20%s,\x20%s','stringify','error','code','Dynamics365Account,\x20%s,\x20%s','message','result','catch','sendStatus','status','end','json','count','offset','set','Content-Range','reject','save','update','destroy','stack','name','send','index','map','Dynamics365Account','rawAttributes','type','key','query'];(function(_0x1290be,_0x5a14d8){var _0x2108d7=function(_0x5c7907){while(--_0x5c7907){_0x1290be['push'](_0x1290be['shift']());}};_0x2108d7(++_0x5a14d8);}(_0x8958,0x93));var _0x8895=function(_0xb36843,_0x57c1f4){_0xb36843=_0xb36843-0x0;var _0x227b83=_0x8958[_0xb36843];return _0x227b83;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x8895('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x8895('0x1'));var BPromise=require('bluebird');var Mustache=require(_0x8895('0x2'));var util=require(_0x8895('0x3'));var path=require(_0x8895('0x4'));var sox=require('sox');var csv=require(_0x8895('0x5'));var ejs=require(_0x8895('0x6'));var fs=require('fs');var _=require(_0x8895('0x7'));var squel=require(_0x8895('0x8'));var crypto=require(_0x8895('0x9'));var jsforce=require('jsforce');var deskjs=require(_0x8895('0xa'));var toCsv=require(_0x8895('0x5'));var querystring=require(_0x8895('0xb'));var Papa=require(_0x8895('0xc'));var Redis=require(_0x8895('0xd'));var authService=require(_0x8895('0xe'));var qs=require(_0x8895('0xf'));var as=require(_0x8895('0x10'));var hardwareService=require(_0x8895('0x11'));var logger=require(_0x8895('0x12'))('api');var utils=require(_0x8895('0x13'));var config=require(_0x8895('0x14'));var licenseUtil=require(_0x8895('0x15'));var db=require(_0x8895('0x16'))['db'];var integrations=require(_0x8895('0x17'));var jayson=require(_0x8895('0x18'));var client=jayson['client'][_0x8895('0x19')]({'port':0x232a});function respondWithRpcPromise(_0x34e856,_0x56c18e,_0x57d40a,_0x47b9fe){return new BPromise(function(_0x9191b8,_0x4e8f53){var _0x4156f5=_0x47b9fe||client;return _0x4156f5[_0x8895('0x1a')](_0x34e856,_0x57d40a)[_0x8895('0x1b')](function(_0x3d7b59){logger[_0x8895('0x1c')]('Dynamics365Account,\x20%s,\x20%s',_0x56c18e,_0x8895('0x1d'));logger[_0x8895('0x1e')](_0x8895('0x1f'),_0x56c18e,_0x8895('0x1d'),JSON[_0x8895('0x20')](_0x3d7b59));if(_0x3d7b59[_0x8895('0x21')]){if(_0x3d7b59[_0x8895('0x21')][_0x8895('0x22')]===0x1f4){logger[_0x8895('0x21')](_0x8895('0x23'),_0x56c18e,_0x3d7b59[_0x8895('0x21')][_0x8895('0x24')]);return _0x4e8f53(_0x3d7b59[_0x8895('0x21')]['message']);}logger['error']('Dynamics365Account,\x20%s,\x20%s',_0x56c18e,_0x3d7b59[_0x8895('0x21')][_0x8895('0x24')]);return _0x9191b8(_0x3d7b59[_0x8895('0x21')][_0x8895('0x24')]);}else{logger[_0x8895('0x1c')](_0x8895('0x23'),_0x56c18e,_0x8895('0x1d'));_0x9191b8(_0x3d7b59[_0x8895('0x25')]['message']);}})[_0x8895('0x26')](function(_0x5db3a0){logger[_0x8895('0x21')](_0x8895('0x23'),_0x56c18e,_0x5db3a0);_0x4e8f53(_0x5db3a0);});});}function respondWithStatusCode(_0x29223d,_0x4d092d){_0x4d092d=_0x4d092d||0xcc;return function(_0x5d354a){if(_0x5d354a){return _0x29223d[_0x8895('0x27')](_0x4d092d);}return _0x29223d[_0x8895('0x28')](_0x4d092d)[_0x8895('0x29')]();};}function respondWithResult(_0x24a376,_0x4fc150){_0x4fc150=_0x4fc150||0xc8;return function(_0x25da11){if(_0x25da11){return _0x24a376[_0x8895('0x28')](_0x4fc150)[_0x8895('0x2a')](_0x25da11);}};}function respondWithFilteredResult(_0x5486a6,_0x4aee03){return function(_0x78b57){if(_0x78b57){var _0x555e60=_0x78b57[_0x8895('0x2b')],_0x3d51b0=_0x4aee03[_0x8895('0x2c')],_0x3e3b48=_0x4aee03['offset']+_0x4aee03['limit'],_0x10b48f;if(_0x3e3b48>=_0x555e60){_0x3e3b48=_0x555e60;_0x10b48f=0xc8;}else{_0x10b48f=0xce;}_0x5486a6[_0x8895('0x28')](_0x10b48f);return _0x5486a6[_0x8895('0x2d')](_0x8895('0x2e'),_0x3d51b0+'-'+_0x3e3b48+'/'+_0x555e60)[_0x8895('0x2a')](_0x78b57);}return null;};}function patchUpdates(_0x19b6dd){return function(_0x560b93){try{jsonpatch['apply'](_0x560b93,_0x19b6dd,!![]);}catch(_0x46ae32){return BPromise[_0x8895('0x2f')](_0x46ae32);}return _0x560b93[_0x8895('0x30')]();};}function saveUpdates(_0x29f565,_0x1eabb6){return function(_0x52f2ac){if(_0x52f2ac){return _0x52f2ac[_0x8895('0x31')](_0x29f565)['then'](function(_0x3f055a){return _0x3f055a;});}return null;};}function removeEntity(_0x5b2b19,_0x40ba14){return function(_0x1a3fe5){if(_0x1a3fe5){return _0x1a3fe5[_0x8895('0x32')]()[_0x8895('0x1b')](function(){_0x5b2b19[_0x8895('0x28')](0xcc)['end']();});}};}function handleEntityNotFound(_0x2c54a0,_0xcba076){return function(_0x1b5359){if(!_0x1b5359){_0x2c54a0[_0x8895('0x27')](0x194);}return _0x1b5359;};}function handleError(_0x330692,_0x574f0e){_0x574f0e=_0x574f0e||0x1f4;return function(_0x2880a6){logger['error'](_0x2880a6[_0x8895('0x33')]);if(_0x2880a6['name']){delete _0x2880a6[_0x8895('0x34')];}_0x330692[_0x8895('0x28')](_0x574f0e)[_0x8895('0x35')](_0x2880a6);};}exports[_0x8895('0x36')]=function(_0xd08bf3,_0x4ee352){var _0x1cff8e={},_0x484606={},_0x57f58a={'count':0x0,'rows':[]};var _0xcc735f=_[_0x8895('0x37')](db[_0x8895('0x38')][_0x8895('0x39')],function(_0x16e110){return{'name':_0x16e110['fieldName'],'type':_0x16e110[_0x8895('0x3a')][_0x8895('0x3b')]};});_0x484606['model']=_[_0x8895('0x37')](_0xcc735f,'name');_0x484606[_0x8895('0x3c')]=_[_0x8895('0x3d')](_0xd08bf3['query']);_0x484606[_0x8895('0x3e')]=_[_0x8895('0x3f')](_0x484606['model'],_0x484606['query']);_0x1cff8e[_0x8895('0x40')]=_[_0x8895('0x3f')](_0x484606[_0x8895('0x41')],qs[_0x8895('0x42')](_0xd08bf3[_0x8895('0x3c')]['fields']));_0x1cff8e[_0x8895('0x40')]=_0x1cff8e[_0x8895('0x40')][_0x8895('0x43')]?_0x1cff8e[_0x8895('0x40')]:_0x484606[_0x8895('0x41')];if(!_0xd08bf3[_0x8895('0x3c')]['hasOwnProperty'](_0x8895('0x44'))){_0x1cff8e['limit']=qs[_0x8895('0x45')](_0xd08bf3[_0x8895('0x3c')]['limit']);_0x1cff8e[_0x8895('0x2c')]=qs['offset'](_0xd08bf3[_0x8895('0x3c')]['offset']);}_0x1cff8e['order']=qs['sort'](_0xd08bf3['query']['sort']);_0x1cff8e['where']=qs[_0x8895('0x3e')](_[_0x8895('0x46')](_0xd08bf3['query'],_0x484606['filters']),_0xcc735f);if(_0xd08bf3[_0x8895('0x3c')][_0x8895('0x47')]){_0x1cff8e['where']=_[_0x8895('0x48')](_0x1cff8e[_0x8895('0x49')],{'$or':_[_0x8895('0x37')](_0xcc735f,function(_0x3b873b){if(_0x3b873b[_0x8895('0x3a')]!=='VIRTUAL'){var _0x549080={};_0x549080[_0x3b873b['name']]={'$like':'%'+_0xd08bf3[_0x8895('0x3c')]['filter']+'%'};return _0x549080;}})});}_0x1cff8e=_[_0x8895('0x48')]({},_0x1cff8e,_0xd08bf3[_0x8895('0x4a')]);var _0x2bfd7c={'where':_0x1cff8e[_0x8895('0x49')]};return db['Dynamics365Account'][_0x8895('0x2b')](_0x2bfd7c)[_0x8895('0x1b')](function(_0x3413cd){_0x57f58a[_0x8895('0x2b')]=_0x3413cd;if(_0xd08bf3[_0x8895('0x3c')][_0x8895('0x4b')]){_0x1cff8e[_0x8895('0x4c')]=[{'all':!![]}];}return db[_0x8895('0x38')]['findAll'](_0x1cff8e);})[_0x8895('0x1b')](function(_0x3bf0e3){_0x57f58a['rows']=_0x3bf0e3;return _0x57f58a;})[_0x8895('0x1b')](respondWithFilteredResult(_0x4ee352,_0x1cff8e))['catch'](handleError(_0x4ee352,null));};exports['show']=function(_0x13546d,_0x337a9f){var _0x130018={'raw':![],'where':{'id':_0x13546d[_0x8895('0x4d')]['id']}},_0x53c4a2={};_0x53c4a2['model']=_[_0x8895('0x3d')](db[_0x8895('0x38')][_0x8895('0x39')]);_0x53c4a2[_0x8895('0x3c')]=_[_0x8895('0x3d')](_0x13546d[_0x8895('0x3c')]);_0x53c4a2[_0x8895('0x3e')]=_['intersection'](_0x53c4a2['model'],_0x53c4a2[_0x8895('0x3c')]);_0x130018[_0x8895('0x40')]=_['intersection'](_0x53c4a2[_0x8895('0x41')],qs['fields'](_0x13546d['query'][_0x8895('0x42')]));_0x130018['attributes']=_0x130018[_0x8895('0x40')][_0x8895('0x43')]?_0x130018[_0x8895('0x40')]:_0x53c4a2[_0x8895('0x41')];if(_0x13546d[_0x8895('0x3c')][_0x8895('0x4b')]){_0x130018[_0x8895('0x4c')]=[{'all':!![]}];}_0x130018=_[_0x8895('0x48')]({},_0x130018,_0x13546d['options']);return db[_0x8895('0x38')][_0x8895('0x4e')](_0x130018)[_0x8895('0x1b')](handleEntityNotFound(_0x337a9f,null))['then'](respondWithResult(_0x337a9f,null))[_0x8895('0x26')](handleError(_0x337a9f,null));};exports[_0x8895('0x4f')]=function(_0xd7ffeb,_0x14e769){return db[_0x8895('0x38')][_0x8895('0x4f')](_0xd7ffeb[_0x8895('0x50')],{})[_0x8895('0x1b')](respondWithResult(_0x14e769,0xc9))[_0x8895('0x26')](handleError(_0x14e769,null));};exports[_0x8895('0x31')]=function(_0x4fe2c4,_0x2fe39c){if(_0x4fe2c4[_0x8895('0x50')]['id']){delete _0x4fe2c4[_0x8895('0x50')]['id'];}return db[_0x8895('0x38')][_0x8895('0x4e')]({'where':{'id':_0x4fe2c4['params']['id']}})[_0x8895('0x1b')](handleEntityNotFound(_0x2fe39c,null))[_0x8895('0x1b')](saveUpdates(_0x4fe2c4[_0x8895('0x50')],null))[_0x8895('0x1b')](respondWithResult(_0x2fe39c,null))[_0x8895('0x26')](handleError(_0x2fe39c,null));};exports['destroy']=function(_0x46389f,_0x1e12de){return db[_0x8895('0x38')]['find']({'where':{'id':_0x46389f[_0x8895('0x4d')]['id']}})[_0x8895('0x1b')](handleEntityNotFound(_0x1e12de,null))[_0x8895('0x1b')](removeEntity(_0x1e12de,null))['catch'](handleError(_0x1e12de,null));};exports[_0x8895('0x51')]=function(_0x207548,_0x564284,_0x2b6ceb){var _0x26f68c={};var _0x5198f8={};var _0x2f990a;var _0x2794c1;return db[_0x8895('0x38')][_0x8895('0x52')]({'where':{'id':_0x207548['params']['id']}})['then'](handleEntityNotFound(_0x564284,null))[_0x8895('0x1b')](function(_0x32f704){if(_0x32f704){_0x2f990a=_0x32f704;_0x5198f8[_0x8895('0x41')]=_['keys'](db[_0x8895('0x53')][_0x8895('0x39')]);_0x5198f8['query']=_[_0x8895('0x3d')](_0x207548['query']);_0x5198f8[_0x8895('0x3e')]=_[_0x8895('0x3f')](_0x5198f8[_0x8895('0x41')],_0x5198f8[_0x8895('0x3c')]);_0x26f68c[_0x8895('0x40')]=_['intersection'](_0x5198f8['model'],qs[_0x8895('0x42')](_0x207548[_0x8895('0x3c')]['fields']));_0x26f68c[_0x8895('0x40')]=_0x26f68c[_0x8895('0x40')][_0x8895('0x43')]?_0x26f68c[_0x8895('0x40')]:_0x5198f8['model'];_0x26f68c[_0x8895('0x54')]=qs[_0x8895('0x55')](_0x207548[_0x8895('0x3c')][_0x8895('0x55')]);_0x26f68c[_0x8895('0x49')]=qs[_0x8895('0x3e')](_[_0x8895('0x46')](_0x207548[_0x8895('0x3c')],_0x5198f8[_0x8895('0x3e')]));if(_0x207548[_0x8895('0x3c')][_0x8895('0x47')]){_0x26f68c[_0x8895('0x49')]=_[_0x8895('0x48')](_0x26f68c[_0x8895('0x49')],{'$or':_[_0x8895('0x37')](_0x26f68c['attributes'],function(_0x5a60ee){var _0x5b96fe={};_0x5b96fe[_0x5a60ee]={'$like':'%'+_0x207548[_0x8895('0x3c')][_0x8895('0x47')]+'%'};return _0x5b96fe;})});}_0x26f68c=_[_0x8895('0x48')]({},_0x26f68c,_0x207548[_0x8895('0x4a')]);return _0x2f990a[_0x8895('0x51')](_0x26f68c);}})['then'](function(_0x816803){if(_0x816803){_0x2794c1=_0x816803[_0x8895('0x43')];if(!_0x207548['query'][_0x8895('0x56')](_0x8895('0x44'))){_0x26f68c[_0x8895('0x45')]=qs[_0x8895('0x45')](_0x207548[_0x8895('0x3c')]['limit']);_0x26f68c[_0x8895('0x2c')]=qs[_0x8895('0x2c')](_0x207548[_0x8895('0x3c')][_0x8895('0x2c')]);}return _0x2f990a[_0x8895('0x51')](_0x26f68c);}})[_0x8895('0x1b')](function(_0x22f220){if(_0x22f220){return _0x22f220?{'count':_0x2794c1,'rows':_0x22f220}:null;}})['then'](respondWithResult(_0x564284,null))[_0x8895('0x26')](handleError(_0x564284,null));};exports[_0x8895('0x57')]=function(_0x49dcab,_0x1ffefd,_0x1f404e){if(_0x49dcab[_0x8895('0x50')]['id']){delete _0x49dcab[_0x8895('0x50')]['id'];}return db[_0x8895('0x38')]['findOne']({'where':{'id':_0x49dcab[_0x8895('0x4d')]['id']}})['then'](handleEntityNotFound(_0x1ffefd,null))[_0x8895('0x1b')](function(_0x2440cb){if(_0x2440cb){_0x49dcab['body'][_0x8895('0x58')]=_0x2440cb['id'];_0x49dcab[_0x8895('0x50')][_0x8895('0x59')]=integrations[_0x8895('0x5a')](_0x49dcab['body'][_0x8895('0x5b')],_0x49dcab['body']['type']);_0x49dcab[_0x8895('0x50')][_0x8895('0x5c')]=integrations[_0x8895('0x5d')](_0x49dcab['body'][_0x8895('0x5b')],_0x49dcab['body'][_0x8895('0x3a')]);return db[_0x8895('0x53')][_0x8895('0x4f')](_0x49dcab[_0x8895('0x50')],{'include':[{'model':db[_0x8895('0x5e')],'as':'Subjects'},{'model':db['Dynamics365Field'],'as':_0x8895('0x5c')}]});}return null;})['then'](respondWithResult(_0x1ffefd,null))[_0x8895('0x26')](handleError(_0x1ffefd,null));};exports[_0x8895('0x5f')]=function(_0x4925c4,_0xd1fd50,_0xd9637a){var _0x3ace6f=_0x4925c4[_0x8895('0x3c')][_0x8895('0x60')];var _0x4f80a3=_0x3ace6f===_0x8895('0x61')?'Incident':'PhoneCall';var _0x35b354='';var _0x5276f3='';var _0x39a9f7='';var _0x35646f='';var _0x64eca7='';var _0x39f5e5='';var _0x53591d='';var _0x4d802e='';var _0x571731=[_0x8895('0x62'),_0x8895('0x63'),_0x8895('0x64'),_0x8895('0x65'),_0x8895('0x66'),_0x8895('0x67'),'phonenumber',_0x8895('0x68'),_0x8895('0x69'),_0x8895('0x6a')];var _0x584a1f=[_0x8895('0x6b'),'accountidyominame',_0x8895('0x6c'),'billedserviceunits',_0x8895('0x6d'),_0x8895('0x6e'),'contractdetailidname',_0x8895('0x6f'),_0x8895('0x70'),'createdbyexternalpartyyominame',_0x8895('0x71'),_0x8895('0x72'),_0x8895('0x73'),_0x8895('0x74'),_0x8895('0x75'),_0x8895('0x76'),_0x8895('0x77'),'customeridyominame',_0x8895('0x78'),'entitlementidname',_0x8895('0x79'),_0x8895('0x7a'),_0x8895('0x7b'),_0x8895('0x7c'),'firstresponsebykpiidname',_0x8895('0x7d'),_0x8895('0x7e'),_0x8895('0x7f'),_0x8895('0x80'),_0x8895('0x81'),_0x8895('0x82'),_0x8895('0x83'),_0x8895('0x84'),'modifiedbyname',_0x8895('0x85'),_0x8895('0x86'),'modifiedonbehalfbyname','modifiedonbehalfbyyominame',_0x8895('0x87'),_0x8895('0x88'),_0x8895('0x89'),_0x8895('0x8a'),'overriddencreatedon','owneridname',_0x8895('0x8b'),_0x8895('0x8c'),_0x8895('0x8d'),_0x8895('0x8e'),_0x8895('0x8f'),'prioritycodename',_0x8895('0x90'),_0x8895('0x91'),'resolveby',_0x8895('0x92'),_0x8895('0x93'),_0x8895('0x94'),_0x8895('0x95'),_0x8895('0x96'),_0x8895('0x97'),'slaname',_0x8895('0x98'),_0x8895('0x99'),'statuscode','subjectidname','ticketnumber',_0x8895('0x9a'),_0x8895('0x9b'),'traversedpath',_0x8895('0x9c'),'versionnumber'];var _0x5b6861=_0x571731['concat'](_0x584a1f);return db[_0x8895('0x38')][_0x8895('0x52')]({'where':{'id':_0x4925c4[_0x8895('0x4d')]['id']},'attributes':['id',_0x8895('0x9d'),_0x8895('0x9e'),'remoteUri',_0x8895('0x9f'),_0x8895('0xa0'),_0x8895('0xa1')]})['then'](handleEntityNotFound(_0xd1fd50,null))['then'](function(_0x484cd8){if(_0x484cd8){_0x4d802e=_0x484cd8[_0x8895('0xa2')];var _0x1d796a=_0x4d802e[_0x8895('0xa3')](-0x1);if(_0x1d796a==='/'){_0x4d802e=_0x4d802e[_0x8895('0xa4')](0x0,_0x4d802e[_0x8895('0xa5')](_0x1d796a));}_0x53591d=util[_0x8895('0xa6')](_0x8895('0xa7'),_0x4d802e);var _0x524873={'method':_0x8895('0xa8'),'uri':'https://login.microsoftonline.com/'+_0x484cd8[_0x8895('0x9f')]+'/oauth2/token','form':{'client_id':_0x484cd8[_0x8895('0xa0')],'resource':_0x4d802e,'username':_0x484cd8[_0x8895('0x9d')],'password':_0x484cd8[_0x8895('0x9e')],'grant_type':_0x8895('0x9e'),'client_secret':_0x484cd8[_0x8895('0xa1')]},'json':!![]};return rp(_0x524873);}})[_0x8895('0x1b')](function(_0x208a36){_0x39f5e5=_0x208a36['access_token'];var _0x3edc41={'method':_0x8895('0xa9'),'uri':encodeURI(_0x53591d+_0x8895('0xaa')+_0x4f80a3+'\x27'),'headers':{'Authorization':_0x8895('0xab')+_0x39f5e5,'If-None-Match':null,'OData-Version':_0x8895('0xac')},'json':!![]};return rp(_0x3edc41);})['then'](function(_0x464d1c){var _0x554477=_0x464d1c[_0x8895('0xad')][0x0];var _0x278605=_0x554477[_0x8895('0xae')];var _0x92d99b={'method':_0x8895('0xa9'),'uri':_0x53591d+_0x8895('0xaf')+_0x278605+_0x8895('0xb0'),'headers':{'Authorization':_0x8895('0xab')+_0x39f5e5,'If-None-Match':null,'OData-Version':_0x8895('0xac')},'json':!![]};return rp(_0x92d99b);})['then'](function(_0x18d225){_0x35b354=_0x18d225;_0x5276f3=_0x35b354['Attributes'];_0x5276f3=_[_0x8895('0xb1')](_0x5276f3,function(_0xa4ecd9){return!_0x5b6861[_0x8895('0xb2')](_0xa4ecd9['LogicalName']);});var _0x13b48d=[];var _0x4b7dff=[];_0x5276f3[_0x8895('0xb3')](function(_0x3d422a){if(_0x3d422a[_0x8895('0xb4')]){var _0x3745e=_0x3d422a['@odata.type']['substring'](_0x3d422a[_0x8895('0xb4')]['lastIndexOf']('.')+0x1);if(_0x3745e==='PicklistAttributeMetadata'){_0x13b48d[_0x8895('0xb5')](getSelectList(_0x53591d,_0x3ace6f,_0x4b7dff,_0x35b354['MetadataId'],_0x3d422a[_0x8895('0xae')],_0x39f5e5));}}});return Promise[_0x8895('0xb6')](_0x13b48d);})[_0x8895('0x1b')](function(_0xcb467c){_0x39a9f7=_0xcb467c[0x0];var _0x457d37=[];var _0x1ef755=[];_0x5276f3[_0x8895('0xb3')](function(_0x11d283){if(!_[_0x8895('0xb7')](_0x11d283['@odata.type'])){var _0x33deba=_0x11d283[_0x8895('0xb4')][_0x8895('0xa4')](_0x11d283['@odata.type'][_0x8895('0xa5')]('.')+0x1);if(_0x33deba===_0x8895('0xb8')){_0x457d37[_0x8895('0xb5')](getBooleanList(_0x53591d,_0x3ace6f,_0x1ef755,_0x35b354['MetadataId'],_0x11d283[_0x8895('0xae')],_0x39f5e5));}}});return Promise[_0x8895('0xb6')](_0x457d37);})[_0x8895('0x1b')](function(_0x4f8c62){_0x35646f=_0x4f8c62[0x0];var _0x340126=[];var _0x134b9d=[];_0x5276f3[_0x8895('0xb3')](function(_0x510d69){if(_0x510d69[_0x8895('0xb4')]){var _0x2a2a52=_0x510d69[_0x8895('0xb4')][_0x8895('0xa4')](_0x510d69[_0x8895('0xb4')][_0x8895('0xa5')]('.')+0x1);if(_0x2a2a52==='StringAttributeMetadata'||_0x2a2a52===_0x8895('0xb9')||_0x2a2a52===_0x8895('0xba')||_0x2a2a52==='IntegerAttributeMetadata'||_0x2a2a52==='MemoAttributeMetadata'||_0x2a2a52===_0x8895('0xbb')||_0x2a2a52===_0x8895('0xbc')||_0x2a2a52==='EntityNameAttributeMetadata'||_0x2a2a52===_0x8895('0xbd')||_0x2a2a52===_0x8895('0xbe')){_0x340126[_0x8895('0xb5')](getInputList(_0x53591d,_0x3ace6f,_0x2a2a52,_0x134b9d,_0x35b354[_0x8895('0xae')],_0x510d69[_0x8895('0xae')],_0x39f5e5));}}});return Promise['all'](_0x340126);})[_0x8895('0x1b')](function(_0x35f345){_0x64eca7=_0x35f345[0x0];var _0x4691f2=_0x39a9f7[_0x8895('0xbf')](_0x35646f)[_0x8895('0xbf')](_0x64eca7);var _0x2317cc={'count':_0x4691f2[_0x8895('0x43')],'rows':_0x4691f2};return _0x2317cc;})[_0x8895('0x1b')](respondWithResult(_0xd1fd50,null))[_0x8895('0x26')](function(_0x208bb4){var _0x2165fe=_0x4925c4[_0x8895('0x3c')]['test']?0x1f4:_0x208bb4[_0x8895('0xc0')]||0x1f4;logger[_0x8895('0x21')](_0x208bb4[_0x8895('0x33')]);delete _0x208bb4[_0x8895('0x34')];if(_0x2165fe===0x191){_0x2165fe=0x190;}_0xd1fd50['status'](_0x2165fe)[_0x8895('0x35')](_0x4925c4[_0x8895('0x3c')]['test']?{'message':'Wrong\x20credentials','statusCode':_0x208bb4[_0x8895('0xc0')]}:_0x208bb4);});};function getSelectList(_0x4cc76f,_0x20a58c,_0x52439f,_0x4e0a0e,_0x215358,_0x4f81ef){var _0x1b9266={'method':'GET','uri':_0x4cc76f+_0x8895('0xaf')+_0x4e0a0e+_0x8895('0xc1')+_0x215358+')/Microsoft.Dynamics.CRM.PicklistAttributeMetadata?'+_0x8895('0xc2'),'headers':{'Authorization':_0x8895('0xab')+_0x4f81ef,'If-None-Match':null,'OData-Version':_0x8895('0xac')},'json':!![]};return rp(_0x1b9266)['then'](function(_0x47f014){var _0x380598=[];var _0x1af2b7=_0x47f014[_0x8895('0xc3')][_0x8895('0xc4')];_0x1af2b7[_0x8895('0xb3')](function(_0x252ef8){_0x380598[_0x8895('0xb5')]({'name':_0x252ef8[_0x8895('0xc5')][_0x8895('0xc6')][_0x8895('0xc5')],'value':String(_0x252ef8[_0x8895('0xc7')])});});var _0x275caf={'id':_0x20a58c+'_'+_0x47f014[_0x8895('0xc8')],'name':_0x47f014[_0x8895('0xc9')]['UserLocalizedLabel'][_0x8895('0xc5')],'custom':![],'options':_0x380598};_0x52439f[_0x8895('0xb5')](_0x275caf);return _0x52439f;});}function getBooleanList(_0x3c548d,_0x616fd,_0x54e061,_0x342a11,_0x32eb27,_0xf3b3e5){var _0x20752d={'method':_0x8895('0xa9'),'uri':_0x3c548d+_0x8895('0xaf')+_0x342a11+_0x8895('0xc1')+_0x32eb27+_0x8895('0xca'),'headers':{'Authorization':_0x8895('0xab')+_0xf3b3e5,'If-None-Match':null,'OData-Version':_0x8895('0xac')},'json':!![]};return rp(_0x20752d)[_0x8895('0x1b')](function(_0xc9bdfd){var _0x2eb831=[];_0x2eb831[_0x8895('0xb5')]({'name':_0xc9bdfd[_0x8895('0xc3')][_0x8895('0xcb')]['Label'][_0x8895('0xc6')]['Label'],'value':_0x8895('0xcc')},{'name':_0xc9bdfd[_0x8895('0xc3')][_0x8895('0xcd')]['Label'][_0x8895('0xc6')][_0x8895('0xc5')],'value':'false'});var _0x3dfcce={'id':_0x616fd+'_'+_0xc9bdfd['LogicalName'],'name':_0xc9bdfd[_0x8895('0xc9')]['UserLocalizedLabel']['Label'],'custom':![],'options':_0x2eb831};_0x54e061[_0x8895('0xb5')](_0x3dfcce);return _0x54e061;});}function getInputList(_0x19f83e,_0x2c87ff,_0x81c9e4,_0x7d07fe,_0x524c23,_0x2feadb,_0x5a88e2){var _0x4c7424={'method':_0x8895('0xa9'),'uri':_0x19f83e+_0x8895('0xaf')+_0x524c23+')/Attributes('+_0x2feadb+_0x8895('0xce')+_0x81c9e4+_0x8895('0xcf'),'headers':{'Authorization':_0x8895('0xab')+_0x5a88e2,'If-None-Match':null,'OData-Version':'4.0'},'json':!![]};return rp(_0x4c7424)[_0x8895('0x1b')](function(_0x431b18){var _0x114200={'id':_0x2c87ff+'_'+_0x431b18['LogicalName'],'name':_0x431b18[_0x8895('0xc9')][_0x8895('0xc6')]?_0x431b18[_0x8895('0xc9')][_0x8895('0xc6')][_0x8895('0xc5')]:_0x431b18[_0x8895('0xc8')],'custom':![],'options':[]};_0x7d07fe[_0x8895('0xb5')](_0x114200);return _0x7d07fe;});}