Built motion from commit b0a9a629.|2.6.33
[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 _0x9443=['OwnerId','ActivityDate','IsReminderSet','IsRecurrence','Subject','string','int','textarea','remove','includes','label','custom','picklistValues','boolean','True','true','False','test','getFields,\x20%s,\x20%s,\x20%s','rimraf','zip-dir','request-promise','moment','mustache','path','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../components/integrations/configuration','sendStatus','status','end','json','offset','limit','undefined','count','set','update','then','error','name','send','index','map','SalesforceAccount','type','key','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','order','where','pick','filter','VIRTUAL','merge','options','findAll','rows','catch','show','params','keys','includeAll','include','find','create','body','SalesforceConfiguration','rawAttributes','sort','getConfigurations','addConfiguration','findOne','getSubjects','channel','Descriptions','getDescriptions','SalesforceField','getFields','Task','remoteUri','clientId','clientSecret','password','securityToken','Connection','username','concat','isNil','ticketType','sobject','describe'];(function(_0x1ccc5b,_0x482686){var _0x392e11=function(_0x3ea298){while(--_0x3ea298){_0x1ccc5b['push'](_0x1ccc5b['shift']());}};_0x392e11(++_0x482686);}(_0x9443,0x160));var _0x3944=function(_0x221b8c,_0x2c7afc){_0x221b8c=_0x221b8c-0x0;var _0x3fab9f=_0x9443[_0x221b8c];return _0x3fab9f;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x3944('0x0'));var zipdir=require(_0x3944('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x3944('0x2'));var moment=require(_0x3944('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x3944('0x4'));var util=require('util');var path=require(_0x3944('0x5'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x3944('0x6'));var fs=require('fs');var fs_extra=require(_0x3944('0x7'));var _=require(_0x3944('0x8'));var squel=require(_0x3944('0x9'));var crypto=require(_0x3944('0xa'));var jsforce=require(_0x3944('0xb'));var deskjs=require(_0x3944('0xc'));var toCsv=require(_0x3944('0xd'));var querystring=require(_0x3944('0xe'));var Papa=require(_0x3944('0xf'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x3944('0x10'));var logger=require(_0x3944('0x11'))(_0x3944('0x12'));var utils=require('../../config/utils');var config=require(_0x3944('0x13'));var licenseUtil=require(_0x3944('0x14'));var db=require('../../mysqldb')['db'];var integrations=require(_0x3944('0x15'));function respondWithStatusCode(_0x3b289d,_0x476f58){_0x476f58=_0x476f58||0xcc;return function(_0x718a09){if(_0x718a09){return _0x3b289d[_0x3944('0x16')](_0x476f58);}return _0x3b289d[_0x3944('0x17')](_0x476f58)[_0x3944('0x18')]();};}function respondWithResult(_0x130114,_0x34f12c){_0x34f12c=_0x34f12c||0xc8;return function(_0xc673cc){if(_0xc673cc){return _0x130114['status'](_0x34f12c)[_0x3944('0x19')](_0xc673cc);}};}function respondWithFilteredResult(_0x4c8e23,_0x376d04){return function(_0x5dbfe6){if(_0x5dbfe6){var _0x267ea1=typeof _0x376d04[_0x3944('0x1a')]==='undefined'&&typeof _0x376d04[_0x3944('0x1b')]===_0x3944('0x1c');var _0x8efcec=_0x5dbfe6['count'];var _0x244175=_0x267ea1?0x0:_0x376d04['offset'];var _0x54a5ae=_0x267ea1?_0x5dbfe6[_0x3944('0x1d')]:_0x376d04[_0x3944('0x1a')]+_0x376d04[_0x3944('0x1b')];var _0x2b04e8;if(_0x54a5ae>=_0x8efcec){_0x54a5ae=_0x8efcec;_0x2b04e8=0xc8;}else{_0x2b04e8=0xce;}_0x4c8e23[_0x3944('0x17')](_0x2b04e8);return _0x4c8e23[_0x3944('0x1e')]('Content-Range',_0x244175+'-'+_0x54a5ae+'/'+_0x8efcec)[_0x3944('0x19')](_0x5dbfe6);}return null;};}function patchUpdates(_0x5152a1){return function(_0x393f65){try{jsonpatch['apply'](_0x393f65,_0x5152a1,!![]);}catch(_0x142126){return BPromise['reject'](_0x142126);}return _0x393f65['save']();};}function saveUpdates(_0x34a088,_0x5629d2){return function(_0x184c97){if(_0x184c97){return _0x184c97[_0x3944('0x1f')](_0x34a088)[_0x3944('0x20')](function(_0x464480){return _0x464480;});}return null;};}function removeEntity(_0x2cda46,_0x25806d){return function(_0x384b5e){if(_0x384b5e){return _0x384b5e['destroy']()[_0x3944('0x20')](function(){_0x2cda46[_0x3944('0x17')](0xcc)[_0x3944('0x18')]();});}};}function handleEntityNotFound(_0x20ffb8,_0xf72803){return function(_0x24c88e){if(!_0x24c88e){_0x20ffb8[_0x3944('0x16')](0x194);}return _0x24c88e;};}function handleError(_0x5153d3,_0x516cd0){_0x516cd0=_0x516cd0||0x1f4;return function(_0x39ae08){logger[_0x3944('0x21')](_0x39ae08['stack']);if(_0x39ae08[_0x3944('0x22')]){delete _0x39ae08[_0x3944('0x22')];}_0x5153d3['status'](_0x516cd0)[_0x3944('0x23')](_0x39ae08);};}exports[_0x3944('0x24')]=function(_0x23c6e6,_0x541800){var _0x28eb09={},_0x4a79b4={},_0x56de44={'count':0x0,'rows':[]};var _0x1adc71=_[_0x3944('0x25')](db[_0x3944('0x26')]['rawAttributes'],function(_0xc8f565){return{'name':_0xc8f565['fieldName'],'type':_0xc8f565[_0x3944('0x27')][_0x3944('0x28')]};});_0x4a79b4[_0x3944('0x29')]=_[_0x3944('0x25')](_0x1adc71,_0x3944('0x22'));_0x4a79b4[_0x3944('0x2a')]=_['keys'](_0x23c6e6[_0x3944('0x2a')]);_0x4a79b4[_0x3944('0x2b')]=_[_0x3944('0x2c')](_0x4a79b4[_0x3944('0x29')],_0x4a79b4[_0x3944('0x2a')]);_0x28eb09[_0x3944('0x2d')]=_[_0x3944('0x2c')](_0x4a79b4[_0x3944('0x29')],qs[_0x3944('0x2e')](_0x23c6e6[_0x3944('0x2a')][_0x3944('0x2e')]));_0x28eb09[_0x3944('0x2d')]=_0x28eb09[_0x3944('0x2d')][_0x3944('0x2f')]?_0x28eb09[_0x3944('0x2d')]:_0x4a79b4[_0x3944('0x29')];if(!_0x23c6e6[_0x3944('0x2a')][_0x3944('0x30')]('nolimit')){_0x28eb09['limit']=qs[_0x3944('0x1b')](_0x23c6e6[_0x3944('0x2a')][_0x3944('0x1b')]);_0x28eb09[_0x3944('0x1a')]=qs[_0x3944('0x1a')](_0x23c6e6[_0x3944('0x2a')][_0x3944('0x1a')]);}_0x28eb09[_0x3944('0x31')]=qs['sort'](_0x23c6e6['query']['sort']);_0x28eb09[_0x3944('0x32')]=qs[_0x3944('0x2b')](_[_0x3944('0x33')](_0x23c6e6[_0x3944('0x2a')],_0x4a79b4[_0x3944('0x2b')]),_0x1adc71);if(_0x23c6e6[_0x3944('0x2a')][_0x3944('0x34')]){_0x28eb09[_0x3944('0x32')]=_['merge'](_0x28eb09[_0x3944('0x32')],{'$or':_['map'](_0x1adc71,function(_0x1ae91a){if(_0x1ae91a[_0x3944('0x27')]!==_0x3944('0x35')){var _0xb04519={};_0xb04519[_0x1ae91a[_0x3944('0x22')]]={'$like':'%'+_0x23c6e6[_0x3944('0x2a')][_0x3944('0x34')]+'%'};return _0xb04519;}})});}_0x28eb09=_[_0x3944('0x36')]({},_0x28eb09,_0x23c6e6[_0x3944('0x37')]);var _0x53ee35={'where':_0x28eb09['where']};return db['SalesforceAccount'][_0x3944('0x1d')](_0x53ee35)[_0x3944('0x20')](function(_0x4dc99c){_0x56de44['count']=_0x4dc99c;if(_0x23c6e6[_0x3944('0x2a')]['includeAll']){_0x28eb09['include']=[{'all':!![]}];}return db[_0x3944('0x26')][_0x3944('0x38')](_0x28eb09);})[_0x3944('0x20')](function(_0x117ff0){_0x56de44[_0x3944('0x39')]=_0x117ff0;return _0x56de44;})[_0x3944('0x20')](respondWithFilteredResult(_0x541800,_0x28eb09))[_0x3944('0x3a')](handleError(_0x541800,null));};exports[_0x3944('0x3b')]=function(_0xfe92f1,_0x4538b6){var _0x4e8903={'raw':![],'where':{'id':_0xfe92f1[_0x3944('0x3c')]['id']}},_0x1a4a15={};_0x1a4a15['model']=_[_0x3944('0x3d')](db[_0x3944('0x26')]['rawAttributes']);_0x1a4a15[_0x3944('0x2a')]=_['keys'](_0xfe92f1[_0x3944('0x2a')]);_0x1a4a15[_0x3944('0x2b')]=_['intersection'](_0x1a4a15[_0x3944('0x29')],_0x1a4a15['query']);_0x4e8903['attributes']=_[_0x3944('0x2c')](_0x1a4a15['model'],qs[_0x3944('0x2e')](_0xfe92f1[_0x3944('0x2a')][_0x3944('0x2e')]));_0x4e8903['attributes']=_0x4e8903[_0x3944('0x2d')][_0x3944('0x2f')]?_0x4e8903[_0x3944('0x2d')]:_0x1a4a15[_0x3944('0x29')];if(_0xfe92f1[_0x3944('0x2a')][_0x3944('0x3e')]){_0x4e8903[_0x3944('0x3f')]=[{'all':!![]}];}_0x4e8903=_[_0x3944('0x36')]({},_0x4e8903,_0xfe92f1[_0x3944('0x37')]);return db[_0x3944('0x26')][_0x3944('0x40')](_0x4e8903)[_0x3944('0x20')](handleEntityNotFound(_0x4538b6,null))['then'](respondWithResult(_0x4538b6,null))['catch'](handleError(_0x4538b6,null));};exports[_0x3944('0x41')]=function(_0x128967,_0x16d03e){return db[_0x3944('0x26')][_0x3944('0x41')](_0x128967[_0x3944('0x42')],{})[_0x3944('0x20')](respondWithResult(_0x16d03e,0xc9))[_0x3944('0x3a')](handleError(_0x16d03e,null));};exports[_0x3944('0x1f')]=function(_0x35f6cd,_0x13e6a5){if(_0x35f6cd[_0x3944('0x42')]['id']){delete _0x35f6cd[_0x3944('0x42')]['id'];}return db[_0x3944('0x26')][_0x3944('0x40')]({'where':{'id':_0x35f6cd[_0x3944('0x3c')]['id']}})[_0x3944('0x20')](handleEntityNotFound(_0x13e6a5,null))[_0x3944('0x20')](saveUpdates(_0x35f6cd['body'],null))[_0x3944('0x20')](respondWithResult(_0x13e6a5,null))['catch'](handleError(_0x13e6a5,null));};exports['destroy']=function(_0x2ee619,_0x540204){return db[_0x3944('0x26')][_0x3944('0x40')]({'where':{'id':_0x2ee619['params']['id']}})['then'](handleEntityNotFound(_0x540204,null))['then'](removeEntity(_0x540204,null))['catch'](handleError(_0x540204,null));};exports['getConfigurations']=function(_0x23f988,_0x2aa719,_0x5b5865){var _0x557c61={};var _0x17eeea={};var _0x2870c6;var _0x176e2e;return db[_0x3944('0x26')]['findOne']({'where':{'id':_0x23f988['params']['id']}})[_0x3944('0x20')](handleEntityNotFound(_0x2aa719,null))[_0x3944('0x20')](function(_0x533696){if(_0x533696){_0x2870c6=_0x533696;_0x17eeea[_0x3944('0x29')]=_[_0x3944('0x3d')](db[_0x3944('0x43')][_0x3944('0x44')]);_0x17eeea['query']=_[_0x3944('0x3d')](_0x23f988['query']);_0x17eeea[_0x3944('0x2b')]=_['intersection'](_0x17eeea[_0x3944('0x29')],_0x17eeea[_0x3944('0x2a')]);_0x557c61[_0x3944('0x2d')]=_[_0x3944('0x2c')](_0x17eeea[_0x3944('0x29')],qs[_0x3944('0x2e')](_0x23f988[_0x3944('0x2a')][_0x3944('0x2e')]));_0x557c61[_0x3944('0x2d')]=_0x557c61[_0x3944('0x2d')][_0x3944('0x2f')]?_0x557c61[_0x3944('0x2d')]:_0x17eeea['model'];_0x557c61[_0x3944('0x31')]=qs[_0x3944('0x45')](_0x23f988['query'][_0x3944('0x45')]);_0x557c61[_0x3944('0x32')]=qs['filters'](_[_0x3944('0x33')](_0x23f988[_0x3944('0x2a')],_0x17eeea[_0x3944('0x2b')]));if(_0x23f988[_0x3944('0x2a')][_0x3944('0x34')]){_0x557c61[_0x3944('0x32')]=_[_0x3944('0x36')](_0x557c61[_0x3944('0x32')],{'$or':_[_0x3944('0x25')](_0x557c61[_0x3944('0x2d')],function(_0x3d4888){var _0x190a0c={};_0x190a0c[_0x3d4888]={'$like':'%'+_0x23f988['query']['filter']+'%'};return _0x190a0c;})});}_0x557c61=_[_0x3944('0x36')]({},_0x557c61,_0x23f988[_0x3944('0x37')]);return _0x2870c6[_0x3944('0x46')](_0x557c61);}})[_0x3944('0x20')](function(_0xa22c5f){if(_0xa22c5f){_0x176e2e=_0xa22c5f[_0x3944('0x2f')];if(!_0x23f988['query'][_0x3944('0x30')]('nolimit')){_0x557c61[_0x3944('0x1b')]=qs[_0x3944('0x1b')](_0x23f988[_0x3944('0x2a')][_0x3944('0x1b')]);_0x557c61[_0x3944('0x1a')]=qs[_0x3944('0x1a')](_0x23f988[_0x3944('0x2a')][_0x3944('0x1a')]);}return _0x2870c6[_0x3944('0x46')](_0x557c61);}})[_0x3944('0x20')](function(_0x3cd9cd){if(_0x3cd9cd){return _0x3cd9cd?{'count':_0x176e2e,'rows':_0x3cd9cd}:null;}})[_0x3944('0x20')](respondWithResult(_0x2aa719,null))[_0x3944('0x3a')](handleError(_0x2aa719,null));};exports[_0x3944('0x47')]=function(_0x497376,_0x1013cb,_0x5c59c4){if(_0x497376[_0x3944('0x42')]['id']){delete _0x497376[_0x3944('0x42')]['id'];}return db[_0x3944('0x26')][_0x3944('0x48')]({'where':{'id':_0x497376[_0x3944('0x3c')]['id']}})[_0x3944('0x20')](handleEntityNotFound(_0x1013cb,null))[_0x3944('0x20')](function(_0x2fabef){if(_0x2fabef){_0x497376['body']['AccountId']=_0x2fabef['id'];_0x497376[_0x3944('0x42')]['Subjects']=integrations[_0x3944('0x49')](_0x497376[_0x3944('0x42')][_0x3944('0x4a')],_0x497376['body'][_0x3944('0x27')]);_0x497376[_0x3944('0x42')][_0x3944('0x4b')]=integrations[_0x3944('0x4c')](_0x497376[_0x3944('0x42')][_0x3944('0x4a')],_0x497376['body'][_0x3944('0x27')]);return db['SalesforceConfiguration'][_0x3944('0x41')](_0x497376['body'],{'include':[{'model':db[_0x3944('0x4d')],'as':'Subjects'},{'model':db[_0x3944('0x4d')],'as':_0x3944('0x4b')}]});}return null;})[_0x3944('0x20')](respondWithResult(_0x1013cb,null))[_0x3944('0x3a')](handleError(_0x1013cb,null));};exports[_0x3944('0x4e')]=function(_0x15d5e7,_0x2551ba,_0x5a8056){var _0xf9846a;var _0x43646e='';var _0x455f2b=_0x3944('0x4f');return db[_0x3944('0x26')][_0x3944('0x48')]({'where':{'id':_0x15d5e7[_0x3944('0x3c')]['id']},'attributes':['id',_0x3944('0x50'),_0x3944('0x51'),_0x3944('0x52'),'username',_0x3944('0x53'),_0x3944('0x54')]})[_0x3944('0x20')](handleEntityNotFound(_0x2551ba,null))[_0x3944('0x20')](function(_0xe44cd3){if(_0xe44cd3){_0x43646e=_0xe44cd3['remoteUri'];var _0x18aeb1=_0x43646e['slice'](-0x1);if(_0x18aeb1==='/'){_0x43646e=_0x43646e['substring'](0x0,_0x43646e['lastIndexOf'](_0x18aeb1));}_0xf9846a=new jsforce[(_0x3944('0x55'))]({'oauth2':{'loginUrl':_0x43646e,'clientId':_0xe44cd3['clientId'],'clientSecret':_0xe44cd3['clientSecret']}});return _0xf9846a['login'](_0xe44cd3[_0x3944('0x56')],_0xe44cd3[_0x3944('0x53')][_0x3944('0x57')](_0xe44cd3[_0x3944('0x54')]));}})[_0x3944('0x20')](function(_0x209a4b){if(_0x209a4b){if(!_[_0x3944('0x58')](_0x15d5e7[_0x3944('0x2a')][_0x3944('0x59')])){_0x455f2b=_0x15d5e7[_0x3944('0x2a')][_0x3944('0x59')];}return _0xf9846a[_0x3944('0x5a')](_0x455f2b)[_0x3944('0x5b')]();}})[_0x3944('0x20')](function(_0x5fca85){var _0x30e4dc=[_0x3944('0x5c'),_0x3944('0x5d'),_0x3944('0x5e'),_0x3944('0x5f'),_0x3944('0x60'),'Description'];var _0x33808e=[_0x3944('0x61'),_0x3944('0x62'),'picklist','boolean','email',_0x3944('0x63'),'phone'];if(_0x5fca85){_[_0x3944('0x64')](_0x5fca85['fields'],function(_0x38d408){return _0x30e4dc[_0x3944('0x65')](_0x38d408[_0x3944('0x22')])||!_0x33808e[_0x3944('0x65')](_0x38d408[_0x3944('0x27')]);});return{'count':_0x5fca85[_0x3944('0x2e')][_0x3944('0x2f')],'rows':_[_0x3944('0x25')](_0x5fca85[_0x3944('0x2e')],function(_0x4b7c6a){return{'id':_0x4b7c6a['name'],'name':_0x4b7c6a[_0x3944('0x66')],'custom':_0x4b7c6a[_0x3944('0x67')],'options':_0x4b7c6a['picklistValues'][_0x3944('0x2f')]>0x0?_[_0x3944('0x25')](_0x4b7c6a[_0x3944('0x68')],function(_0x30fffe){return{'name':_0x30fffe[_0x3944('0x66')],'value':_0x30fffe['value']};}):_0x4b7c6a[_0x3944('0x27')]==_0x3944('0x69')?[{'name':_0x3944('0x6a'),'value':_0x3944('0x6b')},{'name':_0x3944('0x6c'),'value':'false'}]:[]};})};}})[_0x3944('0x20')](respondWithResult(_0x2551ba,null))['catch'](function(_0x48188e){var _0x555f7b=_0x15d5e7[_0x3944('0x2a')][_0x3944('0x6d')]?0x1f4:_0x48188e['statusCode']||0x1f4;logger[_0x3944('0x21')](_0x3944('0x6e'),_0x3944('0x4e'),_0x555f7b,JSON['stringify'](_0x48188e));delete _0x48188e[_0x3944('0x22')];if(_0x555f7b===0x191){_0x555f7b=0x190;}_0x2551ba[_0x3944('0x17')](_0x555f7b)[_0x3944('0x23')](_0x15d5e7[_0x3944('0x2a')][_0x3944('0x6d')]?{'message':'Wrong\x20credentials','statusCode':_0x48188e['statusCode']}:_0x48188e);});};