Built motion from commit 9d7072cc.|2.5.39
[motion2.git] / server / api / intSalesforceAccount / intSalesforceAccount.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 _0xe8a3=['find','getConfigurations','findOne','params','SalesforceConfiguration','AccountId','Subjects','channel','Descriptions','getDescriptions','SalesforceField','getFields','Task','remoteUri','clientSecret','username','password','securityToken','slice','substring','lastIndexOf','Connection','concat','isNil','ticketType','sobject','describe','OwnerId','ActivityDate','IsReminderSet','IsRecurrence','Subject','string','int','picklist','boolean','email','textarea','phone','remove','includes','label','custom','picklistValues','value','True','true','False','false','test','statusCode','error','stringify','Wrong\x20credentials','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','lodash','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','../../components/integrations/configuration','sendStatus','status','end','json','offset','undefined','count','limit','set','Content-Range','update','then','stack','name','send','map','SalesforceAccount','rawAttributes','fieldName','type','key','query','keys','intersection','attributes','model','fields','length','hasOwnProperty','nolimit','order','sort','where','filters','pick','filter','merge','includeAll','include','findAll','rows','catch','show','options','create','body','destroy'];(function(_0x460a2a,_0x155464){var _0x30954a=function(_0x3be331){while(--_0x3be331){_0x460a2a['push'](_0x460a2a['shift']());}};_0x30954a(++_0x155464);}(_0xe8a3,0xb6));var _0x3e8a=function(_0x3b8170,_0x3f8a3f){_0x3b8170=_0x3b8170-0x0;var _0xbd0a3b=_0xe8a3[_0x3b8170];return _0xbd0a3b;};'use strict';var emlformat=require(_0x3e8a('0x0'));var rimraf=require(_0x3e8a('0x1'));var zipdir=require(_0x3e8a('0x2'));var jsonpatch=require(_0x3e8a('0x3'));var rp=require(_0x3e8a('0x4'));var moment=require(_0x3e8a('0x5'));var BPromise=require(_0x3e8a('0x6'));var Mustache=require(_0x3e8a('0x7'));var util=require(_0x3e8a('0x8'));var path=require(_0x3e8a('0x9'));var sox=require('sox');var csv=require(_0x3e8a('0xa'));var ejs=require(_0x3e8a('0xb'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x3e8a('0xc'));var squel=require(_0x3e8a('0xd'));var crypto=require(_0x3e8a('0xe'));var jsforce=require('jsforce');var deskjs=require(_0x3e8a('0xf'));var toCsv=require(_0x3e8a('0xa'));var querystring=require(_0x3e8a('0x10'));var Papa=require(_0x3e8a('0x11'));var Redis=require(_0x3e8a('0x12'));var authService=require(_0x3e8a('0x13'));var qs=require('../../components/parsers/qs');var as=require(_0x3e8a('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x3e8a('0x15'))(_0x3e8a('0x16'));var utils=require(_0x3e8a('0x17'));var config=require(_0x3e8a('0x18'));var licenseUtil=require('../../config/license/util');var db=require(_0x3e8a('0x19'))['db'];var integrations=require(_0x3e8a('0x1a'));function respondWithStatusCode(_0x43a765,_0x492e94){_0x492e94=_0x492e94||0xcc;return function(_0x3c3107){if(_0x3c3107){return _0x43a765[_0x3e8a('0x1b')](_0x492e94);}return _0x43a765[_0x3e8a('0x1c')](_0x492e94)[_0x3e8a('0x1d')]();};}function respondWithResult(_0x3fff7d,_0x17aa30){_0x17aa30=_0x17aa30||0xc8;return function(_0x26cc4d){if(_0x26cc4d){return _0x3fff7d[_0x3e8a('0x1c')](_0x17aa30)[_0x3e8a('0x1e')](_0x26cc4d);}};}function respondWithFilteredResult(_0x3970af,_0x57aad5){return function(_0xfeb7f6){if(_0xfeb7f6){var _0x4b8e8a=typeof _0x57aad5[_0x3e8a('0x1f')]===_0x3e8a('0x20')&&typeof _0x57aad5['limit']===_0x3e8a('0x20');var _0xe05ef6=_0xfeb7f6[_0x3e8a('0x21')];var _0x334c46=_0x4b8e8a?0x0:_0x57aad5[_0x3e8a('0x1f')];var _0x225739=_0x4b8e8a?_0xfeb7f6[_0x3e8a('0x21')]:_0x57aad5[_0x3e8a('0x1f')]+_0x57aad5[_0x3e8a('0x22')];var _0x26ced1;if(_0x225739>=_0xe05ef6){_0x225739=_0xe05ef6;_0x26ced1=0xc8;}else{_0x26ced1=0xce;}_0x3970af[_0x3e8a('0x1c')](_0x26ced1);return _0x3970af[_0x3e8a('0x23')](_0x3e8a('0x24'),_0x334c46+'-'+_0x225739+'/'+_0xe05ef6)[_0x3e8a('0x1e')](_0xfeb7f6);}return null;};}function patchUpdates(_0x2688a5){return function(_0x184187){try{jsonpatch['apply'](_0x184187,_0x2688a5,!![]);}catch(_0x1e3d4c){return BPromise['reject'](_0x1e3d4c);}return _0x184187['save']();};}function saveUpdates(_0x3033f9,_0x16d4ca){return function(_0x44c109){if(_0x44c109){return _0x44c109[_0x3e8a('0x25')](_0x3033f9)[_0x3e8a('0x26')](function(_0x19af0f){return _0x19af0f;});}return null;};}function removeEntity(_0x4d4cab,_0x1653b5){return function(_0x532c23){if(_0x532c23){return _0x532c23['destroy']()['then'](function(){_0x4d4cab[_0x3e8a('0x1c')](0xcc)['end']();});}};}function handleEntityNotFound(_0x439962,_0x403ba5){return function(_0xb1e10a){if(!_0xb1e10a){_0x439962[_0x3e8a('0x1b')](0x194);}return _0xb1e10a;};}function handleError(_0x59cafe,_0x297154){_0x297154=_0x297154||0x1f4;return function(_0x11cc8d){logger['error'](_0x11cc8d[_0x3e8a('0x27')]);if(_0x11cc8d[_0x3e8a('0x28')]){delete _0x11cc8d['name'];}_0x59cafe['status'](_0x297154)[_0x3e8a('0x29')](_0x11cc8d);};}exports['index']=function(_0x392bb8,_0x174220){var _0x108794={},_0x41690c={},_0x44988f={'count':0x0,'rows':[]};var _0x30f4cb=_[_0x3e8a('0x2a')](db[_0x3e8a('0x2b')][_0x3e8a('0x2c')],function(_0x492508){return{'name':_0x492508[_0x3e8a('0x2d')],'type':_0x492508[_0x3e8a('0x2e')][_0x3e8a('0x2f')]};});_0x41690c['model']=_[_0x3e8a('0x2a')](_0x30f4cb,_0x3e8a('0x28'));_0x41690c[_0x3e8a('0x30')]=_[_0x3e8a('0x31')](_0x392bb8[_0x3e8a('0x30')]);_0x41690c['filters']=_[_0x3e8a('0x32')](_0x41690c['model'],_0x41690c[_0x3e8a('0x30')]);_0x108794[_0x3e8a('0x33')]=_['intersection'](_0x41690c[_0x3e8a('0x34')],qs[_0x3e8a('0x35')](_0x392bb8[_0x3e8a('0x30')][_0x3e8a('0x35')]));_0x108794[_0x3e8a('0x33')]=_0x108794[_0x3e8a('0x33')][_0x3e8a('0x36')]?_0x108794[_0x3e8a('0x33')]:_0x41690c[_0x3e8a('0x34')];if(!_0x392bb8['query'][_0x3e8a('0x37')](_0x3e8a('0x38'))){_0x108794['limit']=qs[_0x3e8a('0x22')](_0x392bb8[_0x3e8a('0x30')][_0x3e8a('0x22')]);_0x108794['offset']=qs[_0x3e8a('0x1f')](_0x392bb8[_0x3e8a('0x30')][_0x3e8a('0x1f')]);}_0x108794[_0x3e8a('0x39')]=qs['sort'](_0x392bb8[_0x3e8a('0x30')][_0x3e8a('0x3a')]);_0x108794[_0x3e8a('0x3b')]=qs[_0x3e8a('0x3c')](_[_0x3e8a('0x3d')](_0x392bb8['query'],_0x41690c['filters']),_0x30f4cb);if(_0x392bb8['query'][_0x3e8a('0x3e')]){_0x108794[_0x3e8a('0x3b')]=_[_0x3e8a('0x3f')](_0x108794['where'],{'$or':_[_0x3e8a('0x2a')](_0x30f4cb,function(_0xaf6b12){if(_0xaf6b12[_0x3e8a('0x2e')]!=='VIRTUAL'){var _0x10f487={};_0x10f487[_0xaf6b12[_0x3e8a('0x28')]]={'$like':'%'+_0x392bb8[_0x3e8a('0x30')][_0x3e8a('0x3e')]+'%'};return _0x10f487;}})});}_0x108794=_[_0x3e8a('0x3f')]({},_0x108794,_0x392bb8['options']);var _0x22f3da={'where':_0x108794[_0x3e8a('0x3b')]};return db['SalesforceAccount'][_0x3e8a('0x21')](_0x22f3da)['then'](function(_0x5e7452){_0x44988f[_0x3e8a('0x21')]=_0x5e7452;if(_0x392bb8[_0x3e8a('0x30')][_0x3e8a('0x40')]){_0x108794[_0x3e8a('0x41')]=[{'all':!![]}];}return db[_0x3e8a('0x2b')][_0x3e8a('0x42')](_0x108794);})[_0x3e8a('0x26')](function(_0x10efb4){_0x44988f[_0x3e8a('0x43')]=_0x10efb4;return _0x44988f;})[_0x3e8a('0x26')](respondWithFilteredResult(_0x174220,_0x108794))[_0x3e8a('0x44')](handleError(_0x174220,null));};exports[_0x3e8a('0x45')]=function(_0x219dec,_0x1b9e29){var _0x8e5a64={'raw':![],'where':{'id':_0x219dec['params']['id']}},_0x25f309={};_0x25f309[_0x3e8a('0x34')]=_[_0x3e8a('0x31')](db[_0x3e8a('0x2b')]['rawAttributes']);_0x25f309[_0x3e8a('0x30')]=_[_0x3e8a('0x31')](_0x219dec['query']);_0x25f309[_0x3e8a('0x3c')]=_[_0x3e8a('0x32')](_0x25f309['model'],_0x25f309[_0x3e8a('0x30')]);_0x8e5a64[_0x3e8a('0x33')]=_[_0x3e8a('0x32')](_0x25f309[_0x3e8a('0x34')],qs[_0x3e8a('0x35')](_0x219dec[_0x3e8a('0x30')][_0x3e8a('0x35')]));_0x8e5a64[_0x3e8a('0x33')]=_0x8e5a64['attributes'][_0x3e8a('0x36')]?_0x8e5a64[_0x3e8a('0x33')]:_0x25f309[_0x3e8a('0x34')];if(_0x219dec[_0x3e8a('0x30')][_0x3e8a('0x40')]){_0x8e5a64[_0x3e8a('0x41')]=[{'all':!![]}];}_0x8e5a64=_[_0x3e8a('0x3f')]({},_0x8e5a64,_0x219dec[_0x3e8a('0x46')]);return db[_0x3e8a('0x2b')]['find'](_0x8e5a64)[_0x3e8a('0x26')](handleEntityNotFound(_0x1b9e29,null))[_0x3e8a('0x26')](respondWithResult(_0x1b9e29,null))[_0x3e8a('0x44')](handleError(_0x1b9e29,null));};exports[_0x3e8a('0x47')]=function(_0x579679,_0x415db2){return db[_0x3e8a('0x2b')][_0x3e8a('0x47')](_0x579679['body'],{})[_0x3e8a('0x26')](respondWithResult(_0x415db2,0xc9))[_0x3e8a('0x44')](handleError(_0x415db2,null));};exports[_0x3e8a('0x25')]=function(_0x2d2177,_0x5944a7){if(_0x2d2177[_0x3e8a('0x48')]['id']){delete _0x2d2177[_0x3e8a('0x48')]['id'];}return db[_0x3e8a('0x2b')]['find']({'where':{'id':_0x2d2177['params']['id']}})[_0x3e8a('0x26')](handleEntityNotFound(_0x5944a7,null))[_0x3e8a('0x26')](saveUpdates(_0x2d2177[_0x3e8a('0x48')],null))['then'](respondWithResult(_0x5944a7,null))[_0x3e8a('0x44')](handleError(_0x5944a7,null));};exports[_0x3e8a('0x49')]=function(_0x4331cc,_0x4fd177){return db[_0x3e8a('0x2b')][_0x3e8a('0x4a')]({'where':{'id':_0x4331cc['params']['id']}})[_0x3e8a('0x26')](handleEntityNotFound(_0x4fd177,null))['then'](removeEntity(_0x4fd177,null))['catch'](handleError(_0x4fd177,null));};exports[_0x3e8a('0x4b')]=function(_0x531a8b,_0x1c7c17,_0x534a24){var _0x1cd862={};var _0x1816d9={};var _0x2b9211;var _0x5965c7;return db['SalesforceAccount'][_0x3e8a('0x4c')]({'where':{'id':_0x531a8b[_0x3e8a('0x4d')]['id']}})[_0x3e8a('0x26')](handleEntityNotFound(_0x1c7c17,null))[_0x3e8a('0x26')](function(_0x593898){if(_0x593898){_0x2b9211=_0x593898;_0x1816d9['model']=_[_0x3e8a('0x31')](db[_0x3e8a('0x4e')][_0x3e8a('0x2c')]);_0x1816d9[_0x3e8a('0x30')]=_['keys'](_0x531a8b[_0x3e8a('0x30')]);_0x1816d9[_0x3e8a('0x3c')]=_[_0x3e8a('0x32')](_0x1816d9['model'],_0x1816d9[_0x3e8a('0x30')]);_0x1cd862[_0x3e8a('0x33')]=_[_0x3e8a('0x32')](_0x1816d9[_0x3e8a('0x34')],qs[_0x3e8a('0x35')](_0x531a8b[_0x3e8a('0x30')][_0x3e8a('0x35')]));_0x1cd862[_0x3e8a('0x33')]=_0x1cd862[_0x3e8a('0x33')]['length']?_0x1cd862[_0x3e8a('0x33')]:_0x1816d9[_0x3e8a('0x34')];_0x1cd862[_0x3e8a('0x39')]=qs[_0x3e8a('0x3a')](_0x531a8b[_0x3e8a('0x30')][_0x3e8a('0x3a')]);_0x1cd862['where']=qs['filters'](_[_0x3e8a('0x3d')](_0x531a8b['query'],_0x1816d9[_0x3e8a('0x3c')]));if(_0x531a8b[_0x3e8a('0x30')]['filter']){_0x1cd862[_0x3e8a('0x3b')]=_[_0x3e8a('0x3f')](_0x1cd862['where'],{'$or':_['map'](_0x1cd862[_0x3e8a('0x33')],function(_0x1482b1){var _0x5bdb85={};_0x5bdb85[_0x1482b1]={'$like':'%'+_0x531a8b[_0x3e8a('0x30')][_0x3e8a('0x3e')]+'%'};return _0x5bdb85;})});}_0x1cd862=_[_0x3e8a('0x3f')]({},_0x1cd862,_0x531a8b[_0x3e8a('0x46')]);return _0x2b9211['getConfigurations'](_0x1cd862);}})['then'](function(_0x81a8fd){if(_0x81a8fd){_0x5965c7=_0x81a8fd[_0x3e8a('0x36')];if(!_0x531a8b[_0x3e8a('0x30')][_0x3e8a('0x37')](_0x3e8a('0x38'))){_0x1cd862[_0x3e8a('0x22')]=qs[_0x3e8a('0x22')](_0x531a8b[_0x3e8a('0x30')]['limit']);_0x1cd862[_0x3e8a('0x1f')]=qs[_0x3e8a('0x1f')](_0x531a8b[_0x3e8a('0x30')]['offset']);}return _0x2b9211[_0x3e8a('0x4b')](_0x1cd862);}})[_0x3e8a('0x26')](function(_0xe7213a){if(_0xe7213a){return _0xe7213a?{'count':_0x5965c7,'rows':_0xe7213a}:null;}})['then'](respondWithResult(_0x1c7c17,null))[_0x3e8a('0x44')](handleError(_0x1c7c17,null));};exports['addConfiguration']=function(_0x44d655,_0x1d6c3b,_0x3e799a){if(_0x44d655[_0x3e8a('0x48')]['id']){delete _0x44d655['body']['id'];}return db['SalesforceAccount']['findOne']({'where':{'id':_0x44d655[_0x3e8a('0x4d')]['id']}})[_0x3e8a('0x26')](handleEntityNotFound(_0x1d6c3b,null))[_0x3e8a('0x26')](function(_0x18493d){if(_0x18493d){_0x44d655['body'][_0x3e8a('0x4f')]=_0x18493d['id'];_0x44d655[_0x3e8a('0x48')][_0x3e8a('0x50')]=integrations['getSubjects'](_0x44d655[_0x3e8a('0x48')][_0x3e8a('0x51')],_0x44d655[_0x3e8a('0x48')]['type']);_0x44d655[_0x3e8a('0x48')][_0x3e8a('0x52')]=integrations[_0x3e8a('0x53')](_0x44d655[_0x3e8a('0x48')]['channel'],_0x44d655[_0x3e8a('0x48')][_0x3e8a('0x2e')]);return db[_0x3e8a('0x4e')][_0x3e8a('0x47')](_0x44d655[_0x3e8a('0x48')],{'include':[{'model':db[_0x3e8a('0x54')],'as':_0x3e8a('0x50')},{'model':db['SalesforceField'],'as':_0x3e8a('0x52')}]});}return null;})[_0x3e8a('0x26')](respondWithResult(_0x1d6c3b,null))[_0x3e8a('0x44')](handleError(_0x1d6c3b,null));};exports[_0x3e8a('0x55')]=function(_0x2b4514,_0x1a110f,_0x3906ba){var _0x4cf6c9;var _0x1d4b78='';var _0x3ea7bf=_0x3e8a('0x56');return db[_0x3e8a('0x2b')][_0x3e8a('0x4c')]({'where':{'id':_0x2b4514[_0x3e8a('0x4d')]['id']},'attributes':['id',_0x3e8a('0x57'),'clientId',_0x3e8a('0x58'),_0x3e8a('0x59'),_0x3e8a('0x5a'),_0x3e8a('0x5b')]})[_0x3e8a('0x26')](handleEntityNotFound(_0x1a110f,null))['then'](function(_0x1228df){if(_0x1228df){_0x1d4b78=_0x1228df['remoteUri'];var _0x27d641=_0x1d4b78[_0x3e8a('0x5c')](-0x1);if(_0x27d641==='/'){_0x1d4b78=_0x1d4b78[_0x3e8a('0x5d')](0x0,_0x1d4b78[_0x3e8a('0x5e')](_0x27d641));}_0x4cf6c9=new jsforce[(_0x3e8a('0x5f'))]({'oauth2':{'loginUrl':_0x1d4b78,'clientId':_0x1228df['clientId'],'clientSecret':_0x1228df['clientSecret']}});return _0x4cf6c9['login'](_0x1228df['username'],_0x1228df[_0x3e8a('0x5a')][_0x3e8a('0x60')](_0x1228df[_0x3e8a('0x5b')]));}})[_0x3e8a('0x26')](function(_0x149e7f){if(_0x149e7f){if(!_[_0x3e8a('0x61')](_0x2b4514[_0x3e8a('0x30')][_0x3e8a('0x62')])){_0x3ea7bf=_0x2b4514[_0x3e8a('0x30')][_0x3e8a('0x62')];}return _0x4cf6c9[_0x3e8a('0x63')](_0x3ea7bf)[_0x3e8a('0x64')]();}})[_0x3e8a('0x26')](function(_0x3c567d){var _0x271bf6=[_0x3e8a('0x65'),_0x3e8a('0x66'),_0x3e8a('0x67'),_0x3e8a('0x68'),_0x3e8a('0x69'),'Description'];var _0x3b657e=[_0x3e8a('0x6a'),_0x3e8a('0x6b'),_0x3e8a('0x6c'),_0x3e8a('0x6d'),_0x3e8a('0x6e'),_0x3e8a('0x6f'),_0x3e8a('0x70')];if(_0x3c567d){_[_0x3e8a('0x71')](_0x3c567d[_0x3e8a('0x35')],function(_0x56e12d){return _0x271bf6[_0x3e8a('0x72')](_0x56e12d['name'])||!_0x3b657e[_0x3e8a('0x72')](_0x56e12d[_0x3e8a('0x2e')]);});return{'count':_0x3c567d[_0x3e8a('0x35')][_0x3e8a('0x36')],'rows':_[_0x3e8a('0x2a')](_0x3c567d['fields'],function(_0x1d09ba){return{'id':_0x1d09ba[_0x3e8a('0x28')],'name':_0x1d09ba[_0x3e8a('0x73')],'custom':_0x1d09ba[_0x3e8a('0x74')],'options':_0x1d09ba[_0x3e8a('0x75')]['length']>0x0?_[_0x3e8a('0x2a')](_0x1d09ba[_0x3e8a('0x75')],function(_0x30d6f4){return{'name':_0x30d6f4[_0x3e8a('0x73')],'value':_0x30d6f4[_0x3e8a('0x76')]};}):_0x1d09ba[_0x3e8a('0x2e')]==_0x3e8a('0x6d')?[{'name':_0x3e8a('0x77'),'value':_0x3e8a('0x78')},{'name':_0x3e8a('0x79'),'value':_0x3e8a('0x7a')}]:[]};})};}})[_0x3e8a('0x26')](respondWithResult(_0x1a110f,null))[_0x3e8a('0x44')](function(_0x4195b2){var _0x41114a=_0x2b4514['query'][_0x3e8a('0x7b')]?0x1f4:_0x4195b2[_0x3e8a('0x7c')]||0x1f4;logger[_0x3e8a('0x7d')]('getFields,\x20%s,\x20%s,\x20%s',_0x3e8a('0x55'),_0x41114a,JSON[_0x3e8a('0x7e')](_0x4195b2));delete _0x4195b2[_0x3e8a('0x28')];if(_0x41114a===0x191){_0x41114a=0x190;}_0x1a110f[_0x3e8a('0x1c')](_0x41114a)[_0x3e8a('0x29')](_0x2b4514[_0x3e8a('0x30')][_0x3e8a('0x7b')]?{'message':_0x3e8a('0x7f'),'statusCode':_0x4195b2['statusCode']}:_0x4195b2);});};