Built motion from commit da24aabd.|2.6.20
[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 _0x35d6=['true','False','false','test','statusCode','getFields,\x20%s,\x20%s,\x20%s','getFields','stringify','eml-format','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','../../config/license/util','../../components/integrations/configuration','sendStatus','end','status','offset','undefined','limit','count','set','Content-Range','json','reject','save','then','destroy','error','stack','name','send','index','map','SalesforceAccount','rawAttributes','fieldName','type','key','query','keys','filters','intersection','model','attributes','fields','hasOwnProperty','nolimit','order','sort','pick','where','filter','merge','includeAll','include','catch','show','params','length','create','body','find','findOne','getConfigurations','AccountId','Subjects','channel','SalesforceConfiguration','SalesforceField','Descriptions','Task','clientId','username','password','securityToken','remoteUri','slice','substring','login','isNil','ticketType','sobject','describe','OwnerId','ActivityDate','IsReminderSet','IsRecurrence','Subject','Description','string','int','picklist','boolean','email','textarea','phone','remove','includes','label','value'];(function(_0x436849,_0x430b00){var _0x5c5f73=function(_0x5bdf78){while(--_0x5bdf78){_0x436849['push'](_0x436849['shift']());}};_0x5c5f73(++_0x430b00);}(_0x35d6,0x1f4));var _0x635d=function(_0x15fd3f,_0x57159e){_0x15fd3f=_0x15fd3f-0x0;var _0x464ede=_0x35d6[_0x15fd3f];return _0x464ede;};'use strict';var emlformat=require(_0x635d('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x635d('0x1'));var jsonpatch=require(_0x635d('0x2'));var rp=require(_0x635d('0x3'));var moment=require(_0x635d('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x635d('0x5'));var util=require(_0x635d('0x6'));var path=require(_0x635d('0x7'));var sox=require(_0x635d('0x8'));var csv=require(_0x635d('0x9'));var ejs=require(_0x635d('0xa'));var fs=require('fs');var fs_extra=require(_0x635d('0xb'));var _=require(_0x635d('0xc'));var squel=require(_0x635d('0xd'));var crypto=require(_0x635d('0xe'));var jsforce=require(_0x635d('0xf'));var deskjs=require(_0x635d('0x10'));var toCsv=require('to-csv');var querystring=require(_0x635d('0x11'));var Papa=require(_0x635d('0x12'));var Redis=require(_0x635d('0x13'));var authService=require(_0x635d('0x14'));var qs=require(_0x635d('0x15'));var as=require(_0x635d('0x16'));var hardwareService=require(_0x635d('0x17'));var logger=require('../../config/logger')(_0x635d('0x18'));var utils=require('../../config/utils');var config=require(_0x635d('0x19'));var licenseUtil=require(_0x635d('0x1a'));var db=require('../../mysqldb')['db'];var integrations=require(_0x635d('0x1b'));function respondWithStatusCode(_0x32d3c5,_0x152e85){_0x152e85=_0x152e85||0xcc;return function(_0x389afb){if(_0x389afb){return _0x32d3c5[_0x635d('0x1c')](_0x152e85);}return _0x32d3c5['status'](_0x152e85)[_0x635d('0x1d')]();};}function respondWithResult(_0x3b2fd5,_0x20c225){_0x20c225=_0x20c225||0xc8;return function(_0x15b95d){if(_0x15b95d){return _0x3b2fd5[_0x635d('0x1e')](_0x20c225)['json'](_0x15b95d);}};}function respondWithFilteredResult(_0x4d4cf4,_0x436b63){return function(_0x439685){if(_0x439685){var _0x891b56=typeof _0x436b63[_0x635d('0x1f')]===_0x635d('0x20')&&typeof _0x436b63[_0x635d('0x21')]===_0x635d('0x20');var _0x2937b0=_0x439685[_0x635d('0x22')];var _0x388515=_0x891b56?0x0:_0x436b63[_0x635d('0x1f')];var _0x41140b=_0x891b56?_0x439685[_0x635d('0x22')]:_0x436b63[_0x635d('0x1f')]+_0x436b63[_0x635d('0x21')];var _0x957e5f;if(_0x41140b>=_0x2937b0){_0x41140b=_0x2937b0;_0x957e5f=0xc8;}else{_0x957e5f=0xce;}_0x4d4cf4[_0x635d('0x1e')](_0x957e5f);return _0x4d4cf4[_0x635d('0x23')](_0x635d('0x24'),_0x388515+'-'+_0x41140b+'/'+_0x2937b0)[_0x635d('0x25')](_0x439685);}return null;};}function patchUpdates(_0x34659d){return function(_0x501e45){try{jsonpatch['apply'](_0x501e45,_0x34659d,!![]);}catch(_0x112350){return BPromise[_0x635d('0x26')](_0x112350);}return _0x501e45[_0x635d('0x27')]();};}function saveUpdates(_0x25c8c9,_0x3cfaac){return function(_0x2195a1){if(_0x2195a1){return _0x2195a1['update'](_0x25c8c9)[_0x635d('0x28')](function(_0x31406c){return _0x31406c;});}return null;};}function removeEntity(_0x18629f,_0x3087a4){return function(_0x571c22){if(_0x571c22){return _0x571c22[_0x635d('0x29')]()['then'](function(){_0x18629f['status'](0xcc)[_0x635d('0x1d')]();});}};}function handleEntityNotFound(_0x26481a,_0x3d69d5){return function(_0x909cac){if(!_0x909cac){_0x26481a['sendStatus'](0x194);}return _0x909cac;};}function handleError(_0x5a5429,_0x4f545f){_0x4f545f=_0x4f545f||0x1f4;return function(_0x5023dd){logger[_0x635d('0x2a')](_0x5023dd[_0x635d('0x2b')]);if(_0x5023dd[_0x635d('0x2c')]){delete _0x5023dd[_0x635d('0x2c')];}_0x5a5429[_0x635d('0x1e')](_0x4f545f)[_0x635d('0x2d')](_0x5023dd);};}exports[_0x635d('0x2e')]=function(_0x831f37,_0x380d6a){var _0x34bb06={},_0x153bc7={},_0x273f19={'count':0x0,'rows':[]};var _0x26a740=_[_0x635d('0x2f')](db[_0x635d('0x30')][_0x635d('0x31')],function(_0xa3fd0e){return{'name':_0xa3fd0e[_0x635d('0x32')],'type':_0xa3fd0e[_0x635d('0x33')][_0x635d('0x34')]};});_0x153bc7['model']=_[_0x635d('0x2f')](_0x26a740,_0x635d('0x2c'));_0x153bc7[_0x635d('0x35')]=_[_0x635d('0x36')](_0x831f37['query']);_0x153bc7[_0x635d('0x37')]=_[_0x635d('0x38')](_0x153bc7[_0x635d('0x39')],_0x153bc7[_0x635d('0x35')]);_0x34bb06[_0x635d('0x3a')]=_['intersection'](_0x153bc7['model'],qs[_0x635d('0x3b')](_0x831f37[_0x635d('0x35')][_0x635d('0x3b')]));_0x34bb06['attributes']=_0x34bb06[_0x635d('0x3a')]['length']?_0x34bb06['attributes']:_0x153bc7[_0x635d('0x39')];if(!_0x831f37[_0x635d('0x35')][_0x635d('0x3c')](_0x635d('0x3d'))){_0x34bb06['limit']=qs['limit'](_0x831f37[_0x635d('0x35')]['limit']);_0x34bb06[_0x635d('0x1f')]=qs['offset'](_0x831f37[_0x635d('0x35')][_0x635d('0x1f')]);}_0x34bb06[_0x635d('0x3e')]=qs[_0x635d('0x3f')](_0x831f37[_0x635d('0x35')][_0x635d('0x3f')]);_0x34bb06['where']=qs[_0x635d('0x37')](_[_0x635d('0x40')](_0x831f37[_0x635d('0x35')],_0x153bc7['filters']),_0x26a740);if(_0x831f37[_0x635d('0x35')]['filter']){_0x34bb06[_0x635d('0x41')]=_['merge'](_0x34bb06[_0x635d('0x41')],{'$or':_['map'](_0x26a740,function(_0x39d7cc){if(_0x39d7cc[_0x635d('0x33')]!=='VIRTUAL'){var _0x3f8160={};_0x3f8160[_0x39d7cc[_0x635d('0x2c')]]={'$like':'%'+_0x831f37[_0x635d('0x35')][_0x635d('0x42')]+'%'};return _0x3f8160;}})});}_0x34bb06=_[_0x635d('0x43')]({},_0x34bb06,_0x831f37['options']);var _0x566bec={'where':_0x34bb06[_0x635d('0x41')]};return db['SalesforceAccount'][_0x635d('0x22')](_0x566bec)['then'](function(_0x30e21f){_0x273f19[_0x635d('0x22')]=_0x30e21f;if(_0x831f37['query'][_0x635d('0x44')]){_0x34bb06[_0x635d('0x45')]=[{'all':!![]}];}return db[_0x635d('0x30')]['findAll'](_0x34bb06);})[_0x635d('0x28')](function(_0x23530c){_0x273f19['rows']=_0x23530c;return _0x273f19;})[_0x635d('0x28')](respondWithFilteredResult(_0x380d6a,_0x34bb06))[_0x635d('0x46')](handleError(_0x380d6a,null));};exports[_0x635d('0x47')]=function(_0x10514f,_0x331d48){var _0x370767={'raw':![],'where':{'id':_0x10514f[_0x635d('0x48')]['id']}},_0x4500e8={};_0x4500e8[_0x635d('0x39')]=_[_0x635d('0x36')](db[_0x635d('0x30')][_0x635d('0x31')]);_0x4500e8[_0x635d('0x35')]=_[_0x635d('0x36')](_0x10514f['query']);_0x4500e8[_0x635d('0x37')]=_[_0x635d('0x38')](_0x4500e8[_0x635d('0x39')],_0x4500e8[_0x635d('0x35')]);_0x370767[_0x635d('0x3a')]=_[_0x635d('0x38')](_0x4500e8[_0x635d('0x39')],qs[_0x635d('0x3b')](_0x10514f[_0x635d('0x35')]['fields']));_0x370767[_0x635d('0x3a')]=_0x370767[_0x635d('0x3a')][_0x635d('0x49')]?_0x370767[_0x635d('0x3a')]:_0x4500e8[_0x635d('0x39')];if(_0x10514f[_0x635d('0x35')][_0x635d('0x44')]){_0x370767[_0x635d('0x45')]=[{'all':!![]}];}_0x370767=_['merge']({},_0x370767,_0x10514f['options']);return db[_0x635d('0x30')]['find'](_0x370767)[_0x635d('0x28')](handleEntityNotFound(_0x331d48,null))['then'](respondWithResult(_0x331d48,null))[_0x635d('0x46')](handleError(_0x331d48,null));};exports[_0x635d('0x4a')]=function(_0x47d3d3,_0x3cb44b){return db['SalesforceAccount'][_0x635d('0x4a')](_0x47d3d3[_0x635d('0x4b')],{})[_0x635d('0x28')](respondWithResult(_0x3cb44b,0xc9))['catch'](handleError(_0x3cb44b,null));};exports['update']=function(_0x1ab92e,_0x38d00d){if(_0x1ab92e[_0x635d('0x4b')]['id']){delete _0x1ab92e['body']['id'];}return db[_0x635d('0x30')][_0x635d('0x4c')]({'where':{'id':_0x1ab92e[_0x635d('0x48')]['id']}})[_0x635d('0x28')](handleEntityNotFound(_0x38d00d,null))[_0x635d('0x28')](saveUpdates(_0x1ab92e[_0x635d('0x4b')],null))[_0x635d('0x28')](respondWithResult(_0x38d00d,null))['catch'](handleError(_0x38d00d,null));};exports[_0x635d('0x29')]=function(_0x93eced,_0x219110){return db[_0x635d('0x30')][_0x635d('0x4c')]({'where':{'id':_0x93eced[_0x635d('0x48')]['id']}})['then'](handleEntityNotFound(_0x219110,null))[_0x635d('0x28')](removeEntity(_0x219110,null))[_0x635d('0x46')](handleError(_0x219110,null));};exports['getConfigurations']=function(_0x70e7ea,_0x263b3f,_0xf9faf2){var _0x38ee9d={};var _0x170ea4={};var _0x4e4b0f;var _0x25a327;return db['SalesforceAccount'][_0x635d('0x4d')]({'where':{'id':_0x70e7ea[_0x635d('0x48')]['id']}})['then'](handleEntityNotFound(_0x263b3f,null))[_0x635d('0x28')](function(_0x3f14d0){if(_0x3f14d0){_0x4e4b0f=_0x3f14d0;_0x170ea4[_0x635d('0x39')]=_[_0x635d('0x36')](db['SalesforceConfiguration'][_0x635d('0x31')]);_0x170ea4[_0x635d('0x35')]=_['keys'](_0x70e7ea[_0x635d('0x35')]);_0x170ea4[_0x635d('0x37')]=_[_0x635d('0x38')](_0x170ea4['model'],_0x170ea4[_0x635d('0x35')]);_0x38ee9d[_0x635d('0x3a')]=_[_0x635d('0x38')](_0x170ea4[_0x635d('0x39')],qs[_0x635d('0x3b')](_0x70e7ea['query'][_0x635d('0x3b')]));_0x38ee9d[_0x635d('0x3a')]=_0x38ee9d[_0x635d('0x3a')][_0x635d('0x49')]?_0x38ee9d['attributes']:_0x170ea4[_0x635d('0x39')];_0x38ee9d[_0x635d('0x3e')]=qs[_0x635d('0x3f')](_0x70e7ea[_0x635d('0x35')][_0x635d('0x3f')]);_0x38ee9d['where']=qs[_0x635d('0x37')](_[_0x635d('0x40')](_0x70e7ea['query'],_0x170ea4[_0x635d('0x37')]));if(_0x70e7ea[_0x635d('0x35')][_0x635d('0x42')]){_0x38ee9d[_0x635d('0x41')]=_[_0x635d('0x43')](_0x38ee9d['where'],{'$or':_[_0x635d('0x2f')](_0x38ee9d[_0x635d('0x3a')],function(_0x505c5d){var _0x1c8391={};_0x1c8391[_0x505c5d]={'$like':'%'+_0x70e7ea['query'][_0x635d('0x42')]+'%'};return _0x1c8391;})});}_0x38ee9d=_['merge']({},_0x38ee9d,_0x70e7ea['options']);return _0x4e4b0f[_0x635d('0x4e')](_0x38ee9d);}})[_0x635d('0x28')](function(_0x3e76b1){if(_0x3e76b1){_0x25a327=_0x3e76b1[_0x635d('0x49')];if(!_0x70e7ea[_0x635d('0x35')]['hasOwnProperty']('nolimit')){_0x38ee9d[_0x635d('0x21')]=qs['limit'](_0x70e7ea[_0x635d('0x35')][_0x635d('0x21')]);_0x38ee9d['offset']=qs['offset'](_0x70e7ea[_0x635d('0x35')][_0x635d('0x1f')]);}return _0x4e4b0f[_0x635d('0x4e')](_0x38ee9d);}})[_0x635d('0x28')](function(_0x58a4b5){if(_0x58a4b5){return _0x58a4b5?{'count':_0x25a327,'rows':_0x58a4b5}:null;}})[_0x635d('0x28')](respondWithResult(_0x263b3f,null))[_0x635d('0x46')](handleError(_0x263b3f,null));};exports['addConfiguration']=function(_0x239f90,_0x5e0ef5,_0x575851){if(_0x239f90[_0x635d('0x4b')]['id']){delete _0x239f90[_0x635d('0x4b')]['id'];}return db[_0x635d('0x30')][_0x635d('0x4d')]({'where':{'id':_0x239f90[_0x635d('0x48')]['id']}})[_0x635d('0x28')](handleEntityNotFound(_0x5e0ef5,null))[_0x635d('0x28')](function(_0x21137f){if(_0x21137f){_0x239f90[_0x635d('0x4b')][_0x635d('0x4f')]=_0x21137f['id'];_0x239f90[_0x635d('0x4b')][_0x635d('0x50')]=integrations['getSubjects'](_0x239f90[_0x635d('0x4b')]['channel'],_0x239f90[_0x635d('0x4b')]['type']);_0x239f90[_0x635d('0x4b')]['Descriptions']=integrations['getDescriptions'](_0x239f90[_0x635d('0x4b')][_0x635d('0x51')],_0x239f90[_0x635d('0x4b')][_0x635d('0x33')]);return db[_0x635d('0x52')][_0x635d('0x4a')](_0x239f90[_0x635d('0x4b')],{'include':[{'model':db['SalesforceField'],'as':_0x635d('0x50')},{'model':db[_0x635d('0x53')],'as':_0x635d('0x54')}]});}return null;})[_0x635d('0x28')](respondWithResult(_0x5e0ef5,null))[_0x635d('0x46')](handleError(_0x5e0ef5,null));};exports['getFields']=function(_0x55a1b6,_0x231c16,_0x2bbe11){var _0x1fe8e3;var _0x38c5f9='';var _0x348e36=_0x635d('0x55');return db[_0x635d('0x30')][_0x635d('0x4d')]({'where':{'id':_0x55a1b6['params']['id']},'attributes':['id','remoteUri',_0x635d('0x56'),'clientSecret',_0x635d('0x57'),_0x635d('0x58'),_0x635d('0x59')]})[_0x635d('0x28')](handleEntityNotFound(_0x231c16,null))['then'](function(_0x30c6b3){if(_0x30c6b3){_0x38c5f9=_0x30c6b3[_0x635d('0x5a')];var _0x1dd002=_0x38c5f9[_0x635d('0x5b')](-0x1);if(_0x1dd002==='/'){_0x38c5f9=_0x38c5f9[_0x635d('0x5c')](0x0,_0x38c5f9['lastIndexOf'](_0x1dd002));}_0x1fe8e3=new jsforce['Connection']({'oauth2':{'loginUrl':_0x38c5f9,'clientId':_0x30c6b3[_0x635d('0x56')],'clientSecret':_0x30c6b3['clientSecret']}});return _0x1fe8e3[_0x635d('0x5d')](_0x30c6b3[_0x635d('0x57')],_0x30c6b3[_0x635d('0x58')]['concat'](_0x30c6b3[_0x635d('0x59')]));}})[_0x635d('0x28')](function(_0x5ae9b3){if(_0x5ae9b3){if(!_[_0x635d('0x5e')](_0x55a1b6[_0x635d('0x35')]['ticketType'])){_0x348e36=_0x55a1b6[_0x635d('0x35')][_0x635d('0x5f')];}return _0x1fe8e3[_0x635d('0x60')](_0x348e36)[_0x635d('0x61')]();}})[_0x635d('0x28')](function(_0x315980){var _0x1288de=[_0x635d('0x62'),_0x635d('0x63'),_0x635d('0x64'),_0x635d('0x65'),_0x635d('0x66'),_0x635d('0x67')];var _0x298d8f=[_0x635d('0x68'),_0x635d('0x69'),_0x635d('0x6a'),_0x635d('0x6b'),_0x635d('0x6c'),_0x635d('0x6d'),_0x635d('0x6e')];if(_0x315980){_[_0x635d('0x6f')](_0x315980[_0x635d('0x3b')],function(_0x45d74f){return _0x1288de[_0x635d('0x70')](_0x45d74f['name'])||!_0x298d8f[_0x635d('0x70')](_0x45d74f[_0x635d('0x33')]);});return{'count':_0x315980[_0x635d('0x3b')][_0x635d('0x49')],'rows':_[_0x635d('0x2f')](_0x315980['fields'],function(_0x1be61a){return{'id':_0x1be61a[_0x635d('0x2c')],'name':_0x1be61a['label'],'custom':_0x1be61a['custom'],'options':_0x1be61a['picklistValues'][_0x635d('0x49')]>0x0?_['map'](_0x1be61a['picklistValues'],function(_0x209bd3){return{'name':_0x209bd3[_0x635d('0x71')],'value':_0x209bd3[_0x635d('0x72')]};}):_0x1be61a[_0x635d('0x33')]==_0x635d('0x6b')?[{'name':'True','value':_0x635d('0x73')},{'name':_0x635d('0x74'),'value':_0x635d('0x75')}]:[]};})};}})[_0x635d('0x28')](respondWithResult(_0x231c16,null))['catch'](function(_0xa6cd50){var _0x1e1c5d=_0x55a1b6['query'][_0x635d('0x76')]?0x1f4:_0xa6cd50[_0x635d('0x77')]||0x1f4;logger[_0x635d('0x2a')](_0x635d('0x78'),_0x635d('0x79'),_0x1e1c5d,JSON[_0x635d('0x7a')](_0xa6cd50));delete _0xa6cd50[_0x635d('0x2c')];if(_0x1e1c5d===0x191){_0x1e1c5d=0x190;}_0x231c16[_0x635d('0x1e')](_0x1e1c5d)[_0x635d('0x2d')](_0x55a1b6[_0x635d('0x35')]['test']?{'message':'Wrong\x20credentials','statusCode':_0xa6cd50[_0x635d('0x77')]}:_0xa6cd50);});};