Built motion from commit f7863d46.|2.5.41
[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 _0x7cd3=['SalesforceField','getFields','remoteUri','clientSecret','password','securityToken','slice','substring','lastIndexOf','Connection','clientId','login','username','concat','ticketType','sobject','describe','ActivityDate','IsReminderSet','IsRecurrence','Subject','string','picklist','boolean','email','textarea','phone','remove','includes','picklistValues','label','value','true','False','false','statusCode','getFields,\x20%s,\x20%s,\x20%s','test','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','to-csv','ejs','fs-extra','lodash','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','limit','undefined','count','offset','Content-Range','apply','save','destroy','then','error','stack','name','send','index','map','SalesforceAccount','fieldName','key','model','query','attributes','fields','hasOwnProperty','nolimit','order','sort','filters','pick','filter','where','merge','type','VIRTUAL','options','includeAll','include','findAll','catch','show','params','keys','rawAttributes','intersection','length','find','create','body','findOne','SalesforceConfiguration','getConfigurations','addConfiguration','Subjects','getSubjects','channel','Descriptions','getDescriptions'];(function(_0x1b1795,_0x2adcce){var _0x5d5f10=function(_0xab1206){while(--_0xab1206){_0x1b1795['push'](_0x1b1795['shift']());}};_0x5d5f10(++_0x2adcce);}(_0x7cd3,0x118));var _0x37cd=function(_0x2dbd40,_0x45203c){_0x2dbd40=_0x2dbd40-0x0;var _0x598aa3=_0x7cd3[_0x2dbd40];return _0x598aa3;};'use strict';var emlformat=require(_0x37cd('0x0'));var rimraf=require(_0x37cd('0x1'));var zipdir=require(_0x37cd('0x2'));var jsonpatch=require(_0x37cd('0x3'));var rp=require(_0x37cd('0x4'));var moment=require(_0x37cd('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x37cd('0x6'));var util=require('util');var path=require('path');var sox=require('sox');var csv=require(_0x37cd('0x7'));var ejs=require(_0x37cd('0x8'));var fs=require('fs');var fs_extra=require(_0x37cd('0x9'));var _=require(_0x37cd('0xa'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x37cd('0xb'));var deskjs=require(_0x37cd('0xc'));var toCsv=require(_0x37cd('0x7'));var querystring=require(_0x37cd('0xd'));var Papa=require('papaparse');var Redis=require(_0x37cd('0xe'));var authService=require(_0x37cd('0xf'));var qs=require(_0x37cd('0x10'));var as=require(_0x37cd('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x37cd('0x12'))(_0x37cd('0x13'));var utils=require('../../config/utils');var config=require(_0x37cd('0x14'));var licenseUtil=require(_0x37cd('0x15'));var db=require(_0x37cd('0x16'))['db'];var integrations=require('../../components/integrations/configuration');function respondWithStatusCode(_0x1ef91c,_0x533920){_0x533920=_0x533920||0xcc;return function(_0x5c5993){if(_0x5c5993){return _0x1ef91c[_0x37cd('0x17')](_0x533920);}return _0x1ef91c[_0x37cd('0x18')](_0x533920)[_0x37cd('0x19')]();};}function respondWithResult(_0x2fe420,_0x568f88){_0x568f88=_0x568f88||0xc8;return function(_0x2f3432){if(_0x2f3432){return _0x2fe420[_0x37cd('0x18')](_0x568f88)[_0x37cd('0x1a')](_0x2f3432);}};}function respondWithFilteredResult(_0x562b40,_0x156231){return function(_0x5281b6){if(_0x5281b6){var _0x4ef3a7=typeof _0x156231['offset']==='undefined'&&typeof _0x156231[_0x37cd('0x1b')]===_0x37cd('0x1c');var _0x2bdb8e=_0x5281b6['count'];var _0x166b1b=_0x4ef3a7?0x0:_0x156231['offset'];var _0x488abf=_0x4ef3a7?_0x5281b6[_0x37cd('0x1d')]:_0x156231[_0x37cd('0x1e')]+_0x156231['limit'];var _0x2022b7;if(_0x488abf>=_0x2bdb8e){_0x488abf=_0x2bdb8e;_0x2022b7=0xc8;}else{_0x2022b7=0xce;}_0x562b40['status'](_0x2022b7);return _0x562b40['set'](_0x37cd('0x1f'),_0x166b1b+'-'+_0x488abf+'/'+_0x2bdb8e)[_0x37cd('0x1a')](_0x5281b6);}return null;};}function patchUpdates(_0x38100d){return function(_0x5831eb){try{jsonpatch[_0x37cd('0x20')](_0x5831eb,_0x38100d,!![]);}catch(_0x2c8470){return BPromise['reject'](_0x2c8470);}return _0x5831eb[_0x37cd('0x21')]();};}function saveUpdates(_0x5c7604,_0xa3e36e){return function(_0x378def){if(_0x378def){return _0x378def['update'](_0x5c7604)['then'](function(_0x317e04){return _0x317e04;});}return null;};}function removeEntity(_0x56a89f,_0x35a33b){return function(_0x2893b5){if(_0x2893b5){return _0x2893b5[_0x37cd('0x22')]()[_0x37cd('0x23')](function(){_0x56a89f[_0x37cd('0x18')](0xcc)[_0x37cd('0x19')]();});}};}function handleEntityNotFound(_0x54f385,_0x471478){return function(_0x2d2493){if(!_0x2d2493){_0x54f385[_0x37cd('0x17')](0x194);}return _0x2d2493;};}function handleError(_0x6c2a61,_0x498a49){_0x498a49=_0x498a49||0x1f4;return function(_0x4bebc4){logger[_0x37cd('0x24')](_0x4bebc4[_0x37cd('0x25')]);if(_0x4bebc4[_0x37cd('0x26')]){delete _0x4bebc4['name'];}_0x6c2a61[_0x37cd('0x18')](_0x498a49)[_0x37cd('0x27')](_0x4bebc4);};}exports[_0x37cd('0x28')]=function(_0x2772ea,_0x2f7c73){var _0x3f47ca={},_0x4fb11f={},_0x5ab5cb={'count':0x0,'rows':[]};var _0x2b569c=_[_0x37cd('0x29')](db[_0x37cd('0x2a')]['rawAttributes'],function(_0x19c37e){return{'name':_0x19c37e[_0x37cd('0x2b')],'type':_0x19c37e['type'][_0x37cd('0x2c')]};});_0x4fb11f[_0x37cd('0x2d')]=_[_0x37cd('0x29')](_0x2b569c,_0x37cd('0x26'));_0x4fb11f[_0x37cd('0x2e')]=_['keys'](_0x2772ea[_0x37cd('0x2e')]);_0x4fb11f['filters']=_['intersection'](_0x4fb11f[_0x37cd('0x2d')],_0x4fb11f[_0x37cd('0x2e')]);_0x3f47ca[_0x37cd('0x2f')]=_['intersection'](_0x4fb11f[_0x37cd('0x2d')],qs[_0x37cd('0x30')](_0x2772ea[_0x37cd('0x2e')]['fields']));_0x3f47ca[_0x37cd('0x2f')]=_0x3f47ca['attributes']['length']?_0x3f47ca[_0x37cd('0x2f')]:_0x4fb11f[_0x37cd('0x2d')];if(!_0x2772ea['query'][_0x37cd('0x31')](_0x37cd('0x32'))){_0x3f47ca[_0x37cd('0x1b')]=qs[_0x37cd('0x1b')](_0x2772ea[_0x37cd('0x2e')][_0x37cd('0x1b')]);_0x3f47ca[_0x37cd('0x1e')]=qs[_0x37cd('0x1e')](_0x2772ea[_0x37cd('0x2e')][_0x37cd('0x1e')]);}_0x3f47ca[_0x37cd('0x33')]=qs[_0x37cd('0x34')](_0x2772ea[_0x37cd('0x2e')][_0x37cd('0x34')]);_0x3f47ca['where']=qs[_0x37cd('0x35')](_[_0x37cd('0x36')](_0x2772ea[_0x37cd('0x2e')],_0x4fb11f[_0x37cd('0x35')]),_0x2b569c);if(_0x2772ea['query'][_0x37cd('0x37')]){_0x3f47ca[_0x37cd('0x38')]=_[_0x37cd('0x39')](_0x3f47ca[_0x37cd('0x38')],{'$or':_[_0x37cd('0x29')](_0x2b569c,function(_0x531249){if(_0x531249[_0x37cd('0x3a')]!==_0x37cd('0x3b')){var _0x4f365b={};_0x4f365b[_0x531249[_0x37cd('0x26')]]={'$like':'%'+_0x2772ea['query'][_0x37cd('0x37')]+'%'};return _0x4f365b;}})});}_0x3f47ca=_[_0x37cd('0x39')]({},_0x3f47ca,_0x2772ea[_0x37cd('0x3c')]);var _0x2fb257={'where':_0x3f47ca[_0x37cd('0x38')]};return db[_0x37cd('0x2a')]['count'](_0x2fb257)[_0x37cd('0x23')](function(_0x127783){_0x5ab5cb[_0x37cd('0x1d')]=_0x127783;if(_0x2772ea[_0x37cd('0x2e')][_0x37cd('0x3d')]){_0x3f47ca[_0x37cd('0x3e')]=[{'all':!![]}];}return db['SalesforceAccount'][_0x37cd('0x3f')](_0x3f47ca);})[_0x37cd('0x23')](function(_0x412c1a){_0x5ab5cb['rows']=_0x412c1a;return _0x5ab5cb;})['then'](respondWithFilteredResult(_0x2f7c73,_0x3f47ca))[_0x37cd('0x40')](handleError(_0x2f7c73,null));};exports[_0x37cd('0x41')]=function(_0x52b341,_0xed9483){var _0x50336b={'raw':![],'where':{'id':_0x52b341[_0x37cd('0x42')]['id']}},_0x50dab4={};_0x50dab4[_0x37cd('0x2d')]=_[_0x37cd('0x43')](db['SalesforceAccount'][_0x37cd('0x44')]);_0x50dab4[_0x37cd('0x2e')]=_[_0x37cd('0x43')](_0x52b341[_0x37cd('0x2e')]);_0x50dab4[_0x37cd('0x35')]=_[_0x37cd('0x45')](_0x50dab4['model'],_0x50dab4[_0x37cd('0x2e')]);_0x50336b['attributes']=_[_0x37cd('0x45')](_0x50dab4[_0x37cd('0x2d')],qs['fields'](_0x52b341[_0x37cd('0x2e')]['fields']));_0x50336b[_0x37cd('0x2f')]=_0x50336b[_0x37cd('0x2f')][_0x37cd('0x46')]?_0x50336b[_0x37cd('0x2f')]:_0x50dab4[_0x37cd('0x2d')];if(_0x52b341[_0x37cd('0x2e')][_0x37cd('0x3d')]){_0x50336b[_0x37cd('0x3e')]=[{'all':!![]}];}_0x50336b=_[_0x37cd('0x39')]({},_0x50336b,_0x52b341[_0x37cd('0x3c')]);return db[_0x37cd('0x2a')][_0x37cd('0x47')](_0x50336b)[_0x37cd('0x23')](handleEntityNotFound(_0xed9483,null))['then'](respondWithResult(_0xed9483,null))['catch'](handleError(_0xed9483,null));};exports['create']=function(_0x5f37a0,_0x374a40){return db[_0x37cd('0x2a')][_0x37cd('0x48')](_0x5f37a0[_0x37cd('0x49')],{})['then'](respondWithResult(_0x374a40,0xc9))[_0x37cd('0x40')](handleError(_0x374a40,null));};exports['update']=function(_0x3028f8,_0x2b0606){if(_0x3028f8[_0x37cd('0x49')]['id']){delete _0x3028f8[_0x37cd('0x49')]['id'];}return db[_0x37cd('0x2a')]['find']({'where':{'id':_0x3028f8[_0x37cd('0x42')]['id']}})['then'](handleEntityNotFound(_0x2b0606,null))[_0x37cd('0x23')](saveUpdates(_0x3028f8[_0x37cd('0x49')],null))[_0x37cd('0x23')](respondWithResult(_0x2b0606,null))[_0x37cd('0x40')](handleError(_0x2b0606,null));};exports[_0x37cd('0x22')]=function(_0x3a30ed,_0x3cb7dc){return db[_0x37cd('0x2a')][_0x37cd('0x47')]({'where':{'id':_0x3a30ed[_0x37cd('0x42')]['id']}})[_0x37cd('0x23')](handleEntityNotFound(_0x3cb7dc,null))[_0x37cd('0x23')](removeEntity(_0x3cb7dc,null))['catch'](handleError(_0x3cb7dc,null));};exports['getConfigurations']=function(_0x5f0c78,_0x181309,_0x17c9e2){var _0x32c3d4={};var _0x4e187c={};var _0x41426b;var _0x3c8e6e;return db['SalesforceAccount'][_0x37cd('0x4a')]({'where':{'id':_0x5f0c78[_0x37cd('0x42')]['id']}})[_0x37cd('0x23')](handleEntityNotFound(_0x181309,null))[_0x37cd('0x23')](function(_0x2aba7e){if(_0x2aba7e){_0x41426b=_0x2aba7e;_0x4e187c[_0x37cd('0x2d')]=_[_0x37cd('0x43')](db[_0x37cd('0x4b')][_0x37cd('0x44')]);_0x4e187c[_0x37cd('0x2e')]=_['keys'](_0x5f0c78['query']);_0x4e187c[_0x37cd('0x35')]=_[_0x37cd('0x45')](_0x4e187c[_0x37cd('0x2d')],_0x4e187c[_0x37cd('0x2e')]);_0x32c3d4[_0x37cd('0x2f')]=_['intersection'](_0x4e187c[_0x37cd('0x2d')],qs[_0x37cd('0x30')](_0x5f0c78['query']['fields']));_0x32c3d4[_0x37cd('0x2f')]=_0x32c3d4[_0x37cd('0x2f')]['length']?_0x32c3d4[_0x37cd('0x2f')]:_0x4e187c[_0x37cd('0x2d')];_0x32c3d4[_0x37cd('0x33')]=qs[_0x37cd('0x34')](_0x5f0c78[_0x37cd('0x2e')][_0x37cd('0x34')]);_0x32c3d4[_0x37cd('0x38')]=qs[_0x37cd('0x35')](_['pick'](_0x5f0c78[_0x37cd('0x2e')],_0x4e187c[_0x37cd('0x35')]));if(_0x5f0c78[_0x37cd('0x2e')][_0x37cd('0x37')]){_0x32c3d4[_0x37cd('0x38')]=_['merge'](_0x32c3d4['where'],{'$or':_[_0x37cd('0x29')](_0x32c3d4[_0x37cd('0x2f')],function(_0x42e0b4){var _0x50a795={};_0x50a795[_0x42e0b4]={'$like':'%'+_0x5f0c78[_0x37cd('0x2e')][_0x37cd('0x37')]+'%'};return _0x50a795;})});}_0x32c3d4=_[_0x37cd('0x39')]({},_0x32c3d4,_0x5f0c78[_0x37cd('0x3c')]);return _0x41426b['getConfigurations'](_0x32c3d4);}})[_0x37cd('0x23')](function(_0x31d065){if(_0x31d065){_0x3c8e6e=_0x31d065[_0x37cd('0x46')];if(!_0x5f0c78[_0x37cd('0x2e')][_0x37cd('0x31')](_0x37cd('0x32'))){_0x32c3d4[_0x37cd('0x1b')]=qs[_0x37cd('0x1b')](_0x5f0c78[_0x37cd('0x2e')][_0x37cd('0x1b')]);_0x32c3d4[_0x37cd('0x1e')]=qs[_0x37cd('0x1e')](_0x5f0c78[_0x37cd('0x2e')][_0x37cd('0x1e')]);}return _0x41426b[_0x37cd('0x4c')](_0x32c3d4);}})[_0x37cd('0x23')](function(_0x208b1b){if(_0x208b1b){return _0x208b1b?{'count':_0x3c8e6e,'rows':_0x208b1b}:null;}})[_0x37cd('0x23')](respondWithResult(_0x181309,null))['catch'](handleError(_0x181309,null));};exports[_0x37cd('0x4d')]=function(_0x10011a,_0x16c3bb,_0x38374){if(_0x10011a['body']['id']){delete _0x10011a[_0x37cd('0x49')]['id'];}return db[_0x37cd('0x2a')][_0x37cd('0x4a')]({'where':{'id':_0x10011a[_0x37cd('0x42')]['id']}})[_0x37cd('0x23')](handleEntityNotFound(_0x16c3bb,null))[_0x37cd('0x23')](function(_0x3b3d4d){if(_0x3b3d4d){_0x10011a['body']['AccountId']=_0x3b3d4d['id'];_0x10011a[_0x37cd('0x49')][_0x37cd('0x4e')]=integrations[_0x37cd('0x4f')](_0x10011a['body'][_0x37cd('0x50')],_0x10011a[_0x37cd('0x49')][_0x37cd('0x3a')]);_0x10011a[_0x37cd('0x49')][_0x37cd('0x51')]=integrations[_0x37cd('0x52')](_0x10011a[_0x37cd('0x49')][_0x37cd('0x50')],_0x10011a[_0x37cd('0x49')][_0x37cd('0x3a')]);return db[_0x37cd('0x4b')][_0x37cd('0x48')](_0x10011a[_0x37cd('0x49')],{'include':[{'model':db[_0x37cd('0x53')],'as':'Subjects'},{'model':db['SalesforceField'],'as':_0x37cd('0x51')}]});}return null;})[_0x37cd('0x23')](respondWithResult(_0x16c3bb,null))[_0x37cd('0x40')](handleError(_0x16c3bb,null));};exports[_0x37cd('0x54')]=function(_0x22060f,_0x25d8cb,_0x40717c){var _0x3600d1;var _0x3a47e8='';var _0x3de747='Task';return db['SalesforceAccount']['findOne']({'where':{'id':_0x22060f[_0x37cd('0x42')]['id']},'attributes':['id',_0x37cd('0x55'),'clientId',_0x37cd('0x56'),'username',_0x37cd('0x57'),_0x37cd('0x58')]})['then'](handleEntityNotFound(_0x25d8cb,null))['then'](function(_0x3b6f94){if(_0x3b6f94){_0x3a47e8=_0x3b6f94['remoteUri'];var _0x26d125=_0x3a47e8[_0x37cd('0x59')](-0x1);if(_0x26d125==='/'){_0x3a47e8=_0x3a47e8[_0x37cd('0x5a')](0x0,_0x3a47e8[_0x37cd('0x5b')](_0x26d125));}_0x3600d1=new jsforce[(_0x37cd('0x5c'))]({'oauth2':{'loginUrl':_0x3a47e8,'clientId':_0x3b6f94[_0x37cd('0x5d')],'clientSecret':_0x3b6f94[_0x37cd('0x56')]}});return _0x3600d1[_0x37cd('0x5e')](_0x3b6f94[_0x37cd('0x5f')],_0x3b6f94[_0x37cd('0x57')][_0x37cd('0x60')](_0x3b6f94['securityToken']));}})[_0x37cd('0x23')](function(_0x40d451){if(_0x40d451){if(!_['isNil'](_0x22060f[_0x37cd('0x2e')][_0x37cd('0x61')])){_0x3de747=_0x22060f['query'][_0x37cd('0x61')];}return _0x3600d1[_0x37cd('0x62')](_0x3de747)[_0x37cd('0x63')]();}})[_0x37cd('0x23')](function(_0x47e04f){var _0xdc54a=['OwnerId',_0x37cd('0x64'),_0x37cd('0x65'),_0x37cd('0x66'),_0x37cd('0x67'),'Description'];var _0x51e8da=[_0x37cd('0x68'),'int',_0x37cd('0x69'),_0x37cd('0x6a'),_0x37cd('0x6b'),_0x37cd('0x6c'),_0x37cd('0x6d')];if(_0x47e04f){_[_0x37cd('0x6e')](_0x47e04f[_0x37cd('0x30')],function(_0x16b852){return _0xdc54a['includes'](_0x16b852['name'])||!_0x51e8da[_0x37cd('0x6f')](_0x16b852[_0x37cd('0x3a')]);});return{'count':_0x47e04f[_0x37cd('0x30')][_0x37cd('0x46')],'rows':_[_0x37cd('0x29')](_0x47e04f[_0x37cd('0x30')],function(_0x460ea9){return{'id':_0x460ea9[_0x37cd('0x26')],'name':_0x460ea9['label'],'custom':_0x460ea9['custom'],'options':_0x460ea9[_0x37cd('0x70')][_0x37cd('0x46')]>0x0?_[_0x37cd('0x29')](_0x460ea9['picklistValues'],function(_0x31e6ff){return{'name':_0x31e6ff[_0x37cd('0x71')],'value':_0x31e6ff[_0x37cd('0x72')]};}):_0x460ea9[_0x37cd('0x3a')]=='boolean'?[{'name':'True','value':_0x37cd('0x73')},{'name':_0x37cd('0x74'),'value':_0x37cd('0x75')}]:[]};})};}})[_0x37cd('0x23')](respondWithResult(_0x25d8cb,null))[_0x37cd('0x40')](function(_0xc1963c){var _0x5b6a7b=_0x22060f['query']['test']?0x1f4:_0xc1963c[_0x37cd('0x76')]||0x1f4;logger[_0x37cd('0x24')](_0x37cd('0x77'),'getFields',_0x5b6a7b,JSON['stringify'](_0xc1963c));delete _0xc1963c['name'];if(_0x5b6a7b===0x191){_0x5b6a7b=0x190;}_0x25d8cb[_0x37cd('0x18')](_0x5b6a7b)[_0x37cd('0x27')](_0x22060f['query'][_0x37cd('0x78')]?{'message':'Wrong\x20credentials','statusCode':_0xc1963c[_0x37cd('0x76')]}:_0xc1963c);});};