2130e02436b004fe59d779984b4b3a0432769669
[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 _0xd53f=['../../config/utils','../../config/license/util','../../mysqldb','../../components/integrations/configuration','sendStatus','status','end','json','undefined','limit','offset','Content-Range','apply','reject','save','update','then','destroy','error','stack','name','send','index','map','SalesforceAccount','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','nolimit','sort','where','pick','VIRTUAL','merge','options','count','includeAll','include','findAll','catch','show','params','find','create','body','getConfigurations','findOne','SalesforceConfiguration','order','filter','hasOwnProperty','addConfiguration','AccountId','Subjects','getSubjects','channel','Descriptions','SalesforceField','getFields','Task','clientId','clientSecret','username','password','securityToken','remoteUri','slice','lastIndexOf','Connection','login','concat','isNil','ticketType','describe','OwnerId','ActivityDate','IsReminderSet','Subject','string','int','picklist','boolean','email','phone','remove','includes','custom','picklistValues','label','value','true','False','false','test','statusCode','getFields,\x20%s,\x20%s,\x20%s','stringify','rimraf','zip-dir','request-promise','bluebird','mustache','path','sox','to-csv','ejs','squel','crypto','desk.js','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api'];(function(_0x12cf7f,_0xfda4f5){var _0x316ca0=function(_0x243e0c){while(--_0x243e0c){_0x12cf7f['push'](_0x12cf7f['shift']());}};_0x316ca0(++_0xfda4f5);}(_0xd53f,0x162));var _0xfd53=function(_0x8efaf0,_0x46c3f2){_0x8efaf0=_0x8efaf0-0x0;var _0x4b46de=_0xd53f[_0x8efaf0];return _0x4b46de;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xfd53('0x0'));var zipdir=require(_0xfd53('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0xfd53('0x2'));var moment=require('moment');var BPromise=require(_0xfd53('0x3'));var Mustache=require(_0xfd53('0x4'));var util=require('util');var path=require(_0xfd53('0x5'));var sox=require(_0xfd53('0x6'));var csv=require(_0xfd53('0x7'));var ejs=require(_0xfd53('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0xfd53('0x9'));var crypto=require(_0xfd53('0xa'));var jsforce=require('jsforce');var deskjs=require(_0xfd53('0xb'));var toCsv=require(_0xfd53('0x7'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0xfd53('0xc'));var authService=require(_0xfd53('0xd'));var qs=require('../../components/parsers/qs');var as=require(_0xfd53('0xe'));var hardwareService=require(_0xfd53('0xf'));var logger=require(_0xfd53('0x10'))(_0xfd53('0x11'));var utils=require(_0xfd53('0x12'));var config=require('../../config/environment');var licenseUtil=require(_0xfd53('0x13'));var db=require(_0xfd53('0x14'))['db'];var integrations=require(_0xfd53('0x15'));function respondWithStatusCode(_0x1e6d81,_0x57be3b){_0x57be3b=_0x57be3b||0xcc;return function(_0x1e2d30){if(_0x1e2d30){return _0x1e6d81[_0xfd53('0x16')](_0x57be3b);}return _0x1e6d81[_0xfd53('0x17')](_0x57be3b)[_0xfd53('0x18')]();};}function respondWithResult(_0x41617b,_0x823cbb){_0x823cbb=_0x823cbb||0xc8;return function(_0x59c868){if(_0x59c868){return _0x41617b['status'](_0x823cbb)[_0xfd53('0x19')](_0x59c868);}};}function respondWithFilteredResult(_0x5641c1,_0x54d63b){return function(_0xe221c9){if(_0xe221c9){var _0x4d9cc9=typeof _0x54d63b['offset']===_0xfd53('0x1a')&&typeof _0x54d63b[_0xfd53('0x1b')]===_0xfd53('0x1a');var _0x427ffd=_0xe221c9['count'];var _0x472ba9=_0x4d9cc9?0x0:_0x54d63b['offset'];var _0x346022=_0x4d9cc9?_0xe221c9['count']:_0x54d63b[_0xfd53('0x1c')]+_0x54d63b['limit'];var _0x1f0015;if(_0x346022>=_0x427ffd){_0x346022=_0x427ffd;_0x1f0015=0xc8;}else{_0x1f0015=0xce;}_0x5641c1[_0xfd53('0x17')](_0x1f0015);return _0x5641c1['set'](_0xfd53('0x1d'),_0x472ba9+'-'+_0x346022+'/'+_0x427ffd)[_0xfd53('0x19')](_0xe221c9);}return null;};}function patchUpdates(_0x10a8be){return function(_0x532a69){try{jsonpatch[_0xfd53('0x1e')](_0x532a69,_0x10a8be,!![]);}catch(_0x1a34e9){return BPromise[_0xfd53('0x1f')](_0x1a34e9);}return _0x532a69[_0xfd53('0x20')]();};}function saveUpdates(_0x433a13,_0x151375){return function(_0x2396e2){if(_0x2396e2){return _0x2396e2[_0xfd53('0x21')](_0x433a13)[_0xfd53('0x22')](function(_0x1a6742){return _0x1a6742;});}return null;};}function removeEntity(_0x3d1ca6,_0x481e21){return function(_0x41ee8e){if(_0x41ee8e){return _0x41ee8e[_0xfd53('0x23')]()[_0xfd53('0x22')](function(){_0x3d1ca6[_0xfd53('0x17')](0xcc)[_0xfd53('0x18')]();});}};}function handleEntityNotFound(_0x10e3a,_0x5a1789){return function(_0x5d78a3){if(!_0x5d78a3){_0x10e3a['sendStatus'](0x194);}return _0x5d78a3;};}function handleError(_0x11ec35,_0x4a198b){_0x4a198b=_0x4a198b||0x1f4;return function(_0xab07){logger[_0xfd53('0x24')](_0xab07[_0xfd53('0x25')]);if(_0xab07[_0xfd53('0x26')]){delete _0xab07[_0xfd53('0x26')];}_0x11ec35['status'](_0x4a198b)[_0xfd53('0x27')](_0xab07);};}exports[_0xfd53('0x28')]=function(_0xeda3fc,_0x3f4652){var _0x1233b5={},_0x5506b4={},_0x5558ac={'count':0x0,'rows':[]};var _0x1bd885=_[_0xfd53('0x29')](db[_0xfd53('0x2a')][_0xfd53('0x2b')],function(_0x11cd28){return{'name':_0x11cd28[_0xfd53('0x2c')],'type':_0x11cd28[_0xfd53('0x2d')][_0xfd53('0x2e')]};});_0x5506b4[_0xfd53('0x2f')]=_[_0xfd53('0x29')](_0x1bd885,_0xfd53('0x26'));_0x5506b4[_0xfd53('0x30')]=_[_0xfd53('0x31')](_0xeda3fc[_0xfd53('0x30')]);_0x5506b4[_0xfd53('0x32')]=_[_0xfd53('0x33')](_0x5506b4[_0xfd53('0x2f')],_0x5506b4[_0xfd53('0x30')]);_0x1233b5[_0xfd53('0x34')]=_[_0xfd53('0x33')](_0x5506b4['model'],qs['fields'](_0xeda3fc[_0xfd53('0x30')][_0xfd53('0x35')]));_0x1233b5[_0xfd53('0x34')]=_0x1233b5[_0xfd53('0x34')][_0xfd53('0x36')]?_0x1233b5['attributes']:_0x5506b4[_0xfd53('0x2f')];if(!_0xeda3fc[_0xfd53('0x30')]['hasOwnProperty'](_0xfd53('0x37'))){_0x1233b5['limit']=qs[_0xfd53('0x1b')](_0xeda3fc[_0xfd53('0x30')][_0xfd53('0x1b')]);_0x1233b5[_0xfd53('0x1c')]=qs[_0xfd53('0x1c')](_0xeda3fc[_0xfd53('0x30')][_0xfd53('0x1c')]);}_0x1233b5['order']=qs[_0xfd53('0x38')](_0xeda3fc[_0xfd53('0x30')]['sort']);_0x1233b5[_0xfd53('0x39')]=qs[_0xfd53('0x32')](_[_0xfd53('0x3a')](_0xeda3fc[_0xfd53('0x30')],_0x5506b4[_0xfd53('0x32')]),_0x1bd885);if(_0xeda3fc[_0xfd53('0x30')]['filter']){_0x1233b5['where']=_['merge'](_0x1233b5[_0xfd53('0x39')],{'$or':_[_0xfd53('0x29')](_0x1bd885,function(_0x584b49){if(_0x584b49[_0xfd53('0x2d')]!==_0xfd53('0x3b')){var _0x49f042={};_0x49f042[_0x584b49[_0xfd53('0x26')]]={'$like':'%'+_0xeda3fc[_0xfd53('0x30')]['filter']+'%'};return _0x49f042;}})});}_0x1233b5=_[_0xfd53('0x3c')]({},_0x1233b5,_0xeda3fc[_0xfd53('0x3d')]);var _0x117484={'where':_0x1233b5[_0xfd53('0x39')]};return db[_0xfd53('0x2a')][_0xfd53('0x3e')](_0x117484)['then'](function(_0x22b47b){_0x5558ac[_0xfd53('0x3e')]=_0x22b47b;if(_0xeda3fc[_0xfd53('0x30')][_0xfd53('0x3f')]){_0x1233b5[_0xfd53('0x40')]=[{'all':!![]}];}return db['SalesforceAccount'][_0xfd53('0x41')](_0x1233b5);})['then'](function(_0x1d77fa){_0x5558ac['rows']=_0x1d77fa;return _0x5558ac;})[_0xfd53('0x22')](respondWithFilteredResult(_0x3f4652,_0x1233b5))[_0xfd53('0x42')](handleError(_0x3f4652,null));};exports[_0xfd53('0x43')]=function(_0x3f015e,_0x3be12b){var _0x2f1531={'raw':![],'where':{'id':_0x3f015e[_0xfd53('0x44')]['id']}},_0x3b44fc={};_0x3b44fc['model']=_[_0xfd53('0x31')](db[_0xfd53('0x2a')][_0xfd53('0x2b')]);_0x3b44fc[_0xfd53('0x30')]=_[_0xfd53('0x31')](_0x3f015e['query']);_0x3b44fc['filters']=_['intersection'](_0x3b44fc[_0xfd53('0x2f')],_0x3b44fc[_0xfd53('0x30')]);_0x2f1531[_0xfd53('0x34')]=_[_0xfd53('0x33')](_0x3b44fc[_0xfd53('0x2f')],qs[_0xfd53('0x35')](_0x3f015e[_0xfd53('0x30')]['fields']));_0x2f1531['attributes']=_0x2f1531[_0xfd53('0x34')]['length']?_0x2f1531[_0xfd53('0x34')]:_0x3b44fc['model'];if(_0x3f015e[_0xfd53('0x30')][_0xfd53('0x3f')]){_0x2f1531[_0xfd53('0x40')]=[{'all':!![]}];}_0x2f1531=_[_0xfd53('0x3c')]({},_0x2f1531,_0x3f015e['options']);return db[_0xfd53('0x2a')][_0xfd53('0x45')](_0x2f1531)[_0xfd53('0x22')](handleEntityNotFound(_0x3be12b,null))['then'](respondWithResult(_0x3be12b,null))[_0xfd53('0x42')](handleError(_0x3be12b,null));};exports[_0xfd53('0x46')]=function(_0x5e704f,_0x1d8288){return db['SalesforceAccount']['create'](_0x5e704f[_0xfd53('0x47')],{})[_0xfd53('0x22')](respondWithResult(_0x1d8288,0xc9))[_0xfd53('0x42')](handleError(_0x1d8288,null));};exports[_0xfd53('0x21')]=function(_0x533d4f,_0x4f755f){if(_0x533d4f['body']['id']){delete _0x533d4f[_0xfd53('0x47')]['id'];}return db[_0xfd53('0x2a')][_0xfd53('0x45')]({'where':{'id':_0x533d4f[_0xfd53('0x44')]['id']}})[_0xfd53('0x22')](handleEntityNotFound(_0x4f755f,null))[_0xfd53('0x22')](saveUpdates(_0x533d4f[_0xfd53('0x47')],null))[_0xfd53('0x22')](respondWithResult(_0x4f755f,null))[_0xfd53('0x42')](handleError(_0x4f755f,null));};exports[_0xfd53('0x23')]=function(_0x57bbde,_0x5e051e){return db[_0xfd53('0x2a')][_0xfd53('0x45')]({'where':{'id':_0x57bbde['params']['id']}})[_0xfd53('0x22')](handleEntityNotFound(_0x5e051e,null))[_0xfd53('0x22')](removeEntity(_0x5e051e,null))[_0xfd53('0x42')](handleError(_0x5e051e,null));};exports[_0xfd53('0x48')]=function(_0x28d5e1,_0x1b2ddd,_0x206351){var _0xf4bc07={};var _0x274632={};var _0x313398;var _0x57f665;return db[_0xfd53('0x2a')][_0xfd53('0x49')]({'where':{'id':_0x28d5e1[_0xfd53('0x44')]['id']}})[_0xfd53('0x22')](handleEntityNotFound(_0x1b2ddd,null))['then'](function(_0x5b911a){if(_0x5b911a){_0x313398=_0x5b911a;_0x274632['model']=_[_0xfd53('0x31')](db[_0xfd53('0x4a')][_0xfd53('0x2b')]);_0x274632['query']=_['keys'](_0x28d5e1['query']);_0x274632[_0xfd53('0x32')]=_[_0xfd53('0x33')](_0x274632[_0xfd53('0x2f')],_0x274632[_0xfd53('0x30')]);_0xf4bc07[_0xfd53('0x34')]=_['intersection'](_0x274632[_0xfd53('0x2f')],qs['fields'](_0x28d5e1[_0xfd53('0x30')][_0xfd53('0x35')]));_0xf4bc07[_0xfd53('0x34')]=_0xf4bc07[_0xfd53('0x34')][_0xfd53('0x36')]?_0xf4bc07[_0xfd53('0x34')]:_0x274632['model'];_0xf4bc07[_0xfd53('0x4b')]=qs[_0xfd53('0x38')](_0x28d5e1[_0xfd53('0x30')][_0xfd53('0x38')]);_0xf4bc07['where']=qs[_0xfd53('0x32')](_[_0xfd53('0x3a')](_0x28d5e1[_0xfd53('0x30')],_0x274632[_0xfd53('0x32')]));if(_0x28d5e1[_0xfd53('0x30')][_0xfd53('0x4c')]){_0xf4bc07[_0xfd53('0x39')]=_[_0xfd53('0x3c')](_0xf4bc07[_0xfd53('0x39')],{'$or':_[_0xfd53('0x29')](_0xf4bc07['attributes'],function(_0x2c1d75){var _0x39954c={};_0x39954c[_0x2c1d75]={'$like':'%'+_0x28d5e1['query'][_0xfd53('0x4c')]+'%'};return _0x39954c;})});}_0xf4bc07=_[_0xfd53('0x3c')]({},_0xf4bc07,_0x28d5e1[_0xfd53('0x3d')]);return _0x313398[_0xfd53('0x48')](_0xf4bc07);}})['then'](function(_0xbe622a){if(_0xbe622a){_0x57f665=_0xbe622a[_0xfd53('0x36')];if(!_0x28d5e1[_0xfd53('0x30')][_0xfd53('0x4d')](_0xfd53('0x37'))){_0xf4bc07[_0xfd53('0x1b')]=qs['limit'](_0x28d5e1[_0xfd53('0x30')]['limit']);_0xf4bc07[_0xfd53('0x1c')]=qs[_0xfd53('0x1c')](_0x28d5e1[_0xfd53('0x30')]['offset']);}return _0x313398[_0xfd53('0x48')](_0xf4bc07);}})[_0xfd53('0x22')](function(_0x2f6c0f){if(_0x2f6c0f){return _0x2f6c0f?{'count':_0x57f665,'rows':_0x2f6c0f}:null;}})[_0xfd53('0x22')](respondWithResult(_0x1b2ddd,null))[_0xfd53('0x42')](handleError(_0x1b2ddd,null));};exports[_0xfd53('0x4e')]=function(_0x2d5d76,_0x19644e,_0x14fa5c){if(_0x2d5d76[_0xfd53('0x47')]['id']){delete _0x2d5d76['body']['id'];}return db[_0xfd53('0x2a')]['findOne']({'where':{'id':_0x2d5d76[_0xfd53('0x44')]['id']}})[_0xfd53('0x22')](handleEntityNotFound(_0x19644e,null))[_0xfd53('0x22')](function(_0x49bbe7){if(_0x49bbe7){_0x2d5d76['body'][_0xfd53('0x4f')]=_0x49bbe7['id'];_0x2d5d76[_0xfd53('0x47')][_0xfd53('0x50')]=integrations[_0xfd53('0x51')](_0x2d5d76['body'][_0xfd53('0x52')],_0x2d5d76[_0xfd53('0x47')]['type']);_0x2d5d76['body'][_0xfd53('0x53')]=integrations['getDescriptions'](_0x2d5d76[_0xfd53('0x47')][_0xfd53('0x52')],_0x2d5d76[_0xfd53('0x47')]['type']);return db[_0xfd53('0x4a')][_0xfd53('0x46')](_0x2d5d76[_0xfd53('0x47')],{'include':[{'model':db[_0xfd53('0x54')],'as':_0xfd53('0x50')},{'model':db[_0xfd53('0x54')],'as':_0xfd53('0x53')}]});}return null;})['then'](respondWithResult(_0x19644e,null))['catch'](handleError(_0x19644e,null));};exports[_0xfd53('0x55')]=function(_0x6b6ae7,_0x1b83b4,_0xa5e325){var _0x344769;var _0xfac9fc='';var _0x38195f=_0xfd53('0x56');return db['SalesforceAccount'][_0xfd53('0x49')]({'where':{'id':_0x6b6ae7['params']['id']},'attributes':['id','remoteUri',_0xfd53('0x57'),_0xfd53('0x58'),_0xfd53('0x59'),_0xfd53('0x5a'),_0xfd53('0x5b')]})[_0xfd53('0x22')](handleEntityNotFound(_0x1b83b4,null))[_0xfd53('0x22')](function(_0x3827a7){if(_0x3827a7){_0xfac9fc=_0x3827a7[_0xfd53('0x5c')];var _0x247943=_0xfac9fc[_0xfd53('0x5d')](-0x1);if(_0x247943==='/'){_0xfac9fc=_0xfac9fc['substring'](0x0,_0xfac9fc[_0xfd53('0x5e')](_0x247943));}_0x344769=new jsforce[(_0xfd53('0x5f'))]({'oauth2':{'loginUrl':_0xfac9fc,'clientId':_0x3827a7['clientId'],'clientSecret':_0x3827a7[_0xfd53('0x58')]}});return _0x344769[_0xfd53('0x60')](_0x3827a7['username'],_0x3827a7['password'][_0xfd53('0x61')](_0x3827a7[_0xfd53('0x5b')]));}})[_0xfd53('0x22')](function(_0x58e090){if(_0x58e090){if(!_[_0xfd53('0x62')](_0x6b6ae7['query'][_0xfd53('0x63')])){_0x38195f=_0x6b6ae7[_0xfd53('0x30')][_0xfd53('0x63')];}return _0x344769['sobject'](_0x38195f)[_0xfd53('0x64')]();}})[_0xfd53('0x22')](function(_0x2fe601){var _0x2224eb=[_0xfd53('0x65'),_0xfd53('0x66'),_0xfd53('0x67'),'IsRecurrence',_0xfd53('0x68'),'Description'];var _0x164544=[_0xfd53('0x69'),_0xfd53('0x6a'),_0xfd53('0x6b'),_0xfd53('0x6c'),_0xfd53('0x6d'),'textarea',_0xfd53('0x6e')];if(_0x2fe601){_[_0xfd53('0x6f')](_0x2fe601[_0xfd53('0x35')],function(_0x3bbdc7){return _0x2224eb[_0xfd53('0x70')](_0x3bbdc7['name'])||!_0x164544['includes'](_0x3bbdc7['type']);});return{'count':_0x2fe601[_0xfd53('0x35')][_0xfd53('0x36')],'rows':_[_0xfd53('0x29')](_0x2fe601[_0xfd53('0x35')],function(_0x577060){return{'id':_0x577060['name'],'name':_0x577060['label'],'custom':_0x577060[_0xfd53('0x71')],'options':_0x577060[_0xfd53('0x72')][_0xfd53('0x36')]>0x0?_[_0xfd53('0x29')](_0x577060['picklistValues'],function(_0x130539){return{'name':_0x130539[_0xfd53('0x73')],'value':_0x130539[_0xfd53('0x74')]};}):_0x577060[_0xfd53('0x2d')]==_0xfd53('0x6c')?[{'name':'True','value':_0xfd53('0x75')},{'name':_0xfd53('0x76'),'value':_0xfd53('0x77')}]:[]};})};}})[_0xfd53('0x22')](respondWithResult(_0x1b83b4,null))[_0xfd53('0x42')](function(_0x31ea74){var _0x3115d2=_0x6b6ae7[_0xfd53('0x30')][_0xfd53('0x78')]?0x1f4:_0x31ea74[_0xfd53('0x79')]||0x1f4;logger[_0xfd53('0x24')](_0xfd53('0x7a'),'getFields',_0x3115d2,JSON[_0xfd53('0x7b')](_0x31ea74));delete _0x31ea74['name'];if(_0x3115d2===0x191){_0x3115d2=0x190;}_0x1b83b4[_0xfd53('0x17')](_0x3115d2)[_0xfd53('0x27')](_0x6b6ae7[_0xfd53('0x30')][_0xfd53('0x78')]?{'message':'Wrong\x20credentials','statusCode':_0x31ea74[_0xfd53('0x79')]}:_0x31ea74);});};