Built motion from commit fe909640.|2.6.8
[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 _0x14c0=['status','end','json','offset','undefined','count','limit','set','Content-Range','apply','reject','save','update','then','error','stack','name','send','index','map','SalesforceAccount','rawAttributes','fieldName','type','key','model','attributes','intersection','fields','query','hasOwnProperty','nolimit','order','sort','filters','filter','where','merge','VIRTUAL','options','includeAll','include','rows','catch','show','keys','length','find','create','body','params','findOne','SalesforceConfiguration','getConfigurations','addConfiguration','Subjects','getSubjects','Descriptions','getDescriptions','SalesforceField','getFields','Task','remoteUri','clientId','clientSecret','password','securityToken','substring','lastIndexOf','Connection','login','username','concat','ticketType','sobject','describe','ActivityDate','IsReminderSet','Subject','string','int','email','textarea','phone','remove','includes','label','custom','picklistValues','True','true','False','false','test','statusCode','stringify','Wrong\x20credentials','eml-format','zip-dir','fast-json-patch','moment','bluebird','mustache','util','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','../../components/auth/service','../../components/parsers/advancedSearch','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus'];(function(_0x2e15f7,_0x1be78d){var _0x32d88b=function(_0x4f9dd9){while(--_0x4f9dd9){_0x2e15f7['push'](_0x2e15f7['shift']());}};_0x32d88b(++_0x1be78d);}(_0x14c0,0xda));var _0x014c=function(_0x3d6ca5,_0xa604c0){_0x3d6ca5=_0x3d6ca5-0x0;var _0x4c21f1=_0x14c0[_0x3d6ca5];return _0x4c21f1;};'use strict';var emlformat=require(_0x014c('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x014c('0x1'));var jsonpatch=require(_0x014c('0x2'));var rp=require('request-promise');var moment=require(_0x014c('0x3'));var BPromise=require(_0x014c('0x4'));var Mustache=require(_0x014c('0x5'));var util=require(_0x014c('0x6'));var path=require('path');var sox=require(_0x014c('0x7'));var csv=require(_0x014c('0x8'));var ejs=require(_0x014c('0x9'));var fs=require('fs');var fs_extra=require(_0x014c('0xa'));var _=require(_0x014c('0xb'));var squel=require(_0x014c('0xc'));var crypto=require(_0x014c('0xd'));var jsforce=require(_0x014c('0xe'));var deskjs=require(_0x014c('0xf'));var toCsv=require(_0x014c('0x8'));var querystring=require(_0x014c('0x10'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x014c('0x11'));var qs=require('../../components/parsers/qs');var as=require(_0x014c('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x014c('0x13'));var utils=require(_0x014c('0x14'));var config=require(_0x014c('0x15'));var licenseUtil=require(_0x014c('0x16'));var db=require('../../mysqldb')['db'];var integrations=require('../../components/integrations/configuration');function respondWithStatusCode(_0x3a9a64,_0x42799e){_0x42799e=_0x42799e||0xcc;return function(_0x249de0){if(_0x249de0){return _0x3a9a64[_0x014c('0x17')](_0x42799e);}return _0x3a9a64[_0x014c('0x18')](_0x42799e)[_0x014c('0x19')]();};}function respondWithResult(_0x28f229,_0x56996f){_0x56996f=_0x56996f||0xc8;return function(_0x1dbe9e){if(_0x1dbe9e){return _0x28f229[_0x014c('0x18')](_0x56996f)[_0x014c('0x1a')](_0x1dbe9e);}};}function respondWithFilteredResult(_0x91c3c6,_0xe2987a){return function(_0x5a795b){if(_0x5a795b){var _0x17fc8e=typeof _0xe2987a[_0x014c('0x1b')]===_0x014c('0x1c')&&typeof _0xe2987a['limit']===_0x014c('0x1c');var _0x543661=_0x5a795b['count'];var _0x55e3b2=_0x17fc8e?0x0:_0xe2987a['offset'];var _0x12c578=_0x17fc8e?_0x5a795b[_0x014c('0x1d')]:_0xe2987a[_0x014c('0x1b')]+_0xe2987a[_0x014c('0x1e')];var _0x3eedd6;if(_0x12c578>=_0x543661){_0x12c578=_0x543661;_0x3eedd6=0xc8;}else{_0x3eedd6=0xce;}_0x91c3c6[_0x014c('0x18')](_0x3eedd6);return _0x91c3c6[_0x014c('0x1f')](_0x014c('0x20'),_0x55e3b2+'-'+_0x12c578+'/'+_0x543661)['json'](_0x5a795b);}return null;};}function patchUpdates(_0x59df68){return function(_0x24a3af){try{jsonpatch[_0x014c('0x21')](_0x24a3af,_0x59df68,!![]);}catch(_0x26761d){return BPromise[_0x014c('0x22')](_0x26761d);}return _0x24a3af[_0x014c('0x23')]();};}function saveUpdates(_0x3b249b,_0x5a29f6){return function(_0x1695f3){if(_0x1695f3){return _0x1695f3[_0x014c('0x24')](_0x3b249b)[_0x014c('0x25')](function(_0x1e9d3b){return _0x1e9d3b;});}return null;};}function removeEntity(_0x277793,_0x50ee32){return function(_0x543d70){if(_0x543d70){return _0x543d70['destroy']()[_0x014c('0x25')](function(){_0x277793[_0x014c('0x18')](0xcc)[_0x014c('0x19')]();});}};}function handleEntityNotFound(_0x499dd5,_0x50ca1a){return function(_0x3eceff){if(!_0x3eceff){_0x499dd5[_0x014c('0x17')](0x194);}return _0x3eceff;};}function handleError(_0x3791be,_0x564955){_0x564955=_0x564955||0x1f4;return function(_0x271e3b){logger[_0x014c('0x26')](_0x271e3b[_0x014c('0x27')]);if(_0x271e3b[_0x014c('0x28')]){delete _0x271e3b[_0x014c('0x28')];}_0x3791be[_0x014c('0x18')](_0x564955)[_0x014c('0x29')](_0x271e3b);};}exports[_0x014c('0x2a')]=function(_0x1ede52,_0x48b6fa){var _0x5d29ef={},_0x2362fc={},_0x233130={'count':0x0,'rows':[]};var _0x3a443d=_[_0x014c('0x2b')](db[_0x014c('0x2c')][_0x014c('0x2d')],function(_0x328b9b){return{'name':_0x328b9b[_0x014c('0x2e')],'type':_0x328b9b[_0x014c('0x2f')][_0x014c('0x30')]};});_0x2362fc[_0x014c('0x31')]=_[_0x014c('0x2b')](_0x3a443d,'name');_0x2362fc['query']=_['keys'](_0x1ede52['query']);_0x2362fc['filters']=_['intersection'](_0x2362fc[_0x014c('0x31')],_0x2362fc['query']);_0x5d29ef[_0x014c('0x32')]=_[_0x014c('0x33')](_0x2362fc[_0x014c('0x31')],qs[_0x014c('0x34')](_0x1ede52[_0x014c('0x35')][_0x014c('0x34')]));_0x5d29ef['attributes']=_0x5d29ef[_0x014c('0x32')]['length']?_0x5d29ef[_0x014c('0x32')]:_0x2362fc['model'];if(!_0x1ede52['query'][_0x014c('0x36')](_0x014c('0x37'))){_0x5d29ef[_0x014c('0x1e')]=qs[_0x014c('0x1e')](_0x1ede52[_0x014c('0x35')][_0x014c('0x1e')]);_0x5d29ef['offset']=qs[_0x014c('0x1b')](_0x1ede52[_0x014c('0x35')][_0x014c('0x1b')]);}_0x5d29ef[_0x014c('0x38')]=qs['sort'](_0x1ede52[_0x014c('0x35')][_0x014c('0x39')]);_0x5d29ef['where']=qs[_0x014c('0x3a')](_['pick'](_0x1ede52[_0x014c('0x35')],_0x2362fc[_0x014c('0x3a')]),_0x3a443d);if(_0x1ede52[_0x014c('0x35')][_0x014c('0x3b')]){_0x5d29ef[_0x014c('0x3c')]=_[_0x014c('0x3d')](_0x5d29ef[_0x014c('0x3c')],{'$or':_[_0x014c('0x2b')](_0x3a443d,function(_0x19d603){if(_0x19d603['type']!==_0x014c('0x3e')){var _0x2719e0={};_0x2719e0[_0x19d603[_0x014c('0x28')]]={'$like':'%'+_0x1ede52['query'][_0x014c('0x3b')]+'%'};return _0x2719e0;}})});}_0x5d29ef=_[_0x014c('0x3d')]({},_0x5d29ef,_0x1ede52[_0x014c('0x3f')]);var _0x429b51={'where':_0x5d29ef[_0x014c('0x3c')]};return db[_0x014c('0x2c')]['count'](_0x429b51)[_0x014c('0x25')](function(_0x50f153){_0x233130[_0x014c('0x1d')]=_0x50f153;if(_0x1ede52['query'][_0x014c('0x40')]){_0x5d29ef[_0x014c('0x41')]=[{'all':!![]}];}return db[_0x014c('0x2c')]['findAll'](_0x5d29ef);})[_0x014c('0x25')](function(_0xc0f91a){_0x233130[_0x014c('0x42')]=_0xc0f91a;return _0x233130;})[_0x014c('0x25')](respondWithFilteredResult(_0x48b6fa,_0x5d29ef))[_0x014c('0x43')](handleError(_0x48b6fa,null));};exports[_0x014c('0x44')]=function(_0x5a075f,_0xa5e6fc){var _0x3cff9f={'raw':![],'where':{'id':_0x5a075f['params']['id']}},_0x5dea96={};_0x5dea96[_0x014c('0x31')]=_[_0x014c('0x45')](db[_0x014c('0x2c')][_0x014c('0x2d')]);_0x5dea96['query']=_['keys'](_0x5a075f[_0x014c('0x35')]);_0x5dea96[_0x014c('0x3a')]=_[_0x014c('0x33')](_0x5dea96[_0x014c('0x31')],_0x5dea96[_0x014c('0x35')]);_0x3cff9f[_0x014c('0x32')]=_[_0x014c('0x33')](_0x5dea96[_0x014c('0x31')],qs[_0x014c('0x34')](_0x5a075f['query'][_0x014c('0x34')]));_0x3cff9f['attributes']=_0x3cff9f[_0x014c('0x32')][_0x014c('0x46')]?_0x3cff9f['attributes']:_0x5dea96[_0x014c('0x31')];if(_0x5a075f[_0x014c('0x35')][_0x014c('0x40')]){_0x3cff9f['include']=[{'all':!![]}];}_0x3cff9f=_[_0x014c('0x3d')]({},_0x3cff9f,_0x5a075f[_0x014c('0x3f')]);return db[_0x014c('0x2c')][_0x014c('0x47')](_0x3cff9f)[_0x014c('0x25')](handleEntityNotFound(_0xa5e6fc,null))[_0x014c('0x25')](respondWithResult(_0xa5e6fc,null))[_0x014c('0x43')](handleError(_0xa5e6fc,null));};exports[_0x014c('0x48')]=function(_0x9bfcbb,_0x248822){return db['SalesforceAccount'][_0x014c('0x48')](_0x9bfcbb[_0x014c('0x49')],{})[_0x014c('0x25')](respondWithResult(_0x248822,0xc9))[_0x014c('0x43')](handleError(_0x248822,null));};exports[_0x014c('0x24')]=function(_0x4587c5,_0x43eb90){if(_0x4587c5[_0x014c('0x49')]['id']){delete _0x4587c5[_0x014c('0x49')]['id'];}return db['SalesforceAccount'][_0x014c('0x47')]({'where':{'id':_0x4587c5['params']['id']}})[_0x014c('0x25')](handleEntityNotFound(_0x43eb90,null))[_0x014c('0x25')](saveUpdates(_0x4587c5[_0x014c('0x49')],null))[_0x014c('0x25')](respondWithResult(_0x43eb90,null))[_0x014c('0x43')](handleError(_0x43eb90,null));};exports['destroy']=function(_0x25514f,_0x50c838){return db[_0x014c('0x2c')][_0x014c('0x47')]({'where':{'id':_0x25514f[_0x014c('0x4a')]['id']}})[_0x014c('0x25')](handleEntityNotFound(_0x50c838,null))[_0x014c('0x25')](removeEntity(_0x50c838,null))[_0x014c('0x43')](handleError(_0x50c838,null));};exports['getConfigurations']=function(_0x16995f,_0x3422bd,_0x34e984){var _0x48d32a={};var _0x417da0={};var _0x48c2bc;var _0x3944ec;return db[_0x014c('0x2c')][_0x014c('0x4b')]({'where':{'id':_0x16995f[_0x014c('0x4a')]['id']}})[_0x014c('0x25')](handleEntityNotFound(_0x3422bd,null))[_0x014c('0x25')](function(_0xfd7e30){if(_0xfd7e30){_0x48c2bc=_0xfd7e30;_0x417da0[_0x014c('0x31')]=_[_0x014c('0x45')](db[_0x014c('0x4c')][_0x014c('0x2d')]);_0x417da0['query']=_[_0x014c('0x45')](_0x16995f[_0x014c('0x35')]);_0x417da0[_0x014c('0x3a')]=_['intersection'](_0x417da0['model'],_0x417da0[_0x014c('0x35')]);_0x48d32a['attributes']=_[_0x014c('0x33')](_0x417da0['model'],qs['fields'](_0x16995f[_0x014c('0x35')][_0x014c('0x34')]));_0x48d32a[_0x014c('0x32')]=_0x48d32a['attributes'][_0x014c('0x46')]?_0x48d32a[_0x014c('0x32')]:_0x417da0[_0x014c('0x31')];_0x48d32a[_0x014c('0x38')]=qs[_0x014c('0x39')](_0x16995f[_0x014c('0x35')][_0x014c('0x39')]);_0x48d32a[_0x014c('0x3c')]=qs['filters'](_['pick'](_0x16995f['query'],_0x417da0[_0x014c('0x3a')]));if(_0x16995f[_0x014c('0x35')][_0x014c('0x3b')]){_0x48d32a[_0x014c('0x3c')]=_['merge'](_0x48d32a[_0x014c('0x3c')],{'$or':_[_0x014c('0x2b')](_0x48d32a[_0x014c('0x32')],function(_0x542f05){var _0xc359f0={};_0xc359f0[_0x542f05]={'$like':'%'+_0x16995f[_0x014c('0x35')][_0x014c('0x3b')]+'%'};return _0xc359f0;})});}_0x48d32a=_[_0x014c('0x3d')]({},_0x48d32a,_0x16995f[_0x014c('0x3f')]);return _0x48c2bc[_0x014c('0x4d')](_0x48d32a);}})[_0x014c('0x25')](function(_0x2d7f10){if(_0x2d7f10){_0x3944ec=_0x2d7f10[_0x014c('0x46')];if(!_0x16995f[_0x014c('0x35')]['hasOwnProperty'](_0x014c('0x37'))){_0x48d32a[_0x014c('0x1e')]=qs['limit'](_0x16995f[_0x014c('0x35')][_0x014c('0x1e')]);_0x48d32a['offset']=qs[_0x014c('0x1b')](_0x16995f[_0x014c('0x35')][_0x014c('0x1b')]);}return _0x48c2bc[_0x014c('0x4d')](_0x48d32a);}})[_0x014c('0x25')](function(_0x135204){if(_0x135204){return _0x135204?{'count':_0x3944ec,'rows':_0x135204}:null;}})[_0x014c('0x25')](respondWithResult(_0x3422bd,null))['catch'](handleError(_0x3422bd,null));};exports[_0x014c('0x4e')]=function(_0x444f04,_0x27220c,_0x50db62){if(_0x444f04[_0x014c('0x49')]['id']){delete _0x444f04[_0x014c('0x49')]['id'];}return db[_0x014c('0x2c')][_0x014c('0x4b')]({'where':{'id':_0x444f04[_0x014c('0x4a')]['id']}})[_0x014c('0x25')](handleEntityNotFound(_0x27220c,null))[_0x014c('0x25')](function(_0x26a455){if(_0x26a455){_0x444f04[_0x014c('0x49')]['AccountId']=_0x26a455['id'];_0x444f04[_0x014c('0x49')][_0x014c('0x4f')]=integrations[_0x014c('0x50')](_0x444f04[_0x014c('0x49')]['channel'],_0x444f04[_0x014c('0x49')][_0x014c('0x2f')]);_0x444f04[_0x014c('0x49')][_0x014c('0x51')]=integrations[_0x014c('0x52')](_0x444f04[_0x014c('0x49')]['channel'],_0x444f04[_0x014c('0x49')][_0x014c('0x2f')]);return db[_0x014c('0x4c')][_0x014c('0x48')](_0x444f04[_0x014c('0x49')],{'include':[{'model':db['SalesforceField'],'as':'Subjects'},{'model':db[_0x014c('0x53')],'as':_0x014c('0x51')}]});}return null;})['then'](respondWithResult(_0x27220c,null))[_0x014c('0x43')](handleError(_0x27220c,null));};exports[_0x014c('0x54')]=function(_0x30a0b3,_0x268a88,_0xfd853e){var _0x422403;var _0x5e9327='';var _0x465dbf=_0x014c('0x55');return db['SalesforceAccount']['findOne']({'where':{'id':_0x30a0b3[_0x014c('0x4a')]['id']},'attributes':['id',_0x014c('0x56'),_0x014c('0x57'),_0x014c('0x58'),'username',_0x014c('0x59'),_0x014c('0x5a')]})[_0x014c('0x25')](handleEntityNotFound(_0x268a88,null))[_0x014c('0x25')](function(_0x18f8a2){if(_0x18f8a2){_0x5e9327=_0x18f8a2[_0x014c('0x56')];var _0x21d0bd=_0x5e9327['slice'](-0x1);if(_0x21d0bd==='/'){_0x5e9327=_0x5e9327[_0x014c('0x5b')](0x0,_0x5e9327[_0x014c('0x5c')](_0x21d0bd));}_0x422403=new jsforce[(_0x014c('0x5d'))]({'oauth2':{'loginUrl':_0x5e9327,'clientId':_0x18f8a2[_0x014c('0x57')],'clientSecret':_0x18f8a2[_0x014c('0x58')]}});return _0x422403[_0x014c('0x5e')](_0x18f8a2[_0x014c('0x5f')],_0x18f8a2['password'][_0x014c('0x60')](_0x18f8a2[_0x014c('0x5a')]));}})[_0x014c('0x25')](function(_0x3f4c3e){if(_0x3f4c3e){if(!_['isNil'](_0x30a0b3[_0x014c('0x35')][_0x014c('0x61')])){_0x465dbf=_0x30a0b3['query'][_0x014c('0x61')];}return _0x422403[_0x014c('0x62')](_0x465dbf)[_0x014c('0x63')]();}})[_0x014c('0x25')](function(_0x5b8e96){var _0x71e3a1=['OwnerId',_0x014c('0x64'),_0x014c('0x65'),'IsRecurrence',_0x014c('0x66'),'Description'];var _0x6c194a=[_0x014c('0x67'),_0x014c('0x68'),'picklist','boolean',_0x014c('0x69'),_0x014c('0x6a'),_0x014c('0x6b')];if(_0x5b8e96){_[_0x014c('0x6c')](_0x5b8e96[_0x014c('0x34')],function(_0x4509ed){return _0x71e3a1['includes'](_0x4509ed[_0x014c('0x28')])||!_0x6c194a[_0x014c('0x6d')](_0x4509ed[_0x014c('0x2f')]);});return{'count':_0x5b8e96[_0x014c('0x34')][_0x014c('0x46')],'rows':_[_0x014c('0x2b')](_0x5b8e96[_0x014c('0x34')],function(_0xc9d502){return{'id':_0xc9d502[_0x014c('0x28')],'name':_0xc9d502[_0x014c('0x6e')],'custom':_0xc9d502[_0x014c('0x6f')],'options':_0xc9d502['picklistValues'][_0x014c('0x46')]>0x0?_[_0x014c('0x2b')](_0xc9d502[_0x014c('0x70')],function(_0x5bd3d1){return{'name':_0x5bd3d1[_0x014c('0x6e')],'value':_0x5bd3d1['value']};}):_0xc9d502['type']=='boolean'?[{'name':_0x014c('0x71'),'value':_0x014c('0x72')},{'name':_0x014c('0x73'),'value':_0x014c('0x74')}]:[]};})};}})[_0x014c('0x25')](respondWithResult(_0x268a88,null))[_0x014c('0x43')](function(_0x5344e8){var _0x1b18bd=_0x30a0b3[_0x014c('0x35')][_0x014c('0x75')]?0x1f4:_0x5344e8[_0x014c('0x76')]||0x1f4;logger[_0x014c('0x26')]('getFields,\x20%s,\x20%s,\x20%s',_0x014c('0x54'),_0x1b18bd,JSON[_0x014c('0x77')](_0x5344e8));delete _0x5344e8[_0x014c('0x28')];if(_0x1b18bd===0x191){_0x1b18bd=0x190;}_0x268a88['status'](_0x1b18bd)[_0x014c('0x29')](_0x30a0b3[_0x014c('0x35')][_0x014c('0x75')]?{'message':_0x014c('0x78'),'statusCode':_0x5344e8[_0x014c('0x76')]}:_0x5344e8);});};