Built motion from commit 44377920.|2.6.11
[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 _0x6c33=['desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../mysqldb','../../components/integrations/configuration','sendStatus','status','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','then','destroy','error','stack','name','send','index','map','SalesforceAccount','rawAttributes','fieldName','type','key','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','pick','filter','VIRTUAL','merge','options','include','findAll','rows','catch','show','params','keys','includeAll','find','create','body','update','getConfigurations','findOne','SalesforceConfiguration','order','addConfiguration','AccountId','getSubjects','channel','Descriptions','SalesforceField','Task','remoteUri','clientId','clientSecret','username','securityToken','slice','lastIndexOf','Connection','login','password','concat','isNil','ticketType','describe','OwnerId','ActivityDate','IsReminderSet','IsRecurrence','Subject','Description','string','int','picklist','email','textarea','remove','includes','label','custom','picklistValues','boolean','True','true','False','false','statusCode','getFields,\x20%s,\x20%s,\x20%s','getFields','test','eml-format','zip-dir','request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','fs-extra','lodash','squel','crypto'];(function(_0x556ff6,_0x308db4){var _0x242cc3=function(_0x989eb){while(--_0x989eb){_0x556ff6['push'](_0x556ff6['shift']());}};_0x242cc3(++_0x308db4);}(_0x6c33,0x70));var _0x36c3=function(_0x221eda,_0xcf03bf){_0x221eda=_0x221eda-0x0;var _0x132929=_0x6c33[_0x221eda];return _0x132929;};'use strict';var emlformat=require(_0x36c3('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x36c3('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x36c3('0x2'));var moment=require(_0x36c3('0x3'));var BPromise=require(_0x36c3('0x4'));var Mustache=require(_0x36c3('0x5'));var util=require(_0x36c3('0x6'));var path=require(_0x36c3('0x7'));var sox=require('sox');var csv=require(_0x36c3('0x8'));var ejs=require(_0x36c3('0x9'));var fs=require('fs');var fs_extra=require(_0x36c3('0xa'));var _=require(_0x36c3('0xb'));var squel=require(_0x36c3('0xc'));var crypto=require(_0x36c3('0xd'));var jsforce=require('jsforce');var deskjs=require(_0x36c3('0xe'));var toCsv=require(_0x36c3('0x8'));var querystring=require(_0x36c3('0xf'));var Papa=require(_0x36c3('0x10'));var Redis=require(_0x36c3('0x11'));var authService=require('../../components/auth/service');var qs=require(_0x36c3('0x12'));var as=require(_0x36c3('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x36c3('0x14'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x36c3('0x15'))['db'];var integrations=require(_0x36c3('0x16'));function respondWithStatusCode(_0x13f5be,_0x163092){_0x163092=_0x163092||0xcc;return function(_0x1a214b){if(_0x1a214b){return _0x13f5be[_0x36c3('0x17')](_0x163092);}return _0x13f5be[_0x36c3('0x18')](_0x163092)['end']();};}function respondWithResult(_0x4b4c1a,_0x57bb2c){_0x57bb2c=_0x57bb2c||0xc8;return function(_0x4b3f1c){if(_0x4b3f1c){return _0x4b4c1a[_0x36c3('0x18')](_0x57bb2c)[_0x36c3('0x19')](_0x4b3f1c);}};}function respondWithFilteredResult(_0x5e6e64,_0x1f2497){return function(_0x4cc079){if(_0x4cc079){var _0x48a9e4=typeof _0x1f2497[_0x36c3('0x1a')]===_0x36c3('0x1b')&&typeof _0x1f2497[_0x36c3('0x1c')]==='undefined';var _0x10c31b=_0x4cc079[_0x36c3('0x1d')];var _0x28ee6e=_0x48a9e4?0x0:_0x1f2497[_0x36c3('0x1a')];var _0x336028=_0x48a9e4?_0x4cc079[_0x36c3('0x1d')]:_0x1f2497[_0x36c3('0x1a')]+_0x1f2497[_0x36c3('0x1c')];var _0x31b423;if(_0x336028>=_0x10c31b){_0x336028=_0x10c31b;_0x31b423=0xc8;}else{_0x31b423=0xce;}_0x5e6e64[_0x36c3('0x18')](_0x31b423);return _0x5e6e64[_0x36c3('0x1e')](_0x36c3('0x1f'),_0x28ee6e+'-'+_0x336028+'/'+_0x10c31b)[_0x36c3('0x19')](_0x4cc079);}return null;};}function patchUpdates(_0x50b1a0){return function(_0x53cf3e){try{jsonpatch[_0x36c3('0x20')](_0x53cf3e,_0x50b1a0,!![]);}catch(_0x22bb3c){return BPromise[_0x36c3('0x21')](_0x22bb3c);}return _0x53cf3e[_0x36c3('0x22')]();};}function saveUpdates(_0x4f32fb,_0x56919c){return function(_0x460ece){if(_0x460ece){return _0x460ece['update'](_0x4f32fb)[_0x36c3('0x23')](function(_0x59905a){return _0x59905a;});}return null;};}function removeEntity(_0x7d2536,_0x2d80f9){return function(_0x8ec0f4){if(_0x8ec0f4){return _0x8ec0f4[_0x36c3('0x24')]()[_0x36c3('0x23')](function(){_0x7d2536[_0x36c3('0x18')](0xcc)['end']();});}};}function handleEntityNotFound(_0x42ec3d,_0x1a1122){return function(_0x4eb26d){if(!_0x4eb26d){_0x42ec3d['sendStatus'](0x194);}return _0x4eb26d;};}function handleError(_0x49ec92,_0xfbc4ab){_0xfbc4ab=_0xfbc4ab||0x1f4;return function(_0x378ce1){logger[_0x36c3('0x25')](_0x378ce1[_0x36c3('0x26')]);if(_0x378ce1[_0x36c3('0x27')]){delete _0x378ce1[_0x36c3('0x27')];}_0x49ec92[_0x36c3('0x18')](_0xfbc4ab)[_0x36c3('0x28')](_0x378ce1);};}exports[_0x36c3('0x29')]=function(_0x3d54f7,_0x51e45e){var _0xb4f190={},_0x117c87={},_0x3e5626={'count':0x0,'rows':[]};var _0x5717e0=_[_0x36c3('0x2a')](db[_0x36c3('0x2b')][_0x36c3('0x2c')],function(_0x2059bb){return{'name':_0x2059bb[_0x36c3('0x2d')],'type':_0x2059bb[_0x36c3('0x2e')][_0x36c3('0x2f')]};});_0x117c87[_0x36c3('0x30')]=_[_0x36c3('0x2a')](_0x5717e0,_0x36c3('0x27'));_0x117c87[_0x36c3('0x31')]=_['keys'](_0x3d54f7[_0x36c3('0x31')]);_0x117c87[_0x36c3('0x32')]=_[_0x36c3('0x33')](_0x117c87[_0x36c3('0x30')],_0x117c87[_0x36c3('0x31')]);_0xb4f190[_0x36c3('0x34')]=_[_0x36c3('0x33')](_0x117c87['model'],qs[_0x36c3('0x35')](_0x3d54f7[_0x36c3('0x31')][_0x36c3('0x35')]));_0xb4f190[_0x36c3('0x34')]=_0xb4f190[_0x36c3('0x34')][_0x36c3('0x36')]?_0xb4f190[_0x36c3('0x34')]:_0x117c87[_0x36c3('0x30')];if(!_0x3d54f7[_0x36c3('0x31')][_0x36c3('0x37')](_0x36c3('0x38'))){_0xb4f190[_0x36c3('0x1c')]=qs[_0x36c3('0x1c')](_0x3d54f7[_0x36c3('0x31')]['limit']);_0xb4f190[_0x36c3('0x1a')]=qs[_0x36c3('0x1a')](_0x3d54f7[_0x36c3('0x31')][_0x36c3('0x1a')]);}_0xb4f190['order']=qs[_0x36c3('0x39')](_0x3d54f7[_0x36c3('0x31')][_0x36c3('0x39')]);_0xb4f190[_0x36c3('0x3a')]=qs[_0x36c3('0x32')](_[_0x36c3('0x3b')](_0x3d54f7[_0x36c3('0x31')],_0x117c87[_0x36c3('0x32')]),_0x5717e0);if(_0x3d54f7[_0x36c3('0x31')][_0x36c3('0x3c')]){_0xb4f190[_0x36c3('0x3a')]=_['merge'](_0xb4f190[_0x36c3('0x3a')],{'$or':_[_0x36c3('0x2a')](_0x5717e0,function(_0x5d8467){if(_0x5d8467[_0x36c3('0x2e')]!==_0x36c3('0x3d')){var _0x5cd131={};_0x5cd131[_0x5d8467[_0x36c3('0x27')]]={'$like':'%'+_0x3d54f7[_0x36c3('0x31')][_0x36c3('0x3c')]+'%'};return _0x5cd131;}})});}_0xb4f190=_[_0x36c3('0x3e')]({},_0xb4f190,_0x3d54f7[_0x36c3('0x3f')]);var _0x3ecd90={'where':_0xb4f190[_0x36c3('0x3a')]};return db[_0x36c3('0x2b')]['count'](_0x3ecd90)['then'](function(_0x6fad0f){_0x3e5626[_0x36c3('0x1d')]=_0x6fad0f;if(_0x3d54f7[_0x36c3('0x31')]['includeAll']){_0xb4f190[_0x36c3('0x40')]=[{'all':!![]}];}return db[_0x36c3('0x2b')][_0x36c3('0x41')](_0xb4f190);})[_0x36c3('0x23')](function(_0x43b74f){_0x3e5626[_0x36c3('0x42')]=_0x43b74f;return _0x3e5626;})[_0x36c3('0x23')](respondWithFilteredResult(_0x51e45e,_0xb4f190))[_0x36c3('0x43')](handleError(_0x51e45e,null));};exports[_0x36c3('0x44')]=function(_0x566f33,_0x1f7650){var _0x22d434={'raw':![],'where':{'id':_0x566f33[_0x36c3('0x45')]['id']}},_0x3a04a6={};_0x3a04a6[_0x36c3('0x30')]=_['keys'](db[_0x36c3('0x2b')][_0x36c3('0x2c')]);_0x3a04a6[_0x36c3('0x31')]=_[_0x36c3('0x46')](_0x566f33['query']);_0x3a04a6['filters']=_[_0x36c3('0x33')](_0x3a04a6['model'],_0x3a04a6[_0x36c3('0x31')]);_0x22d434['attributes']=_[_0x36c3('0x33')](_0x3a04a6[_0x36c3('0x30')],qs[_0x36c3('0x35')](_0x566f33['query']['fields']));_0x22d434[_0x36c3('0x34')]=_0x22d434[_0x36c3('0x34')][_0x36c3('0x36')]?_0x22d434[_0x36c3('0x34')]:_0x3a04a6[_0x36c3('0x30')];if(_0x566f33[_0x36c3('0x31')][_0x36c3('0x47')]){_0x22d434[_0x36c3('0x40')]=[{'all':!![]}];}_0x22d434=_[_0x36c3('0x3e')]({},_0x22d434,_0x566f33[_0x36c3('0x3f')]);return db['SalesforceAccount'][_0x36c3('0x48')](_0x22d434)[_0x36c3('0x23')](handleEntityNotFound(_0x1f7650,null))[_0x36c3('0x23')](respondWithResult(_0x1f7650,null))[_0x36c3('0x43')](handleError(_0x1f7650,null));};exports[_0x36c3('0x49')]=function(_0x4f8a92,_0x2cb73f){return db[_0x36c3('0x2b')][_0x36c3('0x49')](_0x4f8a92[_0x36c3('0x4a')],{})[_0x36c3('0x23')](respondWithResult(_0x2cb73f,0xc9))[_0x36c3('0x43')](handleError(_0x2cb73f,null));};exports[_0x36c3('0x4b')]=function(_0x24e5a7,_0x1961fe){if(_0x24e5a7[_0x36c3('0x4a')]['id']){delete _0x24e5a7[_0x36c3('0x4a')]['id'];}return db[_0x36c3('0x2b')][_0x36c3('0x48')]({'where':{'id':_0x24e5a7['params']['id']}})['then'](handleEntityNotFound(_0x1961fe,null))[_0x36c3('0x23')](saveUpdates(_0x24e5a7['body'],null))[_0x36c3('0x23')](respondWithResult(_0x1961fe,null))[_0x36c3('0x43')](handleError(_0x1961fe,null));};exports[_0x36c3('0x24')]=function(_0x14e62a,_0x25a91e){return db[_0x36c3('0x2b')][_0x36c3('0x48')]({'where':{'id':_0x14e62a[_0x36c3('0x45')]['id']}})['then'](handleEntityNotFound(_0x25a91e,null))['then'](removeEntity(_0x25a91e,null))[_0x36c3('0x43')](handleError(_0x25a91e,null));};exports[_0x36c3('0x4c')]=function(_0x1cc63b,_0x3ec46c,_0x31f7a0){var _0x1c0a2b={};var _0x228ace={};var _0x308af5;var _0x1a8a3e;return db[_0x36c3('0x2b')][_0x36c3('0x4d')]({'where':{'id':_0x1cc63b[_0x36c3('0x45')]['id']}})['then'](handleEntityNotFound(_0x3ec46c,null))[_0x36c3('0x23')](function(_0x39000c){if(_0x39000c){_0x308af5=_0x39000c;_0x228ace[_0x36c3('0x30')]=_['keys'](db[_0x36c3('0x4e')][_0x36c3('0x2c')]);_0x228ace[_0x36c3('0x31')]=_['keys'](_0x1cc63b[_0x36c3('0x31')]);_0x228ace[_0x36c3('0x32')]=_['intersection'](_0x228ace['model'],_0x228ace[_0x36c3('0x31')]);_0x1c0a2b[_0x36c3('0x34')]=_['intersection'](_0x228ace[_0x36c3('0x30')],qs[_0x36c3('0x35')](_0x1cc63b[_0x36c3('0x31')][_0x36c3('0x35')]));_0x1c0a2b['attributes']=_0x1c0a2b['attributes']['length']?_0x1c0a2b[_0x36c3('0x34')]:_0x228ace['model'];_0x1c0a2b[_0x36c3('0x4f')]=qs[_0x36c3('0x39')](_0x1cc63b[_0x36c3('0x31')][_0x36c3('0x39')]);_0x1c0a2b[_0x36c3('0x3a')]=qs[_0x36c3('0x32')](_[_0x36c3('0x3b')](_0x1cc63b[_0x36c3('0x31')],_0x228ace[_0x36c3('0x32')]));if(_0x1cc63b[_0x36c3('0x31')][_0x36c3('0x3c')]){_0x1c0a2b[_0x36c3('0x3a')]=_[_0x36c3('0x3e')](_0x1c0a2b[_0x36c3('0x3a')],{'$or':_[_0x36c3('0x2a')](_0x1c0a2b['attributes'],function(_0x1ab586){var _0x4c8ac2={};_0x4c8ac2[_0x1ab586]={'$like':'%'+_0x1cc63b['query'][_0x36c3('0x3c')]+'%'};return _0x4c8ac2;})});}_0x1c0a2b=_[_0x36c3('0x3e')]({},_0x1c0a2b,_0x1cc63b[_0x36c3('0x3f')]);return _0x308af5[_0x36c3('0x4c')](_0x1c0a2b);}})[_0x36c3('0x23')](function(_0x47f92f){if(_0x47f92f){_0x1a8a3e=_0x47f92f[_0x36c3('0x36')];if(!_0x1cc63b[_0x36c3('0x31')][_0x36c3('0x37')](_0x36c3('0x38'))){_0x1c0a2b[_0x36c3('0x1c')]=qs[_0x36c3('0x1c')](_0x1cc63b['query'][_0x36c3('0x1c')]);_0x1c0a2b[_0x36c3('0x1a')]=qs[_0x36c3('0x1a')](_0x1cc63b[_0x36c3('0x31')]['offset']);}return _0x308af5[_0x36c3('0x4c')](_0x1c0a2b);}})[_0x36c3('0x23')](function(_0x47817d){if(_0x47817d){return _0x47817d?{'count':_0x1a8a3e,'rows':_0x47817d}:null;}})[_0x36c3('0x23')](respondWithResult(_0x3ec46c,null))[_0x36c3('0x43')](handleError(_0x3ec46c,null));};exports[_0x36c3('0x50')]=function(_0x458032,_0x5d177c,_0x17327d){if(_0x458032['body']['id']){delete _0x458032[_0x36c3('0x4a')]['id'];}return db['SalesforceAccount']['findOne']({'where':{'id':_0x458032[_0x36c3('0x45')]['id']}})['then'](handleEntityNotFound(_0x5d177c,null))[_0x36c3('0x23')](function(_0x1d27eb){if(_0x1d27eb){_0x458032['body'][_0x36c3('0x51')]=_0x1d27eb['id'];_0x458032['body']['Subjects']=integrations[_0x36c3('0x52')](_0x458032[_0x36c3('0x4a')][_0x36c3('0x53')],_0x458032[_0x36c3('0x4a')][_0x36c3('0x2e')]);_0x458032['body'][_0x36c3('0x54')]=integrations['getDescriptions'](_0x458032[_0x36c3('0x4a')][_0x36c3('0x53')],_0x458032[_0x36c3('0x4a')][_0x36c3('0x2e')]);return db[_0x36c3('0x4e')][_0x36c3('0x49')](_0x458032[_0x36c3('0x4a')],{'include':[{'model':db[_0x36c3('0x55')],'as':'Subjects'},{'model':db['SalesforceField'],'as':_0x36c3('0x54')}]});}return null;})[_0x36c3('0x23')](respondWithResult(_0x5d177c,null))[_0x36c3('0x43')](handleError(_0x5d177c,null));};exports['getFields']=function(_0x2030a2,_0x5ce347,_0x57897b){var _0x524f4e;var _0x31893f='';var _0x1e2c76=_0x36c3('0x56');return db[_0x36c3('0x2b')][_0x36c3('0x4d')]({'where':{'id':_0x2030a2[_0x36c3('0x45')]['id']},'attributes':['id',_0x36c3('0x57'),_0x36c3('0x58'),_0x36c3('0x59'),_0x36c3('0x5a'),'password',_0x36c3('0x5b')]})[_0x36c3('0x23')](handleEntityNotFound(_0x5ce347,null))[_0x36c3('0x23')](function(_0xd4457f){if(_0xd4457f){_0x31893f=_0xd4457f[_0x36c3('0x57')];var _0x118add=_0x31893f[_0x36c3('0x5c')](-0x1);if(_0x118add==='/'){_0x31893f=_0x31893f['substring'](0x0,_0x31893f[_0x36c3('0x5d')](_0x118add));}_0x524f4e=new jsforce[(_0x36c3('0x5e'))]({'oauth2':{'loginUrl':_0x31893f,'clientId':_0xd4457f[_0x36c3('0x58')],'clientSecret':_0xd4457f[_0x36c3('0x59')]}});return _0x524f4e[_0x36c3('0x5f')](_0xd4457f[_0x36c3('0x5a')],_0xd4457f[_0x36c3('0x60')][_0x36c3('0x61')](_0xd4457f[_0x36c3('0x5b')]));}})[_0x36c3('0x23')](function(_0x33821f){if(_0x33821f){if(!_[_0x36c3('0x62')](_0x2030a2[_0x36c3('0x31')][_0x36c3('0x63')])){_0x1e2c76=_0x2030a2[_0x36c3('0x31')]['ticketType'];}return _0x524f4e['sobject'](_0x1e2c76)[_0x36c3('0x64')]();}})[_0x36c3('0x23')](function(_0x4245e7){var _0x56f354=[_0x36c3('0x65'),_0x36c3('0x66'),_0x36c3('0x67'),_0x36c3('0x68'),_0x36c3('0x69'),_0x36c3('0x6a')];var _0x2f4c5a=[_0x36c3('0x6b'),_0x36c3('0x6c'),_0x36c3('0x6d'),'boolean',_0x36c3('0x6e'),_0x36c3('0x6f'),'phone'];if(_0x4245e7){_[_0x36c3('0x70')](_0x4245e7[_0x36c3('0x35')],function(_0x4698d6){return _0x56f354[_0x36c3('0x71')](_0x4698d6[_0x36c3('0x27')])||!_0x2f4c5a['includes'](_0x4698d6[_0x36c3('0x2e')]);});return{'count':_0x4245e7['fields'][_0x36c3('0x36')],'rows':_[_0x36c3('0x2a')](_0x4245e7[_0x36c3('0x35')],function(_0x8a9320){return{'id':_0x8a9320['name'],'name':_0x8a9320[_0x36c3('0x72')],'custom':_0x8a9320[_0x36c3('0x73')],'options':_0x8a9320['picklistValues'][_0x36c3('0x36')]>0x0?_[_0x36c3('0x2a')](_0x8a9320[_0x36c3('0x74')],function(_0x4d89f0){return{'name':_0x4d89f0['label'],'value':_0x4d89f0['value']};}):_0x8a9320[_0x36c3('0x2e')]==_0x36c3('0x75')?[{'name':_0x36c3('0x76'),'value':_0x36c3('0x77')},{'name':_0x36c3('0x78'),'value':_0x36c3('0x79')}]:[]};})};}})[_0x36c3('0x23')](respondWithResult(_0x5ce347,null))[_0x36c3('0x43')](function(_0x29326c){var _0x2ece0e=_0x2030a2[_0x36c3('0x31')]['test']?0x1f4:_0x29326c[_0x36c3('0x7a')]||0x1f4;logger[_0x36c3('0x25')](_0x36c3('0x7b'),_0x36c3('0x7c'),_0x2ece0e,JSON['stringify'](_0x29326c));delete _0x29326c[_0x36c3('0x27')];if(_0x2ece0e===0x191){_0x2ece0e=0x190;}_0x5ce347[_0x36c3('0x18')](_0x2ece0e)['send'](_0x2030a2['query'][_0x36c3('0x7d')]?{'message':'Wrong\x20credentials','statusCode':_0x29326c[_0x36c3('0x7a')]}:_0x29326c);});};