Built motion from commit (unavailable).|2.4.17
[motion2.git] / server / api / intSalesforceConfiguration / intSalesforceConfiguration.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 _0x7751=['params','length','find','create','body','destroy','getFields','findOne','merge','hasOwnProperty','getSubjects','getDescriptions','SalesforceField','html-pdf','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','to-csv','crypto','jsforce','desk.js','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../mysqldb','client','http','test','Sequelize','ValidationError','The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.','request','then','info','SalesforceConfiguration,\x20%s,\x20%s','SalesforceConfiguration,\x20%s,\x20%s,\x20%s','error','message','request\x20sent','result','status','json','count','offset','set','Content-Range','apply','save','update','end','sendStatus','stack','name','index','map','SalesforceConfiguration','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','nolimit','limit','order','sort','where','pick','filter','VIRTUAL','options','includeAll','rows','catch','show'];(function(_0x433bf8,_0x323382){var _0x5c8da9=function(_0x50367e){while(--_0x50367e){_0x433bf8['push'](_0x433bf8['shift']());}};_0x5c8da9(++_0x323382);}(_0x7751,0x66));var _0x1775=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x7751[_0x3dd15e];return _0x231fd0;};'use strict';var pdf=require(_0x1775('0x0'));var emlformat=require(_0x1775('0x1'));var rimraf=require(_0x1775('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0x1775('0x3'));var rp=require(_0x1775('0x4'));var moment=require(_0x1775('0x5'));var BPromise=require(_0x1775('0x6'));var Mustache=require(_0x1775('0x7'));var util=require(_0x1775('0x8'));var path=require('path');var sox=require(_0x1775('0x9'));var csv=require(_0x1775('0xa'));var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require('squel');var crypto=require(_0x1775('0xb'));var jsforce=require(_0x1775('0xc'));var deskjs=require(_0x1775('0xd'));var toCsv=require(_0x1775('0xa'));var querystring=require('querystring');var Papa=require(_0x1775('0xe'));var Redis=require(_0x1775('0xf'));var authService=require('../../components/auth/service');var qs=require(_0x1775('0x10'));var as=require(_0x1775('0x11'));var hardwareService=require(_0x1775('0x12'));var logger=require(_0x1775('0x13'))('api');var utils=require('../../config/utils');var config=require('../../config/environment');var db=require(_0x1775('0x14'))['db'];var jayson=require('jayson/promise');var client=jayson[_0x1775('0x15')][_0x1775('0x16')]({'port':0x232a});function checkPasswordPattern(_0x45a43e,_0x30600b,_0x4c8d7f){if(_0x4c8d7f){var _0x1a77b5=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x1a77b5[_0x1775('0x17')](_0x30600b)){return _0x45a43e;}else{throw new db[(_0x1775('0x18'))][(_0x1775('0x19'))](_0x1775('0x1a'));}}else{return _0x45a43e;}}function respondWithRpcPromise(_0x4ce779,_0x312712,_0x18912e,_0x1f2d71){return new BPromise(function(_0x49c1b2,_0x4ad818){var _0x49e6f6=_0x1f2d71||client;return _0x49e6f6[_0x1775('0x1b')](_0x4ce779,_0x18912e)[_0x1775('0x1c')](function(_0x56e13f){logger[_0x1775('0x1d')](_0x1775('0x1e'),_0x312712,'request\x20sent');logger['debug'](_0x1775('0x1f'),_0x312712,'request\x20sent',JSON['stringify'](_0x56e13f));if(_0x56e13f[_0x1775('0x20')]){if(_0x56e13f[_0x1775('0x20')]['code']===0x1f4){logger['error'](_0x1775('0x1e'),_0x312712,_0x56e13f[_0x1775('0x20')][_0x1775('0x21')]);return _0x4ad818(_0x56e13f[_0x1775('0x20')]['message']);}logger[_0x1775('0x20')](_0x1775('0x1e'),_0x312712,_0x56e13f[_0x1775('0x20')][_0x1775('0x21')]);return _0x49c1b2(_0x56e13f[_0x1775('0x20')][_0x1775('0x21')]);}else{logger[_0x1775('0x1d')](_0x1775('0x1e'),_0x312712,_0x1775('0x22'));_0x49c1b2(_0x56e13f[_0x1775('0x23')][_0x1775('0x21')]);}})['catch'](function(_0x592df0){logger[_0x1775('0x20')](_0x1775('0x1e'),_0x312712,_0x592df0);_0x4ad818(_0x592df0);});});}function respondWithStatusCode(_0x426bf4,_0x4a5638){_0x4a5638=_0x4a5638||0xcc;return function(_0x4e72d1){if(_0x4e72d1){return _0x426bf4['sendStatus'](_0x4a5638);}return _0x426bf4[_0x1775('0x24')](_0x4a5638)['end']();};}function respondWithResult(_0x444754,_0xf72244){_0xf72244=_0xf72244||0xc8;return function(_0x25299d){if(_0x25299d){return _0x444754[_0x1775('0x24')](_0xf72244)[_0x1775('0x25')](_0x25299d);}};}function respondWithFilteredResult(_0x2c5f06,_0x56fbeb){return function(_0x1f170f){if(_0x1f170f){var _0x519c79=_0x1f170f[_0x1775('0x26')],_0x4e94cf=_0x56fbeb[_0x1775('0x27')],_0x1e9c8f=_0x56fbeb[_0x1775('0x27')]+_0x56fbeb['limit'],_0xbeebde;if(_0x1e9c8f>=_0x519c79){_0x1e9c8f=_0x519c79;_0xbeebde=0xc8;}else{_0xbeebde=0xce;}_0x2c5f06[_0x1775('0x24')](_0xbeebde);return _0x2c5f06[_0x1775('0x28')](_0x1775('0x29'),_0x4e94cf+'-'+_0x1e9c8f+'/'+_0x519c79)[_0x1775('0x25')](_0x1f170f);}return null;};}function patchUpdates(_0x3b468c){return function(_0x16306e){try{jsonpatch[_0x1775('0x2a')](_0x16306e,_0x3b468c,!![]);}catch(_0x4fb58c){return BPromise['reject'](_0x4fb58c);}return _0x16306e[_0x1775('0x2b')]();};}function saveUpdates(_0x55991b,_0x40bb97){return function(_0x391a10){if(_0x391a10){return _0x391a10[_0x1775('0x2c')](_0x55991b)[_0x1775('0x1c')](function(_0x46b8be){return _0x46b8be;});}return null;};}function removeEntity(_0x31cf31,_0x21e860){return function(_0x1977ea){if(_0x1977ea){return _0x1977ea['destroy']()['then'](function(){_0x31cf31[_0x1775('0x24')](0xcc)[_0x1775('0x2d')]();});}};}function handleEntityNotFound(_0x1ba2ef,_0x4f8ca0){return function(_0x490252){if(!_0x490252){_0x1ba2ef[_0x1775('0x2e')](0x194);}return _0x490252;};}function handleError(_0x71d1b9,_0x31a289){_0x31a289=_0x31a289||0x1f4;return function(_0x1950f0){logger['error'](_0x1950f0[_0x1775('0x2f')]);if(_0x1950f0[_0x1775('0x30')]){delete _0x1950f0['name'];}_0x71d1b9['status'](_0x31a289)['send'](_0x1950f0);};}exports[_0x1775('0x31')]=function(_0xfc519,_0x2dfcf2){var _0x380ba8={},_0x51ff36={},_0x4407e4={'count':0x0,'rows':[]};var _0x145c16=_[_0x1775('0x32')](db[_0x1775('0x33')][_0x1775('0x34')],function(_0x2f248b){return{'name':_0x2f248b[_0x1775('0x35')],'type':_0x2f248b[_0x1775('0x36')][_0x1775('0x37')]};});_0x51ff36[_0x1775('0x38')]=_[_0x1775('0x32')](_0x145c16,_0x1775('0x30'));_0x51ff36[_0x1775('0x39')]=_[_0x1775('0x3a')](_0xfc519[_0x1775('0x39')]);_0x51ff36[_0x1775('0x3b')]=_[_0x1775('0x3c')](_0x51ff36[_0x1775('0x38')],_0x51ff36[_0x1775('0x39')]);_0x380ba8[_0x1775('0x3d')]=_[_0x1775('0x3c')](_0x51ff36[_0x1775('0x38')],qs[_0x1775('0x3e')](_0xfc519['query'][_0x1775('0x3e')]));_0x380ba8[_0x1775('0x3d')]=_0x380ba8['attributes']['length']?_0x380ba8[_0x1775('0x3d')]:_0x51ff36['model'];if(!_0xfc519['query']['hasOwnProperty'](_0x1775('0x3f'))){_0x380ba8[_0x1775('0x40')]=qs[_0x1775('0x40')](_0xfc519['query'][_0x1775('0x40')]);_0x380ba8[_0x1775('0x27')]=qs[_0x1775('0x27')](_0xfc519[_0x1775('0x39')][_0x1775('0x27')]);}_0x380ba8[_0x1775('0x41')]=qs[_0x1775('0x42')](_0xfc519[_0x1775('0x39')]['sort']);_0x380ba8[_0x1775('0x43')]=qs[_0x1775('0x3b')](_[_0x1775('0x44')](_0xfc519[_0x1775('0x39')],_0x51ff36[_0x1775('0x3b')]));if(_0xfc519[_0x1775('0x39')][_0x1775('0x45')]){_0x380ba8[_0x1775('0x43')]=_['merge'](_0x380ba8[_0x1775('0x43')],{'$or':_[_0x1775('0x32')](_0x145c16,function(_0x26870a){if(_0x26870a[_0x1775('0x36')]!==_0x1775('0x46')){var _0x1facce={};_0x1facce[_0x26870a[_0x1775('0x30')]]={'$like':'%'+_0xfc519[_0x1775('0x39')][_0x1775('0x45')]+'%'};return _0x1facce;}})});}_0x380ba8=_['merge']({},_0x380ba8,_0xfc519[_0x1775('0x47')]);var _0x80e61d={'where':_0x380ba8['where']};return db[_0x1775('0x33')][_0x1775('0x26')](_0x80e61d)[_0x1775('0x1c')](function(_0x42b8dc){_0x4407e4[_0x1775('0x26')]=_0x42b8dc;if(_0xfc519[_0x1775('0x39')][_0x1775('0x48')]){_0x380ba8['include']=[{'all':!![]}];}return db[_0x1775('0x33')]['findAll'](_0x380ba8);})[_0x1775('0x1c')](function(_0x432e6a){_0x4407e4[_0x1775('0x49')]=_0x432e6a;return _0x4407e4;})[_0x1775('0x1c')](respondWithFilteredResult(_0x2dfcf2,_0x380ba8))[_0x1775('0x4a')](handleError(_0x2dfcf2,null));};exports[_0x1775('0x4b')]=function(_0x494ea0,_0x149fcd){var _0x32aa06={'raw':![],'where':{'id':_0x494ea0[_0x1775('0x4c')]['id']}},_0x912968={};_0x912968['model']=_[_0x1775('0x3a')](db['SalesforceConfiguration'][_0x1775('0x34')]);_0x912968[_0x1775('0x39')]=_[_0x1775('0x3a')](_0x494ea0[_0x1775('0x39')]);_0x912968[_0x1775('0x3b')]=_[_0x1775('0x3c')](_0x912968[_0x1775('0x38')],_0x912968[_0x1775('0x39')]);_0x32aa06[_0x1775('0x3d')]=_['intersection'](_0x912968[_0x1775('0x38')],qs[_0x1775('0x3e')](_0x494ea0['query']['fields']));_0x32aa06[_0x1775('0x3d')]=_0x32aa06[_0x1775('0x3d')][_0x1775('0x4d')]?_0x32aa06[_0x1775('0x3d')]:_0x912968[_0x1775('0x38')];if(_0x494ea0[_0x1775('0x39')]['includeAll']){_0x32aa06['include']=[{'all':!![]}];}_0x32aa06=_['merge']({},_0x32aa06,_0x494ea0[_0x1775('0x47')]);return db[_0x1775('0x33')][_0x1775('0x4e')](_0x32aa06)[_0x1775('0x1c')](handleEntityNotFound(_0x149fcd,null))[_0x1775('0x1c')](respondWithResult(_0x149fcd,null))[_0x1775('0x4a')](handleError(_0x149fcd,null));};exports['create']=function(_0x5f0282,_0x44f0bb){return db['SalesforceConfiguration'][_0x1775('0x4f')](_0x5f0282['body'],{})[_0x1775('0x1c')](respondWithResult(_0x44f0bb,0xc9))[_0x1775('0x4a')](handleError(_0x44f0bb,null));};exports['update']=function(_0x436abe,_0x1d4fa7){if(_0x436abe[_0x1775('0x50')]['id']){delete _0x436abe[_0x1775('0x50')]['id'];}return db[_0x1775('0x33')]['find']({'where':{'id':_0x436abe['params']['id']}})[_0x1775('0x1c')](handleEntityNotFound(_0x1d4fa7,null))[_0x1775('0x1c')](saveUpdates(_0x436abe[_0x1775('0x50')],null))[_0x1775('0x1c')](respondWithResult(_0x1d4fa7,null))[_0x1775('0x4a')](handleError(_0x1d4fa7,null));};exports[_0x1775('0x51')]=function(_0x146733,_0x5f1995){return db[_0x1775('0x33')][_0x1775('0x4e')]({'where':{'id':_0x146733[_0x1775('0x4c')]['id']}})[_0x1775('0x1c')](handleEntityNotFound(_0x5f1995,null))['then'](removeEntity(_0x5f1995,null))[_0x1775('0x4a')](handleError(_0x5f1995,null));};exports[_0x1775('0x52')]=function(_0x59de94,_0x36a426,_0x109aa5){var _0x2b4382={};var _0xc185bf={};var _0x2e5f4b;var _0x407870;return db[_0x1775('0x33')][_0x1775('0x53')]({'where':{'id':_0x59de94['params']['id']}})[_0x1775('0x1c')](handleEntityNotFound(_0x36a426,null))['then'](function(_0x251ff0){if(_0x251ff0){_0x2e5f4b=_0x251ff0;_0xc185bf['model']=_['keys'](db['SalesforceField'][_0x1775('0x34')]);_0xc185bf['query']=_[_0x1775('0x3a')](_0x59de94['query']);_0xc185bf[_0x1775('0x3b')]=_[_0x1775('0x3c')](_0xc185bf[_0x1775('0x38')],_0xc185bf['query']);_0x2b4382['attributes']=_['intersection'](_0xc185bf[_0x1775('0x38')],qs[_0x1775('0x3e')](_0x59de94[_0x1775('0x39')][_0x1775('0x3e')]));_0x2b4382[_0x1775('0x3d')]=_0x2b4382[_0x1775('0x3d')]['length']?_0x2b4382[_0x1775('0x3d')]:_0xc185bf[_0x1775('0x38')];_0x2b4382[_0x1775('0x41')]=qs[_0x1775('0x42')](_0x59de94['query'][_0x1775('0x42')]);_0x2b4382[_0x1775('0x43')]=qs[_0x1775('0x3b')](_['pick'](_0x59de94[_0x1775('0x39')],_0xc185bf['filters']));if(_0x59de94[_0x1775('0x39')][_0x1775('0x45')]){_0x2b4382[_0x1775('0x43')]=_[_0x1775('0x54')](_0x2b4382[_0x1775('0x43')],{'$or':_[_0x1775('0x32')](_0x2b4382['attributes'],function(_0x14c65d){var _0x1677a5={};_0x1677a5[_0x14c65d]={'$like':'%'+_0x59de94[_0x1775('0x39')][_0x1775('0x45')]+'%'};return _0x1677a5;})});}_0x2b4382=_[_0x1775('0x54')]({},_0x2b4382,_0x59de94[_0x1775('0x47')]);return _0x2e5f4b[_0x1775('0x52')](_0x2b4382);}})['then'](function(_0x2f883a){if(_0x2f883a){_0x407870=_0x2f883a['length'];if(!_0x59de94[_0x1775('0x39')][_0x1775('0x55')](_0x1775('0x3f'))){_0x2b4382['limit']=qs[_0x1775('0x40')](_0x59de94[_0x1775('0x39')][_0x1775('0x40')]);_0x2b4382['offset']=qs[_0x1775('0x27')](_0x59de94[_0x1775('0x39')][_0x1775('0x27')]);}return _0x2e5f4b['getFields'](_0x2b4382);}})['then'](function(_0x2d4078){if(_0x2d4078){return _0x2d4078?{'count':_0x407870,'rows':_0x2d4078}:null;}})['then'](respondWithResult(_0x36a426,null))['catch'](handleError(_0x36a426,null));};exports[_0x1775('0x56')]=function(_0x577464,_0x21aabe,_0x1303f4){var _0x748e33={};var _0x185a52={};var _0xa30106;var _0x464f4a;return db['SalesforceConfiguration']['findOne']({'where':{'id':_0x577464['params']['id']}})[_0x1775('0x1c')](handleEntityNotFound(_0x21aabe,null))[_0x1775('0x1c')](function(_0x492e82){if(_0x492e82){_0xa30106=_0x492e82;_0x185a52['model']=_['keys'](db['SalesforceField']['rawAttributes']);_0x185a52[_0x1775('0x39')]=_[_0x1775('0x3a')](_0x577464['query']);_0x185a52[_0x1775('0x3b')]=_[_0x1775('0x3c')](_0x185a52[_0x1775('0x38')],_0x185a52[_0x1775('0x39')]);_0x748e33['attributes']=_[_0x1775('0x3c')](_0x185a52[_0x1775('0x38')],qs['fields'](_0x577464['query'][_0x1775('0x3e')]));_0x748e33[_0x1775('0x3d')]=_0x748e33[_0x1775('0x3d')]['length']?_0x748e33[_0x1775('0x3d')]:_0x185a52[_0x1775('0x38')];_0x748e33[_0x1775('0x41')]=qs['sort'](_0x577464[_0x1775('0x39')][_0x1775('0x42')]);_0x748e33[_0x1775('0x43')]=qs[_0x1775('0x3b')](_[_0x1775('0x44')](_0x577464[_0x1775('0x39')],_0x185a52['filters']));if(_0x577464[_0x1775('0x39')][_0x1775('0x45')]){_0x748e33[_0x1775('0x43')]=_[_0x1775('0x54')](_0x748e33[_0x1775('0x43')],{'$or':_[_0x1775('0x32')](_0x748e33['attributes'],function(_0x5451af){var _0x4fd031={};_0x4fd031[_0x5451af]={'$like':'%'+_0x577464[_0x1775('0x39')][_0x1775('0x45')]+'%'};return _0x4fd031;})});}_0x748e33=_['merge']({},_0x748e33,_0x577464[_0x1775('0x47')]);return _0xa30106[_0x1775('0x56')](_0x748e33);}})[_0x1775('0x1c')](function(_0x47fc5a){if(_0x47fc5a){_0x464f4a=_0x47fc5a[_0x1775('0x4d')];if(!_0x577464[_0x1775('0x39')][_0x1775('0x55')](_0x1775('0x3f'))){_0x748e33[_0x1775('0x40')]=qs[_0x1775('0x40')](_0x577464[_0x1775('0x39')]['limit']);_0x748e33[_0x1775('0x27')]=qs[_0x1775('0x27')](_0x577464[_0x1775('0x39')][_0x1775('0x27')]);}return _0xa30106['getSubjects'](_0x748e33);}})[_0x1775('0x1c')](function(_0x39bd62){if(_0x39bd62){return _0x39bd62?{'count':_0x464f4a,'rows':_0x39bd62}:null;}})[_0x1775('0x1c')](respondWithResult(_0x21aabe,null))[_0x1775('0x4a')](handleError(_0x21aabe,null));};exports[_0x1775('0x57')]=function(_0x30e1d4,_0x3c0c73,_0xc52ac){var _0x4ff5f4={};var _0x14d3c3={};var _0x25805c;var _0x2035e5;return db[_0x1775('0x33')]['findOne']({'where':{'id':_0x30e1d4['params']['id']}})[_0x1775('0x1c')](handleEntityNotFound(_0x3c0c73,null))[_0x1775('0x1c')](function(_0x5d7a3e){if(_0x5d7a3e){_0x25805c=_0x5d7a3e;_0x14d3c3['model']=_[_0x1775('0x3a')](db[_0x1775('0x58')][_0x1775('0x34')]);_0x14d3c3[_0x1775('0x39')]=_[_0x1775('0x3a')](_0x30e1d4[_0x1775('0x39')]);_0x14d3c3[_0x1775('0x3b')]=_[_0x1775('0x3c')](_0x14d3c3[_0x1775('0x38')],_0x14d3c3['query']);_0x4ff5f4['attributes']=_['intersection'](_0x14d3c3['model'],qs[_0x1775('0x3e')](_0x30e1d4[_0x1775('0x39')][_0x1775('0x3e')]));_0x4ff5f4[_0x1775('0x3d')]=_0x4ff5f4[_0x1775('0x3d')][_0x1775('0x4d')]?_0x4ff5f4[_0x1775('0x3d')]:_0x14d3c3[_0x1775('0x38')];_0x4ff5f4['order']=qs[_0x1775('0x42')](_0x30e1d4[_0x1775('0x39')][_0x1775('0x42')]);_0x4ff5f4[_0x1775('0x43')]=qs[_0x1775('0x3b')](_[_0x1775('0x44')](_0x30e1d4[_0x1775('0x39')],_0x14d3c3[_0x1775('0x3b')]));if(_0x30e1d4[_0x1775('0x39')][_0x1775('0x45')]){_0x4ff5f4[_0x1775('0x43')]=_['merge'](_0x4ff5f4['where'],{'$or':_[_0x1775('0x32')](_0x4ff5f4[_0x1775('0x3d')],function(_0xb6d155){var _0x331736={};_0x331736[_0xb6d155]={'$like':'%'+_0x30e1d4[_0x1775('0x39')][_0x1775('0x45')]+'%'};return _0x331736;})});}_0x4ff5f4=_[_0x1775('0x54')]({},_0x4ff5f4,_0x30e1d4['options']);return _0x25805c[_0x1775('0x57')](_0x4ff5f4);}})[_0x1775('0x1c')](function(_0xdc4de5){if(_0xdc4de5){_0x2035e5=_0xdc4de5[_0x1775('0x4d')];if(!_0x30e1d4['query'][_0x1775('0x55')](_0x1775('0x3f'))){_0x4ff5f4[_0x1775('0x40')]=qs[_0x1775('0x40')](_0x30e1d4[_0x1775('0x39')]['limit']);_0x4ff5f4['offset']=qs[_0x1775('0x27')](_0x30e1d4[_0x1775('0x39')]['offset']);}return _0x25805c[_0x1775('0x57')](_0x4ff5f4);}})[_0x1775('0x1c')](function(_0xc9fc04){if(_0xc9fc04){return _0xc9fc04?{'count':_0x2035e5,'rows':_0xc9fc04}:null;}})[_0x1775('0x1c')](respondWithResult(_0x3c0c73,null))[_0x1775('0x4a')](handleError(_0x3c0c73,null));};