242c890ec7a590702fb2c0280a522b7d11783a71
[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 _0x8152=['findOne','remoteUri','clientSecret','password','securityToken','slice','substring','lastIndexOf','clientId','username','concat','isNil','ticketType','sobject','describe','OwnerId','ActivityDate','IsReminderSet','Subject','Description','string','int','picklist','boolean','email','textarea','phone','remove','includes','label','custom','picklistValues','True','true','False','test','statusCode','getFields,\x20%s,\x20%s,\x20%s','send','Wrong\x20credentials','rimraf','zip-dir','mustache','util','path','to-csv','ejs','lodash','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','status','json','undefined','limit','count','offset','Content-Range','apply','reject','save','then','destroy','end','sendStatus','error','stack','name','index','map','SalesforceAccount','key','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','where','pick','type','VIRTUAL','filter','merge','options','includeAll','include','findAll','show','params','rawAttributes','find','catch','create','body','update','sort','getConfigurations','addConfiguration','AccountId','Subjects','channel','Descriptions','getDescriptions','SalesforceConfiguration','SalesforceField','getFields','Task'];(function(_0x472524,_0x5b149c){var _0x362ff6=function(_0xf61431){while(--_0xf61431){_0x472524['push'](_0x472524['shift']());}};_0x362ff6(++_0x5b149c);}(_0x8152,0x19f));var _0x2815=function(_0x3e5f84,_0x20fad6){_0x3e5f84=_0x3e5f84-0x0;var _0x4bad06=_0x8152[_0x3e5f84];return _0x4bad06;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x2815('0x0'));var zipdir=require(_0x2815('0x1'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x2815('0x2'));var util=require(_0x2815('0x3'));var path=require(_0x2815('0x4'));var sox=require('sox');var csv=require(_0x2815('0x5'));var ejs=require(_0x2815('0x6'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x2815('0x7'));var squel=require(_0x2815('0x8'));var crypto=require(_0x2815('0x9'));var jsforce=require('jsforce');var deskjs=require(_0x2815('0xa'));var toCsv=require(_0x2815('0x5'));var querystring=require(_0x2815('0xb'));var Papa=require(_0x2815('0xc'));var Redis=require(_0x2815('0xd'));var authService=require(_0x2815('0xe'));var qs=require(_0x2815('0xf'));var as=require(_0x2815('0x10'));var hardwareService=require(_0x2815('0x11'));var logger=require(_0x2815('0x12'))(_0x2815('0x13'));var utils=require('../../config/utils');var config=require(_0x2815('0x14'));var licenseUtil=require(_0x2815('0x15'));var db=require(_0x2815('0x16'))['db'];var integrations=require('../../components/integrations/configuration');function respondWithStatusCode(_0x38d5ca,_0x4c4b6a){_0x4c4b6a=_0x4c4b6a||0xcc;return function(_0x2f1ab8){if(_0x2f1ab8){return _0x38d5ca['sendStatus'](_0x4c4b6a);}return _0x38d5ca[_0x2815('0x17')](_0x4c4b6a)['end']();};}function respondWithResult(_0x4632ac,_0x22b8f9){_0x22b8f9=_0x22b8f9||0xc8;return function(_0x28a574){if(_0x28a574){return _0x4632ac[_0x2815('0x17')](_0x22b8f9)[_0x2815('0x18')](_0x28a574);}};}function respondWithFilteredResult(_0x3680bc,_0xf78d4){return function(_0x12b8fe){if(_0x12b8fe){var _0x31027d=typeof _0xf78d4['offset']===_0x2815('0x19')&&typeof _0xf78d4[_0x2815('0x1a')]==='undefined';var _0x57db93=_0x12b8fe[_0x2815('0x1b')];var _0x5a4503=_0x31027d?0x0:_0xf78d4[_0x2815('0x1c')];var _0x35c9db=_0x31027d?_0x12b8fe[_0x2815('0x1b')]:_0xf78d4[_0x2815('0x1c')]+_0xf78d4[_0x2815('0x1a')];var _0x20bfe6;if(_0x35c9db>=_0x57db93){_0x35c9db=_0x57db93;_0x20bfe6=0xc8;}else{_0x20bfe6=0xce;}_0x3680bc['status'](_0x20bfe6);return _0x3680bc['set'](_0x2815('0x1d'),_0x5a4503+'-'+_0x35c9db+'/'+_0x57db93)[_0x2815('0x18')](_0x12b8fe);}return null;};}function patchUpdates(_0x2a8a2e){return function(_0x958ea){try{jsonpatch[_0x2815('0x1e')](_0x958ea,_0x2a8a2e,!![]);}catch(_0x54df50){return BPromise[_0x2815('0x1f')](_0x54df50);}return _0x958ea[_0x2815('0x20')]();};}function saveUpdates(_0x19c83d,_0xd42304){return function(_0x528e12){if(_0x528e12){return _0x528e12['update'](_0x19c83d)[_0x2815('0x21')](function(_0x4bf9c1){return _0x4bf9c1;});}return null;};}function removeEntity(_0x124fcd,_0x3684b0){return function(_0x282cb4){if(_0x282cb4){return _0x282cb4[_0x2815('0x22')]()['then'](function(){_0x124fcd[_0x2815('0x17')](0xcc)[_0x2815('0x23')]();});}};}function handleEntityNotFound(_0x619af0,_0x4d0749){return function(_0x34b2d8){if(!_0x34b2d8){_0x619af0[_0x2815('0x24')](0x194);}return _0x34b2d8;};}function handleError(_0x4f87ac,_0x5ca155){_0x5ca155=_0x5ca155||0x1f4;return function(_0x468d50){logger[_0x2815('0x25')](_0x468d50[_0x2815('0x26')]);if(_0x468d50[_0x2815('0x27')]){delete _0x468d50[_0x2815('0x27')];}_0x4f87ac[_0x2815('0x17')](_0x5ca155)['send'](_0x468d50);};}exports[_0x2815('0x28')]=function(_0x4dcf6e,_0x14d85f){var _0x53c1e2={},_0x4a4a39={},_0x28b0f6={'count':0x0,'rows':[]};var _0x4dc1f5=_[_0x2815('0x29')](db[_0x2815('0x2a')]['rawAttributes'],function(_0x1d063a){return{'name':_0x1d063a['fieldName'],'type':_0x1d063a['type'][_0x2815('0x2b')]};});_0x4a4a39[_0x2815('0x2c')]=_['map'](_0x4dc1f5,'name');_0x4a4a39[_0x2815('0x2d')]=_[_0x2815('0x2e')](_0x4dcf6e[_0x2815('0x2d')]);_0x4a4a39[_0x2815('0x2f')]=_[_0x2815('0x30')](_0x4a4a39[_0x2815('0x2c')],_0x4a4a39[_0x2815('0x2d')]);_0x53c1e2['attributes']=_['intersection'](_0x4a4a39[_0x2815('0x2c')],qs['fields'](_0x4dcf6e['query'][_0x2815('0x31')]));_0x53c1e2['attributes']=_0x53c1e2[_0x2815('0x32')][_0x2815('0x33')]?_0x53c1e2[_0x2815('0x32')]:_0x4a4a39[_0x2815('0x2c')];if(!_0x4dcf6e[_0x2815('0x2d')][_0x2815('0x34')](_0x2815('0x35'))){_0x53c1e2['limit']=qs[_0x2815('0x1a')](_0x4dcf6e['query']['limit']);_0x53c1e2[_0x2815('0x1c')]=qs[_0x2815('0x1c')](_0x4dcf6e[_0x2815('0x2d')][_0x2815('0x1c')]);}_0x53c1e2[_0x2815('0x36')]=qs['sort'](_0x4dcf6e[_0x2815('0x2d')]['sort']);_0x53c1e2[_0x2815('0x37')]=qs[_0x2815('0x2f')](_[_0x2815('0x38')](_0x4dcf6e[_0x2815('0x2d')],_0x4a4a39[_0x2815('0x2f')]),_0x4dc1f5);if(_0x4dcf6e[_0x2815('0x2d')]['filter']){_0x53c1e2[_0x2815('0x37')]=_['merge'](_0x53c1e2['where'],{'$or':_['map'](_0x4dc1f5,function(_0x247813){if(_0x247813[_0x2815('0x39')]!==_0x2815('0x3a')){var _0x2e9254={};_0x2e9254[_0x247813[_0x2815('0x27')]]={'$like':'%'+_0x4dcf6e[_0x2815('0x2d')][_0x2815('0x3b')]+'%'};return _0x2e9254;}})});}_0x53c1e2=_[_0x2815('0x3c')]({},_0x53c1e2,_0x4dcf6e[_0x2815('0x3d')]);var _0x1bc049={'where':_0x53c1e2[_0x2815('0x37')]};return db[_0x2815('0x2a')][_0x2815('0x1b')](_0x1bc049)[_0x2815('0x21')](function(_0x4a2fba){_0x28b0f6[_0x2815('0x1b')]=_0x4a2fba;if(_0x4dcf6e[_0x2815('0x2d')][_0x2815('0x3e')]){_0x53c1e2[_0x2815('0x3f')]=[{'all':!![]}];}return db[_0x2815('0x2a')][_0x2815('0x40')](_0x53c1e2);})['then'](function(_0x405cfd){_0x28b0f6['rows']=_0x405cfd;return _0x28b0f6;})[_0x2815('0x21')](respondWithFilteredResult(_0x14d85f,_0x53c1e2))['catch'](handleError(_0x14d85f,null));};exports[_0x2815('0x41')]=function(_0x5f2008,_0x407653){var _0x128c1c={'raw':![],'where':{'id':_0x5f2008[_0x2815('0x42')]['id']}},_0xae5150={};_0xae5150['model']=_[_0x2815('0x2e')](db[_0x2815('0x2a')][_0x2815('0x43')]);_0xae5150[_0x2815('0x2d')]=_[_0x2815('0x2e')](_0x5f2008[_0x2815('0x2d')]);_0xae5150[_0x2815('0x2f')]=_[_0x2815('0x30')](_0xae5150['model'],_0xae5150['query']);_0x128c1c[_0x2815('0x32')]=_[_0x2815('0x30')](_0xae5150['model'],qs[_0x2815('0x31')](_0x5f2008[_0x2815('0x2d')]['fields']));_0x128c1c[_0x2815('0x32')]=_0x128c1c[_0x2815('0x32')][_0x2815('0x33')]?_0x128c1c[_0x2815('0x32')]:_0xae5150[_0x2815('0x2c')];if(_0x5f2008[_0x2815('0x2d')][_0x2815('0x3e')]){_0x128c1c[_0x2815('0x3f')]=[{'all':!![]}];}_0x128c1c=_[_0x2815('0x3c')]({},_0x128c1c,_0x5f2008[_0x2815('0x3d')]);return db['SalesforceAccount'][_0x2815('0x44')](_0x128c1c)['then'](handleEntityNotFound(_0x407653,null))[_0x2815('0x21')](respondWithResult(_0x407653,null))[_0x2815('0x45')](handleError(_0x407653,null));};exports[_0x2815('0x46')]=function(_0x2ef3bb,_0x1898f4){return db[_0x2815('0x2a')]['create'](_0x2ef3bb[_0x2815('0x47')],{})[_0x2815('0x21')](respondWithResult(_0x1898f4,0xc9))[_0x2815('0x45')](handleError(_0x1898f4,null));};exports[_0x2815('0x48')]=function(_0x28b427,_0x25a8df){if(_0x28b427['body']['id']){delete _0x28b427[_0x2815('0x47')]['id'];}return db['SalesforceAccount']['find']({'where':{'id':_0x28b427[_0x2815('0x42')]['id']}})[_0x2815('0x21')](handleEntityNotFound(_0x25a8df,null))[_0x2815('0x21')](saveUpdates(_0x28b427['body'],null))['then'](respondWithResult(_0x25a8df,null))[_0x2815('0x45')](handleError(_0x25a8df,null));};exports[_0x2815('0x22')]=function(_0x442adb,_0x432dc0){return db[_0x2815('0x2a')][_0x2815('0x44')]({'where':{'id':_0x442adb[_0x2815('0x42')]['id']}})[_0x2815('0x21')](handleEntityNotFound(_0x432dc0,null))['then'](removeEntity(_0x432dc0,null))[_0x2815('0x45')](handleError(_0x432dc0,null));};exports['getConfigurations']=function(_0x29055a,_0x421f37,_0x4e0605){var _0x59b321={};var _0x41b903={};var _0x103a18;var _0x1b6924;return db[_0x2815('0x2a')]['findOne']({'where':{'id':_0x29055a['params']['id']}})[_0x2815('0x21')](handleEntityNotFound(_0x421f37,null))[_0x2815('0x21')](function(_0x3151ef){if(_0x3151ef){_0x103a18=_0x3151ef;_0x41b903['model']=_['keys'](db['SalesforceConfiguration']['rawAttributes']);_0x41b903[_0x2815('0x2d')]=_[_0x2815('0x2e')](_0x29055a[_0x2815('0x2d')]);_0x41b903[_0x2815('0x2f')]=_[_0x2815('0x30')](_0x41b903[_0x2815('0x2c')],_0x41b903[_0x2815('0x2d')]);_0x59b321[_0x2815('0x32')]=_[_0x2815('0x30')](_0x41b903[_0x2815('0x2c')],qs[_0x2815('0x31')](_0x29055a['query']['fields']));_0x59b321['attributes']=_0x59b321[_0x2815('0x32')][_0x2815('0x33')]?_0x59b321['attributes']:_0x41b903[_0x2815('0x2c')];_0x59b321[_0x2815('0x36')]=qs[_0x2815('0x49')](_0x29055a[_0x2815('0x2d')]['sort']);_0x59b321['where']=qs[_0x2815('0x2f')](_['pick'](_0x29055a[_0x2815('0x2d')],_0x41b903[_0x2815('0x2f')]));if(_0x29055a[_0x2815('0x2d')][_0x2815('0x3b')]){_0x59b321[_0x2815('0x37')]=_[_0x2815('0x3c')](_0x59b321[_0x2815('0x37')],{'$or':_[_0x2815('0x29')](_0x59b321[_0x2815('0x32')],function(_0x4d2c9d){var _0x21bb4b={};_0x21bb4b[_0x4d2c9d]={'$like':'%'+_0x29055a[_0x2815('0x2d')][_0x2815('0x3b')]+'%'};return _0x21bb4b;})});}_0x59b321=_[_0x2815('0x3c')]({},_0x59b321,_0x29055a[_0x2815('0x3d')]);return _0x103a18[_0x2815('0x4a')](_0x59b321);}})[_0x2815('0x21')](function(_0xe24b01){if(_0xe24b01){_0x1b6924=_0xe24b01[_0x2815('0x33')];if(!_0x29055a['query']['hasOwnProperty'](_0x2815('0x35'))){_0x59b321[_0x2815('0x1a')]=qs[_0x2815('0x1a')](_0x29055a[_0x2815('0x2d')][_0x2815('0x1a')]);_0x59b321['offset']=qs[_0x2815('0x1c')](_0x29055a[_0x2815('0x2d')][_0x2815('0x1c')]);}return _0x103a18[_0x2815('0x4a')](_0x59b321);}})[_0x2815('0x21')](function(_0x21acec){if(_0x21acec){return _0x21acec?{'count':_0x1b6924,'rows':_0x21acec}:null;}})[_0x2815('0x21')](respondWithResult(_0x421f37,null))['catch'](handleError(_0x421f37,null));};exports[_0x2815('0x4b')]=function(_0x2c94c2,_0x9195bf,_0x1c09c9){if(_0x2c94c2[_0x2815('0x47')]['id']){delete _0x2c94c2['body']['id'];}return db[_0x2815('0x2a')]['findOne']({'where':{'id':_0x2c94c2[_0x2815('0x42')]['id']}})[_0x2815('0x21')](handleEntityNotFound(_0x9195bf,null))['then'](function(_0x189d5f){if(_0x189d5f){_0x2c94c2[_0x2815('0x47')][_0x2815('0x4c')]=_0x189d5f['id'];_0x2c94c2[_0x2815('0x47')][_0x2815('0x4d')]=integrations['getSubjects'](_0x2c94c2[_0x2815('0x47')][_0x2815('0x4e')],_0x2c94c2[_0x2815('0x47')][_0x2815('0x39')]);_0x2c94c2[_0x2815('0x47')][_0x2815('0x4f')]=integrations[_0x2815('0x50')](_0x2c94c2[_0x2815('0x47')][_0x2815('0x4e')],_0x2c94c2[_0x2815('0x47')]['type']);return db[_0x2815('0x51')]['create'](_0x2c94c2[_0x2815('0x47')],{'include':[{'model':db[_0x2815('0x52')],'as':_0x2815('0x4d')},{'model':db[_0x2815('0x52')],'as':'Descriptions'}]});}return null;})[_0x2815('0x21')](respondWithResult(_0x9195bf,null))[_0x2815('0x45')](handleError(_0x9195bf,null));};exports[_0x2815('0x53')]=function(_0x5d2496,_0x2257f0,_0x187dc4){var _0x7028ba;var _0x98c69f='';var _0xd16263=_0x2815('0x54');return db[_0x2815('0x2a')][_0x2815('0x55')]({'where':{'id':_0x5d2496['params']['id']},'attributes':['id',_0x2815('0x56'),'clientId',_0x2815('0x57'),'username',_0x2815('0x58'),_0x2815('0x59')]})['then'](handleEntityNotFound(_0x2257f0,null))[_0x2815('0x21')](function(_0x301a98){if(_0x301a98){_0x98c69f=_0x301a98['remoteUri'];var _0x5ea7ed=_0x98c69f[_0x2815('0x5a')](-0x1);if(_0x5ea7ed==='/'){_0x98c69f=_0x98c69f[_0x2815('0x5b')](0x0,_0x98c69f[_0x2815('0x5c')](_0x5ea7ed));}_0x7028ba=new jsforce['Connection']({'oauth2':{'loginUrl':_0x98c69f,'clientId':_0x301a98[_0x2815('0x5d')],'clientSecret':_0x301a98['clientSecret']}});return _0x7028ba['login'](_0x301a98[_0x2815('0x5e')],_0x301a98[_0x2815('0x58')][_0x2815('0x5f')](_0x301a98[_0x2815('0x59')]));}})[_0x2815('0x21')](function(_0x4bc915){if(_0x4bc915){if(!_[_0x2815('0x60')](_0x5d2496[_0x2815('0x2d')][_0x2815('0x61')])){_0xd16263=_0x5d2496[_0x2815('0x2d')][_0x2815('0x61')];}return _0x7028ba[_0x2815('0x62')](_0xd16263)[_0x2815('0x63')]();}})['then'](function(_0x2f0336){var _0x58e421=[_0x2815('0x64'),_0x2815('0x65'),_0x2815('0x66'),'IsRecurrence',_0x2815('0x67'),_0x2815('0x68')];var _0x54538e=[_0x2815('0x69'),_0x2815('0x6a'),_0x2815('0x6b'),_0x2815('0x6c'),_0x2815('0x6d'),_0x2815('0x6e'),_0x2815('0x6f')];if(_0x2f0336){_[_0x2815('0x70')](_0x2f0336[_0x2815('0x31')],function(_0xf8c662){return _0x58e421[_0x2815('0x71')](_0xf8c662[_0x2815('0x27')])||!_0x54538e['includes'](_0xf8c662['type']);});return{'count':_0x2f0336['fields']['length'],'rows':_[_0x2815('0x29')](_0x2f0336['fields'],function(_0x1377c8){return{'id':_0x1377c8['name'],'name':_0x1377c8[_0x2815('0x72')],'custom':_0x1377c8[_0x2815('0x73')],'options':_0x1377c8['picklistValues'][_0x2815('0x33')]>0x0?_[_0x2815('0x29')](_0x1377c8[_0x2815('0x74')],function(_0x2ac47b){return{'name':_0x2ac47b['label'],'value':_0x2ac47b['value']};}):_0x1377c8[_0x2815('0x39')]==_0x2815('0x6c')?[{'name':_0x2815('0x75'),'value':_0x2815('0x76')},{'name':_0x2815('0x77'),'value':'false'}]:[]};})};}})[_0x2815('0x21')](respondWithResult(_0x2257f0,null))[_0x2815('0x45')](function(_0x3d47d6){var _0x2b6ca5=_0x5d2496[_0x2815('0x2d')][_0x2815('0x78')]?0x1f4:_0x3d47d6[_0x2815('0x79')]||0x1f4;logger[_0x2815('0x25')](_0x2815('0x7a'),'getFields',_0x2b6ca5,JSON['stringify'](_0x3d47d6));delete _0x3d47d6[_0x2815('0x27')];if(_0x2b6ca5===0x191){_0x2b6ca5=0x190;}_0x2257f0[_0x2815('0x17')](_0x2b6ca5)[_0x2815('0x7b')](_0x5d2496[_0x2815('0x2d')][_0x2815('0x78')]?{'message':_0x2815('0x7c'),'statusCode':_0x3d47d6[_0x2815('0x79')]}:_0x3d47d6);});};