Built motion from commit 5b761a7b.|2.5.36
[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 _0xd5b2=['socialprofileidname','statecode','statuscode','subjectidname','ticketnumber','timezoneruleversionnumber','transactioncurrencyidname','utcconversiontimezonecode','versionnumber','concat','password','clientId','clientSecret','remoteUri','lastIndexOf','%s/api/data/v9.0/','https://login.microsoftonline.com/','tenantId','/oauth2/token','username','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','LogicalName','forEach','@odata.type','substring','PicklistAttributeMetadata','push','all','isNil','StringAttributeMetadata','DoubleAttributeMetadata','BigIntAttributeMetadata','IntegerAttributeMetadata','DateTimeAttributeMetadata','StatusAttributeMetadata','StateAttributeMetadata','DecimalAttributeMetadata','send','test',')/Attributes(',')/Microsoft.Dynamics.CRM.PicklistAttributeMetadata?','$select=DisplayName,LogicalName&$expand=OptionSet($select=Options)','Label','Value','DisplayName',')/Microsoft.Dynamics.CRM.BooleanAttributeMetadata?$select=DisplayName,LogicalName&$expand=OptionSet($select=FalseOption,\x20TrueOption)','OptionSet','TrueOption','UserLocalizedLabel','true','FalseOption','false','?$select=DisplayName,LogicalName','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','path','fs-extra','squel','jsforce','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','undefined','limit','count','offset','set','Content-Range','apply','reject','save','update','then','error','stack','name','index','map','Dynamics365Account','rawAttributes','fieldName','type','key','query','keys','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','sort','where','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','find','create','body','params','destroy','findOne','Dynamics365Configuration','order','pick','getConfigurations','AccountId','Subjects','getSubjects','channel','getDescriptions','Dynamics365Field','getFields','Incident','title','description','caseorigincode','subject','phonenumber','phonecall_activity_parties','accountidname','accountidyominame','actualserviceunits','billedserviceunits','contactidyominame','contractdetailidname','contractidname','createdbyexternalpartyname','createdbyexternalpartyyominame','createdon','createdonbehalfbyname','createdonbehalfbyyominame','customeridname','customeridtype','customeridyominame','emailaddress','entitlementidname','entityimage_timestamp','escalatedon','importsequencenumber','influencescore','kbarticleidname','lastonholdtime','masteridname','modifiedbyexternalpartyname','modifiedbyname','modifiedbyyominame','modifiedon','modifiedonbehalfbyname','modifiedonbehalfbyyominame','msdyn_incidenttypename','msdyn_iotalertname','numberofchildincidents','onholdtime','overriddencreatedon','owneridname','owneridtype','owneridyominame','parentcaseidname','primarycontactidname','primarycontactidyominame','prioritycodename','productserialnumber','resolveby','resolvebykpiidname','responsiblecontactidname','responsiblecontactidyominame','sentimentvalue','slainvokedidname','slaname'];(function(_0x30faee,_0x1c3794){var _0x3a90ab=function(_0x11129b){while(--_0x11129b){_0x30faee['push'](_0x30faee['shift']());}};_0x3a90ab(++_0x1c3794);}(_0xd5b2,0x10e));var _0x2d5b=function(_0x2dea24,_0x2fc021){_0x2dea24=_0x2dea24-0x0;var _0x309d58=_0xd5b2[_0x2dea24];return _0x309d58;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x2d5b('0x0'));var zipdir=require(_0x2d5b('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x2d5b('0x2'));var moment=require(_0x2d5b('0x3'));var BPromise=require(_0x2d5b('0x4'));var Mustache=require(_0x2d5b('0x5'));var util=require(_0x2d5b('0x6'));var path=require(_0x2d5b('0x7'));var sox=require('sox');var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x2d5b('0x8'));var _=require('lodash');var squel=require(_0x2d5b('0x9'));var crypto=require('crypto');var jsforce=require(_0x2d5b('0xa'));var deskjs=require('desk.js');var toCsv=require(_0x2d5b('0xb'));var querystring=require(_0x2d5b('0xc'));var Papa=require(_0x2d5b('0xd'));var Redis=require(_0x2d5b('0xe'));var authService=require(_0x2d5b('0xf'));var qs=require(_0x2d5b('0x10'));var as=require(_0x2d5b('0x11'));var hardwareService=require(_0x2d5b('0x12'));var logger=require(_0x2d5b('0x13'))(_0x2d5b('0x14'));var utils=require(_0x2d5b('0x15'));var config=require(_0x2d5b('0x16'));var licenseUtil=require(_0x2d5b('0x17'));var db=require(_0x2d5b('0x18'))['db'];var integrations=require('../../components/integrations/configuration');function respondWithStatusCode(_0x4a45b6,_0x327b75){_0x327b75=_0x327b75||0xcc;return function(_0x3dee67){if(_0x3dee67){return _0x4a45b6[_0x2d5b('0x19')](_0x327b75);}return _0x4a45b6[_0x2d5b('0x1a')](_0x327b75)[_0x2d5b('0x1b')]();};}function respondWithResult(_0x461969,_0x48d993){_0x48d993=_0x48d993||0xc8;return function(_0x10fe00){if(_0x10fe00){return _0x461969['status'](_0x48d993)[_0x2d5b('0x1c')](_0x10fe00);}};}function respondWithFilteredResult(_0x3ffe86,_0x5e22bf){return function(_0x1c5ee6){if(_0x1c5ee6){var _0xa1b05d=typeof _0x5e22bf['offset']===_0x2d5b('0x1d')&&typeof _0x5e22bf[_0x2d5b('0x1e')]==='undefined';var _0x41d23f=_0x1c5ee6[_0x2d5b('0x1f')];var _0x4aa2d5=_0xa1b05d?0x0:_0x5e22bf[_0x2d5b('0x20')];var _0x292b8a=_0xa1b05d?_0x1c5ee6[_0x2d5b('0x1f')]:_0x5e22bf[_0x2d5b('0x20')]+_0x5e22bf['limit'];var _0x277187;if(_0x292b8a>=_0x41d23f){_0x292b8a=_0x41d23f;_0x277187=0xc8;}else{_0x277187=0xce;}_0x3ffe86[_0x2d5b('0x1a')](_0x277187);return _0x3ffe86[_0x2d5b('0x21')](_0x2d5b('0x22'),_0x4aa2d5+'-'+_0x292b8a+'/'+_0x41d23f)['json'](_0x1c5ee6);}return null;};}function patchUpdates(_0x13a713){return function(_0x5e3142){try{jsonpatch[_0x2d5b('0x23')](_0x5e3142,_0x13a713,!![]);}catch(_0x160348){return BPromise[_0x2d5b('0x24')](_0x160348);}return _0x5e3142[_0x2d5b('0x25')]();};}function saveUpdates(_0x4521b3,_0x52cd78){return function(_0x1b2277){if(_0x1b2277){return _0x1b2277[_0x2d5b('0x26')](_0x4521b3)['then'](function(_0x4e8372){return _0x4e8372;});}return null;};}function removeEntity(_0x30336e,_0x3089ac){return function(_0x4bf500){if(_0x4bf500){return _0x4bf500['destroy']()[_0x2d5b('0x27')](function(){_0x30336e[_0x2d5b('0x1a')](0xcc)[_0x2d5b('0x1b')]();});}};}function handleEntityNotFound(_0x1cb328,_0x1ce508){return function(_0x409dd1){if(!_0x409dd1){_0x1cb328[_0x2d5b('0x19')](0x194);}return _0x409dd1;};}function handleError(_0x365d82,_0x51e47c){_0x51e47c=_0x51e47c||0x1f4;return function(_0x478f4f){logger[_0x2d5b('0x28')](_0x478f4f[_0x2d5b('0x29')]);if(_0x478f4f[_0x2d5b('0x2a')]){delete _0x478f4f[_0x2d5b('0x2a')];}_0x365d82[_0x2d5b('0x1a')](_0x51e47c)['send'](_0x478f4f);};}exports[_0x2d5b('0x2b')]=function(_0x3a3966,_0x3e30ae){var _0x2254d0={},_0x57a897={},_0x4c95ee={'count':0x0,'rows':[]};var _0x593599=_[_0x2d5b('0x2c')](db[_0x2d5b('0x2d')][_0x2d5b('0x2e')],function(_0x1feda8){return{'name':_0x1feda8[_0x2d5b('0x2f')],'type':_0x1feda8[_0x2d5b('0x30')][_0x2d5b('0x31')]};});_0x57a897['model']=_[_0x2d5b('0x2c')](_0x593599,'name');_0x57a897[_0x2d5b('0x32')]=_[_0x2d5b('0x33')](_0x3a3966['query']);_0x57a897[_0x2d5b('0x34')]=_[_0x2d5b('0x35')](_0x57a897[_0x2d5b('0x36')],_0x57a897[_0x2d5b('0x32')]);_0x2254d0[_0x2d5b('0x37')]=_[_0x2d5b('0x35')](_0x57a897['model'],qs[_0x2d5b('0x38')](_0x3a3966['query']['fields']));_0x2254d0['attributes']=_0x2254d0[_0x2d5b('0x37')][_0x2d5b('0x39')]?_0x2254d0[_0x2d5b('0x37')]:_0x57a897[_0x2d5b('0x36')];if(!_0x3a3966[_0x2d5b('0x32')][_0x2d5b('0x3a')](_0x2d5b('0x3b'))){_0x2254d0['limit']=qs['limit'](_0x3a3966[_0x2d5b('0x32')][_0x2d5b('0x1e')]);_0x2254d0[_0x2d5b('0x20')]=qs['offset'](_0x3a3966[_0x2d5b('0x32')][_0x2d5b('0x20')]);}_0x2254d0['order']=qs[_0x2d5b('0x3c')](_0x3a3966[_0x2d5b('0x32')][_0x2d5b('0x3c')]);_0x2254d0[_0x2d5b('0x3d')]=qs['filters'](_['pick'](_0x3a3966[_0x2d5b('0x32')],_0x57a897['filters']),_0x593599);if(_0x3a3966[_0x2d5b('0x32')][_0x2d5b('0x3e')]){_0x2254d0[_0x2d5b('0x3d')]=_[_0x2d5b('0x3f')](_0x2254d0[_0x2d5b('0x3d')],{'$or':_[_0x2d5b('0x2c')](_0x593599,function(_0x33f240){if(_0x33f240[_0x2d5b('0x30')]!==_0x2d5b('0x40')){var _0x5ad939={};_0x5ad939[_0x33f240[_0x2d5b('0x2a')]]={'$like':'%'+_0x3a3966['query'][_0x2d5b('0x3e')]+'%'};return _0x5ad939;}})});}_0x2254d0=_[_0x2d5b('0x3f')]({},_0x2254d0,_0x3a3966[_0x2d5b('0x41')]);var _0x1dfa8e={'where':_0x2254d0[_0x2d5b('0x3d')]};return db[_0x2d5b('0x2d')][_0x2d5b('0x1f')](_0x1dfa8e)[_0x2d5b('0x27')](function(_0x3c4a7d){_0x4c95ee[_0x2d5b('0x1f')]=_0x3c4a7d;if(_0x3a3966['query'][_0x2d5b('0x42')]){_0x2254d0[_0x2d5b('0x43')]=[{'all':!![]}];}return db['Dynamics365Account'][_0x2d5b('0x44')](_0x2254d0);})[_0x2d5b('0x27')](function(_0x484824){_0x4c95ee[_0x2d5b('0x45')]=_0x484824;return _0x4c95ee;})[_0x2d5b('0x27')](respondWithFilteredResult(_0x3e30ae,_0x2254d0))[_0x2d5b('0x46')](handleError(_0x3e30ae,null));};exports[_0x2d5b('0x47')]=function(_0x39786b,_0x1187ca){var _0x4129c8={'raw':![],'where':{'id':_0x39786b['params']['id']}},_0x282049={};_0x282049[_0x2d5b('0x36')]=_[_0x2d5b('0x33')](db['Dynamics365Account'][_0x2d5b('0x2e')]);_0x282049[_0x2d5b('0x32')]=_[_0x2d5b('0x33')](_0x39786b['query']);_0x282049[_0x2d5b('0x34')]=_[_0x2d5b('0x35')](_0x282049[_0x2d5b('0x36')],_0x282049[_0x2d5b('0x32')]);_0x4129c8['attributes']=_[_0x2d5b('0x35')](_0x282049['model'],qs['fields'](_0x39786b[_0x2d5b('0x32')][_0x2d5b('0x38')]));_0x4129c8[_0x2d5b('0x37')]=_0x4129c8['attributes'][_0x2d5b('0x39')]?_0x4129c8['attributes']:_0x282049[_0x2d5b('0x36')];if(_0x39786b['query'][_0x2d5b('0x42')]){_0x4129c8[_0x2d5b('0x43')]=[{'all':!![]}];}_0x4129c8=_[_0x2d5b('0x3f')]({},_0x4129c8,_0x39786b[_0x2d5b('0x41')]);return db[_0x2d5b('0x2d')][_0x2d5b('0x48')](_0x4129c8)[_0x2d5b('0x27')](handleEntityNotFound(_0x1187ca,null))['then'](respondWithResult(_0x1187ca,null))[_0x2d5b('0x46')](handleError(_0x1187ca,null));};exports[_0x2d5b('0x49')]=function(_0x35d1d6,_0x41cdf9){return db[_0x2d5b('0x2d')][_0x2d5b('0x49')](_0x35d1d6[_0x2d5b('0x4a')],{})[_0x2d5b('0x27')](respondWithResult(_0x41cdf9,0xc9))[_0x2d5b('0x46')](handleError(_0x41cdf9,null));};exports['update']=function(_0x40ee6b,_0x476be1){if(_0x40ee6b[_0x2d5b('0x4a')]['id']){delete _0x40ee6b[_0x2d5b('0x4a')]['id'];}return db['Dynamics365Account'][_0x2d5b('0x48')]({'where':{'id':_0x40ee6b[_0x2d5b('0x4b')]['id']}})['then'](handleEntityNotFound(_0x476be1,null))['then'](saveUpdates(_0x40ee6b[_0x2d5b('0x4a')],null))[_0x2d5b('0x27')](respondWithResult(_0x476be1,null))[_0x2d5b('0x46')](handleError(_0x476be1,null));};exports[_0x2d5b('0x4c')]=function(_0x4d246e,_0x2273d){return db['Dynamics365Account']['find']({'where':{'id':_0x4d246e[_0x2d5b('0x4b')]['id']}})[_0x2d5b('0x27')](handleEntityNotFound(_0x2273d,null))[_0x2d5b('0x27')](removeEntity(_0x2273d,null))[_0x2d5b('0x46')](handleError(_0x2273d,null));};exports['getConfigurations']=function(_0xa8f865,_0x1739e8,_0x112e64){var _0x5283a8={};var _0x45bd9d={};var _0x4ec9a0;var _0xd9f0e2;return db[_0x2d5b('0x2d')][_0x2d5b('0x4d')]({'where':{'id':_0xa8f865['params']['id']}})[_0x2d5b('0x27')](handleEntityNotFound(_0x1739e8,null))[_0x2d5b('0x27')](function(_0x8807a){if(_0x8807a){_0x4ec9a0=_0x8807a;_0x45bd9d['model']=_[_0x2d5b('0x33')](db[_0x2d5b('0x4e')]['rawAttributes']);_0x45bd9d[_0x2d5b('0x32')]=_[_0x2d5b('0x33')](_0xa8f865[_0x2d5b('0x32')]);_0x45bd9d[_0x2d5b('0x34')]=_[_0x2d5b('0x35')](_0x45bd9d[_0x2d5b('0x36')],_0x45bd9d[_0x2d5b('0x32')]);_0x5283a8['attributes']=_[_0x2d5b('0x35')](_0x45bd9d[_0x2d5b('0x36')],qs[_0x2d5b('0x38')](_0xa8f865[_0x2d5b('0x32')][_0x2d5b('0x38')]));_0x5283a8[_0x2d5b('0x37')]=_0x5283a8['attributes'][_0x2d5b('0x39')]?_0x5283a8[_0x2d5b('0x37')]:_0x45bd9d[_0x2d5b('0x36')];_0x5283a8[_0x2d5b('0x4f')]=qs[_0x2d5b('0x3c')](_0xa8f865[_0x2d5b('0x32')][_0x2d5b('0x3c')]);_0x5283a8[_0x2d5b('0x3d')]=qs[_0x2d5b('0x34')](_[_0x2d5b('0x50')](_0xa8f865[_0x2d5b('0x32')],_0x45bd9d[_0x2d5b('0x34')]));if(_0xa8f865[_0x2d5b('0x32')][_0x2d5b('0x3e')]){_0x5283a8[_0x2d5b('0x3d')]=_['merge'](_0x5283a8[_0x2d5b('0x3d')],{'$or':_[_0x2d5b('0x2c')](_0x5283a8[_0x2d5b('0x37')],function(_0x42e209){var _0x4d6cd7={};_0x4d6cd7[_0x42e209]={'$like':'%'+_0xa8f865[_0x2d5b('0x32')]['filter']+'%'};return _0x4d6cd7;})});}_0x5283a8=_[_0x2d5b('0x3f')]({},_0x5283a8,_0xa8f865[_0x2d5b('0x41')]);return _0x4ec9a0[_0x2d5b('0x51')](_0x5283a8);}})[_0x2d5b('0x27')](function(_0x2064cd){if(_0x2064cd){_0xd9f0e2=_0x2064cd['length'];if(!_0xa8f865[_0x2d5b('0x32')][_0x2d5b('0x3a')](_0x2d5b('0x3b'))){_0x5283a8[_0x2d5b('0x1e')]=qs[_0x2d5b('0x1e')](_0xa8f865[_0x2d5b('0x32')][_0x2d5b('0x1e')]);_0x5283a8['offset']=qs[_0x2d5b('0x20')](_0xa8f865[_0x2d5b('0x32')]['offset']);}return _0x4ec9a0['getConfigurations'](_0x5283a8);}})[_0x2d5b('0x27')](function(_0xbf97e1){if(_0xbf97e1){return _0xbf97e1?{'count':_0xd9f0e2,'rows':_0xbf97e1}:null;}})[_0x2d5b('0x27')](respondWithResult(_0x1739e8,null))[_0x2d5b('0x46')](handleError(_0x1739e8,null));};exports['addConfiguration']=function(_0xa651ef,_0x525b46,_0x4525e5){if(_0xa651ef[_0x2d5b('0x4a')]['id']){delete _0xa651ef[_0x2d5b('0x4a')]['id'];}return db['Dynamics365Account'][_0x2d5b('0x4d')]({'where':{'id':_0xa651ef['params']['id']}})['then'](handleEntityNotFound(_0x525b46,null))[_0x2d5b('0x27')](function(_0x5da7e6){if(_0x5da7e6){_0xa651ef['body'][_0x2d5b('0x52')]=_0x5da7e6['id'];_0xa651ef[_0x2d5b('0x4a')][_0x2d5b('0x53')]=integrations[_0x2d5b('0x54')](_0xa651ef[_0x2d5b('0x4a')][_0x2d5b('0x55')],_0xa651ef[_0x2d5b('0x4a')][_0x2d5b('0x30')]);_0xa651ef[_0x2d5b('0x4a')]['Descriptions']=integrations[_0x2d5b('0x56')](_0xa651ef[_0x2d5b('0x4a')][_0x2d5b('0x55')],_0xa651ef[_0x2d5b('0x4a')]['type']);return db[_0x2d5b('0x4e')][_0x2d5b('0x49')](_0xa651ef[_0x2d5b('0x4a')],{'include':[{'model':db[_0x2d5b('0x57')],'as':_0x2d5b('0x53')},{'model':db['Dynamics365Field'],'as':'Descriptions'}]});}return null;})[_0x2d5b('0x27')](respondWithResult(_0x525b46,null))[_0x2d5b('0x46')](handleError(_0x525b46,null));};exports[_0x2d5b('0x58')]=function(_0x1896c9,_0xc8dd14,_0x32833b){var _0x136355=_0x1896c9[_0x2d5b('0x32')]['ticketType'];var _0x3141e3=_0x136355==='incident'?_0x2d5b('0x59'):'PhoneCall';var _0x59b0c6='';var _0x1a316a='';var _0x5cf9a8='';var _0x6af1e5='';var _0x37b3d6='';var _0x4582dd='';var _0xec273f='';var _0x4ee82d='';var _0x3e8e28=[_0x2d5b('0x5a'),_0x2d5b('0x5b'),'customerid','ownerid',_0x2d5b('0x5c'),_0x2d5b('0x5d'),_0x2d5b('0x5e'),'regardingobjectid','directioncode',_0x2d5b('0x5f')];var _0x4ce6b5=[_0x2d5b('0x60'),_0x2d5b('0x61'),_0x2d5b('0x62'),_0x2d5b('0x63'),'contactidname',_0x2d5b('0x64'),_0x2d5b('0x65'),_0x2d5b('0x66'),_0x2d5b('0x67'),_0x2d5b('0x68'),'createdbyname','createdbyyominame',_0x2d5b('0x69'),_0x2d5b('0x6a'),_0x2d5b('0x6b'),_0x2d5b('0x6c'),_0x2d5b('0x6d'),_0x2d5b('0x6e'),_0x2d5b('0x6f'),_0x2d5b('0x70'),_0x2d5b('0x71'),'entityimage_url',_0x2d5b('0x72'),'exchangerate','firstresponsebykpiidname','followupby',_0x2d5b('0x73'),_0x2d5b('0x74'),_0x2d5b('0x75'),_0x2d5b('0x76'),_0x2d5b('0x77'),_0x2d5b('0x78'),'modifiedbyexternalpartyyominame',_0x2d5b('0x79'),_0x2d5b('0x7a'),_0x2d5b('0x7b'),_0x2d5b('0x7c'),_0x2d5b('0x7d'),_0x2d5b('0x7e'),_0x2d5b('0x7f'),_0x2d5b('0x80'),_0x2d5b('0x81'),_0x2d5b('0x82'),_0x2d5b('0x83'),_0x2d5b('0x84'),_0x2d5b('0x85'),_0x2d5b('0x86'),_0x2d5b('0x87'),_0x2d5b('0x88'),_0x2d5b('0x89'),'productidname',_0x2d5b('0x8a'),_0x2d5b('0x8b'),_0x2d5b('0x8c'),'responseby',_0x2d5b('0x8d'),_0x2d5b('0x8e'),_0x2d5b('0x8f'),_0x2d5b('0x90'),_0x2d5b('0x91'),_0x2d5b('0x92'),_0x2d5b('0x93'),_0x2d5b('0x94'),_0x2d5b('0x95'),_0x2d5b('0x96'),_0x2d5b('0x97'),_0x2d5b('0x98'),'traversedpath',_0x2d5b('0x99'),_0x2d5b('0x9a')];var _0xae934a=_0x3e8e28[_0x2d5b('0x9b')](_0x4ce6b5);return db[_0x2d5b('0x2d')][_0x2d5b('0x4d')]({'where':{'id':_0x1896c9['params']['id']},'attributes':['id','username',_0x2d5b('0x9c'),'remoteUri','tenantId',_0x2d5b('0x9d'),_0x2d5b('0x9e')]})[_0x2d5b('0x27')](handleEntityNotFound(_0xc8dd14,null))['then'](function(_0x57e11e){if(_0x57e11e){_0x4ee82d=_0x57e11e[_0x2d5b('0x9f')];var _0x33809c=_0x4ee82d['slice'](-0x1);if(_0x33809c==='/'){_0x4ee82d=_0x4ee82d['substring'](0x0,_0x4ee82d[_0x2d5b('0xa0')](_0x33809c));}_0xec273f=util['format'](_0x2d5b('0xa1'),_0x4ee82d);var _0x198fe0={'method':'POST','uri':_0x2d5b('0xa2')+_0x57e11e[_0x2d5b('0xa3')]+_0x2d5b('0xa4'),'form':{'client_id':_0x57e11e[_0x2d5b('0x9d')],'resource':_0x4ee82d,'username':_0x57e11e[_0x2d5b('0xa5')],'password':_0x57e11e[_0x2d5b('0x9c')],'grant_type':'password','client_secret':_0x57e11e[_0x2d5b('0x9e')]},'json':!![]};return rp(_0x198fe0);}})[_0x2d5b('0x27')](function(_0x436ebf){_0x4582dd=_0x436ebf[_0x2d5b('0xa6')];var _0x2fa981={'method':_0x2d5b('0xa7'),'uri':encodeURI(_0xec273f+_0x2d5b('0xa8')+_0x3141e3+'\x27'),'headers':{'Authorization':_0x2d5b('0xa9')+_0x4582dd,'If-None-Match':null,'OData-Version':_0x2d5b('0xaa')},'json':!![]};return rp(_0x2fa981);})[_0x2d5b('0x27')](function(_0x175499){var _0x40f9cf=_0x175499[_0x2d5b('0xab')][0x0];var _0x4a36e6=_0x40f9cf[_0x2d5b('0xac')];var _0x1a5bae={'method':'GET','uri':_0xec273f+_0x2d5b('0xad')+_0x4a36e6+_0x2d5b('0xae'),'headers':{'Authorization':'Bearer\x20'+_0x4582dd,'If-None-Match':null,'OData-Version':_0x2d5b('0xaa')},'json':!![]};return rp(_0x1a5bae);})[_0x2d5b('0x27')](function(_0x2f4bd6){_0x59b0c6=_0x2f4bd6;_0x1a316a=_0x59b0c6[_0x2d5b('0xaf')];_0x1a316a=_['remove'](_0x1a316a,function(_0xab6539){return!_0xae934a['includes'](_0xab6539[_0x2d5b('0xb0')]);});var _0x73ace2=[];var _0x48c350=[];_0x1a316a[_0x2d5b('0xb1')](function(_0x5f0c6f){if(_0x5f0c6f[_0x2d5b('0xb2')]){var _0xcc8538=_0x5f0c6f[_0x2d5b('0xb2')][_0x2d5b('0xb3')](_0x5f0c6f[_0x2d5b('0xb2')][_0x2d5b('0xa0')]('.')+0x1);if(_0xcc8538===_0x2d5b('0xb4')){_0x73ace2[_0x2d5b('0xb5')](getSelectList(_0xec273f,_0x136355,_0x48c350,_0x59b0c6[_0x2d5b('0xac')],_0x5f0c6f[_0x2d5b('0xac')],_0x4582dd));}}});return Promise[_0x2d5b('0xb6')](_0x73ace2);})['then'](function(_0x1b4d61){_0x5cf9a8=_0x1b4d61[0x0];var _0x1c4da7=[];var _0x5161cc=[];_0x1a316a['forEach'](function(_0x3a675c){if(!_[_0x2d5b('0xb7')](_0x3a675c[_0x2d5b('0xb2')])){var _0x44f28f=_0x3a675c[_0x2d5b('0xb2')][_0x2d5b('0xb3')](_0x3a675c[_0x2d5b('0xb2')][_0x2d5b('0xa0')]('.')+0x1);if(_0x44f28f==='BooleanAttributeMetadata'){_0x1c4da7[_0x2d5b('0xb5')](getBooleanList(_0xec273f,_0x136355,_0x5161cc,_0x59b0c6[_0x2d5b('0xac')],_0x3a675c['MetadataId'],_0x4582dd));}}});return Promise['all'](_0x1c4da7);})[_0x2d5b('0x27')](function(_0x1983d5){_0x6af1e5=_0x1983d5[0x0];var _0x5945c5=[];var _0x1e0960=[];_0x1a316a['forEach'](function(_0x3fdcea){if(_0x3fdcea[_0x2d5b('0xb2')]){var _0x31c433=_0x3fdcea[_0x2d5b('0xb2')][_0x2d5b('0xb3')](_0x3fdcea[_0x2d5b('0xb2')][_0x2d5b('0xa0')]('.')+0x1);if(_0x31c433===_0x2d5b('0xb8')||_0x31c433===_0x2d5b('0xb9')||_0x31c433===_0x2d5b('0xba')||_0x31c433===_0x2d5b('0xbb')||_0x31c433==='MemoAttributeMetadata'||_0x31c433===_0x2d5b('0xbc')||_0x31c433===_0x2d5b('0xbd')||_0x31c433==='EntityNameAttributeMetadata'||_0x31c433===_0x2d5b('0xbe')||_0x31c433===_0x2d5b('0xbf')){_0x5945c5[_0x2d5b('0xb5')](getInputList(_0xec273f,_0x136355,_0x31c433,_0x1e0960,_0x59b0c6[_0x2d5b('0xac')],_0x3fdcea['MetadataId'],_0x4582dd));}}});return Promise[_0x2d5b('0xb6')](_0x5945c5);})[_0x2d5b('0x27')](function(_0x272dda){_0x37b3d6=_0x272dda[0x0];var _0x5657c2=_0x5cf9a8[_0x2d5b('0x9b')](_0x6af1e5)[_0x2d5b('0x9b')](_0x37b3d6);var _0x5e5b78={'count':_0x5657c2[_0x2d5b('0x39')],'rows':_0x5657c2};return _0x5e5b78;})[_0x2d5b('0x27')](respondWithResult(_0xc8dd14,null))['catch'](function(_0x42bcdf){var _0xaa0830=_0x1896c9[_0x2d5b('0x32')]['test']?0x1f4:_0x42bcdf['statusCode']||0x1f4;logger[_0x2d5b('0x28')](_0x42bcdf[_0x2d5b('0x29')]);delete _0x42bcdf[_0x2d5b('0x2a')];if(_0xaa0830===0x191){_0xaa0830=0x190;}_0xc8dd14[_0x2d5b('0x1a')](_0xaa0830)[_0x2d5b('0xc0')](_0x1896c9[_0x2d5b('0x32')][_0x2d5b('0xc1')]?{'message':'Wrong\x20credentials','statusCode':_0x42bcdf['statusCode']}:_0x42bcdf);});};function getSelectList(_0x1880dd,_0x1caad9,_0x29ec6e,_0x372d09,_0x271aec,_0x872d2b){var _0x5acbec={'method':'GET','uri':_0x1880dd+_0x2d5b('0xad')+_0x372d09+_0x2d5b('0xc2')+_0x271aec+_0x2d5b('0xc3')+_0x2d5b('0xc4'),'headers':{'Authorization':_0x2d5b('0xa9')+_0x872d2b,'If-None-Match':null,'OData-Version':'4.0'},'json':!![]};return rp(_0x5acbec)[_0x2d5b('0x27')](function(_0x2c23b3){var _0x37e6bb=[];var _0x3a8fdf=_0x2c23b3['OptionSet']['Options'];_0x3a8fdf['forEach'](function(_0x4826d7){_0x37e6bb[_0x2d5b('0xb5')]({'name':_0x4826d7[_0x2d5b('0xc5')]['UserLocalizedLabel'][_0x2d5b('0xc5')],'value':String(_0x4826d7[_0x2d5b('0xc6')])});});var _0x18ae03={'id':_0x1caad9+'_'+_0x2c23b3[_0x2d5b('0xb0')],'name':_0x2c23b3[_0x2d5b('0xc7')]['UserLocalizedLabel'][_0x2d5b('0xc5')],'custom':![],'options':_0x37e6bb};_0x29ec6e[_0x2d5b('0xb5')](_0x18ae03);return _0x29ec6e;});}function getBooleanList(_0x1a8e84,_0x3b07ef,_0x3dced4,_0x200c71,_0x382011,_0xd60edf){var _0xaca143={'method':_0x2d5b('0xa7'),'uri':_0x1a8e84+_0x2d5b('0xad')+_0x200c71+_0x2d5b('0xc2')+_0x382011+_0x2d5b('0xc8'),'headers':{'Authorization':_0x2d5b('0xa9')+_0xd60edf,'If-None-Match':null,'OData-Version':_0x2d5b('0xaa')},'json':!![]};return rp(_0xaca143)['then'](function(_0x10ed0e){var _0x200df7=[];_0x200df7['push']({'name':_0x10ed0e[_0x2d5b('0xc9')][_0x2d5b('0xca')][_0x2d5b('0xc5')][_0x2d5b('0xcb')]['Label'],'value':_0x2d5b('0xcc')},{'name':_0x10ed0e[_0x2d5b('0xc9')][_0x2d5b('0xcd')][_0x2d5b('0xc5')][_0x2d5b('0xcb')][_0x2d5b('0xc5')],'value':_0x2d5b('0xce')});var _0x33603b={'id':_0x3b07ef+'_'+_0x10ed0e[_0x2d5b('0xb0')],'name':_0x10ed0e[_0x2d5b('0xc7')][_0x2d5b('0xcb')][_0x2d5b('0xc5')],'custom':![],'options':_0x200df7};_0x3dced4['push'](_0x33603b);return _0x3dced4;});}function getInputList(_0x4c5942,_0x20b4e1,_0x117a3a,_0x566a09,_0x20e9d3,_0x4b8b7a,_0x3188cb){var _0xbb2d13={'method':_0x2d5b('0xa7'),'uri':_0x4c5942+_0x2d5b('0xad')+_0x20e9d3+_0x2d5b('0xc2')+_0x4b8b7a+')/Microsoft.Dynamics.CRM.'+_0x117a3a+_0x2d5b('0xcf'),'headers':{'Authorization':_0x2d5b('0xa9')+_0x3188cb,'If-None-Match':null,'OData-Version':_0x2d5b('0xaa')},'json':!![]};return rp(_0xbb2d13)[_0x2d5b('0x27')](function(_0x55bfd9){var _0x46af68={'id':_0x20b4e1+'_'+_0x55bfd9['LogicalName'],'name':_0x55bfd9['DisplayName'][_0x2d5b('0xcb')]?_0x55bfd9[_0x2d5b('0xc7')][_0x2d5b('0xcb')]['Label']:_0x55bfd9[_0x2d5b('0xb0')],'custom':![],'options':[]};_0x566a09[_0x2d5b('0xb5')](_0x46af68);return _0x566a09;});}