Built motion from commit a61a4a20.|2.5.46
[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 _0x7b1c=['false','test','statusCode','getFields,\x20%s,\x20%s,\x20%s','Wrong\x20credentials','eml-format','fast-json-patch','request-promise','moment','bluebird','mustache','path','to-csv','fs-extra','lodash','squel','crypto','jsforce','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','json','undefined','limit','offset','count','Content-Range','apply','reject','save','then','destroy','end','error','stack','name','send','index','map','SalesforceAccount','rawAttributes','fieldName','type','key','query','keys','intersection','model','fields','attributes','hasOwnProperty','nolimit','order','sort','where','filters','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','show','params','length','find','create','body','catch','getConfigurations','findOne','SalesforceConfiguration','addConfiguration','AccountId','getSubjects','channel','getDescriptions','SalesforceField','Subjects','Task','remoteUri','clientSecret','username','Connection','clientId','password','concat','securityToken','ticketType','describe','OwnerId','ActivityDate','IsReminderSet','IsRecurrence','Subject','string','picklist','boolean','email','textarea','remove','label','custom','picklistValues','True','true','False'];(function(_0x1e081a,_0x482d6b){var _0x428209=function(_0x524b53){while(--_0x524b53){_0x1e081a['push'](_0x1e081a['shift']());}};_0x428209(++_0x482d6b);}(_0x7b1c,0x16a));var _0xc7b1=function(_0x441108,_0x3d5b25){_0x441108=_0x441108-0x0;var _0x52a090=_0x7b1c[_0x441108];return _0x52a090;};'use strict';var emlformat=require(_0xc7b1('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0xc7b1('0x1'));var rp=require(_0xc7b1('0x2'));var moment=require(_0xc7b1('0x3'));var BPromise=require(_0xc7b1('0x4'));var Mustache=require(_0xc7b1('0x5'));var util=require('util');var path=require(_0xc7b1('0x6'));var sox=require('sox');var csv=require(_0xc7b1('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xc7b1('0x8'));var _=require(_0xc7b1('0x9'));var squel=require(_0xc7b1('0xa'));var crypto=require(_0xc7b1('0xb'));var jsforce=require(_0xc7b1('0xc'));var deskjs=require('desk.js');var toCsv=require(_0xc7b1('0x7'));var querystring=require(_0xc7b1('0xd'));var Papa=require('papaparse');var Redis=require(_0xc7b1('0xe'));var authService=require(_0xc7b1('0xf'));var qs=require(_0xc7b1('0x10'));var as=require(_0xc7b1('0x11'));var hardwareService=require(_0xc7b1('0x12'));var logger=require('../../config/logger')(_0xc7b1('0x13'));var utils=require(_0xc7b1('0x14'));var config=require(_0xc7b1('0x15'));var licenseUtil=require(_0xc7b1('0x16'));var db=require('../../mysqldb')['db'];var integrations=require('../../components/integrations/configuration');function respondWithStatusCode(_0x7badb2,_0x4f9c9e){_0x4f9c9e=_0x4f9c9e||0xcc;return function(_0x1866cb){if(_0x1866cb){return _0x7badb2[_0xc7b1('0x17')](_0x4f9c9e);}return _0x7badb2[_0xc7b1('0x18')](_0x4f9c9e)['end']();};}function respondWithResult(_0x9002c1,_0x503a41){_0x503a41=_0x503a41||0xc8;return function(_0x3a9ca0){if(_0x3a9ca0){return _0x9002c1[_0xc7b1('0x18')](_0x503a41)[_0xc7b1('0x19')](_0x3a9ca0);}};}function respondWithFilteredResult(_0x48a3dd,_0x4a3e01){return function(_0x2ca270){if(_0x2ca270){var _0x36f756=typeof _0x4a3e01['offset']===_0xc7b1('0x1a')&&typeof _0x4a3e01[_0xc7b1('0x1b')]==='undefined';var _0x65e786=_0x2ca270['count'];var _0x2a2d87=_0x36f756?0x0:_0x4a3e01[_0xc7b1('0x1c')];var _0x4c3f8b=_0x36f756?_0x2ca270[_0xc7b1('0x1d')]:_0x4a3e01['offset']+_0x4a3e01['limit'];var _0x1b80d8;if(_0x4c3f8b>=_0x65e786){_0x4c3f8b=_0x65e786;_0x1b80d8=0xc8;}else{_0x1b80d8=0xce;}_0x48a3dd[_0xc7b1('0x18')](_0x1b80d8);return _0x48a3dd['set'](_0xc7b1('0x1e'),_0x2a2d87+'-'+_0x4c3f8b+'/'+_0x65e786)[_0xc7b1('0x19')](_0x2ca270);}return null;};}function patchUpdates(_0xa70851){return function(_0x29211a){try{jsonpatch[_0xc7b1('0x1f')](_0x29211a,_0xa70851,!![]);}catch(_0x37f18a){return BPromise[_0xc7b1('0x20')](_0x37f18a);}return _0x29211a[_0xc7b1('0x21')]();};}function saveUpdates(_0x32d826,_0x19b94d){return function(_0x16b9b3){if(_0x16b9b3){return _0x16b9b3['update'](_0x32d826)[_0xc7b1('0x22')](function(_0x114b81){return _0x114b81;});}return null;};}function removeEntity(_0xaa7609,_0x4b8770){return function(_0x25dcb0){if(_0x25dcb0){return _0x25dcb0[_0xc7b1('0x23')]()[_0xc7b1('0x22')](function(){_0xaa7609['status'](0xcc)[_0xc7b1('0x24')]();});}};}function handleEntityNotFound(_0x33f266,_0x5d34be){return function(_0x16b221){if(!_0x16b221){_0x33f266[_0xc7b1('0x17')](0x194);}return _0x16b221;};}function handleError(_0x1c1cbe,_0xb920f){_0xb920f=_0xb920f||0x1f4;return function(_0x1dc3b4){logger[_0xc7b1('0x25')](_0x1dc3b4[_0xc7b1('0x26')]);if(_0x1dc3b4[_0xc7b1('0x27')]){delete _0x1dc3b4[_0xc7b1('0x27')];}_0x1c1cbe[_0xc7b1('0x18')](_0xb920f)[_0xc7b1('0x28')](_0x1dc3b4);};}exports[_0xc7b1('0x29')]=function(_0x160455,_0x55ae7f){var _0x4c5e66={},_0x31848d={},_0x28d9e3={'count':0x0,'rows':[]};var _0x381fc0=_[_0xc7b1('0x2a')](db[_0xc7b1('0x2b')][_0xc7b1('0x2c')],function(_0x266767){return{'name':_0x266767[_0xc7b1('0x2d')],'type':_0x266767[_0xc7b1('0x2e')][_0xc7b1('0x2f')]};});_0x31848d['model']=_[_0xc7b1('0x2a')](_0x381fc0,_0xc7b1('0x27'));_0x31848d[_0xc7b1('0x30')]=_[_0xc7b1('0x31')](_0x160455[_0xc7b1('0x30')]);_0x31848d['filters']=_[_0xc7b1('0x32')](_0x31848d[_0xc7b1('0x33')],_0x31848d[_0xc7b1('0x30')]);_0x4c5e66['attributes']=_['intersection'](_0x31848d[_0xc7b1('0x33')],qs[_0xc7b1('0x34')](_0x160455['query'][_0xc7b1('0x34')]));_0x4c5e66[_0xc7b1('0x35')]=_0x4c5e66['attributes']['length']?_0x4c5e66['attributes']:_0x31848d['model'];if(!_0x160455[_0xc7b1('0x30')][_0xc7b1('0x36')](_0xc7b1('0x37'))){_0x4c5e66[_0xc7b1('0x1b')]=qs[_0xc7b1('0x1b')](_0x160455[_0xc7b1('0x30')][_0xc7b1('0x1b')]);_0x4c5e66[_0xc7b1('0x1c')]=qs['offset'](_0x160455['query'][_0xc7b1('0x1c')]);}_0x4c5e66[_0xc7b1('0x38')]=qs[_0xc7b1('0x39')](_0x160455[_0xc7b1('0x30')][_0xc7b1('0x39')]);_0x4c5e66[_0xc7b1('0x3a')]=qs[_0xc7b1('0x3b')](_[_0xc7b1('0x3c')](_0x160455['query'],_0x31848d['filters']),_0x381fc0);if(_0x160455[_0xc7b1('0x30')][_0xc7b1('0x3d')]){_0x4c5e66[_0xc7b1('0x3a')]=_[_0xc7b1('0x3e')](_0x4c5e66[_0xc7b1('0x3a')],{'$or':_[_0xc7b1('0x2a')](_0x381fc0,function(_0x5845b6){if(_0x5845b6['type']!==_0xc7b1('0x3f')){var _0x72b885={};_0x72b885[_0x5845b6[_0xc7b1('0x27')]]={'$like':'%'+_0x160455[_0xc7b1('0x30')]['filter']+'%'};return _0x72b885;}})});}_0x4c5e66=_[_0xc7b1('0x3e')]({},_0x4c5e66,_0x160455[_0xc7b1('0x40')]);var _0x539a12={'where':_0x4c5e66[_0xc7b1('0x3a')]};return db['SalesforceAccount']['count'](_0x539a12)[_0xc7b1('0x22')](function(_0x2c009a){_0x28d9e3['count']=_0x2c009a;if(_0x160455[_0xc7b1('0x30')][_0xc7b1('0x41')]){_0x4c5e66[_0xc7b1('0x42')]=[{'all':!![]}];}return db[_0xc7b1('0x2b')][_0xc7b1('0x43')](_0x4c5e66);})[_0xc7b1('0x22')](function(_0x555b47){_0x28d9e3[_0xc7b1('0x44')]=_0x555b47;return _0x28d9e3;})[_0xc7b1('0x22')](respondWithFilteredResult(_0x55ae7f,_0x4c5e66))['catch'](handleError(_0x55ae7f,null));};exports[_0xc7b1('0x45')]=function(_0x761893,_0xbb9d56){var _0x2240e4={'raw':![],'where':{'id':_0x761893[_0xc7b1('0x46')]['id']}},_0x4fda0f={};_0x4fda0f[_0xc7b1('0x33')]=_[_0xc7b1('0x31')](db[_0xc7b1('0x2b')][_0xc7b1('0x2c')]);_0x4fda0f[_0xc7b1('0x30')]=_['keys'](_0x761893['query']);_0x4fda0f[_0xc7b1('0x3b')]=_[_0xc7b1('0x32')](_0x4fda0f[_0xc7b1('0x33')],_0x4fda0f[_0xc7b1('0x30')]);_0x2240e4['attributes']=_[_0xc7b1('0x32')](_0x4fda0f[_0xc7b1('0x33')],qs[_0xc7b1('0x34')](_0x761893[_0xc7b1('0x30')]['fields']));_0x2240e4['attributes']=_0x2240e4[_0xc7b1('0x35')][_0xc7b1('0x47')]?_0x2240e4[_0xc7b1('0x35')]:_0x4fda0f[_0xc7b1('0x33')];if(_0x761893[_0xc7b1('0x30')]['includeAll']){_0x2240e4[_0xc7b1('0x42')]=[{'all':!![]}];}_0x2240e4=_[_0xc7b1('0x3e')]({},_0x2240e4,_0x761893[_0xc7b1('0x40')]);return db[_0xc7b1('0x2b')][_0xc7b1('0x48')](_0x2240e4)[_0xc7b1('0x22')](handleEntityNotFound(_0xbb9d56,null))['then'](respondWithResult(_0xbb9d56,null))['catch'](handleError(_0xbb9d56,null));};exports[_0xc7b1('0x49')]=function(_0x5e24ed,_0x275d3c){return db['SalesforceAccount'][_0xc7b1('0x49')](_0x5e24ed[_0xc7b1('0x4a')],{})[_0xc7b1('0x22')](respondWithResult(_0x275d3c,0xc9))[_0xc7b1('0x4b')](handleError(_0x275d3c,null));};exports['update']=function(_0x76a8e1,_0x1f7282){if(_0x76a8e1['body']['id']){delete _0x76a8e1[_0xc7b1('0x4a')]['id'];}return db['SalesforceAccount']['find']({'where':{'id':_0x76a8e1[_0xc7b1('0x46')]['id']}})[_0xc7b1('0x22')](handleEntityNotFound(_0x1f7282,null))[_0xc7b1('0x22')](saveUpdates(_0x76a8e1[_0xc7b1('0x4a')],null))[_0xc7b1('0x22')](respondWithResult(_0x1f7282,null))[_0xc7b1('0x4b')](handleError(_0x1f7282,null));};exports[_0xc7b1('0x23')]=function(_0x2b84b7,_0x19052c){return db['SalesforceAccount'][_0xc7b1('0x48')]({'where':{'id':_0x2b84b7['params']['id']}})[_0xc7b1('0x22')](handleEntityNotFound(_0x19052c,null))[_0xc7b1('0x22')](removeEntity(_0x19052c,null))[_0xc7b1('0x4b')](handleError(_0x19052c,null));};exports[_0xc7b1('0x4c')]=function(_0x5cc35c,_0x5893c3,_0x2b0d04){var _0x103dc3={};var _0x12728c={};var _0x294e28;var _0x116eed;return db['SalesforceAccount'][_0xc7b1('0x4d')]({'where':{'id':_0x5cc35c[_0xc7b1('0x46')]['id']}})['then'](handleEntityNotFound(_0x5893c3,null))[_0xc7b1('0x22')](function(_0x4b4977){if(_0x4b4977){_0x294e28=_0x4b4977;_0x12728c[_0xc7b1('0x33')]=_['keys'](db[_0xc7b1('0x4e')]['rawAttributes']);_0x12728c[_0xc7b1('0x30')]=_['keys'](_0x5cc35c[_0xc7b1('0x30')]);_0x12728c[_0xc7b1('0x3b')]=_[_0xc7b1('0x32')](_0x12728c[_0xc7b1('0x33')],_0x12728c[_0xc7b1('0x30')]);_0x103dc3[_0xc7b1('0x35')]=_['intersection'](_0x12728c[_0xc7b1('0x33')],qs[_0xc7b1('0x34')](_0x5cc35c['query'][_0xc7b1('0x34')]));_0x103dc3[_0xc7b1('0x35')]=_0x103dc3[_0xc7b1('0x35')][_0xc7b1('0x47')]?_0x103dc3[_0xc7b1('0x35')]:_0x12728c[_0xc7b1('0x33')];_0x103dc3[_0xc7b1('0x38')]=qs[_0xc7b1('0x39')](_0x5cc35c[_0xc7b1('0x30')][_0xc7b1('0x39')]);_0x103dc3['where']=qs[_0xc7b1('0x3b')](_[_0xc7b1('0x3c')](_0x5cc35c[_0xc7b1('0x30')],_0x12728c[_0xc7b1('0x3b')]));if(_0x5cc35c[_0xc7b1('0x30')]['filter']){_0x103dc3[_0xc7b1('0x3a')]=_[_0xc7b1('0x3e')](_0x103dc3['where'],{'$or':_[_0xc7b1('0x2a')](_0x103dc3[_0xc7b1('0x35')],function(_0x3a0b47){var _0x5be795={};_0x5be795[_0x3a0b47]={'$like':'%'+_0x5cc35c[_0xc7b1('0x30')][_0xc7b1('0x3d')]+'%'};return _0x5be795;})});}_0x103dc3=_[_0xc7b1('0x3e')]({},_0x103dc3,_0x5cc35c[_0xc7b1('0x40')]);return _0x294e28[_0xc7b1('0x4c')](_0x103dc3);}})[_0xc7b1('0x22')](function(_0x498fa3){if(_0x498fa3){_0x116eed=_0x498fa3[_0xc7b1('0x47')];if(!_0x5cc35c[_0xc7b1('0x30')][_0xc7b1('0x36')]('nolimit')){_0x103dc3[_0xc7b1('0x1b')]=qs[_0xc7b1('0x1b')](_0x5cc35c[_0xc7b1('0x30')][_0xc7b1('0x1b')]);_0x103dc3[_0xc7b1('0x1c')]=qs['offset'](_0x5cc35c[_0xc7b1('0x30')][_0xc7b1('0x1c')]);}return _0x294e28['getConfigurations'](_0x103dc3);}})[_0xc7b1('0x22')](function(_0x2efe97){if(_0x2efe97){return _0x2efe97?{'count':_0x116eed,'rows':_0x2efe97}:null;}})[_0xc7b1('0x22')](respondWithResult(_0x5893c3,null))['catch'](handleError(_0x5893c3,null));};exports[_0xc7b1('0x4f')]=function(_0x3d4a5a,_0x284288,_0x45ddb3){if(_0x3d4a5a['body']['id']){delete _0x3d4a5a['body']['id'];}return db[_0xc7b1('0x2b')][_0xc7b1('0x4d')]({'where':{'id':_0x3d4a5a[_0xc7b1('0x46')]['id']}})[_0xc7b1('0x22')](handleEntityNotFound(_0x284288,null))[_0xc7b1('0x22')](function(_0x40183f){if(_0x40183f){_0x3d4a5a[_0xc7b1('0x4a')][_0xc7b1('0x50')]=_0x40183f['id'];_0x3d4a5a[_0xc7b1('0x4a')]['Subjects']=integrations[_0xc7b1('0x51')](_0x3d4a5a[_0xc7b1('0x4a')][_0xc7b1('0x52')],_0x3d4a5a[_0xc7b1('0x4a')][_0xc7b1('0x2e')]);_0x3d4a5a[_0xc7b1('0x4a')]['Descriptions']=integrations[_0xc7b1('0x53')](_0x3d4a5a[_0xc7b1('0x4a')][_0xc7b1('0x52')],_0x3d4a5a['body'][_0xc7b1('0x2e')]);return db[_0xc7b1('0x4e')][_0xc7b1('0x49')](_0x3d4a5a[_0xc7b1('0x4a')],{'include':[{'model':db[_0xc7b1('0x54')],'as':_0xc7b1('0x55')},{'model':db[_0xc7b1('0x54')],'as':'Descriptions'}]});}return null;})[_0xc7b1('0x22')](respondWithResult(_0x284288,null))[_0xc7b1('0x4b')](handleError(_0x284288,null));};exports['getFields']=function(_0x13a082,_0x13c6d8,_0x4873ea){var _0x4f840d;var _0x3e6968='';var _0x6c1c76=_0xc7b1('0x56');return db[_0xc7b1('0x2b')][_0xc7b1('0x4d')]({'where':{'id':_0x13a082[_0xc7b1('0x46')]['id']},'attributes':['id',_0xc7b1('0x57'),'clientId',_0xc7b1('0x58'),_0xc7b1('0x59'),'password','securityToken']})[_0xc7b1('0x22')](handleEntityNotFound(_0x13c6d8,null))[_0xc7b1('0x22')](function(_0x16a157){if(_0x16a157){_0x3e6968=_0x16a157[_0xc7b1('0x57')];var _0xe5ca5a=_0x3e6968['slice'](-0x1);if(_0xe5ca5a==='/'){_0x3e6968=_0x3e6968['substring'](0x0,_0x3e6968['lastIndexOf'](_0xe5ca5a));}_0x4f840d=new jsforce[(_0xc7b1('0x5a'))]({'oauth2':{'loginUrl':_0x3e6968,'clientId':_0x16a157[_0xc7b1('0x5b')],'clientSecret':_0x16a157[_0xc7b1('0x58')]}});return _0x4f840d['login'](_0x16a157[_0xc7b1('0x59')],_0x16a157[_0xc7b1('0x5c')][_0xc7b1('0x5d')](_0x16a157[_0xc7b1('0x5e')]));}})[_0xc7b1('0x22')](function(_0x14b7ae){if(_0x14b7ae){if(!_['isNil'](_0x13a082[_0xc7b1('0x30')]['ticketType'])){_0x6c1c76=_0x13a082[_0xc7b1('0x30')][_0xc7b1('0x5f')];}return _0x4f840d['sobject'](_0x6c1c76)[_0xc7b1('0x60')]();}})[_0xc7b1('0x22')](function(_0x2ddc4e){var _0x1f4146=[_0xc7b1('0x61'),_0xc7b1('0x62'),_0xc7b1('0x63'),_0xc7b1('0x64'),_0xc7b1('0x65'),'Description'];var _0x203732=[_0xc7b1('0x66'),'int',_0xc7b1('0x67'),_0xc7b1('0x68'),_0xc7b1('0x69'),_0xc7b1('0x6a'),'phone'];if(_0x2ddc4e){_[_0xc7b1('0x6b')](_0x2ddc4e['fields'],function(_0x594874){return _0x1f4146['includes'](_0x594874['name'])||!_0x203732['includes'](_0x594874['type']);});return{'count':_0x2ddc4e['fields'][_0xc7b1('0x47')],'rows':_['map'](_0x2ddc4e['fields'],function(_0x2b39eb){return{'id':_0x2b39eb[_0xc7b1('0x27')],'name':_0x2b39eb[_0xc7b1('0x6c')],'custom':_0x2b39eb[_0xc7b1('0x6d')],'options':_0x2b39eb[_0xc7b1('0x6e')][_0xc7b1('0x47')]>0x0?_[_0xc7b1('0x2a')](_0x2b39eb[_0xc7b1('0x6e')],function(_0x23eb5f){return{'name':_0x23eb5f['label'],'value':_0x23eb5f['value']};}):_0x2b39eb[_0xc7b1('0x2e')]=='boolean'?[{'name':_0xc7b1('0x6f'),'value':_0xc7b1('0x70')},{'name':_0xc7b1('0x71'),'value':_0xc7b1('0x72')}]:[]};})};}})['then'](respondWithResult(_0x13c6d8,null))['catch'](function(_0x37f002){var _0x4cc099=_0x13a082[_0xc7b1('0x30')][_0xc7b1('0x73')]?0x1f4:_0x37f002[_0xc7b1('0x74')]||0x1f4;logger[_0xc7b1('0x25')](_0xc7b1('0x75'),'getFields',_0x4cc099,JSON['stringify'](_0x37f002));delete _0x37f002[_0xc7b1('0x27')];if(_0x4cc099===0x191){_0x4cc099=0x190;}_0x13c6d8[_0xc7b1('0x18')](_0x4cc099)[_0xc7b1('0x28')](_0x13a082[_0xc7b1('0x30')][_0xc7b1('0x73')]?{'message':_0xc7b1('0x76'),'statusCode':_0x37f002[_0xc7b1('0x74')]}:_0x37f002);});};