Built motion from commit (unavailable).|2.5.26
[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 _0x26a8=['clientId','login','password','concat','securityToken','isNil','ticketType','describe','OwnerId','ActivityDate','IsReminderSet','Subject','Description','string','int','picklist','email','textarea','phone','includes','label','picklistValues','True','true','False','test','statusCode','getFields,\x20%s,\x20%s,\x20%s','Wrong\x20credentials','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','util','path','sox','to-csv','fs-extra','lodash','desk.js','querystring','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','../../components/integrations/configuration','jayson/promise','client','request','then','info','SalesforceAccount,\x20%s,\x20%s','debug','request\x20sent','stringify','error','code','message','result','catch','sendStatus','status','end','offset','limit','set','json','apply','reject','destroy','stack','name','send','index','map','rawAttributes','type','key','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','filter','merge','where','SalesforceAccount','count','includeAll','include','rows','params','keys','options','find','create','update','body','getConfigurations','findOne','SalesforceConfiguration','AccountId','Subjects','getSubjects','Descriptions','getDescriptions','channel','SalesforceField','getFields','Task','remoteUri','clientSecret','username','substring','lastIndexOf','Connection'];(function(_0x24aeeb,_0x3ae73e){var _0x2a96af=function(_0x2e1ec7){while(--_0x2e1ec7){_0x24aeeb['push'](_0x24aeeb['shift']());}};_0x2a96af(++_0x3ae73e);}(_0x26a8,0x19d));var _0x826a=function(_0x1aa6b3,_0x2d09ea){_0x1aa6b3=_0x1aa6b3-0x0;var _0xf8d8fd=_0x26a8[_0x1aa6b3];return _0xf8d8fd;};'use strict';var emlformat=require(_0x826a('0x0'));var rimraf=require(_0x826a('0x1'));var zipdir=require(_0x826a('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x826a('0x3'));var moment=require(_0x826a('0x4'));var BPromise=require(_0x826a('0x5'));var Mustache=require('mustache');var util=require(_0x826a('0x6'));var path=require(_0x826a('0x7'));var sox=require(_0x826a('0x8'));var csv=require(_0x826a('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x826a('0xa'));var _=require(_0x826a('0xb'));var squel=require('squel');var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x826a('0xc'));var toCsv=require(_0x826a('0x9'));var querystring=require(_0x826a('0xd'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x826a('0xe'));var qs=require('../../components/parsers/qs');var as=require(_0x826a('0xf'));var hardwareService=require(_0x826a('0x10'));var logger=require(_0x826a('0x11'))(_0x826a('0x12'));var utils=require(_0x826a('0x13'));var config=require(_0x826a('0x14'));var licenseUtil=require('../../config/license/util');var db=require(_0x826a('0x15'))['db'];var integrations=require(_0x826a('0x16'));var jayson=require(_0x826a('0x17'));var client=jayson[_0x826a('0x18')]['http']({'port':0x232a});function respondWithRpcPromise(_0x1df75f,_0x51d319,_0x5370c0,_0x473eba){return new BPromise(function(_0x1dd826,_0x1cf978){var _0x4567d1=_0x473eba||client;return _0x4567d1[_0x826a('0x19')](_0x1df75f,_0x5370c0)[_0x826a('0x1a')](function(_0x4fa0b8){logger[_0x826a('0x1b')](_0x826a('0x1c'),_0x51d319,'request\x20sent');logger[_0x826a('0x1d')]('SalesforceAccount,\x20%s,\x20%s,\x20%s',_0x51d319,_0x826a('0x1e'),JSON[_0x826a('0x1f')](_0x4fa0b8));if(_0x4fa0b8[_0x826a('0x20')]){if(_0x4fa0b8[_0x826a('0x20')][_0x826a('0x21')]===0x1f4){logger[_0x826a('0x20')](_0x826a('0x1c'),_0x51d319,_0x4fa0b8[_0x826a('0x20')]['message']);return _0x1cf978(_0x4fa0b8[_0x826a('0x20')]['message']);}logger[_0x826a('0x20')](_0x826a('0x1c'),_0x51d319,_0x4fa0b8[_0x826a('0x20')]['message']);return _0x1dd826(_0x4fa0b8['error'][_0x826a('0x22')]);}else{logger[_0x826a('0x1b')]('SalesforceAccount,\x20%s,\x20%s',_0x51d319,_0x826a('0x1e'));_0x1dd826(_0x4fa0b8[_0x826a('0x23')][_0x826a('0x22')]);}})[_0x826a('0x24')](function(_0x272519){logger[_0x826a('0x20')](_0x826a('0x1c'),_0x51d319,_0x272519);_0x1cf978(_0x272519);});});}function respondWithStatusCode(_0x3402fe,_0x118fe5){_0x118fe5=_0x118fe5||0xcc;return function(_0x1e763c){if(_0x1e763c){return _0x3402fe[_0x826a('0x25')](_0x118fe5);}return _0x3402fe[_0x826a('0x26')](_0x118fe5)[_0x826a('0x27')]();};}function respondWithResult(_0x58727a,_0x1a35e8){_0x1a35e8=_0x1a35e8||0xc8;return function(_0x4ad402){if(_0x4ad402){return _0x58727a[_0x826a('0x26')](_0x1a35e8)['json'](_0x4ad402);}};}function respondWithFilteredResult(_0x2871cc,_0x29f5c0){return function(_0x54bca6){if(_0x54bca6){var _0x1d9b16=_0x54bca6['count'],_0x24c6b4=_0x29f5c0[_0x826a('0x28')],_0x134ccc=_0x29f5c0[_0x826a('0x28')]+_0x29f5c0[_0x826a('0x29')],_0x375db7;if(_0x134ccc>=_0x1d9b16){_0x134ccc=_0x1d9b16;_0x375db7=0xc8;}else{_0x375db7=0xce;}_0x2871cc['status'](_0x375db7);return _0x2871cc[_0x826a('0x2a')]('Content-Range',_0x24c6b4+'-'+_0x134ccc+'/'+_0x1d9b16)[_0x826a('0x2b')](_0x54bca6);}return null;};}function patchUpdates(_0x31181a){return function(_0x32161e){try{jsonpatch[_0x826a('0x2c')](_0x32161e,_0x31181a,!![]);}catch(_0x58c6a6){return BPromise[_0x826a('0x2d')](_0x58c6a6);}return _0x32161e['save']();};}function saveUpdates(_0x3f9233,_0xff084d){return function(_0x34376e){if(_0x34376e){return _0x34376e['update'](_0x3f9233)[_0x826a('0x1a')](function(_0x143ca8){return _0x143ca8;});}return null;};}function removeEntity(_0xb68bbf,_0x642b77){return function(_0x301eb1){if(_0x301eb1){return _0x301eb1[_0x826a('0x2e')]()[_0x826a('0x1a')](function(){_0xb68bbf[_0x826a('0x26')](0xcc)[_0x826a('0x27')]();});}};}function handleEntityNotFound(_0x4b51eb,_0x4142fd){return function(_0x5ca0e0){if(!_0x5ca0e0){_0x4b51eb[_0x826a('0x25')](0x194);}return _0x5ca0e0;};}function handleError(_0x3ab851,_0x1e3150){_0x1e3150=_0x1e3150||0x1f4;return function(_0x5805ed){logger[_0x826a('0x20')](_0x5805ed[_0x826a('0x2f')]);if(_0x5805ed['name']){delete _0x5805ed[_0x826a('0x30')];}_0x3ab851[_0x826a('0x26')](_0x1e3150)[_0x826a('0x31')](_0x5805ed);};}exports[_0x826a('0x32')]=function(_0x14a256,_0x3d25cd){var _0x451d9a={},_0x16e395={},_0x11b773={'count':0x0,'rows':[]};var _0x40de4f=_[_0x826a('0x33')](db['SalesforceAccount'][_0x826a('0x34')],function(_0x3d78c0){return{'name':_0x3d78c0['fieldName'],'type':_0x3d78c0[_0x826a('0x35')][_0x826a('0x36')]};});_0x16e395[_0x826a('0x37')]=_[_0x826a('0x33')](_0x40de4f,_0x826a('0x30'));_0x16e395[_0x826a('0x38')]=_['keys'](_0x14a256[_0x826a('0x38')]);_0x16e395[_0x826a('0x39')]=_[_0x826a('0x3a')](_0x16e395['model'],_0x16e395[_0x826a('0x38')]);_0x451d9a[_0x826a('0x3b')]=_[_0x826a('0x3a')](_0x16e395[_0x826a('0x37')],qs[_0x826a('0x3c')](_0x14a256[_0x826a('0x38')][_0x826a('0x3c')]));_0x451d9a[_0x826a('0x3b')]=_0x451d9a[_0x826a('0x3b')][_0x826a('0x3d')]?_0x451d9a[_0x826a('0x3b')]:_0x16e395[_0x826a('0x37')];if(!_0x14a256[_0x826a('0x38')][_0x826a('0x3e')](_0x826a('0x3f'))){_0x451d9a[_0x826a('0x29')]=qs['limit'](_0x14a256['query']['limit']);_0x451d9a[_0x826a('0x28')]=qs[_0x826a('0x28')](_0x14a256[_0x826a('0x38')][_0x826a('0x28')]);}_0x451d9a[_0x826a('0x40')]=qs[_0x826a('0x41')](_0x14a256[_0x826a('0x38')][_0x826a('0x41')]);_0x451d9a['where']=qs[_0x826a('0x39')](_['pick'](_0x14a256['query'],_0x16e395['filters']),_0x40de4f);if(_0x14a256[_0x826a('0x38')][_0x826a('0x42')]){_0x451d9a['where']=_[_0x826a('0x43')](_0x451d9a[_0x826a('0x44')],{'$or':_['map'](_0x40de4f,function(_0x390bfa){if(_0x390bfa[_0x826a('0x35')]!=='VIRTUAL'){var _0x52def3={};_0x52def3[_0x390bfa[_0x826a('0x30')]]={'$like':'%'+_0x14a256[_0x826a('0x38')][_0x826a('0x42')]+'%'};return _0x52def3;}})});}_0x451d9a=_[_0x826a('0x43')]({},_0x451d9a,_0x14a256['options']);var _0x2c81c3={'where':_0x451d9a['where']};return db[_0x826a('0x45')][_0x826a('0x46')](_0x2c81c3)['then'](function(_0xc79fa5){_0x11b773['count']=_0xc79fa5;if(_0x14a256[_0x826a('0x38')][_0x826a('0x47')]){_0x451d9a[_0x826a('0x48')]=[{'all':!![]}];}return db[_0x826a('0x45')]['findAll'](_0x451d9a);})['then'](function(_0x367b56){_0x11b773[_0x826a('0x49')]=_0x367b56;return _0x11b773;})[_0x826a('0x1a')](respondWithFilteredResult(_0x3d25cd,_0x451d9a))[_0x826a('0x24')](handleError(_0x3d25cd,null));};exports['show']=function(_0x4bda7f,_0x5bb7a9){var _0x3df418={'raw':![],'where':{'id':_0x4bda7f[_0x826a('0x4a')]['id']}},_0x4920c1={};_0x4920c1[_0x826a('0x37')]=_[_0x826a('0x4b')](db[_0x826a('0x45')][_0x826a('0x34')]);_0x4920c1[_0x826a('0x38')]=_[_0x826a('0x4b')](_0x4bda7f['query']);_0x4920c1[_0x826a('0x39')]=_[_0x826a('0x3a')](_0x4920c1[_0x826a('0x37')],_0x4920c1[_0x826a('0x38')]);_0x3df418[_0x826a('0x3b')]=_[_0x826a('0x3a')](_0x4920c1[_0x826a('0x37')],qs[_0x826a('0x3c')](_0x4bda7f['query']['fields']));_0x3df418[_0x826a('0x3b')]=_0x3df418['attributes'][_0x826a('0x3d')]?_0x3df418[_0x826a('0x3b')]:_0x4920c1[_0x826a('0x37')];if(_0x4bda7f[_0x826a('0x38')][_0x826a('0x47')]){_0x3df418['include']=[{'all':!![]}];}_0x3df418=_[_0x826a('0x43')]({},_0x3df418,_0x4bda7f[_0x826a('0x4c')]);return db['SalesforceAccount'][_0x826a('0x4d')](_0x3df418)[_0x826a('0x1a')](handleEntityNotFound(_0x5bb7a9,null))[_0x826a('0x1a')](respondWithResult(_0x5bb7a9,null))[_0x826a('0x24')](handleError(_0x5bb7a9,null));};exports['create']=function(_0x228097,_0x448e25){return db[_0x826a('0x45')][_0x826a('0x4e')](_0x228097['body'],{})[_0x826a('0x1a')](respondWithResult(_0x448e25,0xc9))[_0x826a('0x24')](handleError(_0x448e25,null));};exports[_0x826a('0x4f')]=function(_0x5604de,_0x47835d){if(_0x5604de[_0x826a('0x50')]['id']){delete _0x5604de[_0x826a('0x50')]['id'];}return db['SalesforceAccount'][_0x826a('0x4d')]({'where':{'id':_0x5604de[_0x826a('0x4a')]['id']}})[_0x826a('0x1a')](handleEntityNotFound(_0x47835d,null))[_0x826a('0x1a')](saveUpdates(_0x5604de['body'],null))['then'](respondWithResult(_0x47835d,null))[_0x826a('0x24')](handleError(_0x47835d,null));};exports[_0x826a('0x2e')]=function(_0xfdd3c2,_0x4afde8){return db[_0x826a('0x45')][_0x826a('0x4d')]({'where':{'id':_0xfdd3c2[_0x826a('0x4a')]['id']}})['then'](handleEntityNotFound(_0x4afde8,null))['then'](removeEntity(_0x4afde8,null))[_0x826a('0x24')](handleError(_0x4afde8,null));};exports[_0x826a('0x51')]=function(_0x29f4ee,_0xb24699,_0x1ba3db){var _0x309879={};var _0x4ce00f={};var _0x38b218;var _0x4a53dc;return db['SalesforceAccount'][_0x826a('0x52')]({'where':{'id':_0x29f4ee[_0x826a('0x4a')]['id']}})[_0x826a('0x1a')](handleEntityNotFound(_0xb24699,null))[_0x826a('0x1a')](function(_0x179395){if(_0x179395){_0x38b218=_0x179395;_0x4ce00f[_0x826a('0x37')]=_['keys'](db[_0x826a('0x53')][_0x826a('0x34')]);_0x4ce00f['query']=_[_0x826a('0x4b')](_0x29f4ee['query']);_0x4ce00f['filters']=_[_0x826a('0x3a')](_0x4ce00f[_0x826a('0x37')],_0x4ce00f[_0x826a('0x38')]);_0x309879['attributes']=_[_0x826a('0x3a')](_0x4ce00f[_0x826a('0x37')],qs[_0x826a('0x3c')](_0x29f4ee[_0x826a('0x38')]['fields']));_0x309879['attributes']=_0x309879[_0x826a('0x3b')]['length']?_0x309879[_0x826a('0x3b')]:_0x4ce00f['model'];_0x309879[_0x826a('0x40')]=qs[_0x826a('0x41')](_0x29f4ee['query'][_0x826a('0x41')]);_0x309879[_0x826a('0x44')]=qs['filters'](_['pick'](_0x29f4ee['query'],_0x4ce00f['filters']));if(_0x29f4ee[_0x826a('0x38')]['filter']){_0x309879[_0x826a('0x44')]=_[_0x826a('0x43')](_0x309879['where'],{'$or':_['map'](_0x309879[_0x826a('0x3b')],function(_0xa8b918){var _0x3e75ce={};_0x3e75ce[_0xa8b918]={'$like':'%'+_0x29f4ee[_0x826a('0x38')][_0x826a('0x42')]+'%'};return _0x3e75ce;})});}_0x309879=_['merge']({},_0x309879,_0x29f4ee[_0x826a('0x4c')]);return _0x38b218[_0x826a('0x51')](_0x309879);}})[_0x826a('0x1a')](function(_0x1da1fd){if(_0x1da1fd){_0x4a53dc=_0x1da1fd['length'];if(!_0x29f4ee[_0x826a('0x38')]['hasOwnProperty'](_0x826a('0x3f'))){_0x309879['limit']=qs[_0x826a('0x29')](_0x29f4ee[_0x826a('0x38')][_0x826a('0x29')]);_0x309879['offset']=qs[_0x826a('0x28')](_0x29f4ee['query'][_0x826a('0x28')]);}return _0x38b218[_0x826a('0x51')](_0x309879);}})[_0x826a('0x1a')](function(_0x3c6e09){if(_0x3c6e09){return _0x3c6e09?{'count':_0x4a53dc,'rows':_0x3c6e09}:null;}})[_0x826a('0x1a')](respondWithResult(_0xb24699,null))[_0x826a('0x24')](handleError(_0xb24699,null));};exports['addConfiguration']=function(_0xa6a029,_0x600b74,_0x1c865f){if(_0xa6a029['body']['id']){delete _0xa6a029[_0x826a('0x50')]['id'];}return db[_0x826a('0x45')]['findOne']({'where':{'id':_0xa6a029[_0x826a('0x4a')]['id']}})[_0x826a('0x1a')](handleEntityNotFound(_0x600b74,null))[_0x826a('0x1a')](function(_0x328009){if(_0x328009){_0xa6a029[_0x826a('0x50')][_0x826a('0x54')]=_0x328009['id'];_0xa6a029['body'][_0x826a('0x55')]=integrations[_0x826a('0x56')](_0xa6a029['body']['channel'],_0xa6a029[_0x826a('0x50')][_0x826a('0x35')]);_0xa6a029['body'][_0x826a('0x57')]=integrations[_0x826a('0x58')](_0xa6a029['body'][_0x826a('0x59')],_0xa6a029['body']['type']);return db['SalesforceConfiguration'][_0x826a('0x4e')](_0xa6a029[_0x826a('0x50')],{'include':[{'model':db[_0x826a('0x5a')],'as':_0x826a('0x55')},{'model':db[_0x826a('0x5a')],'as':_0x826a('0x57')}]});}return null;})[_0x826a('0x1a')](respondWithResult(_0x600b74,null))[_0x826a('0x24')](handleError(_0x600b74,null));};exports[_0x826a('0x5b')]=function(_0x1fe6a8,_0x5dbdf8,_0xbe5e09){var _0x105e77;var _0x164704='';var _0x37666b=_0x826a('0x5c');return db[_0x826a('0x45')][_0x826a('0x52')]({'where':{'id':_0x1fe6a8[_0x826a('0x4a')]['id']},'attributes':['id',_0x826a('0x5d'),'clientId',_0x826a('0x5e'),_0x826a('0x5f'),'password','securityToken']})[_0x826a('0x1a')](handleEntityNotFound(_0x5dbdf8,null))[_0x826a('0x1a')](function(_0x5a6f69){if(_0x5a6f69){_0x164704=_0x5a6f69[_0x826a('0x5d')];var _0x3e2f5f=_0x164704['slice'](-0x1);if(_0x3e2f5f==='/'){_0x164704=_0x164704[_0x826a('0x60')](0x0,_0x164704[_0x826a('0x61')](_0x3e2f5f));}_0x105e77=new jsforce[(_0x826a('0x62'))]({'oauth2':{'loginUrl':_0x164704,'clientId':_0x5a6f69[_0x826a('0x63')],'clientSecret':_0x5a6f69[_0x826a('0x5e')]}});return _0x105e77[_0x826a('0x64')](_0x5a6f69[_0x826a('0x5f')],_0x5a6f69[_0x826a('0x65')][_0x826a('0x66')](_0x5a6f69[_0x826a('0x67')]));}})['then'](function(_0x4f1c7c){if(_0x4f1c7c){if(!_[_0x826a('0x68')](_0x1fe6a8[_0x826a('0x38')][_0x826a('0x69')])){_0x37666b=_0x1fe6a8[_0x826a('0x38')][_0x826a('0x69')];}return _0x105e77['sobject'](_0x37666b)[_0x826a('0x6a')]();}})[_0x826a('0x1a')](function(_0x16fc2b){var _0xbc3de0=[_0x826a('0x6b'),_0x826a('0x6c'),_0x826a('0x6d'),'IsRecurrence',_0x826a('0x6e'),_0x826a('0x6f')];var _0x6db229=[_0x826a('0x70'),_0x826a('0x71'),_0x826a('0x72'),'boolean',_0x826a('0x73'),_0x826a('0x74'),_0x826a('0x75')];if(_0x16fc2b){_['remove'](_0x16fc2b[_0x826a('0x3c')],function(_0x3bf420){return _0xbc3de0[_0x826a('0x76')](_0x3bf420[_0x826a('0x30')])||!_0x6db229[_0x826a('0x76')](_0x3bf420[_0x826a('0x35')]);});return{'count':_0x16fc2b['fields'][_0x826a('0x3d')],'rows':_[_0x826a('0x33')](_0x16fc2b['fields'],function(_0x36fb31){return{'id':_0x36fb31[_0x826a('0x30')],'name':_0x36fb31[_0x826a('0x77')],'custom':_0x36fb31['custom'],'options':_0x36fb31['picklistValues'][_0x826a('0x3d')]>0x0?_[_0x826a('0x33')](_0x36fb31[_0x826a('0x78')],function(_0x52af57){return{'name':_0x52af57['label'],'value':_0x52af57['value']};}):_0x36fb31[_0x826a('0x35')]=='boolean'?[{'name':_0x826a('0x79'),'value':_0x826a('0x7a')},{'name':_0x826a('0x7b'),'value':'false'}]:[]};})};}})[_0x826a('0x1a')](respondWithResult(_0x5dbdf8,null))['catch'](function(_0x5d1e5a){var _0x3b30a9=_0x1fe6a8[_0x826a('0x38')][_0x826a('0x7c')]?0x1f4:_0x5d1e5a[_0x826a('0x7d')]||0x1f4;logger[_0x826a('0x20')](_0x826a('0x7e'),_0x826a('0x5b'),_0x3b30a9,JSON[_0x826a('0x1f')](_0x5d1e5a));delete _0x5d1e5a[_0x826a('0x30')];if(_0x3b30a9===0x191){_0x3b30a9=0x190;}_0x5dbdf8[_0x826a('0x26')](_0x3b30a9)[_0x826a('0x31')](_0x1fe6a8[_0x826a('0x38')]['test']?{'message':_0x826a('0x7f'),'statusCode':_0x5d1e5a[_0x826a('0x7d')]}:_0x5d1e5a);});};