Built motion from commit 21186556.|2.6.19
[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 _0xaed6=['order','sort','where','pick','filter','merge','VIRTUAL','options','SalesforceAccount','findAll','rows','catch','params','include','find','create','body','update','getConfigurations','SalesforceConfiguration','addConfiguration','findOne','AccountId','Subjects','getSubjects','channel','SalesforceField','Task','clientId','clientSecret','username','password','securityToken','remoteUri','slice','substring','Connection','login','concat','isNil','ticketType','sobject','ActivityDate','IsRecurrence','Subject','Description','string','int','boolean','phone','includes','label','custom','picklistValues','value','True','true','False','statusCode','getFields,\x20%s,\x20%s,\x20%s','stringify','send','Wrong\x20credentials','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','ejs','fs-extra','squel','crypto','desk.js','to-csv','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../mysqldb','../../components/integrations/configuration','sendStatus','status','end','offset','limit','undefined','count','set','Content-Range','json','then','destroy','error','name','map','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','nolimit'];(function(_0x5285f9,_0x2bd7d7){var _0x6edc0c=function(_0x5ae671){while(--_0x5ae671){_0x5285f9['push'](_0x5285f9['shift']());}};_0x6edc0c(++_0x2bd7d7);}(_0xaed6,0xb5));var _0x6aed=function(_0x15ddd8,_0x36d611){_0x15ddd8=_0x15ddd8-0x0;var _0x4de35f=_0xaed6[_0x15ddd8];return _0x4de35f;};'use strict';var emlformat=require(_0x6aed('0x0'));var rimraf=require(_0x6aed('0x1'));var zipdir=require(_0x6aed('0x2'));var jsonpatch=require(_0x6aed('0x3'));var rp=require(_0x6aed('0x4'));var moment=require(_0x6aed('0x5'));var BPromise=require(_0x6aed('0x6'));var Mustache=require(_0x6aed('0x7'));var util=require(_0x6aed('0x8'));var path=require('path');var sox=require(_0x6aed('0x9'));var csv=require('to-csv');var ejs=require(_0x6aed('0xa'));var fs=require('fs');var fs_extra=require(_0x6aed('0xb'));var _=require('lodash');var squel=require(_0x6aed('0xc'));var crypto=require(_0x6aed('0xd'));var jsforce=require('jsforce');var deskjs=require(_0x6aed('0xe'));var toCsv=require(_0x6aed('0xf'));var querystring=require('querystring');var Papa=require(_0x6aed('0x10'));var Redis=require(_0x6aed('0x11'));var authService=require(_0x6aed('0x12'));var qs=require(_0x6aed('0x13'));var as=require(_0x6aed('0x14'));var hardwareService=require(_0x6aed('0x15'));var logger=require('../../config/logger')(_0x6aed('0x16'));var utils=require(_0x6aed('0x17'));var config=require(_0x6aed('0x18'));var licenseUtil=require('../../config/license/util');var db=require(_0x6aed('0x19'))['db'];var integrations=require(_0x6aed('0x1a'));function respondWithStatusCode(_0x2febc8,_0x56ed3d){_0x56ed3d=_0x56ed3d||0xcc;return function(_0x1a7ea8){if(_0x1a7ea8){return _0x2febc8[_0x6aed('0x1b')](_0x56ed3d);}return _0x2febc8[_0x6aed('0x1c')](_0x56ed3d)[_0x6aed('0x1d')]();};}function respondWithResult(_0x44c33d,_0x14ee71){_0x14ee71=_0x14ee71||0xc8;return function(_0x58061d){if(_0x58061d){return _0x44c33d['status'](_0x14ee71)['json'](_0x58061d);}};}function respondWithFilteredResult(_0xafad91,_0x2e6362){return function(_0x5e7351){if(_0x5e7351){var _0x4e2a93=typeof _0x2e6362[_0x6aed('0x1e')]==='undefined'&&typeof _0x2e6362[_0x6aed('0x1f')]===_0x6aed('0x20');var _0x2db61f=_0x5e7351[_0x6aed('0x21')];var _0x2785a6=_0x4e2a93?0x0:_0x2e6362['offset'];var _0x1ab6e7=_0x4e2a93?_0x5e7351[_0x6aed('0x21')]:_0x2e6362[_0x6aed('0x1e')]+_0x2e6362['limit'];var _0x39442e;if(_0x1ab6e7>=_0x2db61f){_0x1ab6e7=_0x2db61f;_0x39442e=0xc8;}else{_0x39442e=0xce;}_0xafad91['status'](_0x39442e);return _0xafad91[_0x6aed('0x22')](_0x6aed('0x23'),_0x2785a6+'-'+_0x1ab6e7+'/'+_0x2db61f)[_0x6aed('0x24')](_0x5e7351);}return null;};}function patchUpdates(_0x4e3542){return function(_0x322c7a){try{jsonpatch['apply'](_0x322c7a,_0x4e3542,!![]);}catch(_0x7dbb7c){return BPromise['reject'](_0x7dbb7c);}return _0x322c7a['save']();};}function saveUpdates(_0x2fd8c6,_0x51e216){return function(_0x2c5091){if(_0x2c5091){return _0x2c5091['update'](_0x2fd8c6)[_0x6aed('0x25')](function(_0x43ec4b){return _0x43ec4b;});}return null;};}function removeEntity(_0x195ac3,_0x13d7f3){return function(_0x4fd380){if(_0x4fd380){return _0x4fd380[_0x6aed('0x26')]()[_0x6aed('0x25')](function(){_0x195ac3[_0x6aed('0x1c')](0xcc)[_0x6aed('0x1d')]();});}};}function handleEntityNotFound(_0x394ba7,_0xd89fb0){return function(_0x35c496){if(!_0x35c496){_0x394ba7['sendStatus'](0x194);}return _0x35c496;};}function handleError(_0x2a3b72,_0x3b91de){_0x3b91de=_0x3b91de||0x1f4;return function(_0x12e526){logger[_0x6aed('0x27')](_0x12e526['stack']);if(_0x12e526[_0x6aed('0x28')]){delete _0x12e526[_0x6aed('0x28')];}_0x2a3b72[_0x6aed('0x1c')](_0x3b91de)['send'](_0x12e526);};}exports['index']=function(_0x248acc,_0x2d5472){var _0x5743fd={},_0x3895e4={},_0x26d50b={'count':0x0,'rows':[]};var _0x41a260=_[_0x6aed('0x29')](db['SalesforceAccount'][_0x6aed('0x2a')],function(_0x4f4883){return{'name':_0x4f4883[_0x6aed('0x2b')],'type':_0x4f4883[_0x6aed('0x2c')][_0x6aed('0x2d')]};});_0x3895e4[_0x6aed('0x2e')]=_['map'](_0x41a260,_0x6aed('0x28'));_0x3895e4[_0x6aed('0x2f')]=_[_0x6aed('0x30')](_0x248acc['query']);_0x3895e4[_0x6aed('0x31')]=_[_0x6aed('0x32')](_0x3895e4[_0x6aed('0x2e')],_0x3895e4[_0x6aed('0x2f')]);_0x5743fd[_0x6aed('0x33')]=_[_0x6aed('0x32')](_0x3895e4[_0x6aed('0x2e')],qs[_0x6aed('0x34')](_0x248acc[_0x6aed('0x2f')][_0x6aed('0x34')]));_0x5743fd[_0x6aed('0x33')]=_0x5743fd[_0x6aed('0x33')][_0x6aed('0x35')]?_0x5743fd[_0x6aed('0x33')]:_0x3895e4[_0x6aed('0x2e')];if(!_0x248acc[_0x6aed('0x2f')]['hasOwnProperty'](_0x6aed('0x36'))){_0x5743fd[_0x6aed('0x1f')]=qs[_0x6aed('0x1f')](_0x248acc['query']['limit']);_0x5743fd['offset']=qs[_0x6aed('0x1e')](_0x248acc[_0x6aed('0x2f')][_0x6aed('0x1e')]);}_0x5743fd[_0x6aed('0x37')]=qs[_0x6aed('0x38')](_0x248acc[_0x6aed('0x2f')]['sort']);_0x5743fd[_0x6aed('0x39')]=qs[_0x6aed('0x31')](_[_0x6aed('0x3a')](_0x248acc[_0x6aed('0x2f')],_0x3895e4[_0x6aed('0x31')]),_0x41a260);if(_0x248acc['query'][_0x6aed('0x3b')]){_0x5743fd[_0x6aed('0x39')]=_[_0x6aed('0x3c')](_0x5743fd[_0x6aed('0x39')],{'$or':_[_0x6aed('0x29')](_0x41a260,function(_0xf4628f){if(_0xf4628f[_0x6aed('0x2c')]!==_0x6aed('0x3d')){var _0x43218b={};_0x43218b[_0xf4628f['name']]={'$like':'%'+_0x248acc['query'][_0x6aed('0x3b')]+'%'};return _0x43218b;}})});}_0x5743fd=_['merge']({},_0x5743fd,_0x248acc[_0x6aed('0x3e')]);var _0x18b486={'where':_0x5743fd[_0x6aed('0x39')]};return db[_0x6aed('0x3f')][_0x6aed('0x21')](_0x18b486)[_0x6aed('0x25')](function(_0x4f4a7d){_0x26d50b[_0x6aed('0x21')]=_0x4f4a7d;if(_0x248acc[_0x6aed('0x2f')]['includeAll']){_0x5743fd['include']=[{'all':!![]}];}return db[_0x6aed('0x3f')][_0x6aed('0x40')](_0x5743fd);})['then'](function(_0x151f45){_0x26d50b[_0x6aed('0x41')]=_0x151f45;return _0x26d50b;})[_0x6aed('0x25')](respondWithFilteredResult(_0x2d5472,_0x5743fd))[_0x6aed('0x42')](handleError(_0x2d5472,null));};exports['show']=function(_0x50f18a,_0x38a7fb){var _0x474db9={'raw':![],'where':{'id':_0x50f18a[_0x6aed('0x43')]['id']}},_0x23ede8={};_0x23ede8[_0x6aed('0x2e')]=_[_0x6aed('0x30')](db['SalesforceAccount'][_0x6aed('0x2a')]);_0x23ede8[_0x6aed('0x2f')]=_[_0x6aed('0x30')](_0x50f18a[_0x6aed('0x2f')]);_0x23ede8[_0x6aed('0x31')]=_[_0x6aed('0x32')](_0x23ede8[_0x6aed('0x2e')],_0x23ede8[_0x6aed('0x2f')]);_0x474db9['attributes']=_['intersection'](_0x23ede8[_0x6aed('0x2e')],qs[_0x6aed('0x34')](_0x50f18a['query'][_0x6aed('0x34')]));_0x474db9['attributes']=_0x474db9[_0x6aed('0x33')][_0x6aed('0x35')]?_0x474db9['attributes']:_0x23ede8[_0x6aed('0x2e')];if(_0x50f18a[_0x6aed('0x2f')]['includeAll']){_0x474db9[_0x6aed('0x44')]=[{'all':!![]}];}_0x474db9=_[_0x6aed('0x3c')]({},_0x474db9,_0x50f18a[_0x6aed('0x3e')]);return db[_0x6aed('0x3f')][_0x6aed('0x45')](_0x474db9)['then'](handleEntityNotFound(_0x38a7fb,null))[_0x6aed('0x25')](respondWithResult(_0x38a7fb,null))[_0x6aed('0x42')](handleError(_0x38a7fb,null));};exports['create']=function(_0x4650af,_0x568c2d){return db[_0x6aed('0x3f')][_0x6aed('0x46')](_0x4650af[_0x6aed('0x47')],{})[_0x6aed('0x25')](respondWithResult(_0x568c2d,0xc9))[_0x6aed('0x42')](handleError(_0x568c2d,null));};exports[_0x6aed('0x48')]=function(_0x351de9,_0x171d9f){if(_0x351de9[_0x6aed('0x47')]['id']){delete _0x351de9[_0x6aed('0x47')]['id'];}return db[_0x6aed('0x3f')]['find']({'where':{'id':_0x351de9[_0x6aed('0x43')]['id']}})[_0x6aed('0x25')](handleEntityNotFound(_0x171d9f,null))[_0x6aed('0x25')](saveUpdates(_0x351de9[_0x6aed('0x47')],null))['then'](respondWithResult(_0x171d9f,null))[_0x6aed('0x42')](handleError(_0x171d9f,null));};exports[_0x6aed('0x26')]=function(_0x3afdca,_0x52426a){return db[_0x6aed('0x3f')][_0x6aed('0x45')]({'where':{'id':_0x3afdca[_0x6aed('0x43')]['id']}})[_0x6aed('0x25')](handleEntityNotFound(_0x52426a,null))[_0x6aed('0x25')](removeEntity(_0x52426a,null))[_0x6aed('0x42')](handleError(_0x52426a,null));};exports[_0x6aed('0x49')]=function(_0x12ef93,_0xbbdb4e,_0x4d325d){var _0x29f64d={};var _0x2e9937={};var _0x20d28b;var _0x152c9a;return db[_0x6aed('0x3f')]['findOne']({'where':{'id':_0x12ef93[_0x6aed('0x43')]['id']}})['then'](handleEntityNotFound(_0xbbdb4e,null))[_0x6aed('0x25')](function(_0x867aa8){if(_0x867aa8){_0x20d28b=_0x867aa8;_0x2e9937[_0x6aed('0x2e')]=_[_0x6aed('0x30')](db[_0x6aed('0x4a')][_0x6aed('0x2a')]);_0x2e9937[_0x6aed('0x2f')]=_[_0x6aed('0x30')](_0x12ef93[_0x6aed('0x2f')]);_0x2e9937[_0x6aed('0x31')]=_[_0x6aed('0x32')](_0x2e9937['model'],_0x2e9937['query']);_0x29f64d[_0x6aed('0x33')]=_[_0x6aed('0x32')](_0x2e9937[_0x6aed('0x2e')],qs[_0x6aed('0x34')](_0x12ef93[_0x6aed('0x2f')][_0x6aed('0x34')]));_0x29f64d['attributes']=_0x29f64d[_0x6aed('0x33')][_0x6aed('0x35')]?_0x29f64d[_0x6aed('0x33')]:_0x2e9937[_0x6aed('0x2e')];_0x29f64d['order']=qs[_0x6aed('0x38')](_0x12ef93[_0x6aed('0x2f')][_0x6aed('0x38')]);_0x29f64d[_0x6aed('0x39')]=qs[_0x6aed('0x31')](_[_0x6aed('0x3a')](_0x12ef93['query'],_0x2e9937['filters']));if(_0x12ef93[_0x6aed('0x2f')][_0x6aed('0x3b')]){_0x29f64d['where']=_[_0x6aed('0x3c')](_0x29f64d[_0x6aed('0x39')],{'$or':_[_0x6aed('0x29')](_0x29f64d['attributes'],function(_0x3e4f4c){var _0x20842e={};_0x20842e[_0x3e4f4c]={'$like':'%'+_0x12ef93[_0x6aed('0x2f')]['filter']+'%'};return _0x20842e;})});}_0x29f64d=_[_0x6aed('0x3c')]({},_0x29f64d,_0x12ef93['options']);return _0x20d28b[_0x6aed('0x49')](_0x29f64d);}})['then'](function(_0x16a691){if(_0x16a691){_0x152c9a=_0x16a691[_0x6aed('0x35')];if(!_0x12ef93[_0x6aed('0x2f')]['hasOwnProperty']('nolimit')){_0x29f64d[_0x6aed('0x1f')]=qs[_0x6aed('0x1f')](_0x12ef93[_0x6aed('0x2f')][_0x6aed('0x1f')]);_0x29f64d[_0x6aed('0x1e')]=qs['offset'](_0x12ef93[_0x6aed('0x2f')][_0x6aed('0x1e')]);}return _0x20d28b[_0x6aed('0x49')](_0x29f64d);}})[_0x6aed('0x25')](function(_0x3431c6){if(_0x3431c6){return _0x3431c6?{'count':_0x152c9a,'rows':_0x3431c6}:null;}})[_0x6aed('0x25')](respondWithResult(_0xbbdb4e,null))[_0x6aed('0x42')](handleError(_0xbbdb4e,null));};exports[_0x6aed('0x4b')]=function(_0x5c90a1,_0xdd0124,_0x2ba657){if(_0x5c90a1[_0x6aed('0x47')]['id']){delete _0x5c90a1[_0x6aed('0x47')]['id'];}return db[_0x6aed('0x3f')][_0x6aed('0x4c')]({'where':{'id':_0x5c90a1[_0x6aed('0x43')]['id']}})[_0x6aed('0x25')](handleEntityNotFound(_0xdd0124,null))[_0x6aed('0x25')](function(_0x24e595){if(_0x24e595){_0x5c90a1[_0x6aed('0x47')][_0x6aed('0x4d')]=_0x24e595['id'];_0x5c90a1[_0x6aed('0x47')][_0x6aed('0x4e')]=integrations[_0x6aed('0x4f')](_0x5c90a1[_0x6aed('0x47')][_0x6aed('0x50')],_0x5c90a1['body'][_0x6aed('0x2c')]);_0x5c90a1['body']['Descriptions']=integrations['getDescriptions'](_0x5c90a1[_0x6aed('0x47')][_0x6aed('0x50')],_0x5c90a1[_0x6aed('0x47')][_0x6aed('0x2c')]);return db['SalesforceConfiguration']['create'](_0x5c90a1['body'],{'include':[{'model':db[_0x6aed('0x51')],'as':_0x6aed('0x4e')},{'model':db[_0x6aed('0x51')],'as':'Descriptions'}]});}return null;})['then'](respondWithResult(_0xdd0124,null))[_0x6aed('0x42')](handleError(_0xdd0124,null));};exports['getFields']=function(_0x442d20,_0x236427,_0x3c530b){var _0x2b996c;var _0x240eb3='';var _0x2c78f7=_0x6aed('0x52');return db[_0x6aed('0x3f')][_0x6aed('0x4c')]({'where':{'id':_0x442d20['params']['id']},'attributes':['id','remoteUri',_0x6aed('0x53'),_0x6aed('0x54'),_0x6aed('0x55'),_0x6aed('0x56'),_0x6aed('0x57')]})[_0x6aed('0x25')](handleEntityNotFound(_0x236427,null))[_0x6aed('0x25')](function(_0x5112b2){if(_0x5112b2){_0x240eb3=_0x5112b2[_0x6aed('0x58')];var _0x4b201a=_0x240eb3[_0x6aed('0x59')](-0x1);if(_0x4b201a==='/'){_0x240eb3=_0x240eb3[_0x6aed('0x5a')](0x0,_0x240eb3['lastIndexOf'](_0x4b201a));}_0x2b996c=new jsforce[(_0x6aed('0x5b'))]({'oauth2':{'loginUrl':_0x240eb3,'clientId':_0x5112b2[_0x6aed('0x53')],'clientSecret':_0x5112b2[_0x6aed('0x54')]}});return _0x2b996c[_0x6aed('0x5c')](_0x5112b2[_0x6aed('0x55')],_0x5112b2[_0x6aed('0x56')][_0x6aed('0x5d')](_0x5112b2[_0x6aed('0x57')]));}})[_0x6aed('0x25')](function(_0x1746b2){if(_0x1746b2){if(!_[_0x6aed('0x5e')](_0x442d20[_0x6aed('0x2f')][_0x6aed('0x5f')])){_0x2c78f7=_0x442d20[_0x6aed('0x2f')][_0x6aed('0x5f')];}return _0x2b996c[_0x6aed('0x60')](_0x2c78f7)['describe']();}})['then'](function(_0x4b51d4){var _0x1f7ec8=['OwnerId',_0x6aed('0x61'),'IsReminderSet',_0x6aed('0x62'),_0x6aed('0x63'),_0x6aed('0x64')];var _0x3d370b=[_0x6aed('0x65'),_0x6aed('0x66'),'picklist',_0x6aed('0x67'),'email','textarea',_0x6aed('0x68')];if(_0x4b51d4){_['remove'](_0x4b51d4[_0x6aed('0x34')],function(_0x22162a){return _0x1f7ec8[_0x6aed('0x69')](_0x22162a[_0x6aed('0x28')])||!_0x3d370b[_0x6aed('0x69')](_0x22162a['type']);});return{'count':_0x4b51d4[_0x6aed('0x34')][_0x6aed('0x35')],'rows':_[_0x6aed('0x29')](_0x4b51d4[_0x6aed('0x34')],function(_0x41ccfd){return{'id':_0x41ccfd[_0x6aed('0x28')],'name':_0x41ccfd[_0x6aed('0x6a')],'custom':_0x41ccfd[_0x6aed('0x6b')],'options':_0x41ccfd[_0x6aed('0x6c')][_0x6aed('0x35')]>0x0?_[_0x6aed('0x29')](_0x41ccfd[_0x6aed('0x6c')],function(_0x1ab945){return{'name':_0x1ab945[_0x6aed('0x6a')],'value':_0x1ab945[_0x6aed('0x6d')]};}):_0x41ccfd[_0x6aed('0x2c')]==_0x6aed('0x67')?[{'name':_0x6aed('0x6e'),'value':_0x6aed('0x6f')},{'name':_0x6aed('0x70'),'value':'false'}]:[]};})};}})[_0x6aed('0x25')](respondWithResult(_0x236427,null))[_0x6aed('0x42')](function(_0x6f51a9){var _0x390619=_0x442d20[_0x6aed('0x2f')]['test']?0x1f4:_0x6f51a9[_0x6aed('0x71')]||0x1f4;logger[_0x6aed('0x27')](_0x6aed('0x72'),'getFields',_0x390619,JSON[_0x6aed('0x73')](_0x6f51a9));delete _0x6f51a9[_0x6aed('0x28')];if(_0x390619===0x191){_0x390619=0x190;}_0x236427[_0x6aed('0x1c')](_0x390619)[_0x6aed('0x74')](_0x442d20[_0x6aed('0x2f')]['test']?{'message':_0x6aed('0x75'),'statusCode':_0x6f51a9['statusCode']}:_0x6f51a9);});};