29e46caefb202273d5ce664a5d8c7094d3b93fec
[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=['getSubjects','channel','Descriptions','getDescriptions','SalesforceField','getFields','Task','remoteUri','clientId','clientSecret','username','password','slice','lastIndexOf','Connection','login','concat','isNil','ticketType','describe','OwnerId','ActivityDate','Subject','string','int','picklist','boolean','email','remove','includes','label','custom','picklistValues','value','true','False','false','test','statusCode','stringify','Wrong\x20credentials','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','sox','to-csv','fs-extra','lodash','squel','crypto','desk.js','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','limit','undefined','count','offset','set','Content-Range','reject','save','destroy','error','stack','name','send','index','map','SalesforceAccount','rawAttributes','fieldName','type','model','query','keys','filters','attributes','intersection','fields','hasOwnProperty','order','sort','where','merge','VIRTUAL','filter','options','includeAll','include','then','catch','show','length','find','create','update','body','params','getConfigurations','SalesforceConfiguration','pick','nolimit','addConfiguration','findOne','Subjects'];(function(_0x1a4c58,_0x3ae4b4){var _0x156fe7=function(_0xf16711){while(--_0xf16711){_0x1a4c58['push'](_0x1a4c58['shift']());}};_0x156fe7(++_0x3ae4b4);}(_0x9443,0xa0));var _0x3944=function(_0xdd0313,_0x251c2b){_0xdd0313=_0xdd0313-0x0;var _0x2bd7e8=_0x9443[_0xdd0313];return _0x2bd7e8;};'use strict';var emlformat=require(_0x3944('0x0'));var rimraf=require(_0x3944('0x1'));var zipdir=require(_0x3944('0x2'));var jsonpatch=require(_0x3944('0x3'));var rp=require(_0x3944('0x4'));var moment=require(_0x3944('0x5'));var BPromise=require(_0x3944('0x6'));var Mustache=require('mustache');var util=require(_0x3944('0x7'));var path=require(_0x3944('0x8'));var sox=require(_0x3944('0x9'));var csv=require(_0x3944('0xa'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x3944('0xb'));var _=require(_0x3944('0xc'));var squel=require(_0x3944('0xd'));var crypto=require(_0x3944('0xe'));var jsforce=require('jsforce');var deskjs=require(_0x3944('0xf'));var toCsv=require(_0x3944('0xa'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x3944('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x3944('0x11'));var logger=require(_0x3944('0x12'))('api');var utils=require('../../config/utils');var config=require(_0x3944('0x13'));var licenseUtil=require(_0x3944('0x14'));var db=require(_0x3944('0x15'))['db'];var integrations=require('../../components/integrations/configuration');function respondWithStatusCode(_0x143660,_0x39a615){_0x39a615=_0x39a615||0xcc;return function(_0x296bca){if(_0x296bca){return _0x143660[_0x3944('0x16')](_0x39a615);}return _0x143660[_0x3944('0x17')](_0x39a615)[_0x3944('0x18')]();};}function respondWithResult(_0x37c97b,_0x25027c){_0x25027c=_0x25027c||0xc8;return function(_0x4a4205){if(_0x4a4205){return _0x37c97b['status'](_0x25027c)[_0x3944('0x19')](_0x4a4205);}};}function respondWithFilteredResult(_0xde9957,_0xd9d4ce){return function(_0x53cc41){if(_0x53cc41){var _0x3c3be8=typeof _0xd9d4ce['offset']==='undefined'&&typeof _0xd9d4ce[_0x3944('0x1a')]===_0x3944('0x1b');var _0x211e95=_0x53cc41[_0x3944('0x1c')];var _0x4fc714=_0x3c3be8?0x0:_0xd9d4ce[_0x3944('0x1d')];var _0x30fd5f=_0x3c3be8?_0x53cc41[_0x3944('0x1c')]:_0xd9d4ce['offset']+_0xd9d4ce['limit'];var _0x255d95;if(_0x30fd5f>=_0x211e95){_0x30fd5f=_0x211e95;_0x255d95=0xc8;}else{_0x255d95=0xce;}_0xde9957[_0x3944('0x17')](_0x255d95);return _0xde9957[_0x3944('0x1e')](_0x3944('0x1f'),_0x4fc714+'-'+_0x30fd5f+'/'+_0x211e95)[_0x3944('0x19')](_0x53cc41);}return null;};}function patchUpdates(_0x4c94e6){return function(_0x2ff170){try{jsonpatch['apply'](_0x2ff170,_0x4c94e6,!![]);}catch(_0x86d784){return BPromise[_0x3944('0x20')](_0x86d784);}return _0x2ff170[_0x3944('0x21')]();};}function saveUpdates(_0x5c0b60,_0x45ffe9){return function(_0x11a5f6){if(_0x11a5f6){return _0x11a5f6['update'](_0x5c0b60)['then'](function(_0x53914c){return _0x53914c;});}return null;};}function removeEntity(_0x2973c2,_0x2226dd){return function(_0x1db6bc){if(_0x1db6bc){return _0x1db6bc[_0x3944('0x22')]()['then'](function(){_0x2973c2[_0x3944('0x17')](0xcc)['end']();});}};}function handleEntityNotFound(_0x52ebde,_0x19c3f7){return function(_0x9f56b4){if(!_0x9f56b4){_0x52ebde['sendStatus'](0x194);}return _0x9f56b4;};}function handleError(_0x1de065,_0x3a3811){_0x3a3811=_0x3a3811||0x1f4;return function(_0x1c38bd){logger[_0x3944('0x23')](_0x1c38bd[_0x3944('0x24')]);if(_0x1c38bd[_0x3944('0x25')]){delete _0x1c38bd[_0x3944('0x25')];}_0x1de065['status'](_0x3a3811)[_0x3944('0x26')](_0x1c38bd);};}exports[_0x3944('0x27')]=function(_0xba6802,_0x1d7de3){var _0x4fd168={},_0x270fb6={},_0x2a4dec={'count':0x0,'rows':[]};var _0x1d3b3d=_[_0x3944('0x28')](db[_0x3944('0x29')][_0x3944('0x2a')],function(_0x20aefb){return{'name':_0x20aefb[_0x3944('0x2b')],'type':_0x20aefb[_0x3944('0x2c')]['key']};});_0x270fb6[_0x3944('0x2d')]=_[_0x3944('0x28')](_0x1d3b3d,_0x3944('0x25'));_0x270fb6[_0x3944('0x2e')]=_[_0x3944('0x2f')](_0xba6802[_0x3944('0x2e')]);_0x270fb6[_0x3944('0x30')]=_['intersection'](_0x270fb6[_0x3944('0x2d')],_0x270fb6[_0x3944('0x2e')]);_0x4fd168[_0x3944('0x31')]=_[_0x3944('0x32')](_0x270fb6['model'],qs[_0x3944('0x33')](_0xba6802[_0x3944('0x2e')][_0x3944('0x33')]));_0x4fd168[_0x3944('0x31')]=_0x4fd168[_0x3944('0x31')]['length']?_0x4fd168[_0x3944('0x31')]:_0x270fb6['model'];if(!_0xba6802[_0x3944('0x2e')][_0x3944('0x34')]('nolimit')){_0x4fd168['limit']=qs[_0x3944('0x1a')](_0xba6802['query']['limit']);_0x4fd168[_0x3944('0x1d')]=qs['offset'](_0xba6802['query'][_0x3944('0x1d')]);}_0x4fd168[_0x3944('0x35')]=qs[_0x3944('0x36')](_0xba6802[_0x3944('0x2e')][_0x3944('0x36')]);_0x4fd168[_0x3944('0x37')]=qs[_0x3944('0x30')](_['pick'](_0xba6802[_0x3944('0x2e')],_0x270fb6[_0x3944('0x30')]),_0x1d3b3d);if(_0xba6802[_0x3944('0x2e')]['filter']){_0x4fd168[_0x3944('0x37')]=_[_0x3944('0x38')](_0x4fd168[_0x3944('0x37')],{'$or':_[_0x3944('0x28')](_0x1d3b3d,function(_0x5a91b9){if(_0x5a91b9[_0x3944('0x2c')]!==_0x3944('0x39')){var _0x5c234e={};_0x5c234e[_0x5a91b9[_0x3944('0x25')]]={'$like':'%'+_0xba6802[_0x3944('0x2e')][_0x3944('0x3a')]+'%'};return _0x5c234e;}})});}_0x4fd168=_[_0x3944('0x38')]({},_0x4fd168,_0xba6802[_0x3944('0x3b')]);var _0x2a7819={'where':_0x4fd168[_0x3944('0x37')]};return db[_0x3944('0x29')][_0x3944('0x1c')](_0x2a7819)['then'](function(_0x492fc8){_0x2a4dec[_0x3944('0x1c')]=_0x492fc8;if(_0xba6802[_0x3944('0x2e')][_0x3944('0x3c')]){_0x4fd168[_0x3944('0x3d')]=[{'all':!![]}];}return db[_0x3944('0x29')]['findAll'](_0x4fd168);})[_0x3944('0x3e')](function(_0x235dfb){_0x2a4dec['rows']=_0x235dfb;return _0x2a4dec;})['then'](respondWithFilteredResult(_0x1d7de3,_0x4fd168))[_0x3944('0x3f')](handleError(_0x1d7de3,null));};exports[_0x3944('0x40')]=function(_0x212868,_0x5b2bff){var _0x2652e4={'raw':![],'where':{'id':_0x212868['params']['id']}},_0x3dc97b={};_0x3dc97b[_0x3944('0x2d')]=_[_0x3944('0x2f')](db['SalesforceAccount'][_0x3944('0x2a')]);_0x3dc97b[_0x3944('0x2e')]=_[_0x3944('0x2f')](_0x212868[_0x3944('0x2e')]);_0x3dc97b['filters']=_[_0x3944('0x32')](_0x3dc97b['model'],_0x3dc97b['query']);_0x2652e4[_0x3944('0x31')]=_[_0x3944('0x32')](_0x3dc97b['model'],qs[_0x3944('0x33')](_0x212868[_0x3944('0x2e')]['fields']));_0x2652e4['attributes']=_0x2652e4['attributes'][_0x3944('0x41')]?_0x2652e4[_0x3944('0x31')]:_0x3dc97b[_0x3944('0x2d')];if(_0x212868[_0x3944('0x2e')][_0x3944('0x3c')]){_0x2652e4[_0x3944('0x3d')]=[{'all':!![]}];}_0x2652e4=_['merge']({},_0x2652e4,_0x212868[_0x3944('0x3b')]);return db[_0x3944('0x29')][_0x3944('0x42')](_0x2652e4)[_0x3944('0x3e')](handleEntityNotFound(_0x5b2bff,null))[_0x3944('0x3e')](respondWithResult(_0x5b2bff,null))['catch'](handleError(_0x5b2bff,null));};exports[_0x3944('0x43')]=function(_0x20a8d0,_0x314f8d){return db['SalesforceAccount'][_0x3944('0x43')](_0x20a8d0['body'],{})['then'](respondWithResult(_0x314f8d,0xc9))[_0x3944('0x3f')](handleError(_0x314f8d,null));};exports[_0x3944('0x44')]=function(_0x1bdc2a,_0x1446cf){if(_0x1bdc2a['body']['id']){delete _0x1bdc2a[_0x3944('0x45')]['id'];}return db[_0x3944('0x29')][_0x3944('0x42')]({'where':{'id':_0x1bdc2a['params']['id']}})[_0x3944('0x3e')](handleEntityNotFound(_0x1446cf,null))['then'](saveUpdates(_0x1bdc2a['body'],null))['then'](respondWithResult(_0x1446cf,null))[_0x3944('0x3f')](handleError(_0x1446cf,null));};exports[_0x3944('0x22')]=function(_0x23ea77,_0x50559f){return db[_0x3944('0x29')][_0x3944('0x42')]({'where':{'id':_0x23ea77[_0x3944('0x46')]['id']}})[_0x3944('0x3e')](handleEntityNotFound(_0x50559f,null))[_0x3944('0x3e')](removeEntity(_0x50559f,null))[_0x3944('0x3f')](handleError(_0x50559f,null));};exports[_0x3944('0x47')]=function(_0x3cef0a,_0x159ce0,_0x4ccdf3){var _0x23e9c0={};var _0x23a7dc={};var _0x2435dd;var _0x785ca0;return db[_0x3944('0x29')]['findOne']({'where':{'id':_0x3cef0a[_0x3944('0x46')]['id']}})['then'](handleEntityNotFound(_0x159ce0,null))['then'](function(_0x431902){if(_0x431902){_0x2435dd=_0x431902;_0x23a7dc[_0x3944('0x2d')]=_['keys'](db[_0x3944('0x48')][_0x3944('0x2a')]);_0x23a7dc[_0x3944('0x2e')]=_[_0x3944('0x2f')](_0x3cef0a['query']);_0x23a7dc[_0x3944('0x30')]=_[_0x3944('0x32')](_0x23a7dc[_0x3944('0x2d')],_0x23a7dc['query']);_0x23e9c0[_0x3944('0x31')]=_[_0x3944('0x32')](_0x23a7dc[_0x3944('0x2d')],qs[_0x3944('0x33')](_0x3cef0a[_0x3944('0x2e')][_0x3944('0x33')]));_0x23e9c0[_0x3944('0x31')]=_0x23e9c0['attributes']['length']?_0x23e9c0[_0x3944('0x31')]:_0x23a7dc[_0x3944('0x2d')];_0x23e9c0['order']=qs[_0x3944('0x36')](_0x3cef0a['query'][_0x3944('0x36')]);_0x23e9c0[_0x3944('0x37')]=qs[_0x3944('0x30')](_[_0x3944('0x49')](_0x3cef0a[_0x3944('0x2e')],_0x23a7dc[_0x3944('0x30')]));if(_0x3cef0a['query'][_0x3944('0x3a')]){_0x23e9c0[_0x3944('0x37')]=_[_0x3944('0x38')](_0x23e9c0['where'],{'$or':_[_0x3944('0x28')](_0x23e9c0[_0x3944('0x31')],function(_0x1a43c5){var _0x596df7={};_0x596df7[_0x1a43c5]={'$like':'%'+_0x3cef0a[_0x3944('0x2e')][_0x3944('0x3a')]+'%'};return _0x596df7;})});}_0x23e9c0=_[_0x3944('0x38')]({},_0x23e9c0,_0x3cef0a['options']);return _0x2435dd['getConfigurations'](_0x23e9c0);}})[_0x3944('0x3e')](function(_0x53c4a0){if(_0x53c4a0){_0x785ca0=_0x53c4a0['length'];if(!_0x3cef0a[_0x3944('0x2e')]['hasOwnProperty'](_0x3944('0x4a'))){_0x23e9c0[_0x3944('0x1a')]=qs[_0x3944('0x1a')](_0x3cef0a[_0x3944('0x2e')][_0x3944('0x1a')]);_0x23e9c0[_0x3944('0x1d')]=qs[_0x3944('0x1d')](_0x3cef0a['query'][_0x3944('0x1d')]);}return _0x2435dd['getConfigurations'](_0x23e9c0);}})[_0x3944('0x3e')](function(_0x9f9cdf){if(_0x9f9cdf){return _0x9f9cdf?{'count':_0x785ca0,'rows':_0x9f9cdf}:null;}})[_0x3944('0x3e')](respondWithResult(_0x159ce0,null))[_0x3944('0x3f')](handleError(_0x159ce0,null));};exports[_0x3944('0x4b')]=function(_0x4605c7,_0xf2b93,_0x54c4ea){if(_0x4605c7[_0x3944('0x45')]['id']){delete _0x4605c7['body']['id'];}return db[_0x3944('0x29')][_0x3944('0x4c')]({'where':{'id':_0x4605c7[_0x3944('0x46')]['id']}})['then'](handleEntityNotFound(_0xf2b93,null))['then'](function(_0x4cc39d){if(_0x4cc39d){_0x4605c7[_0x3944('0x45')]['AccountId']=_0x4cc39d['id'];_0x4605c7[_0x3944('0x45')][_0x3944('0x4d')]=integrations[_0x3944('0x4e')](_0x4605c7[_0x3944('0x45')][_0x3944('0x4f')],_0x4605c7[_0x3944('0x45')][_0x3944('0x2c')]);_0x4605c7[_0x3944('0x45')][_0x3944('0x50')]=integrations[_0x3944('0x51')](_0x4605c7['body'][_0x3944('0x4f')],_0x4605c7['body'][_0x3944('0x2c')]);return db['SalesforceConfiguration'][_0x3944('0x43')](_0x4605c7[_0x3944('0x45')],{'include':[{'model':db[_0x3944('0x52')],'as':_0x3944('0x4d')},{'model':db[_0x3944('0x52')],'as':'Descriptions'}]});}return null;})[_0x3944('0x3e')](respondWithResult(_0xf2b93,null))[_0x3944('0x3f')](handleError(_0xf2b93,null));};exports[_0x3944('0x53')]=function(_0x2148ae,_0xad1410,_0x1da00b){var _0x234a2c;var _0x2c2c79='';var _0x3885c5=_0x3944('0x54');return db[_0x3944('0x29')][_0x3944('0x4c')]({'where':{'id':_0x2148ae[_0x3944('0x46')]['id']},'attributes':['id',_0x3944('0x55'),_0x3944('0x56'),_0x3944('0x57'),_0x3944('0x58'),_0x3944('0x59'),'securityToken']})[_0x3944('0x3e')](handleEntityNotFound(_0xad1410,null))[_0x3944('0x3e')](function(_0x3a605a){if(_0x3a605a){_0x2c2c79=_0x3a605a['remoteUri'];var _0x380ced=_0x2c2c79[_0x3944('0x5a')](-0x1);if(_0x380ced==='/'){_0x2c2c79=_0x2c2c79['substring'](0x0,_0x2c2c79[_0x3944('0x5b')](_0x380ced));}_0x234a2c=new jsforce[(_0x3944('0x5c'))]({'oauth2':{'loginUrl':_0x2c2c79,'clientId':_0x3a605a['clientId'],'clientSecret':_0x3a605a['clientSecret']}});return _0x234a2c[_0x3944('0x5d')](_0x3a605a[_0x3944('0x58')],_0x3a605a[_0x3944('0x59')][_0x3944('0x5e')](_0x3a605a['securityToken']));}})['then'](function(_0x30656b){if(_0x30656b){if(!_[_0x3944('0x5f')](_0x2148ae[_0x3944('0x2e')][_0x3944('0x60')])){_0x3885c5=_0x2148ae[_0x3944('0x2e')][_0x3944('0x60')];}return _0x234a2c['sobject'](_0x3885c5)[_0x3944('0x61')]();}})['then'](function(_0x1495fe){var _0x5e8006=[_0x3944('0x62'),_0x3944('0x63'),'IsReminderSet','IsRecurrence',_0x3944('0x64'),'Description'];var _0x11036e=[_0x3944('0x65'),_0x3944('0x66'),_0x3944('0x67'),_0x3944('0x68'),_0x3944('0x69'),'textarea','phone'];if(_0x1495fe){_[_0x3944('0x6a')](_0x1495fe['fields'],function(_0x102551){return _0x5e8006[_0x3944('0x6b')](_0x102551[_0x3944('0x25')])||!_0x11036e[_0x3944('0x6b')](_0x102551[_0x3944('0x2c')]);});return{'count':_0x1495fe[_0x3944('0x33')][_0x3944('0x41')],'rows':_[_0x3944('0x28')](_0x1495fe[_0x3944('0x33')],function(_0x5e5813){return{'id':_0x5e5813[_0x3944('0x25')],'name':_0x5e5813[_0x3944('0x6c')],'custom':_0x5e5813[_0x3944('0x6d')],'options':_0x5e5813['picklistValues'][_0x3944('0x41')]>0x0?_[_0x3944('0x28')](_0x5e5813[_0x3944('0x6e')],function(_0x438d04){return{'name':_0x438d04[_0x3944('0x6c')],'value':_0x438d04[_0x3944('0x6f')]};}):_0x5e5813[_0x3944('0x2c')]==_0x3944('0x68')?[{'name':'True','value':_0x3944('0x70')},{'name':_0x3944('0x71'),'value':_0x3944('0x72')}]:[]};})};}})[_0x3944('0x3e')](respondWithResult(_0xad1410,null))[_0x3944('0x3f')](function(_0x55a43a){var _0x4c916a=_0x2148ae[_0x3944('0x2e')][_0x3944('0x73')]?0x1f4:_0x55a43a[_0x3944('0x74')]||0x1f4;logger[_0x3944('0x23')]('getFields,\x20%s,\x20%s,\x20%s',_0x3944('0x53'),_0x4c916a,JSON[_0x3944('0x75')](_0x55a43a));delete _0x55a43a[_0x3944('0x25')];if(_0x4c916a===0x191){_0x4c916a=0x190;}_0xad1410[_0x3944('0x17')](_0x4c916a)[_0x3944('0x26')](_0x2148ae[_0x3944('0x2e')][_0x3944('0x73')]?{'message':_0x3944('0x76'),'statusCode':_0x55a43a[_0x3944('0x74')]}:_0x55a43a);});};