9efa68b90fa54e64fc1b90a5410000c714a5e6b1
[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 _0x93e9=['intersection','fields','hasOwnProperty','nolimit','offset','sort','pick','where','merge','filter','options','includeAll','include','findAll','catch','show','params','length','find','create','body','update','getConfigurations','SalesforceConfiguration','order','addConfiguration','findOne','AccountId','Subjects','channel','Descriptions','getDescriptions','SalesforceField','getFields','remoteUri','clientId','clientSecret','username','password','securityToken','slice','lastIndexOf','Connection','login','concat','isNil','ticketType','sobject','CallDisposition','CallDurationInSeconds','CallObject','CallType','IsArchived','Priority','Status','Case','Type','IsEscalated','SuppliedName','SuppliedCompany','custom','includes','picklistValues','value','False','false','test','statusCode','getFields,\x20%s,\x20%s,\x20%s','Wrong\x20credentials','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','util','path','sox','to-csv','ejs','lodash','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/environment','../../mysqldb','client','http','request','then','info','SalesforceAccount,\x20%s,\x20%s','request\x20sent','debug','SalesforceAccount,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','sendStatus','status','end','json','count','limit','Content-Range','apply','reject','save','destroy','stack','name','send','index','map','SalesforceAccount','fieldName','type','key','model','query','keys','filters','attributes'];(function(_0x70470e,_0x296cf9){var _0x52a2b3=function(_0x140c0b){while(--_0x140c0b){_0x70470e['push'](_0x70470e['shift']());}};_0x52a2b3(++_0x296cf9);}(_0x93e9,0xcc));var _0x993e=function(_0x198ac8,_0x1ce664){_0x198ac8=_0x198ac8-0x0;var _0x4d5106=_0x93e9[_0x198ac8];return _0x4d5106;};'use strict';var pdf=require(_0x993e('0x0'));var emlformat=require(_0x993e('0x1'));var rimraf=require(_0x993e('0x2'));var zipdir=require(_0x993e('0x3'));var jsonpatch=require(_0x993e('0x4'));var rp=require(_0x993e('0x5'));var moment=require(_0x993e('0x6'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x993e('0x7'));var path=require(_0x993e('0x8'));var sox=require(_0x993e('0x9'));var csv=require(_0x993e('0xa'));var ejs=require(_0x993e('0xb'));var fs=require('fs');var _=require(_0x993e('0xc'));var squel=require(_0x993e('0xd'));var crypto=require(_0x993e('0xe'));var jsforce=require('jsforce');var deskjs=require(_0x993e('0xf'));var toCsv=require(_0x993e('0xa'));var querystring=require(_0x993e('0x10'));var Papa=require(_0x993e('0x11'));var Redis=require(_0x993e('0x12'));var authService=require(_0x993e('0x13'));var qs=require(_0x993e('0x14'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x993e('0x15'));var logger=require(_0x993e('0x16'))('api');var utils=require('../../config/utils');var config=require(_0x993e('0x17'));var licenseUtil=require('../../config/license/util');var db=require(_0x993e('0x18'))['db'];var integrations=require('../../components/integrations/configuration');var jayson=require('jayson/promise');var client=jayson[_0x993e('0x19')][_0x993e('0x1a')]({'port':0x232a});function respondWithRpcPromise(_0x156bef,_0x267748,_0x3e082b,_0x397b42){return new BPromise(function(_0x34ddda,_0x20f32a){var _0x2a184b=_0x397b42||client;return _0x2a184b[_0x993e('0x1b')](_0x156bef,_0x3e082b)[_0x993e('0x1c')](function(_0x135771){logger[_0x993e('0x1d')](_0x993e('0x1e'),_0x267748,_0x993e('0x1f'));logger[_0x993e('0x20')](_0x993e('0x21'),_0x267748,'request\x20sent',JSON[_0x993e('0x22')](_0x135771));if(_0x135771[_0x993e('0x23')]){if(_0x135771[_0x993e('0x23')][_0x993e('0x24')]===0x1f4){logger[_0x993e('0x23')](_0x993e('0x1e'),_0x267748,_0x135771['error'][_0x993e('0x25')]);return _0x20f32a(_0x135771[_0x993e('0x23')][_0x993e('0x25')]);}logger[_0x993e('0x23')](_0x993e('0x1e'),_0x267748,_0x135771[_0x993e('0x23')][_0x993e('0x25')]);return _0x34ddda(_0x135771[_0x993e('0x23')]['message']);}else{logger[_0x993e('0x1d')]('SalesforceAccount,\x20%s,\x20%s',_0x267748,_0x993e('0x1f'));_0x34ddda(_0x135771[_0x993e('0x26')][_0x993e('0x25')]);}})['catch'](function(_0x2353d4){logger[_0x993e('0x23')](_0x993e('0x1e'),_0x267748,_0x2353d4);_0x20f32a(_0x2353d4);});});}function respondWithStatusCode(_0x1c52fd,_0x3b45ef){_0x3b45ef=_0x3b45ef||0xcc;return function(_0x328d22){if(_0x328d22){return _0x1c52fd[_0x993e('0x27')](_0x3b45ef);}return _0x1c52fd[_0x993e('0x28')](_0x3b45ef)[_0x993e('0x29')]();};}function respondWithResult(_0x18f6ac,_0x3fe099){_0x3fe099=_0x3fe099||0xc8;return function(_0x3603fa){if(_0x3603fa){return _0x18f6ac['status'](_0x3fe099)[_0x993e('0x2a')](_0x3603fa);}};}function respondWithFilteredResult(_0x279bb8,_0x52b727){return function(_0x27bbf7){if(_0x27bbf7){var _0x4f5cc1=_0x27bbf7[_0x993e('0x2b')],_0x14a0c7=_0x52b727['offset'],_0xa03fbd=_0x52b727['offset']+_0x52b727[_0x993e('0x2c')],_0x261822;if(_0xa03fbd>=_0x4f5cc1){_0xa03fbd=_0x4f5cc1;_0x261822=0xc8;}else{_0x261822=0xce;}_0x279bb8[_0x993e('0x28')](_0x261822);return _0x279bb8['set'](_0x993e('0x2d'),_0x14a0c7+'-'+_0xa03fbd+'/'+_0x4f5cc1)[_0x993e('0x2a')](_0x27bbf7);}return null;};}function patchUpdates(_0x248354){return function(_0x4c5ee3){try{jsonpatch[_0x993e('0x2e')](_0x4c5ee3,_0x248354,!![]);}catch(_0x9e0309){return BPromise[_0x993e('0x2f')](_0x9e0309);}return _0x4c5ee3[_0x993e('0x30')]();};}function saveUpdates(_0x2599ec,_0x54da4e){return function(_0x29b3fc){if(_0x29b3fc){return _0x29b3fc['update'](_0x2599ec)[_0x993e('0x1c')](function(_0x5ba163){return _0x5ba163;});}return null;};}function removeEntity(_0x1da357,_0x567ed4){return function(_0x3b9c3c){if(_0x3b9c3c){return _0x3b9c3c[_0x993e('0x31')]()[_0x993e('0x1c')](function(){_0x1da357[_0x993e('0x28')](0xcc)[_0x993e('0x29')]();});}};}function handleEntityNotFound(_0x360e2d,_0x5562f1){return function(_0x1920c6){if(!_0x1920c6){_0x360e2d['sendStatus'](0x194);}return _0x1920c6;};}function handleError(_0x4dbecb,_0x997dea){_0x997dea=_0x997dea||0x1f4;return function(_0x497d29){logger[_0x993e('0x23')](_0x497d29[_0x993e('0x32')]);if(_0x497d29[_0x993e('0x33')]){delete _0x497d29[_0x993e('0x33')];}_0x4dbecb[_0x993e('0x28')](_0x997dea)[_0x993e('0x34')](_0x497d29);};}exports[_0x993e('0x35')]=function(_0x14424a,_0x16c944){var _0x2fd29b={},_0x248edf={},_0x110504={'count':0x0,'rows':[]};var _0x1d5806=_[_0x993e('0x36')](db[_0x993e('0x37')]['rawAttributes'],function(_0x4325bc){return{'name':_0x4325bc[_0x993e('0x38')],'type':_0x4325bc[_0x993e('0x39')][_0x993e('0x3a')]};});_0x248edf[_0x993e('0x3b')]=_[_0x993e('0x36')](_0x1d5806,_0x993e('0x33'));_0x248edf[_0x993e('0x3c')]=_[_0x993e('0x3d')](_0x14424a['query']);_0x248edf[_0x993e('0x3e')]=_['intersection'](_0x248edf[_0x993e('0x3b')],_0x248edf[_0x993e('0x3c')]);_0x2fd29b[_0x993e('0x3f')]=_[_0x993e('0x40')](_0x248edf[_0x993e('0x3b')],qs[_0x993e('0x41')](_0x14424a[_0x993e('0x3c')][_0x993e('0x41')]));_0x2fd29b['attributes']=_0x2fd29b[_0x993e('0x3f')]['length']?_0x2fd29b[_0x993e('0x3f')]:_0x248edf['model'];if(!_0x14424a[_0x993e('0x3c')][_0x993e('0x42')](_0x993e('0x43'))){_0x2fd29b[_0x993e('0x2c')]=qs[_0x993e('0x2c')](_0x14424a[_0x993e('0x3c')][_0x993e('0x2c')]);_0x2fd29b[_0x993e('0x44')]=qs['offset'](_0x14424a[_0x993e('0x3c')]['offset']);}_0x2fd29b['order']=qs[_0x993e('0x45')](_0x14424a[_0x993e('0x3c')][_0x993e('0x45')]);_0x2fd29b['where']=qs[_0x993e('0x3e')](_[_0x993e('0x46')](_0x14424a[_0x993e('0x3c')],_0x248edf['filters']),_0x1d5806);if(_0x14424a['query']['filter']){_0x2fd29b[_0x993e('0x47')]=_[_0x993e('0x48')](_0x2fd29b[_0x993e('0x47')],{'$or':_['map'](_0x1d5806,function(_0x1b35b7){if(_0x1b35b7[_0x993e('0x39')]!=='VIRTUAL'){var _0xda663f={};_0xda663f[_0x1b35b7[_0x993e('0x33')]]={'$like':'%'+_0x14424a['query'][_0x993e('0x49')]+'%'};return _0xda663f;}})});}_0x2fd29b=_[_0x993e('0x48')]({},_0x2fd29b,_0x14424a[_0x993e('0x4a')]);var _0x5e18e9={'where':_0x2fd29b['where']};return db['SalesforceAccount'][_0x993e('0x2b')](_0x5e18e9)[_0x993e('0x1c')](function(_0x1b6620){_0x110504[_0x993e('0x2b')]=_0x1b6620;if(_0x14424a['query'][_0x993e('0x4b')]){_0x2fd29b[_0x993e('0x4c')]=[{'all':!![]}];}return db[_0x993e('0x37')][_0x993e('0x4d')](_0x2fd29b);})[_0x993e('0x1c')](function(_0xb8860b){_0x110504['rows']=_0xb8860b;return _0x110504;})['then'](respondWithFilteredResult(_0x16c944,_0x2fd29b))[_0x993e('0x4e')](handleError(_0x16c944,null));};exports[_0x993e('0x4f')]=function(_0x4d560d,_0x5d46b5){var _0x140bdb={'raw':![],'where':{'id':_0x4d560d[_0x993e('0x50')]['id']}},_0x1480dd={};_0x1480dd[_0x993e('0x3b')]=_[_0x993e('0x3d')](db[_0x993e('0x37')]['rawAttributes']);_0x1480dd[_0x993e('0x3c')]=_['keys'](_0x4d560d[_0x993e('0x3c')]);_0x1480dd[_0x993e('0x3e')]=_[_0x993e('0x40')](_0x1480dd[_0x993e('0x3b')],_0x1480dd[_0x993e('0x3c')]);_0x140bdb[_0x993e('0x3f')]=_[_0x993e('0x40')](_0x1480dd[_0x993e('0x3b')],qs['fields'](_0x4d560d[_0x993e('0x3c')][_0x993e('0x41')]));_0x140bdb[_0x993e('0x3f')]=_0x140bdb['attributes'][_0x993e('0x51')]?_0x140bdb['attributes']:_0x1480dd[_0x993e('0x3b')];if(_0x4d560d[_0x993e('0x3c')]['includeAll']){_0x140bdb[_0x993e('0x4c')]=[{'all':!![]}];}_0x140bdb=_[_0x993e('0x48')]({},_0x140bdb,_0x4d560d['options']);return db[_0x993e('0x37')][_0x993e('0x52')](_0x140bdb)[_0x993e('0x1c')](handleEntityNotFound(_0x5d46b5,null))[_0x993e('0x1c')](respondWithResult(_0x5d46b5,null))[_0x993e('0x4e')](handleError(_0x5d46b5,null));};exports['create']=function(_0x551d60,_0x5ad215){return db[_0x993e('0x37')][_0x993e('0x53')](_0x551d60[_0x993e('0x54')],{})[_0x993e('0x1c')](respondWithResult(_0x5ad215,0xc9))[_0x993e('0x4e')](handleError(_0x5ad215,null));};exports[_0x993e('0x55')]=function(_0x5c0610,_0x3a897d){if(_0x5c0610[_0x993e('0x54')]['id']){delete _0x5c0610[_0x993e('0x54')]['id'];}return db['SalesforceAccount'][_0x993e('0x52')]({'where':{'id':_0x5c0610['params']['id']}})['then'](handleEntityNotFound(_0x3a897d,null))[_0x993e('0x1c')](saveUpdates(_0x5c0610[_0x993e('0x54')],null))['then'](respondWithResult(_0x3a897d,null))[_0x993e('0x4e')](handleError(_0x3a897d,null));};exports['destroy']=function(_0x5be74,_0xd92bd7){return db['SalesforceAccount']['find']({'where':{'id':_0x5be74[_0x993e('0x50')]['id']}})[_0x993e('0x1c')](handleEntityNotFound(_0xd92bd7,null))[_0x993e('0x1c')](removeEntity(_0xd92bd7,null))[_0x993e('0x4e')](handleError(_0xd92bd7,null));};exports[_0x993e('0x56')]=function(_0x3bbd9a,_0x4f9225,_0x23c2e2){var _0x292e39={};var _0x493719={};var _0xc2714a;var _0x473e00;return db[_0x993e('0x37')]['findOne']({'where':{'id':_0x3bbd9a[_0x993e('0x50')]['id']}})[_0x993e('0x1c')](handleEntityNotFound(_0x4f9225,null))[_0x993e('0x1c')](function(_0x5049e9){if(_0x5049e9){_0xc2714a=_0x5049e9;_0x493719[_0x993e('0x3b')]=_[_0x993e('0x3d')](db[_0x993e('0x57')]['rawAttributes']);_0x493719['query']=_['keys'](_0x3bbd9a[_0x993e('0x3c')]);_0x493719[_0x993e('0x3e')]=_[_0x993e('0x40')](_0x493719[_0x993e('0x3b')],_0x493719[_0x993e('0x3c')]);_0x292e39['attributes']=_[_0x993e('0x40')](_0x493719[_0x993e('0x3b')],qs[_0x993e('0x41')](_0x3bbd9a['query'][_0x993e('0x41')]));_0x292e39[_0x993e('0x3f')]=_0x292e39[_0x993e('0x3f')][_0x993e('0x51')]?_0x292e39['attributes']:_0x493719[_0x993e('0x3b')];_0x292e39[_0x993e('0x58')]=qs['sort'](_0x3bbd9a['query'][_0x993e('0x45')]);_0x292e39[_0x993e('0x47')]=qs[_0x993e('0x3e')](_[_0x993e('0x46')](_0x3bbd9a[_0x993e('0x3c')],_0x493719[_0x993e('0x3e')]));if(_0x3bbd9a[_0x993e('0x3c')][_0x993e('0x49')]){_0x292e39[_0x993e('0x47')]=_[_0x993e('0x48')](_0x292e39[_0x993e('0x47')],{'$or':_[_0x993e('0x36')](_0x292e39[_0x993e('0x3f')],function(_0x609430){var _0x33e05f={};_0x33e05f[_0x609430]={'$like':'%'+_0x3bbd9a[_0x993e('0x3c')]['filter']+'%'};return _0x33e05f;})});}_0x292e39=_[_0x993e('0x48')]({},_0x292e39,_0x3bbd9a[_0x993e('0x4a')]);return _0xc2714a['getConfigurations'](_0x292e39);}})[_0x993e('0x1c')](function(_0x48917b){if(_0x48917b){_0x473e00=_0x48917b[_0x993e('0x51')];if(!_0x3bbd9a[_0x993e('0x3c')][_0x993e('0x42')]('nolimit')){_0x292e39[_0x993e('0x2c')]=qs['limit'](_0x3bbd9a['query'][_0x993e('0x2c')]);_0x292e39[_0x993e('0x44')]=qs[_0x993e('0x44')](_0x3bbd9a[_0x993e('0x3c')][_0x993e('0x44')]);}return _0xc2714a['getConfigurations'](_0x292e39);}})[_0x993e('0x1c')](function(_0x418441){if(_0x418441){return _0x418441?{'count':_0x473e00,'rows':_0x418441}:null;}})[_0x993e('0x1c')](respondWithResult(_0x4f9225,null))['catch'](handleError(_0x4f9225,null));};exports[_0x993e('0x59')]=function(_0x5b2cb3,_0x1ab10e,_0x6ef96){if(_0x5b2cb3[_0x993e('0x54')]['id']){delete _0x5b2cb3['body']['id'];}return db[_0x993e('0x37')][_0x993e('0x5a')]({'where':{'id':_0x5b2cb3[_0x993e('0x50')]['id']}})[_0x993e('0x1c')](handleEntityNotFound(_0x1ab10e,null))[_0x993e('0x1c')](function(_0x37ba11){if(_0x37ba11){_0x5b2cb3[_0x993e('0x54')][_0x993e('0x5b')]=_0x37ba11['id'];_0x5b2cb3[_0x993e('0x54')][_0x993e('0x5c')]=integrations['getSubjects'](_0x5b2cb3[_0x993e('0x54')][_0x993e('0x5d')],_0x5b2cb3[_0x993e('0x54')][_0x993e('0x39')]);_0x5b2cb3[_0x993e('0x54')][_0x993e('0x5e')]=integrations[_0x993e('0x5f')](_0x5b2cb3[_0x993e('0x54')]['channel'],_0x5b2cb3['body'][_0x993e('0x39')]);return db['SalesforceConfiguration'][_0x993e('0x53')](_0x5b2cb3[_0x993e('0x54')],{'include':[{'model':db[_0x993e('0x60')],'as':'Subjects'},{'model':db[_0x993e('0x60')],'as':'Descriptions'}]});}return null;})[_0x993e('0x1c')](respondWithResult(_0x1ab10e,null))[_0x993e('0x4e')](handleError(_0x1ab10e,null));};exports[_0x993e('0x61')]=function(_0x40768a,_0x9ff2b5,_0x62495d){var _0x1b57b1;var _0x46424d='';var _0x4865bb='Task';return db[_0x993e('0x37')]['findOne']({'where':{'id':_0x40768a[_0x993e('0x50')]['id']},'attributes':['id',_0x993e('0x62'),_0x993e('0x63'),_0x993e('0x64'),_0x993e('0x65'),_0x993e('0x66'),_0x993e('0x67')]})[_0x993e('0x1c')](handleEntityNotFound(_0x9ff2b5,null))[_0x993e('0x1c')](function(_0xca7c33){if(_0xca7c33){_0x46424d=_0xca7c33['remoteUri'];var _0x168bc0=_0x46424d[_0x993e('0x68')](-0x1);if(_0x168bc0==='/'){_0x46424d=_0x46424d['substring'](0x0,_0x46424d[_0x993e('0x69')](_0x168bc0));}_0x1b57b1=new jsforce[(_0x993e('0x6a'))]({'oauth2':{'loginUrl':_0x46424d,'clientId':_0xca7c33[_0x993e('0x63')],'clientSecret':_0xca7c33[_0x993e('0x64')]}});return _0x1b57b1[_0x993e('0x6b')](_0xca7c33[_0x993e('0x65')],_0xca7c33[_0x993e('0x66')][_0x993e('0x6c')](_0xca7c33[_0x993e('0x67')]));}})['then'](function(_0x2df0e5){if(_0x2df0e5){if(!_[_0x993e('0x6d')](_0x40768a[_0x993e('0x3c')][_0x993e('0x6e')])){_0x4865bb=_0x40768a['query']['ticketType'];}return _0x1b57b1[_0x993e('0x6f')](_0x4865bb)['describe']();}})[_0x993e('0x1c')](function(_0xec52b){var _0x3fc725=[_0x993e('0x70'),_0x993e('0x71'),_0x993e('0x72'),_0x993e('0x73'),_0x993e('0x74'),_0x993e('0x75'),_0x993e('0x76'),'Type'];if(!_[_0x993e('0x6d')](_0x40768a[_0x993e('0x3c')][_0x993e('0x6e')])&&_0x40768a[_0x993e('0x3c')][_0x993e('0x6e')]===_0x993e('0x77')){_0x3fc725=[_0x993e('0x78'),'Origin','Reason',_0x993e('0x76'),_0x993e('0x75'),_0x993e('0x79'),_0x993e('0x7a'),_0x993e('0x7b')];}if(_0xec52b){_['remove'](_0xec52b['fields'],function(_0x525d61){return _0x525d61[_0x993e('0x7c')]===![]&&!_0x3fc725[_0x993e('0x7d')](_0x525d61[_0x993e('0x33')]);});return{'count':_0xec52b[_0x993e('0x41')][_0x993e('0x51')],'rows':_['map'](_0xec52b[_0x993e('0x41')],function(_0xaaf5af){return{'id':_0xaaf5af[_0x993e('0x33')],'name':_0xaaf5af['label'],'custom':_0xaaf5af[_0x993e('0x7c')],'options':_0xaaf5af[_0x993e('0x7e')][_0x993e('0x51')]>0x0?_[_0x993e('0x36')](_0xaaf5af[_0x993e('0x7e')],function(_0x19dad2){return{'name':_0x19dad2['label'],'value':_0x19dad2[_0x993e('0x7f')]};}):_0xaaf5af['type']=='boolean'?[{'name':'True','value':'true'},{'name':_0x993e('0x80'),'value':_0x993e('0x81')}]:[]};})};}})[_0x993e('0x1c')](respondWithResult(_0x9ff2b5,null))[_0x993e('0x4e')](function(_0x1e9b85){var _0x1c9733=_0x40768a[_0x993e('0x3c')][_0x993e('0x82')]?0x1f4:_0x1e9b85[_0x993e('0x83')]||0x1f4;logger['error'](_0x993e('0x84'),'getFields',_0x1c9733,JSON[_0x993e('0x22')](_0x1e9b85));delete _0x1e9b85[_0x993e('0x33')];if(_0x1c9733===0x191){_0x1c9733=0x190;}_0x9ff2b5[_0x993e('0x28')](_0x1c9733)[_0x993e('0x34')](_0x40768a[_0x993e('0x3c')][_0x993e('0x82')]?{'message':_0x993e('0x85'),'statusCode':_0x1e9b85['statusCode']}:_0x1e9b85);});};