9430f2bf5fc5bd2a63fa63c572555c44b2751e99
[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 _0x7fc4=['username','securityToken','slice','substring','clientSecret','login','password','concat','ticketType','sobject','describe','OwnerId','ActivityDate','IsReminderSet','Description','int','picklist','boolean','email','textarea','phone','remove','includes','picklistValues','label','True','False','statusCode','getFields,\x20%s,\x20%s,\x20%s','Wrong\x20credentials','eml-format','request-promise','moment','bluebird','mustache','util','sox','to-csv','ejs','fs-extra','lodash','squel','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/logger','../../config/utils','../../config/license/util','../../components/integrations/configuration','sendStatus','status','end','offset','limit','count','Content-Range','reject','save','update','destroy','then','error','stack','name','send','index','map','fieldName','type','key','model','keys','query','filters','intersection','fields','attributes','hasOwnProperty','nolimit','sort','where','pick','filter','merge','options','includeAll','include','SalesforceAccount','findAll','rows','catch','show','rawAttributes','length','find','create','body','params','getConfigurations','findOne','order','AccountId','channel','Descriptions','getDescriptions','SalesforceField','Subjects','getFields','Task','remoteUri','clientId'];(function(_0x2cacef,_0xba1573){var _0x289ba6=function(_0x4ac8b9){while(--_0x4ac8b9){_0x2cacef['push'](_0x2cacef['shift']());}};_0x289ba6(++_0xba1573);}(_0x7fc4,0x174));var _0x47fc=function(_0x4d8340,_0x3a40f3){_0x4d8340=_0x4d8340-0x0;var _0x5078ef=_0x7fc4[_0x4d8340];return _0x5078ef;};'use strict';var emlformat=require(_0x47fc('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x47fc('0x1'));var moment=require(_0x47fc('0x2'));var BPromise=require(_0x47fc('0x3'));var Mustache=require(_0x47fc('0x4'));var util=require(_0x47fc('0x5'));var path=require('path');var sox=require(_0x47fc('0x6'));var csv=require(_0x47fc('0x7'));var ejs=require(_0x47fc('0x8'));var fs=require('fs');var fs_extra=require(_0x47fc('0x9'));var _=require(_0x47fc('0xa'));var squel=require(_0x47fc('0xb'));var crypto=require('crypto');var jsforce=require(_0x47fc('0xc'));var deskjs=require(_0x47fc('0xd'));var toCsv=require(_0x47fc('0x7'));var querystring=require(_0x47fc('0xe'));var Papa=require(_0x47fc('0xf'));var Redis=require('ioredis');var authService=require(_0x47fc('0x10'));var qs=require(_0x47fc('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x47fc('0x12'))('api');var utils=require(_0x47fc('0x13'));var config=require('../../config/environment');var licenseUtil=require(_0x47fc('0x14'));var db=require('../../mysqldb')['db'];var integrations=require(_0x47fc('0x15'));function respondWithStatusCode(_0x3f73ee,_0x46ed5c){_0x46ed5c=_0x46ed5c||0xcc;return function(_0x260738){if(_0x260738){return _0x3f73ee[_0x47fc('0x16')](_0x46ed5c);}return _0x3f73ee[_0x47fc('0x17')](_0x46ed5c)[_0x47fc('0x18')]();};}function respondWithResult(_0x5b16b8,_0x1e8939){_0x1e8939=_0x1e8939||0xc8;return function(_0xc0b20d){if(_0xc0b20d){return _0x5b16b8[_0x47fc('0x17')](_0x1e8939)['json'](_0xc0b20d);}};}function respondWithFilteredResult(_0x5e67b6,_0x139e5c){return function(_0x5cdc40){if(_0x5cdc40){var _0x4ab234=typeof _0x139e5c[_0x47fc('0x19')]==='undefined'&&typeof _0x139e5c[_0x47fc('0x1a')]==='undefined';var _0x42c5a7=_0x5cdc40[_0x47fc('0x1b')];var _0x1e04a0=_0x4ab234?0x0:_0x139e5c[_0x47fc('0x19')];var _0x62ded7=_0x4ab234?_0x5cdc40[_0x47fc('0x1b')]:_0x139e5c[_0x47fc('0x19')]+_0x139e5c[_0x47fc('0x1a')];var _0x11da00;if(_0x62ded7>=_0x42c5a7){_0x62ded7=_0x42c5a7;_0x11da00=0xc8;}else{_0x11da00=0xce;}_0x5e67b6[_0x47fc('0x17')](_0x11da00);return _0x5e67b6['set'](_0x47fc('0x1c'),_0x1e04a0+'-'+_0x62ded7+'/'+_0x42c5a7)['json'](_0x5cdc40);}return null;};}function patchUpdates(_0x42613d){return function(_0x242d9d){try{jsonpatch['apply'](_0x242d9d,_0x42613d,!![]);}catch(_0x558516){return BPromise[_0x47fc('0x1d')](_0x558516);}return _0x242d9d[_0x47fc('0x1e')]();};}function saveUpdates(_0x156b16,_0x1f8b03){return function(_0x503216){if(_0x503216){return _0x503216[_0x47fc('0x1f')](_0x156b16)['then'](function(_0x2ba93f){return _0x2ba93f;});}return null;};}function removeEntity(_0xe45655,_0x21213a){return function(_0x2724ea){if(_0x2724ea){return _0x2724ea[_0x47fc('0x20')]()[_0x47fc('0x21')](function(){_0xe45655[_0x47fc('0x17')](0xcc)[_0x47fc('0x18')]();});}};}function handleEntityNotFound(_0xd1763a,_0x2e1709){return function(_0x5c0f1d){if(!_0x5c0f1d){_0xd1763a[_0x47fc('0x16')](0x194);}return _0x5c0f1d;};}function handleError(_0x357d7d,_0x4c0038){_0x4c0038=_0x4c0038||0x1f4;return function(_0x7e5ff6){logger[_0x47fc('0x22')](_0x7e5ff6[_0x47fc('0x23')]);if(_0x7e5ff6[_0x47fc('0x24')]){delete _0x7e5ff6[_0x47fc('0x24')];}_0x357d7d[_0x47fc('0x17')](_0x4c0038)[_0x47fc('0x25')](_0x7e5ff6);};}exports[_0x47fc('0x26')]=function(_0x21e9cd,_0x3d00a1){var _0x366b7a={},_0x3142f4={},_0x2cf2dd={'count':0x0,'rows':[]};var _0x15344e=_[_0x47fc('0x27')](db['SalesforceAccount']['rawAttributes'],function(_0x5c0a69){return{'name':_0x5c0a69[_0x47fc('0x28')],'type':_0x5c0a69[_0x47fc('0x29')][_0x47fc('0x2a')]};});_0x3142f4[_0x47fc('0x2b')]=_['map'](_0x15344e,_0x47fc('0x24'));_0x3142f4['query']=_[_0x47fc('0x2c')](_0x21e9cd[_0x47fc('0x2d')]);_0x3142f4[_0x47fc('0x2e')]=_[_0x47fc('0x2f')](_0x3142f4[_0x47fc('0x2b')],_0x3142f4[_0x47fc('0x2d')]);_0x366b7a['attributes']=_[_0x47fc('0x2f')](_0x3142f4[_0x47fc('0x2b')],qs[_0x47fc('0x30')](_0x21e9cd[_0x47fc('0x2d')][_0x47fc('0x30')]));_0x366b7a[_0x47fc('0x31')]=_0x366b7a[_0x47fc('0x31')]['length']?_0x366b7a['attributes']:_0x3142f4[_0x47fc('0x2b')];if(!_0x21e9cd[_0x47fc('0x2d')][_0x47fc('0x32')](_0x47fc('0x33'))){_0x366b7a[_0x47fc('0x1a')]=qs[_0x47fc('0x1a')](_0x21e9cd['query']['limit']);_0x366b7a['offset']=qs[_0x47fc('0x19')](_0x21e9cd[_0x47fc('0x2d')][_0x47fc('0x19')]);}_0x366b7a['order']=qs[_0x47fc('0x34')](_0x21e9cd[_0x47fc('0x2d')][_0x47fc('0x34')]);_0x366b7a[_0x47fc('0x35')]=qs['filters'](_[_0x47fc('0x36')](_0x21e9cd[_0x47fc('0x2d')],_0x3142f4['filters']),_0x15344e);if(_0x21e9cd[_0x47fc('0x2d')][_0x47fc('0x37')]){_0x366b7a['where']=_[_0x47fc('0x38')](_0x366b7a[_0x47fc('0x35')],{'$or':_[_0x47fc('0x27')](_0x15344e,function(_0x417245){if(_0x417245[_0x47fc('0x29')]!=='VIRTUAL'){var _0x114440={};_0x114440[_0x417245['name']]={'$like':'%'+_0x21e9cd[_0x47fc('0x2d')][_0x47fc('0x37')]+'%'};return _0x114440;}})});}_0x366b7a=_['merge']({},_0x366b7a,_0x21e9cd[_0x47fc('0x39')]);var _0x21e58b={'where':_0x366b7a['where']};return db['SalesforceAccount']['count'](_0x21e58b)[_0x47fc('0x21')](function(_0x4ec763){_0x2cf2dd[_0x47fc('0x1b')]=_0x4ec763;if(_0x21e9cd[_0x47fc('0x2d')][_0x47fc('0x3a')]){_0x366b7a[_0x47fc('0x3b')]=[{'all':!![]}];}return db[_0x47fc('0x3c')][_0x47fc('0x3d')](_0x366b7a);})[_0x47fc('0x21')](function(_0xeb30cc){_0x2cf2dd[_0x47fc('0x3e')]=_0xeb30cc;return _0x2cf2dd;})['then'](respondWithFilteredResult(_0x3d00a1,_0x366b7a))[_0x47fc('0x3f')](handleError(_0x3d00a1,null));};exports[_0x47fc('0x40')]=function(_0xc45ff4,_0x30eca3){var _0x430a5b={'raw':![],'where':{'id':_0xc45ff4['params']['id']}},_0x21d7b9={};_0x21d7b9['model']=_[_0x47fc('0x2c')](db[_0x47fc('0x3c')][_0x47fc('0x41')]);_0x21d7b9[_0x47fc('0x2d')]=_[_0x47fc('0x2c')](_0xc45ff4[_0x47fc('0x2d')]);_0x21d7b9[_0x47fc('0x2e')]=_[_0x47fc('0x2f')](_0x21d7b9[_0x47fc('0x2b')],_0x21d7b9[_0x47fc('0x2d')]);_0x430a5b[_0x47fc('0x31')]=_[_0x47fc('0x2f')](_0x21d7b9[_0x47fc('0x2b')],qs[_0x47fc('0x30')](_0xc45ff4[_0x47fc('0x2d')][_0x47fc('0x30')]));_0x430a5b[_0x47fc('0x31')]=_0x430a5b['attributes'][_0x47fc('0x42')]?_0x430a5b[_0x47fc('0x31')]:_0x21d7b9[_0x47fc('0x2b')];if(_0xc45ff4[_0x47fc('0x2d')]['includeAll']){_0x430a5b[_0x47fc('0x3b')]=[{'all':!![]}];}_0x430a5b=_['merge']({},_0x430a5b,_0xc45ff4['options']);return db[_0x47fc('0x3c')][_0x47fc('0x43')](_0x430a5b)[_0x47fc('0x21')](handleEntityNotFound(_0x30eca3,null))[_0x47fc('0x21')](respondWithResult(_0x30eca3,null))[_0x47fc('0x3f')](handleError(_0x30eca3,null));};exports['create']=function(_0x5e1914,_0x583e2b){return db['SalesforceAccount'][_0x47fc('0x44')](_0x5e1914[_0x47fc('0x45')],{})[_0x47fc('0x21')](respondWithResult(_0x583e2b,0xc9))[_0x47fc('0x3f')](handleError(_0x583e2b,null));};exports[_0x47fc('0x1f')]=function(_0x4ad8d5,_0x18379e){if(_0x4ad8d5['body']['id']){delete _0x4ad8d5[_0x47fc('0x45')]['id'];}return db[_0x47fc('0x3c')][_0x47fc('0x43')]({'where':{'id':_0x4ad8d5[_0x47fc('0x46')]['id']}})[_0x47fc('0x21')](handleEntityNotFound(_0x18379e,null))[_0x47fc('0x21')](saveUpdates(_0x4ad8d5['body'],null))[_0x47fc('0x21')](respondWithResult(_0x18379e,null))[_0x47fc('0x3f')](handleError(_0x18379e,null));};exports['destroy']=function(_0x4efb8b,_0x486e60){return db[_0x47fc('0x3c')][_0x47fc('0x43')]({'where':{'id':_0x4efb8b['params']['id']}})[_0x47fc('0x21')](handleEntityNotFound(_0x486e60,null))[_0x47fc('0x21')](removeEntity(_0x486e60,null))['catch'](handleError(_0x486e60,null));};exports[_0x47fc('0x47')]=function(_0x16f9de,_0x1e5416,_0x1be04b){var _0x12fd6c={};var _0x4d7a51={};var _0x32f47e;var _0x11ec6d;return db['SalesforceAccount'][_0x47fc('0x48')]({'where':{'id':_0x16f9de[_0x47fc('0x46')]['id']}})[_0x47fc('0x21')](handleEntityNotFound(_0x1e5416,null))['then'](function(_0x5ced4d){if(_0x5ced4d){_0x32f47e=_0x5ced4d;_0x4d7a51[_0x47fc('0x2b')]=_[_0x47fc('0x2c')](db['SalesforceConfiguration'][_0x47fc('0x41')]);_0x4d7a51[_0x47fc('0x2d')]=_[_0x47fc('0x2c')](_0x16f9de[_0x47fc('0x2d')]);_0x4d7a51['filters']=_[_0x47fc('0x2f')](_0x4d7a51[_0x47fc('0x2b')],_0x4d7a51[_0x47fc('0x2d')]);_0x12fd6c[_0x47fc('0x31')]=_[_0x47fc('0x2f')](_0x4d7a51[_0x47fc('0x2b')],qs[_0x47fc('0x30')](_0x16f9de[_0x47fc('0x2d')][_0x47fc('0x30')]));_0x12fd6c[_0x47fc('0x31')]=_0x12fd6c[_0x47fc('0x31')][_0x47fc('0x42')]?_0x12fd6c[_0x47fc('0x31')]:_0x4d7a51[_0x47fc('0x2b')];_0x12fd6c[_0x47fc('0x49')]=qs[_0x47fc('0x34')](_0x16f9de[_0x47fc('0x2d')][_0x47fc('0x34')]);_0x12fd6c[_0x47fc('0x35')]=qs[_0x47fc('0x2e')](_['pick'](_0x16f9de['query'],_0x4d7a51[_0x47fc('0x2e')]));if(_0x16f9de[_0x47fc('0x2d')][_0x47fc('0x37')]){_0x12fd6c['where']=_['merge'](_0x12fd6c[_0x47fc('0x35')],{'$or':_[_0x47fc('0x27')](_0x12fd6c[_0x47fc('0x31')],function(_0x1e4df2){var _0xc7ba43={};_0xc7ba43[_0x1e4df2]={'$like':'%'+_0x16f9de[_0x47fc('0x2d')][_0x47fc('0x37')]+'%'};return _0xc7ba43;})});}_0x12fd6c=_[_0x47fc('0x38')]({},_0x12fd6c,_0x16f9de[_0x47fc('0x39')]);return _0x32f47e[_0x47fc('0x47')](_0x12fd6c);}})['then'](function(_0x4c6031){if(_0x4c6031){_0x11ec6d=_0x4c6031[_0x47fc('0x42')];if(!_0x16f9de[_0x47fc('0x2d')][_0x47fc('0x32')](_0x47fc('0x33'))){_0x12fd6c['limit']=qs['limit'](_0x16f9de[_0x47fc('0x2d')]['limit']);_0x12fd6c[_0x47fc('0x19')]=qs[_0x47fc('0x19')](_0x16f9de[_0x47fc('0x2d')][_0x47fc('0x19')]);}return _0x32f47e['getConfigurations'](_0x12fd6c);}})[_0x47fc('0x21')](function(_0x802a56){if(_0x802a56){return _0x802a56?{'count':_0x11ec6d,'rows':_0x802a56}:null;}})[_0x47fc('0x21')](respondWithResult(_0x1e5416,null))[_0x47fc('0x3f')](handleError(_0x1e5416,null));};exports['addConfiguration']=function(_0x4d0638,_0x8ca39,_0x33b61a){if(_0x4d0638[_0x47fc('0x45')]['id']){delete _0x4d0638[_0x47fc('0x45')]['id'];}return db[_0x47fc('0x3c')][_0x47fc('0x48')]({'where':{'id':_0x4d0638[_0x47fc('0x46')]['id']}})[_0x47fc('0x21')](handleEntityNotFound(_0x8ca39,null))[_0x47fc('0x21')](function(_0x4f1560){if(_0x4f1560){_0x4d0638[_0x47fc('0x45')][_0x47fc('0x4a')]=_0x4f1560['id'];_0x4d0638[_0x47fc('0x45')]['Subjects']=integrations['getSubjects'](_0x4d0638[_0x47fc('0x45')][_0x47fc('0x4b')],_0x4d0638[_0x47fc('0x45')][_0x47fc('0x29')]);_0x4d0638[_0x47fc('0x45')][_0x47fc('0x4c')]=integrations[_0x47fc('0x4d')](_0x4d0638[_0x47fc('0x45')][_0x47fc('0x4b')],_0x4d0638[_0x47fc('0x45')]['type']);return db['SalesforceConfiguration'][_0x47fc('0x44')](_0x4d0638[_0x47fc('0x45')],{'include':[{'model':db[_0x47fc('0x4e')],'as':_0x47fc('0x4f')},{'model':db[_0x47fc('0x4e')],'as':'Descriptions'}]});}return null;})[_0x47fc('0x21')](respondWithResult(_0x8ca39,null))[_0x47fc('0x3f')](handleError(_0x8ca39,null));};exports[_0x47fc('0x50')]=function(_0x127e17,_0xe26ece,_0x11d927){var _0x17100f;var _0xe551d6='';var _0x2bd8d3=_0x47fc('0x51');return db['SalesforceAccount'][_0x47fc('0x48')]({'where':{'id':_0x127e17['params']['id']},'attributes':['id',_0x47fc('0x52'),_0x47fc('0x53'),'clientSecret',_0x47fc('0x54'),'password',_0x47fc('0x55')]})[_0x47fc('0x21')](handleEntityNotFound(_0xe26ece,null))['then'](function(_0xdfcabe){if(_0xdfcabe){_0xe551d6=_0xdfcabe['remoteUri'];var _0x5e7f0f=_0xe551d6[_0x47fc('0x56')](-0x1);if(_0x5e7f0f==='/'){_0xe551d6=_0xe551d6[_0x47fc('0x57')](0x0,_0xe551d6['lastIndexOf'](_0x5e7f0f));}_0x17100f=new jsforce['Connection']({'oauth2':{'loginUrl':_0xe551d6,'clientId':_0xdfcabe['clientId'],'clientSecret':_0xdfcabe[_0x47fc('0x58')]}});return _0x17100f[_0x47fc('0x59')](_0xdfcabe['username'],_0xdfcabe[_0x47fc('0x5a')][_0x47fc('0x5b')](_0xdfcabe[_0x47fc('0x55')]));}})[_0x47fc('0x21')](function(_0x4c2ec3){if(_0x4c2ec3){if(!_['isNil'](_0x127e17['query'][_0x47fc('0x5c')])){_0x2bd8d3=_0x127e17[_0x47fc('0x2d')][_0x47fc('0x5c')];}return _0x17100f[_0x47fc('0x5d')](_0x2bd8d3)[_0x47fc('0x5e')]();}})[_0x47fc('0x21')](function(_0x52a7de){var _0x41eebc=[_0x47fc('0x5f'),_0x47fc('0x60'),_0x47fc('0x61'),'IsRecurrence','Subject',_0x47fc('0x62')];var _0x3eecf3=['string',_0x47fc('0x63'),_0x47fc('0x64'),_0x47fc('0x65'),_0x47fc('0x66'),_0x47fc('0x67'),_0x47fc('0x68')];if(_0x52a7de){_[_0x47fc('0x69')](_0x52a7de[_0x47fc('0x30')],function(_0x4fb21f){return _0x41eebc[_0x47fc('0x6a')](_0x4fb21f['name'])||!_0x3eecf3['includes'](_0x4fb21f[_0x47fc('0x29')]);});return{'count':_0x52a7de[_0x47fc('0x30')][_0x47fc('0x42')],'rows':_[_0x47fc('0x27')](_0x52a7de[_0x47fc('0x30')],function(_0x4f3d78){return{'id':_0x4f3d78[_0x47fc('0x24')],'name':_0x4f3d78['label'],'custom':_0x4f3d78['custom'],'options':_0x4f3d78[_0x47fc('0x6b')][_0x47fc('0x42')]>0x0?_[_0x47fc('0x27')](_0x4f3d78['picklistValues'],function(_0x1d1007){return{'name':_0x1d1007[_0x47fc('0x6c')],'value':_0x1d1007['value']};}):_0x4f3d78[_0x47fc('0x29')]==_0x47fc('0x65')?[{'name':_0x47fc('0x6d'),'value':'true'},{'name':_0x47fc('0x6e'),'value':'false'}]:[]};})};}})[_0x47fc('0x21')](respondWithResult(_0xe26ece,null))[_0x47fc('0x3f')](function(_0xc32a2a){var _0x38ad16=_0x127e17[_0x47fc('0x2d')]['test']?0x1f4:_0xc32a2a[_0x47fc('0x6f')]||0x1f4;logger[_0x47fc('0x22')](_0x47fc('0x70'),_0x47fc('0x50'),_0x38ad16,JSON['stringify'](_0xc32a2a));delete _0xc32a2a['name'];if(_0x38ad16===0x191){_0x38ad16=0x190;}_0xe26ece[_0x47fc('0x17')](_0x38ad16)[_0x47fc('0x25')](_0x127e17[_0x47fc('0x2d')]['test']?{'message':_0x47fc('0x71'),'statusCode':_0xc32a2a[_0x47fc('0x6f')]}:_0xc32a2a);});};