Built motion from commit ac06311e.|2.6.28
[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 _0x2812=['catch','params','find','create','body','getConfigurations','order','addConfiguration','findOne','Subjects','getSubjects','channel','Descriptions','getDescriptions','SalesforceConfiguration','SalesforceField','getFields','Task','remoteUri','clientId','clientSecret','username','password','securityToken','slice','substring','Connection','login','concat','isNil','ticketType','sobject','describe','OwnerId','ActivityDate','IsReminderSet','IsRecurrence','Subject','Description','string','boolean','email','textarea','phone','remove','includes','label','custom','picklistValues','value','true','false','test','statusCode','getFields,\x20%s,\x20%s,\x20%s','stringify','Wrong\x20credentials','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','to-csv','ejs','fs-extra','lodash','squel','jsforce','desk.js','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','undefined','count','offset','limit','apply','reject','save','update','destroy','then','sendStatus','error','stack','name','send','map','SalesforceAccount','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows'];(function(_0x3b7b8a,_0x52c3b0){var _0x441206=function(_0x5d34d3){while(--_0x5d34d3){_0x3b7b8a['push'](_0x3b7b8a['shift']());}};_0x441206(++_0x52c3b0);}(_0x2812,0xb7));var _0x2281=function(_0x337748,_0x402b05){_0x337748=_0x337748-0x0;var _0x3bb03f=_0x2812[_0x337748];return _0x3bb03f;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x2281('0x0'));var zipdir=require(_0x2281('0x1'));var jsonpatch=require(_0x2281('0x2'));var rp=require(_0x2281('0x3'));var moment=require(_0x2281('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x2281('0x5'));var util=require(_0x2281('0x6'));var path=require('path');var sox=require('sox');var csv=require(_0x2281('0x7'));var ejs=require(_0x2281('0x8'));var fs=require('fs');var fs_extra=require(_0x2281('0x9'));var _=require(_0x2281('0xa'));var squel=require(_0x2281('0xb'));var crypto=require('crypto');var jsforce=require(_0x2281('0xc'));var deskjs=require(_0x2281('0xd'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x2281('0xe'));var Redis=require('ioredis');var authService=require(_0x2281('0xf'));var qs=require(_0x2281('0x10'));var as=require(_0x2281('0x11'));var hardwareService=require(_0x2281('0x12'));var logger=require(_0x2281('0x13'))(_0x2281('0x14'));var utils=require('../../config/utils');var config=require(_0x2281('0x15'));var licenseUtil=require(_0x2281('0x16'));var db=require(_0x2281('0x17'))['db'];var integrations=require('../../components/integrations/configuration');function respondWithStatusCode(_0x166766,_0x237c46){_0x237c46=_0x237c46||0xcc;return function(_0xf49abd){if(_0xf49abd){return _0x166766['sendStatus'](_0x237c46);}return _0x166766[_0x2281('0x18')](_0x237c46)[_0x2281('0x19')]();};}function respondWithResult(_0x2d3332,_0x297f8a){_0x297f8a=_0x297f8a||0xc8;return function(_0x3f7557){if(_0x3f7557){return _0x2d3332[_0x2281('0x18')](_0x297f8a)[_0x2281('0x1a')](_0x3f7557);}};}function respondWithFilteredResult(_0x41ecda,_0x4eaac5){return function(_0x46eca4){if(_0x46eca4){var _0x1d119b=typeof _0x4eaac5['offset']===_0x2281('0x1b')&&typeof _0x4eaac5['limit']===_0x2281('0x1b');var _0x39c9ee=_0x46eca4[_0x2281('0x1c')];var _0x24ceae=_0x1d119b?0x0:_0x4eaac5[_0x2281('0x1d')];var _0x39c7d1=_0x1d119b?_0x46eca4[_0x2281('0x1c')]:_0x4eaac5['offset']+_0x4eaac5[_0x2281('0x1e')];var _0x32b35f;if(_0x39c7d1>=_0x39c9ee){_0x39c7d1=_0x39c9ee;_0x32b35f=0xc8;}else{_0x32b35f=0xce;}_0x41ecda[_0x2281('0x18')](_0x32b35f);return _0x41ecda['set']('Content-Range',_0x24ceae+'-'+_0x39c7d1+'/'+_0x39c9ee)['json'](_0x46eca4);}return null;};}function patchUpdates(_0x1e4f6d){return function(_0x117e94){try{jsonpatch[_0x2281('0x1f')](_0x117e94,_0x1e4f6d,!![]);}catch(_0x25be24){return BPromise[_0x2281('0x20')](_0x25be24);}return _0x117e94[_0x2281('0x21')]();};}function saveUpdates(_0x25d7d9,_0x4248d4){return function(_0x582e7a){if(_0x582e7a){return _0x582e7a[_0x2281('0x22')](_0x25d7d9)['then'](function(_0x3bedcf){return _0x3bedcf;});}return null;};}function removeEntity(_0x40cf6f,_0x3c92bd){return function(_0x1315f1){if(_0x1315f1){return _0x1315f1[_0x2281('0x23')]()[_0x2281('0x24')](function(){_0x40cf6f[_0x2281('0x18')](0xcc)[_0x2281('0x19')]();});}};}function handleEntityNotFound(_0x22886e,_0x4c41b0){return function(_0x26ba3d){if(!_0x26ba3d){_0x22886e[_0x2281('0x25')](0x194);}return _0x26ba3d;};}function handleError(_0x822f3d,_0xd2f351){_0xd2f351=_0xd2f351||0x1f4;return function(_0x18de72){logger[_0x2281('0x26')](_0x18de72[_0x2281('0x27')]);if(_0x18de72['name']){delete _0x18de72[_0x2281('0x28')];}_0x822f3d[_0x2281('0x18')](_0xd2f351)[_0x2281('0x29')](_0x18de72);};}exports['index']=function(_0x5d5f73,_0x547f4d){var _0xd9b12e={},_0xd568cf={},_0x478edf={'count':0x0,'rows':[]};var _0x215d78=_[_0x2281('0x2a')](db[_0x2281('0x2b')][_0x2281('0x2c')],function(_0x162626){return{'name':_0x162626[_0x2281('0x2d')],'type':_0x162626[_0x2281('0x2e')][_0x2281('0x2f')]};});_0xd568cf[_0x2281('0x30')]=_['map'](_0x215d78,_0x2281('0x28'));_0xd568cf[_0x2281('0x31')]=_[_0x2281('0x32')](_0x5d5f73[_0x2281('0x31')]);_0xd568cf[_0x2281('0x33')]=_[_0x2281('0x34')](_0xd568cf['model'],_0xd568cf[_0x2281('0x31')]);_0xd9b12e['attributes']=_[_0x2281('0x34')](_0xd568cf[_0x2281('0x30')],qs['fields'](_0x5d5f73[_0x2281('0x31')][_0x2281('0x35')]));_0xd9b12e[_0x2281('0x36')]=_0xd9b12e[_0x2281('0x36')][_0x2281('0x37')]?_0xd9b12e[_0x2281('0x36')]:_0xd568cf['model'];if(!_0x5d5f73[_0x2281('0x31')][_0x2281('0x38')](_0x2281('0x39'))){_0xd9b12e[_0x2281('0x1e')]=qs[_0x2281('0x1e')](_0x5d5f73[_0x2281('0x31')]['limit']);_0xd9b12e['offset']=qs[_0x2281('0x1d')](_0x5d5f73['query'][_0x2281('0x1d')]);}_0xd9b12e['order']=qs[_0x2281('0x3a')](_0x5d5f73[_0x2281('0x31')][_0x2281('0x3a')]);_0xd9b12e[_0x2281('0x3b')]=qs['filters'](_[_0x2281('0x3c')](_0x5d5f73['query'],_0xd568cf[_0x2281('0x33')]),_0x215d78);if(_0x5d5f73[_0x2281('0x31')][_0x2281('0x3d')]){_0xd9b12e['where']=_[_0x2281('0x3e')](_0xd9b12e[_0x2281('0x3b')],{'$or':_[_0x2281('0x2a')](_0x215d78,function(_0x116a24){if(_0x116a24[_0x2281('0x2e')]!==_0x2281('0x3f')){var _0x17773d={};_0x17773d[_0x116a24[_0x2281('0x28')]]={'$like':'%'+_0x5d5f73[_0x2281('0x31')]['filter']+'%'};return _0x17773d;}})});}_0xd9b12e=_[_0x2281('0x3e')]({},_0xd9b12e,_0x5d5f73[_0x2281('0x40')]);var _0x12db40={'where':_0xd9b12e['where']};return db[_0x2281('0x2b')][_0x2281('0x1c')](_0x12db40)[_0x2281('0x24')](function(_0x5047cd){_0x478edf['count']=_0x5047cd;if(_0x5d5f73[_0x2281('0x31')][_0x2281('0x41')]){_0xd9b12e[_0x2281('0x42')]=[{'all':!![]}];}return db[_0x2281('0x2b')][_0x2281('0x43')](_0xd9b12e);})['then'](function(_0x293b69){_0x478edf[_0x2281('0x44')]=_0x293b69;return _0x478edf;})['then'](respondWithFilteredResult(_0x547f4d,_0xd9b12e))[_0x2281('0x45')](handleError(_0x547f4d,null));};exports['show']=function(_0x263340,_0x44c2da){var _0x32b3d0={'raw':![],'where':{'id':_0x263340[_0x2281('0x46')]['id']}},_0x1ab6a2={};_0x1ab6a2['model']=_[_0x2281('0x32')](db['SalesforceAccount'][_0x2281('0x2c')]);_0x1ab6a2[_0x2281('0x31')]=_[_0x2281('0x32')](_0x263340[_0x2281('0x31')]);_0x1ab6a2[_0x2281('0x33')]=_[_0x2281('0x34')](_0x1ab6a2[_0x2281('0x30')],_0x1ab6a2[_0x2281('0x31')]);_0x32b3d0[_0x2281('0x36')]=_[_0x2281('0x34')](_0x1ab6a2[_0x2281('0x30')],qs['fields'](_0x263340['query']['fields']));_0x32b3d0[_0x2281('0x36')]=_0x32b3d0['attributes'][_0x2281('0x37')]?_0x32b3d0[_0x2281('0x36')]:_0x1ab6a2['model'];if(_0x263340['query'][_0x2281('0x41')]){_0x32b3d0[_0x2281('0x42')]=[{'all':!![]}];}_0x32b3d0=_['merge']({},_0x32b3d0,_0x263340[_0x2281('0x40')]);return db['SalesforceAccount'][_0x2281('0x47')](_0x32b3d0)['then'](handleEntityNotFound(_0x44c2da,null))[_0x2281('0x24')](respondWithResult(_0x44c2da,null))[_0x2281('0x45')](handleError(_0x44c2da,null));};exports[_0x2281('0x48')]=function(_0x4ae6ca,_0x3c836e){return db[_0x2281('0x2b')][_0x2281('0x48')](_0x4ae6ca[_0x2281('0x49')],{})[_0x2281('0x24')](respondWithResult(_0x3c836e,0xc9))[_0x2281('0x45')](handleError(_0x3c836e,null));};exports['update']=function(_0x2698ba,_0x5d5712){if(_0x2698ba[_0x2281('0x49')]['id']){delete _0x2698ba[_0x2281('0x49')]['id'];}return db[_0x2281('0x2b')][_0x2281('0x47')]({'where':{'id':_0x2698ba[_0x2281('0x46')]['id']}})[_0x2281('0x24')](handleEntityNotFound(_0x5d5712,null))[_0x2281('0x24')](saveUpdates(_0x2698ba[_0x2281('0x49')],null))[_0x2281('0x24')](respondWithResult(_0x5d5712,null))[_0x2281('0x45')](handleError(_0x5d5712,null));};exports[_0x2281('0x23')]=function(_0x19d162,_0x478cc8){return db[_0x2281('0x2b')][_0x2281('0x47')]({'where':{'id':_0x19d162[_0x2281('0x46')]['id']}})[_0x2281('0x24')](handleEntityNotFound(_0x478cc8,null))[_0x2281('0x24')](removeEntity(_0x478cc8,null))[_0x2281('0x45')](handleError(_0x478cc8,null));};exports[_0x2281('0x4a')]=function(_0x216ae8,_0x3899d8,_0x2dd912){var _0x16a473={};var _0x4108b6={};var _0x13d2fd;var _0x2b0678;return db[_0x2281('0x2b')]['findOne']({'where':{'id':_0x216ae8[_0x2281('0x46')]['id']}})[_0x2281('0x24')](handleEntityNotFound(_0x3899d8,null))[_0x2281('0x24')](function(_0x3d2eb5){if(_0x3d2eb5){_0x13d2fd=_0x3d2eb5;_0x4108b6[_0x2281('0x30')]=_['keys'](db['SalesforceConfiguration'][_0x2281('0x2c')]);_0x4108b6['query']=_[_0x2281('0x32')](_0x216ae8[_0x2281('0x31')]);_0x4108b6[_0x2281('0x33')]=_[_0x2281('0x34')](_0x4108b6[_0x2281('0x30')],_0x4108b6[_0x2281('0x31')]);_0x16a473[_0x2281('0x36')]=_[_0x2281('0x34')](_0x4108b6[_0x2281('0x30')],qs['fields'](_0x216ae8[_0x2281('0x31')][_0x2281('0x35')]));_0x16a473['attributes']=_0x16a473[_0x2281('0x36')][_0x2281('0x37')]?_0x16a473[_0x2281('0x36')]:_0x4108b6[_0x2281('0x30')];_0x16a473[_0x2281('0x4b')]=qs[_0x2281('0x3a')](_0x216ae8[_0x2281('0x31')][_0x2281('0x3a')]);_0x16a473['where']=qs['filters'](_['pick'](_0x216ae8[_0x2281('0x31')],_0x4108b6['filters']));if(_0x216ae8[_0x2281('0x31')][_0x2281('0x3d')]){_0x16a473[_0x2281('0x3b')]=_[_0x2281('0x3e')](_0x16a473[_0x2281('0x3b')],{'$or':_[_0x2281('0x2a')](_0x16a473[_0x2281('0x36')],function(_0x117408){var _0x335c7f={};_0x335c7f[_0x117408]={'$like':'%'+_0x216ae8[_0x2281('0x31')][_0x2281('0x3d')]+'%'};return _0x335c7f;})});}_0x16a473=_[_0x2281('0x3e')]({},_0x16a473,_0x216ae8[_0x2281('0x40')]);return _0x13d2fd[_0x2281('0x4a')](_0x16a473);}})[_0x2281('0x24')](function(_0x351815){if(_0x351815){_0x2b0678=_0x351815[_0x2281('0x37')];if(!_0x216ae8['query'][_0x2281('0x38')](_0x2281('0x39'))){_0x16a473[_0x2281('0x1e')]=qs['limit'](_0x216ae8[_0x2281('0x31')]['limit']);_0x16a473[_0x2281('0x1d')]=qs['offset'](_0x216ae8[_0x2281('0x31')]['offset']);}return _0x13d2fd[_0x2281('0x4a')](_0x16a473);}})[_0x2281('0x24')](function(_0x342684){if(_0x342684){return _0x342684?{'count':_0x2b0678,'rows':_0x342684}:null;}})[_0x2281('0x24')](respondWithResult(_0x3899d8,null))[_0x2281('0x45')](handleError(_0x3899d8,null));};exports[_0x2281('0x4c')]=function(_0x81b44e,_0x3a852d,_0x6177de){if(_0x81b44e['body']['id']){delete _0x81b44e['body']['id'];}return db[_0x2281('0x2b')][_0x2281('0x4d')]({'where':{'id':_0x81b44e[_0x2281('0x46')]['id']}})[_0x2281('0x24')](handleEntityNotFound(_0x3a852d,null))[_0x2281('0x24')](function(_0x1ef25c){if(_0x1ef25c){_0x81b44e[_0x2281('0x49')]['AccountId']=_0x1ef25c['id'];_0x81b44e[_0x2281('0x49')][_0x2281('0x4e')]=integrations[_0x2281('0x4f')](_0x81b44e[_0x2281('0x49')][_0x2281('0x50')],_0x81b44e['body']['type']);_0x81b44e[_0x2281('0x49')][_0x2281('0x51')]=integrations[_0x2281('0x52')](_0x81b44e[_0x2281('0x49')]['channel'],_0x81b44e[_0x2281('0x49')][_0x2281('0x2e')]);return db[_0x2281('0x53')][_0x2281('0x48')](_0x81b44e[_0x2281('0x49')],{'include':[{'model':db['SalesforceField'],'as':_0x2281('0x4e')},{'model':db[_0x2281('0x54')],'as':'Descriptions'}]});}return null;})[_0x2281('0x24')](respondWithResult(_0x3a852d,null))[_0x2281('0x45')](handleError(_0x3a852d,null));};exports[_0x2281('0x55')]=function(_0x4662b6,_0x5ddec3,_0x513eb2){var _0x1b17f4;var _0x3c8aeb='';var _0x1f01a5=_0x2281('0x56');return db[_0x2281('0x2b')][_0x2281('0x4d')]({'where':{'id':_0x4662b6['params']['id']},'attributes':['id',_0x2281('0x57'),_0x2281('0x58'),_0x2281('0x59'),_0x2281('0x5a'),_0x2281('0x5b'),_0x2281('0x5c')]})[_0x2281('0x24')](handleEntityNotFound(_0x5ddec3,null))[_0x2281('0x24')](function(_0xa2caba){if(_0xa2caba){_0x3c8aeb=_0xa2caba[_0x2281('0x57')];var _0x25a796=_0x3c8aeb[_0x2281('0x5d')](-0x1);if(_0x25a796==='/'){_0x3c8aeb=_0x3c8aeb[_0x2281('0x5e')](0x0,_0x3c8aeb['lastIndexOf'](_0x25a796));}_0x1b17f4=new jsforce[(_0x2281('0x5f'))]({'oauth2':{'loginUrl':_0x3c8aeb,'clientId':_0xa2caba[_0x2281('0x58')],'clientSecret':_0xa2caba['clientSecret']}});return _0x1b17f4[_0x2281('0x60')](_0xa2caba[_0x2281('0x5a')],_0xa2caba[_0x2281('0x5b')][_0x2281('0x61')](_0xa2caba['securityToken']));}})[_0x2281('0x24')](function(_0x1af99e){if(_0x1af99e){if(!_[_0x2281('0x62')](_0x4662b6['query'][_0x2281('0x63')])){_0x1f01a5=_0x4662b6[_0x2281('0x31')]['ticketType'];}return _0x1b17f4[_0x2281('0x64')](_0x1f01a5)[_0x2281('0x65')]();}})[_0x2281('0x24')](function(_0x4ee059){var _0x1608a6=[_0x2281('0x66'),_0x2281('0x67'),_0x2281('0x68'),_0x2281('0x69'),_0x2281('0x6a'),_0x2281('0x6b')];var _0x24d45c=[_0x2281('0x6c'),'int','picklist',_0x2281('0x6d'),_0x2281('0x6e'),_0x2281('0x6f'),_0x2281('0x70')];if(_0x4ee059){_[_0x2281('0x71')](_0x4ee059[_0x2281('0x35')],function(_0x5d5abf){return _0x1608a6['includes'](_0x5d5abf[_0x2281('0x28')])||!_0x24d45c[_0x2281('0x72')](_0x5d5abf[_0x2281('0x2e')]);});return{'count':_0x4ee059[_0x2281('0x35')][_0x2281('0x37')],'rows':_[_0x2281('0x2a')](_0x4ee059['fields'],function(_0x3ae4b4){return{'id':_0x3ae4b4[_0x2281('0x28')],'name':_0x3ae4b4[_0x2281('0x73')],'custom':_0x3ae4b4[_0x2281('0x74')],'options':_0x3ae4b4['picklistValues'][_0x2281('0x37')]>0x0?_[_0x2281('0x2a')](_0x3ae4b4[_0x2281('0x75')],function(_0x56c028){return{'name':_0x56c028[_0x2281('0x73')],'value':_0x56c028[_0x2281('0x76')]};}):_0x3ae4b4[_0x2281('0x2e')]==_0x2281('0x6d')?[{'name':'True','value':_0x2281('0x77')},{'name':'False','value':_0x2281('0x78')}]:[]};})};}})[_0x2281('0x24')](respondWithResult(_0x5ddec3,null))[_0x2281('0x45')](function(_0x3da9c4){var _0xd84b1a=_0x4662b6[_0x2281('0x31')][_0x2281('0x79')]?0x1f4:_0x3da9c4[_0x2281('0x7a')]||0x1f4;logger[_0x2281('0x26')](_0x2281('0x7b'),_0x2281('0x55'),_0xd84b1a,JSON[_0x2281('0x7c')](_0x3da9c4));delete _0x3da9c4['name'];if(_0xd84b1a===0x191){_0xd84b1a=0x190;}_0x5ddec3[_0x2281('0x18')](_0xd84b1a)['send'](_0x4662b6[_0x2281('0x31')][_0x2281('0x79')]?{'message':_0x2281('0x7d'),'statusCode':_0x3da9c4[_0x2281('0x7a')]}:_0x3da9c4);});};