Built motion from commit 9d0783e6.|2.6.13
[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 _0x65c8=['papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','then','destroy','error','stack','name','send','index','map','SalesforceAccount','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','nolimit','order','sort','where','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','params','find','create','body','getConfigurations','SalesforceConfiguration','pick','hasOwnProperty','addConfiguration','AccountId','Subjects','getSubjects','channel','getDescriptions','SalesforceField','Descriptions','getFields','findOne','clientId','clientSecret','username','securityToken','remoteUri','Connection','login','password','isNil','sobject','describe','IsReminderSet','IsRecurrence','Subject','Description','int','picklist','boolean','email','phone','remove','includes','custom','picklistValues','label','value','True','true','False','statusCode','test','Wrong\x20credentials','rimraf','fast-json-patch','request-promise','bluebird','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring'];(function(_0x1fe5f5,_0x171ac6){var _0x4b6d9d=function(_0x247f88){while(--_0x247f88){_0x1fe5f5['push'](_0x1fe5f5['shift']());}};_0x4b6d9d(++_0x171ac6);}(_0x65c8,0xe6));var _0x865c=function(_0x44c9bb,_0x470c5c){_0x44c9bb=_0x44c9bb-0x0;var _0x4ed2d2=_0x65c8[_0x44c9bb];return _0x4ed2d2;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x865c('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0x865c('0x1'));var rp=require(_0x865c('0x2'));var moment=require('moment');var BPromise=require(_0x865c('0x3'));var Mustache=require('mustache');var util=require(_0x865c('0x4'));var path=require(_0x865c('0x5'));var sox=require(_0x865c('0x6'));var csv=require(_0x865c('0x7'));var ejs=require(_0x865c('0x8'));var fs=require('fs');var fs_extra=require(_0x865c('0x9'));var _=require(_0x865c('0xa'));var squel=require(_0x865c('0xb'));var crypto=require(_0x865c('0xc'));var jsforce=require(_0x865c('0xd'));var deskjs=require(_0x865c('0xe'));var toCsv=require(_0x865c('0x7'));var querystring=require(_0x865c('0xf'));var Papa=require(_0x865c('0x10'));var Redis=require(_0x865c('0x11'));var authService=require(_0x865c('0x12'));var qs=require(_0x865c('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x865c('0x14'));var logger=require(_0x865c('0x15'))(_0x865c('0x16'));var utils=require('../../config/utils');var config=require(_0x865c('0x17'));var licenseUtil=require(_0x865c('0x18'));var db=require(_0x865c('0x19'))['db'];var integrations=require('../../components/integrations/configuration');function respondWithStatusCode(_0x190412,_0x41dc00){_0x41dc00=_0x41dc00||0xcc;return function(_0x4e7bd6){if(_0x4e7bd6){return _0x190412['sendStatus'](_0x41dc00);}return _0x190412[_0x865c('0x1a')](_0x41dc00)[_0x865c('0x1b')]();};}function respondWithResult(_0x20d24d,_0x55855a){_0x55855a=_0x55855a||0xc8;return function(_0x31cd28){if(_0x31cd28){return _0x20d24d[_0x865c('0x1a')](_0x55855a)[_0x865c('0x1c')](_0x31cd28);}};}function respondWithFilteredResult(_0x27c313,_0x33db4c){return function(_0x251a43){if(_0x251a43){var _0x3918b4=typeof _0x33db4c[_0x865c('0x1d')]===_0x865c('0x1e')&&typeof _0x33db4c[_0x865c('0x1f')]===_0x865c('0x1e');var _0x11c290=_0x251a43[_0x865c('0x20')];var _0x27767d=_0x3918b4?0x0:_0x33db4c[_0x865c('0x1d')];var _0x130e0f=_0x3918b4?_0x251a43[_0x865c('0x20')]:_0x33db4c['offset']+_0x33db4c[_0x865c('0x1f')];var _0x423d16;if(_0x130e0f>=_0x11c290){_0x130e0f=_0x11c290;_0x423d16=0xc8;}else{_0x423d16=0xce;}_0x27c313[_0x865c('0x1a')](_0x423d16);return _0x27c313[_0x865c('0x21')](_0x865c('0x22'),_0x27767d+'-'+_0x130e0f+'/'+_0x11c290)[_0x865c('0x1c')](_0x251a43);}return null;};}function patchUpdates(_0xf3ae82){return function(_0x9ac7bc){try{jsonpatch[_0x865c('0x23')](_0x9ac7bc,_0xf3ae82,!![]);}catch(_0x773cc){return BPromise[_0x865c('0x24')](_0x773cc);}return _0x9ac7bc[_0x865c('0x25')]();};}function saveUpdates(_0x5f18f6,_0x485199){return function(_0x23e9cd){if(_0x23e9cd){return _0x23e9cd['update'](_0x5f18f6)[_0x865c('0x26')](function(_0xaf856b){return _0xaf856b;});}return null;};}function removeEntity(_0x53e226,_0x432865){return function(_0x575e15){if(_0x575e15){return _0x575e15[_0x865c('0x27')]()[_0x865c('0x26')](function(){_0x53e226[_0x865c('0x1a')](0xcc)['end']();});}};}function handleEntityNotFound(_0x1df4e8,_0x82665c){return function(_0x32eb96){if(!_0x32eb96){_0x1df4e8['sendStatus'](0x194);}return _0x32eb96;};}function handleError(_0x4f138e,_0x1c59fd){_0x1c59fd=_0x1c59fd||0x1f4;return function(_0x2775c3){logger[_0x865c('0x28')](_0x2775c3[_0x865c('0x29')]);if(_0x2775c3[_0x865c('0x2a')]){delete _0x2775c3[_0x865c('0x2a')];}_0x4f138e[_0x865c('0x1a')](_0x1c59fd)[_0x865c('0x2b')](_0x2775c3);};}exports[_0x865c('0x2c')]=function(_0x39f473,_0xaa6f1d){var _0x4bdb4f={},_0x1a37c2={},_0x3ebf42={'count':0x0,'rows':[]};var _0x25a85a=_[_0x865c('0x2d')](db[_0x865c('0x2e')][_0x865c('0x2f')],function(_0xf8f992){return{'name':_0xf8f992[_0x865c('0x30')],'type':_0xf8f992[_0x865c('0x31')][_0x865c('0x32')]};});_0x1a37c2[_0x865c('0x33')]=_[_0x865c('0x2d')](_0x25a85a,_0x865c('0x2a'));_0x1a37c2[_0x865c('0x34')]=_[_0x865c('0x35')](_0x39f473['query']);_0x1a37c2[_0x865c('0x36')]=_[_0x865c('0x37')](_0x1a37c2[_0x865c('0x33')],_0x1a37c2[_0x865c('0x34')]);_0x4bdb4f[_0x865c('0x38')]=_[_0x865c('0x37')](_0x1a37c2[_0x865c('0x33')],qs[_0x865c('0x39')](_0x39f473['query'][_0x865c('0x39')]));_0x4bdb4f[_0x865c('0x38')]=_0x4bdb4f['attributes'][_0x865c('0x3a')]?_0x4bdb4f[_0x865c('0x38')]:_0x1a37c2['model'];if(!_0x39f473['query']['hasOwnProperty'](_0x865c('0x3b'))){_0x4bdb4f[_0x865c('0x1f')]=qs[_0x865c('0x1f')](_0x39f473['query'][_0x865c('0x1f')]);_0x4bdb4f[_0x865c('0x1d')]=qs['offset'](_0x39f473[_0x865c('0x34')][_0x865c('0x1d')]);}_0x4bdb4f[_0x865c('0x3c')]=qs['sort'](_0x39f473[_0x865c('0x34')][_0x865c('0x3d')]);_0x4bdb4f[_0x865c('0x3e')]=qs[_0x865c('0x36')](_['pick'](_0x39f473['query'],_0x1a37c2[_0x865c('0x36')]),_0x25a85a);if(_0x39f473['query'][_0x865c('0x3f')]){_0x4bdb4f[_0x865c('0x3e')]=_[_0x865c('0x40')](_0x4bdb4f[_0x865c('0x3e')],{'$or':_[_0x865c('0x2d')](_0x25a85a,function(_0x319ac5){if(_0x319ac5[_0x865c('0x31')]!==_0x865c('0x41')){var _0x3f560d={};_0x3f560d[_0x319ac5['name']]={'$like':'%'+_0x39f473['query']['filter']+'%'};return _0x3f560d;}})});}_0x4bdb4f=_[_0x865c('0x40')]({},_0x4bdb4f,_0x39f473[_0x865c('0x42')]);var _0x1dc649={'where':_0x4bdb4f[_0x865c('0x3e')]};return db['SalesforceAccount'][_0x865c('0x20')](_0x1dc649)[_0x865c('0x26')](function(_0x52d7bc){_0x3ebf42[_0x865c('0x20')]=_0x52d7bc;if(_0x39f473['query'][_0x865c('0x43')]){_0x4bdb4f[_0x865c('0x44')]=[{'all':!![]}];}return db[_0x865c('0x2e')][_0x865c('0x45')](_0x4bdb4f);})[_0x865c('0x26')](function(_0x15a782){_0x3ebf42[_0x865c('0x46')]=_0x15a782;return _0x3ebf42;})[_0x865c('0x26')](respondWithFilteredResult(_0xaa6f1d,_0x4bdb4f))[_0x865c('0x47')](handleError(_0xaa6f1d,null));};exports[_0x865c('0x48')]=function(_0x31423f,_0x2a8544){var _0x1bebd5={'raw':![],'where':{'id':_0x31423f[_0x865c('0x49')]['id']}},_0x72098d={};_0x72098d[_0x865c('0x33')]=_[_0x865c('0x35')](db[_0x865c('0x2e')][_0x865c('0x2f')]);_0x72098d[_0x865c('0x34')]=_[_0x865c('0x35')](_0x31423f[_0x865c('0x34')]);_0x72098d[_0x865c('0x36')]=_[_0x865c('0x37')](_0x72098d[_0x865c('0x33')],_0x72098d[_0x865c('0x34')]);_0x1bebd5[_0x865c('0x38')]=_[_0x865c('0x37')](_0x72098d[_0x865c('0x33')],qs['fields'](_0x31423f[_0x865c('0x34')]['fields']));_0x1bebd5[_0x865c('0x38')]=_0x1bebd5[_0x865c('0x38')]['length']?_0x1bebd5[_0x865c('0x38')]:_0x72098d[_0x865c('0x33')];if(_0x31423f[_0x865c('0x34')][_0x865c('0x43')]){_0x1bebd5['include']=[{'all':!![]}];}_0x1bebd5=_[_0x865c('0x40')]({},_0x1bebd5,_0x31423f[_0x865c('0x42')]);return db[_0x865c('0x2e')][_0x865c('0x4a')](_0x1bebd5)[_0x865c('0x26')](handleEntityNotFound(_0x2a8544,null))[_0x865c('0x26')](respondWithResult(_0x2a8544,null))[_0x865c('0x47')](handleError(_0x2a8544,null));};exports['create']=function(_0x3224b5,_0x46c2e8){return db[_0x865c('0x2e')][_0x865c('0x4b')](_0x3224b5[_0x865c('0x4c')],{})[_0x865c('0x26')](respondWithResult(_0x46c2e8,0xc9))['catch'](handleError(_0x46c2e8,null));};exports['update']=function(_0x1d6527,_0x34e955){if(_0x1d6527['body']['id']){delete _0x1d6527[_0x865c('0x4c')]['id'];}return db[_0x865c('0x2e')][_0x865c('0x4a')]({'where':{'id':_0x1d6527[_0x865c('0x49')]['id']}})[_0x865c('0x26')](handleEntityNotFound(_0x34e955,null))['then'](saveUpdates(_0x1d6527[_0x865c('0x4c')],null))[_0x865c('0x26')](respondWithResult(_0x34e955,null))[_0x865c('0x47')](handleError(_0x34e955,null));};exports[_0x865c('0x27')]=function(_0x1bc61e,_0x155027){return db[_0x865c('0x2e')][_0x865c('0x4a')]({'where':{'id':_0x1bc61e['params']['id']}})[_0x865c('0x26')](handleEntityNotFound(_0x155027,null))[_0x865c('0x26')](removeEntity(_0x155027,null))[_0x865c('0x47')](handleError(_0x155027,null));};exports[_0x865c('0x4d')]=function(_0x32db75,_0x3d51ad,_0x3dba70){var _0x55fad0={};var _0x7b845c={};var _0x568900;var _0x22930b;return db['SalesforceAccount']['findOne']({'where':{'id':_0x32db75[_0x865c('0x49')]['id']}})[_0x865c('0x26')](handleEntityNotFound(_0x3d51ad,null))[_0x865c('0x26')](function(_0x381891){if(_0x381891){_0x568900=_0x381891;_0x7b845c['model']=_[_0x865c('0x35')](db[_0x865c('0x4e')][_0x865c('0x2f')]);_0x7b845c[_0x865c('0x34')]=_[_0x865c('0x35')](_0x32db75[_0x865c('0x34')]);_0x7b845c[_0x865c('0x36')]=_['intersection'](_0x7b845c[_0x865c('0x33')],_0x7b845c['query']);_0x55fad0['attributes']=_[_0x865c('0x37')](_0x7b845c[_0x865c('0x33')],qs[_0x865c('0x39')](_0x32db75['query'][_0x865c('0x39')]));_0x55fad0[_0x865c('0x38')]=_0x55fad0[_0x865c('0x38')][_0x865c('0x3a')]?_0x55fad0[_0x865c('0x38')]:_0x7b845c['model'];_0x55fad0[_0x865c('0x3c')]=qs[_0x865c('0x3d')](_0x32db75[_0x865c('0x34')][_0x865c('0x3d')]);_0x55fad0['where']=qs[_0x865c('0x36')](_[_0x865c('0x4f')](_0x32db75[_0x865c('0x34')],_0x7b845c[_0x865c('0x36')]));if(_0x32db75[_0x865c('0x34')]['filter']){_0x55fad0['where']=_['merge'](_0x55fad0[_0x865c('0x3e')],{'$or':_[_0x865c('0x2d')](_0x55fad0[_0x865c('0x38')],function(_0x4726c6){var _0x21ec0a={};_0x21ec0a[_0x4726c6]={'$like':'%'+_0x32db75[_0x865c('0x34')][_0x865c('0x3f')]+'%'};return _0x21ec0a;})});}_0x55fad0=_[_0x865c('0x40')]({},_0x55fad0,_0x32db75['options']);return _0x568900[_0x865c('0x4d')](_0x55fad0);}})[_0x865c('0x26')](function(_0x308b01){if(_0x308b01){_0x22930b=_0x308b01[_0x865c('0x3a')];if(!_0x32db75[_0x865c('0x34')][_0x865c('0x50')](_0x865c('0x3b'))){_0x55fad0[_0x865c('0x1f')]=qs[_0x865c('0x1f')](_0x32db75['query']['limit']);_0x55fad0[_0x865c('0x1d')]=qs[_0x865c('0x1d')](_0x32db75[_0x865c('0x34')][_0x865c('0x1d')]);}return _0x568900['getConfigurations'](_0x55fad0);}})['then'](function(_0x34bc93){if(_0x34bc93){return _0x34bc93?{'count':_0x22930b,'rows':_0x34bc93}:null;}})[_0x865c('0x26')](respondWithResult(_0x3d51ad,null))[_0x865c('0x47')](handleError(_0x3d51ad,null));};exports[_0x865c('0x51')]=function(_0x410058,_0x629ac8,_0x3dab7a){if(_0x410058[_0x865c('0x4c')]['id']){delete _0x410058[_0x865c('0x4c')]['id'];}return db['SalesforceAccount']['findOne']({'where':{'id':_0x410058[_0x865c('0x49')]['id']}})[_0x865c('0x26')](handleEntityNotFound(_0x629ac8,null))[_0x865c('0x26')](function(_0xd82800){if(_0xd82800){_0x410058[_0x865c('0x4c')][_0x865c('0x52')]=_0xd82800['id'];_0x410058[_0x865c('0x4c')][_0x865c('0x53')]=integrations[_0x865c('0x54')](_0x410058['body'][_0x865c('0x55')],_0x410058[_0x865c('0x4c')]['type']);_0x410058['body']['Descriptions']=integrations[_0x865c('0x56')](_0x410058['body'][_0x865c('0x55')],_0x410058[_0x865c('0x4c')][_0x865c('0x31')]);return db['SalesforceConfiguration'][_0x865c('0x4b')](_0x410058['body'],{'include':[{'model':db['SalesforceField'],'as':'Subjects'},{'model':db[_0x865c('0x57')],'as':_0x865c('0x58')}]});}return null;})[_0x865c('0x26')](respondWithResult(_0x629ac8,null))[_0x865c('0x47')](handleError(_0x629ac8,null));};exports[_0x865c('0x59')]=function(_0x21a69e,_0xc100c7,_0x1ed56b){var _0x5174fa;var _0x1f863e='';var _0x36e78f='Task';return db['SalesforceAccount'][_0x865c('0x5a')]({'where':{'id':_0x21a69e[_0x865c('0x49')]['id']},'attributes':['id','remoteUri',_0x865c('0x5b'),_0x865c('0x5c'),_0x865c('0x5d'),'password',_0x865c('0x5e')]})[_0x865c('0x26')](handleEntityNotFound(_0xc100c7,null))[_0x865c('0x26')](function(_0x29c25d){if(_0x29c25d){_0x1f863e=_0x29c25d[_0x865c('0x5f')];var _0x5ec15a=_0x1f863e['slice'](-0x1);if(_0x5ec15a==='/'){_0x1f863e=_0x1f863e['substring'](0x0,_0x1f863e['lastIndexOf'](_0x5ec15a));}_0x5174fa=new jsforce[(_0x865c('0x60'))]({'oauth2':{'loginUrl':_0x1f863e,'clientId':_0x29c25d[_0x865c('0x5b')],'clientSecret':_0x29c25d[_0x865c('0x5c')]}});return _0x5174fa[_0x865c('0x61')](_0x29c25d[_0x865c('0x5d')],_0x29c25d[_0x865c('0x62')]['concat'](_0x29c25d[_0x865c('0x5e')]));}})[_0x865c('0x26')](function(_0x428bce){if(_0x428bce){if(!_[_0x865c('0x63')](_0x21a69e['query']['ticketType'])){_0x36e78f=_0x21a69e[_0x865c('0x34')]['ticketType'];}return _0x5174fa[_0x865c('0x64')](_0x36e78f)[_0x865c('0x65')]();}})['then'](function(_0x32ecc1){var _0x345667=['OwnerId','ActivityDate',_0x865c('0x66'),_0x865c('0x67'),_0x865c('0x68'),_0x865c('0x69')];var _0x397688=['string',_0x865c('0x6a'),_0x865c('0x6b'),_0x865c('0x6c'),_0x865c('0x6d'),'textarea',_0x865c('0x6e')];if(_0x32ecc1){_[_0x865c('0x6f')](_0x32ecc1[_0x865c('0x39')],function(_0x1b5edc){return _0x345667[_0x865c('0x70')](_0x1b5edc[_0x865c('0x2a')])||!_0x397688[_0x865c('0x70')](_0x1b5edc[_0x865c('0x31')]);});return{'count':_0x32ecc1[_0x865c('0x39')][_0x865c('0x3a')],'rows':_[_0x865c('0x2d')](_0x32ecc1[_0x865c('0x39')],function(_0x5650b5){return{'id':_0x5650b5[_0x865c('0x2a')],'name':_0x5650b5['label'],'custom':_0x5650b5[_0x865c('0x71')],'options':_0x5650b5[_0x865c('0x72')][_0x865c('0x3a')]>0x0?_[_0x865c('0x2d')](_0x5650b5[_0x865c('0x72')],function(_0x3c24ac){return{'name':_0x3c24ac[_0x865c('0x73')],'value':_0x3c24ac[_0x865c('0x74')]};}):_0x5650b5['type']=='boolean'?[{'name':_0x865c('0x75'),'value':_0x865c('0x76')},{'name':_0x865c('0x77'),'value':'false'}]:[]};})};}})[_0x865c('0x26')](respondWithResult(_0xc100c7,null))[_0x865c('0x47')](function(_0x4ce8c6){var _0x487eba=_0x21a69e[_0x865c('0x34')]['test']?0x1f4:_0x4ce8c6[_0x865c('0x78')]||0x1f4;logger[_0x865c('0x28')]('getFields,\x20%s,\x20%s,\x20%s','getFields',_0x487eba,JSON['stringify'](_0x4ce8c6));delete _0x4ce8c6[_0x865c('0x2a')];if(_0x487eba===0x191){_0x487eba=0x190;}_0xc100c7['status'](_0x487eba)['send'](_0x21a69e[_0x865c('0x34')][_0x865c('0x79')]?{'message':_0x865c('0x7a'),'statusCode':_0x4ce8c6[_0x865c('0x78')]}:_0x4ce8c6);});};