c06953e24715654b3f3e71260a7173d3e4ce6c82
[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 _0x8185=['catch','status','json','count','offset','limit','set','Content-Range','reject','save','end','sendStatus','stack','send','index','rawAttributes','keys','query','intersection','model','attributes','fields','length','nolimit','order','sort','where','filters','filter','merge','map','type','VIRTUAL','options','SalesforceConfiguration','includeAll','include','findAll','rows','show','params','find','create','update','body','destroy','findOne','SalesforceField','pick','getFields','hasOwnProperty','getSubjects','getDescriptions','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','ejs','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','client','http','test','The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.','then','info','SalesforceConfiguration,\x20%s,\x20%s','debug','request\x20sent','stringify','error','code','message'];(function(_0x24719d,_0x35d4be){var _0xf94a6f=function(_0x4e6796){while(--_0x4e6796){_0x24719d['push'](_0x24719d['shift']());}};_0xf94a6f(++_0x35d4be);}(_0x8185,0xeb));var _0x5818=function(_0x3ab51d,_0x2fa01d){_0x3ab51d=_0x3ab51d-0x0;var _0x29a04e=_0x8185[_0x3ab51d];return _0x29a04e;};'use strict';var pdf=require(_0x5818('0x0'));var emlformat=require(_0x5818('0x1'));var rimraf=require(_0x5818('0x2'));var zipdir=require(_0x5818('0x3'));var jsonpatch=require(_0x5818('0x4'));var rp=require('request-promise');var moment=require(_0x5818('0x5'));var BPromise=require(_0x5818('0x6'));var Mustache=require(_0x5818('0x7'));var util=require(_0x5818('0x8'));var path=require(_0x5818('0x9'));var sox=require(_0x5818('0xa'));var csv=require(_0x5818('0xb'));var ejs=require(_0x5818('0xc'));var fs=require('fs');var _=require('lodash');var squel=require(_0x5818('0xd'));var crypto=require(_0x5818('0xe'));var jsforce=require(_0x5818('0xf'));var deskjs=require(_0x5818('0x10'));var toCsv=require(_0x5818('0xb'));var querystring=require('querystring');var Papa=require(_0x5818('0x11'));var Redis=require(_0x5818('0x12'));var authService=require('../../components/auth/service');var qs=require(_0x5818('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x5818('0x14'))(_0x5818('0x15'));var utils=require(_0x5818('0x16'));var config=require(_0x5818('0x17'));var db=require(_0x5818('0x18'))['db'];var jayson=require('jayson/promise');var client=jayson[_0x5818('0x19')][_0x5818('0x1a')]({'port':0x232a});function checkPasswordPattern(_0x34444f,_0x1dd775,_0x180216){if(_0x180216){var _0x3a0ef6=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x3a0ef6[_0x5818('0x1b')](_0x1dd775)){return _0x34444f;}else{throw new Error(_0x5818('0x1c'));}}else{return _0x34444f;}}function respondWithRpcPromise(_0x336a74,_0x4ad50e,_0x3044a6,_0x13d70f){return new BPromise(function(_0x31ca60,_0x4c2a52){var _0x33ec2f=_0x13d70f||client;return _0x33ec2f['request'](_0x336a74,_0x3044a6)[_0x5818('0x1d')](function(_0x209b5c){logger[_0x5818('0x1e')](_0x5818('0x1f'),_0x4ad50e,'request\x20sent');logger[_0x5818('0x20')]('SalesforceConfiguration,\x20%s,\x20%s,\x20%s',_0x4ad50e,_0x5818('0x21'),JSON[_0x5818('0x22')](_0x209b5c));if(_0x209b5c[_0x5818('0x23')]){if(_0x209b5c[_0x5818('0x23')][_0x5818('0x24')]===0x1f4){logger[_0x5818('0x23')](_0x5818('0x1f'),_0x4ad50e,_0x209b5c[_0x5818('0x23')][_0x5818('0x25')]);return _0x4c2a52(_0x209b5c[_0x5818('0x23')][_0x5818('0x25')]);}logger[_0x5818('0x23')](_0x5818('0x1f'),_0x4ad50e,_0x209b5c[_0x5818('0x23')][_0x5818('0x25')]);return _0x31ca60(_0x209b5c[_0x5818('0x23')][_0x5818('0x25')]);}else{logger['info']('SalesforceConfiguration,\x20%s,\x20%s',_0x4ad50e,_0x5818('0x21'));_0x31ca60(_0x209b5c['result'][_0x5818('0x25')]);}})[_0x5818('0x26')](function(_0x574c81){logger['error']('SalesforceConfiguration,\x20%s,\x20%s',_0x4ad50e,_0x574c81);_0x4c2a52(_0x574c81);});});}function respondWithStatusCode(_0x142631,_0x142304){_0x142304=_0x142304||0xcc;return function(_0x558089){if(_0x558089){return _0x142631['sendStatus'](_0x142304);}return _0x142631[_0x5818('0x27')](_0x142304)['end']();};}function respondWithResult(_0x437dec,_0x17d6d4){_0x17d6d4=_0x17d6d4||0xc8;return function(_0x55dfb2){if(_0x55dfb2){return _0x437dec[_0x5818('0x27')](_0x17d6d4)[_0x5818('0x28')](_0x55dfb2);}};}function respondWithFilteredResult(_0x38d2b1,_0x58bc97){return function(_0x3dbd51){if(_0x3dbd51){var _0x210a66=_0x3dbd51[_0x5818('0x29')],_0x45d8ed=_0x58bc97[_0x5818('0x2a')],_0x9ada61=_0x58bc97[_0x5818('0x2a')]+_0x58bc97[_0x5818('0x2b')],_0x1bb54d;if(_0x9ada61>=_0x210a66){_0x9ada61=_0x210a66;_0x1bb54d=0xc8;}else{_0x1bb54d=0xce;}_0x38d2b1['status'](_0x1bb54d);return _0x38d2b1[_0x5818('0x2c')](_0x5818('0x2d'),_0x45d8ed+'-'+_0x9ada61+'/'+_0x210a66)['json'](_0x3dbd51);}return null;};}function patchUpdates(_0x23c0df){return function(_0x181daf){try{jsonpatch['apply'](_0x181daf,_0x23c0df,!![]);}catch(_0x5412c6){return BPromise[_0x5818('0x2e')](_0x5412c6);}return _0x181daf[_0x5818('0x2f')]();};}function saveUpdates(_0x47f70a,_0xa7e03d){return function(_0x54b9a2){if(_0x54b9a2){return _0x54b9a2['update'](_0x47f70a)[_0x5818('0x1d')](function(_0x343cb4){return _0x343cb4;});}return null;};}function removeEntity(_0xe7a0bc,_0x5c505f){return function(_0x378946){if(_0x378946){return _0x378946['destroy']()[_0x5818('0x1d')](function(){_0xe7a0bc[_0x5818('0x27')](0xcc)[_0x5818('0x30')]();});}};}function handleEntityNotFound(_0x3836f7,_0xa79342){return function(_0x501071){if(!_0x501071){_0x3836f7[_0x5818('0x31')](0x194);}return _0x501071;};}function handleError(_0x1dd6a3,_0x3325e1){_0x3325e1=_0x3325e1||0x1f4;return function(_0x4733d2){logger[_0x5818('0x23')](_0x4733d2[_0x5818('0x32')]);if(_0x4733d2['name']){delete _0x4733d2['name'];}_0x1dd6a3['status'](_0x3325e1)[_0x5818('0x33')](_0x4733d2);};}exports[_0x5818('0x34')]=function(_0x509399,_0x21acf9){var _0x2f232a={},_0x3e906c={},_0x202fda={'count':0x0,'rows':[]};var _0x6ab26d=db['SalesforceConfiguration'][_0x5818('0x35')];_0x3e906c['model']=_[_0x5818('0x36')](_0x6ab26d);_0x3e906c['query']=_['keys'](_0x509399[_0x5818('0x37')]);_0x3e906c['filters']=_[_0x5818('0x38')](_0x3e906c[_0x5818('0x39')],_0x3e906c[_0x5818('0x37')]);_0x2f232a[_0x5818('0x3a')]=_['intersection'](_0x3e906c[_0x5818('0x39')],qs[_0x5818('0x3b')](_0x509399[_0x5818('0x37')]['fields']));_0x2f232a[_0x5818('0x3a')]=_0x2f232a[_0x5818('0x3a')][_0x5818('0x3c')]?_0x2f232a[_0x5818('0x3a')]:_0x3e906c[_0x5818('0x39')];if(!_0x509399[_0x5818('0x37')]['hasOwnProperty'](_0x5818('0x3d'))){_0x2f232a['limit']=qs['limit'](_0x509399[_0x5818('0x37')][_0x5818('0x2b')]);_0x2f232a[_0x5818('0x2a')]=qs[_0x5818('0x2a')](_0x509399[_0x5818('0x37')][_0x5818('0x2a')]);}_0x2f232a[_0x5818('0x3e')]=qs[_0x5818('0x3f')](_0x509399[_0x5818('0x37')]['sort']);_0x2f232a[_0x5818('0x40')]=qs[_0x5818('0x41')](_['pick'](_0x509399[_0x5818('0x37')],_0x3e906c[_0x5818('0x41')]));if(_0x509399['query'][_0x5818('0x42')]){_0x2f232a['where']=_[_0x5818('0x43')](_0x2f232a[_0x5818('0x40')],{'$or':_[_0x5818('0x44')](_0x6ab26d,function(_0x5f3069){if(_0x5f3069[_0x5818('0x45')]['key']!==_0x5818('0x46')){var _0x514923={};_0x514923[_0x5f3069['field']]={'$like':'%'+_0x509399['query']['filter']+'%'};return _0x514923;}})});}_0x2f232a=_['merge']({},_0x2f232a,_0x509399[_0x5818('0x47')]);var _0x3f0c75={'where':_0x2f232a[_0x5818('0x40')]};return db[_0x5818('0x48')][_0x5818('0x29')](_0x3f0c75)['then'](function(_0xc29d86){_0x202fda[_0x5818('0x29')]=_0xc29d86;if(_0x509399['query'][_0x5818('0x49')]){_0x2f232a[_0x5818('0x4a')]=[{'all':!![]}];}return db['SalesforceConfiguration'][_0x5818('0x4b')](_0x2f232a);})[_0x5818('0x1d')](function(_0x32f3c4){_0x202fda[_0x5818('0x4c')]=_0x32f3c4;return _0x202fda;})[_0x5818('0x1d')](respondWithFilteredResult(_0x21acf9,_0x2f232a))[_0x5818('0x26')](handleError(_0x21acf9,null));};exports[_0x5818('0x4d')]=function(_0x5abb86,_0x154240){var _0x310c6e={'raw':![],'where':{'id':_0x5abb86[_0x5818('0x4e')]['id']}},_0x2ec6b4={};_0x2ec6b4['model']=_[_0x5818('0x36')](db[_0x5818('0x48')]['rawAttributes']);_0x2ec6b4['query']=_[_0x5818('0x36')](_0x5abb86[_0x5818('0x37')]);_0x2ec6b4[_0x5818('0x41')]=_[_0x5818('0x38')](_0x2ec6b4[_0x5818('0x39')],_0x2ec6b4['query']);_0x310c6e['attributes']=_[_0x5818('0x38')](_0x2ec6b4[_0x5818('0x39')],qs[_0x5818('0x3b')](_0x5abb86[_0x5818('0x37')]['fields']));_0x310c6e['attributes']=_0x310c6e['attributes']['length']?_0x310c6e[_0x5818('0x3a')]:_0x2ec6b4[_0x5818('0x39')];if(_0x5abb86[_0x5818('0x37')]['includeAll']){_0x310c6e[_0x5818('0x4a')]=[{'all':!![]}];}_0x310c6e=_[_0x5818('0x43')]({},_0x310c6e,_0x5abb86[_0x5818('0x47')]);return db[_0x5818('0x48')][_0x5818('0x4f')](_0x310c6e)[_0x5818('0x1d')](handleEntityNotFound(_0x154240,null))[_0x5818('0x1d')](respondWithResult(_0x154240,null))['catch'](handleError(_0x154240,null));};exports[_0x5818('0x50')]=function(_0x475ce4,_0x42eba2){return db[_0x5818('0x48')][_0x5818('0x50')](_0x475ce4['body'],{})[_0x5818('0x1d')](respondWithResult(_0x42eba2,0xc9))['catch'](handleError(_0x42eba2,null));};exports[_0x5818('0x51')]=function(_0x338565,_0x334bf9){if(_0x338565['body']['id']){delete _0x338565[_0x5818('0x52')]['id'];}return db['SalesforceConfiguration']['find']({'where':{'id':_0x338565[_0x5818('0x4e')]['id']}})[_0x5818('0x1d')](handleEntityNotFound(_0x334bf9,null))[_0x5818('0x1d')](saveUpdates(_0x338565[_0x5818('0x52')],null))[_0x5818('0x1d')](respondWithResult(_0x334bf9,null))['catch'](handleError(_0x334bf9,null));};exports[_0x5818('0x53')]=function(_0x5a9896,_0x4a54d4){return db[_0x5818('0x48')][_0x5818('0x4f')]({'where':{'id':_0x5a9896['params']['id']}})[_0x5818('0x1d')](handleEntityNotFound(_0x4a54d4,null))[_0x5818('0x1d')](removeEntity(_0x4a54d4,null))[_0x5818('0x26')](handleError(_0x4a54d4,null));};exports['getFields']=function(_0x475d10,_0x16b09e,_0x1f0022){var _0x14bef2={};var _0x599204={};var _0x3ad18d;var _0x1e0644;return db[_0x5818('0x48')][_0x5818('0x54')]({'where':{'id':_0x475d10[_0x5818('0x4e')]['id']}})[_0x5818('0x1d')](handleEntityNotFound(_0x16b09e,null))[_0x5818('0x1d')](function(_0x2b7541){if(_0x2b7541){_0x3ad18d=_0x2b7541;_0x599204[_0x5818('0x39')]=_['keys'](db[_0x5818('0x55')][_0x5818('0x35')]);_0x599204[_0x5818('0x37')]=_[_0x5818('0x36')](_0x475d10[_0x5818('0x37')]);_0x599204[_0x5818('0x41')]=_[_0x5818('0x38')](_0x599204[_0x5818('0x39')],_0x599204[_0x5818('0x37')]);_0x14bef2['attributes']=_[_0x5818('0x38')](_0x599204[_0x5818('0x39')],qs[_0x5818('0x3b')](_0x475d10[_0x5818('0x37')][_0x5818('0x3b')]));_0x14bef2[_0x5818('0x3a')]=_0x14bef2[_0x5818('0x3a')][_0x5818('0x3c')]?_0x14bef2[_0x5818('0x3a')]:_0x599204['model'];_0x14bef2['order']=qs['sort'](_0x475d10[_0x5818('0x37')][_0x5818('0x3f')]);_0x14bef2[_0x5818('0x40')]=qs[_0x5818('0x41')](_[_0x5818('0x56')](_0x475d10[_0x5818('0x37')],_0x599204[_0x5818('0x41')]));if(_0x475d10['query'][_0x5818('0x42')]){_0x14bef2['where']=_['merge'](_0x14bef2[_0x5818('0x40')],{'$or':_['map'](_0x14bef2[_0x5818('0x3a')],function(_0x3bb9dc){var _0x36240c={};_0x36240c[_0x3bb9dc]={'$like':'%'+_0x475d10[_0x5818('0x37')][_0x5818('0x42')]+'%'};return _0x36240c;})});}_0x14bef2=_[_0x5818('0x43')]({},_0x14bef2,_0x475d10['options']);return _0x3ad18d[_0x5818('0x57')](_0x14bef2);}})[_0x5818('0x1d')](function(_0x3efcd2){if(_0x3efcd2){_0x1e0644=_0x3efcd2[_0x5818('0x3c')];if(!_0x475d10[_0x5818('0x37')][_0x5818('0x58')](_0x5818('0x3d'))){_0x14bef2[_0x5818('0x2b')]=qs['limit'](_0x475d10[_0x5818('0x37')][_0x5818('0x2b')]);_0x14bef2[_0x5818('0x2a')]=qs[_0x5818('0x2a')](_0x475d10[_0x5818('0x37')][_0x5818('0x2a')]);}return _0x3ad18d[_0x5818('0x57')](_0x14bef2);}})[_0x5818('0x1d')](function(_0x27eed4){if(_0x27eed4){return _0x27eed4?{'count':_0x1e0644,'rows':_0x27eed4}:null;}})[_0x5818('0x1d')](respondWithResult(_0x16b09e,null))[_0x5818('0x26')](handleError(_0x16b09e,null));};exports[_0x5818('0x59')]=function(_0x595d82,_0x112360,_0x177ced){var _0x3acb2d={};var _0x398ee7={};var _0xbdfc84;var _0x44daf7;return db['SalesforceConfiguration'][_0x5818('0x54')]({'where':{'id':_0x595d82[_0x5818('0x4e')]['id']}})[_0x5818('0x1d')](handleEntityNotFound(_0x112360,null))[_0x5818('0x1d')](function(_0x51fcec){if(_0x51fcec){_0xbdfc84=_0x51fcec;_0x398ee7['model']=_['keys'](db[_0x5818('0x55')]['rawAttributes']);_0x398ee7['query']=_[_0x5818('0x36')](_0x595d82[_0x5818('0x37')]);_0x398ee7['filters']=_[_0x5818('0x38')](_0x398ee7['model'],_0x398ee7[_0x5818('0x37')]);_0x3acb2d[_0x5818('0x3a')]=_[_0x5818('0x38')](_0x398ee7[_0x5818('0x39')],qs[_0x5818('0x3b')](_0x595d82[_0x5818('0x37')][_0x5818('0x3b')]));_0x3acb2d[_0x5818('0x3a')]=_0x3acb2d['attributes'][_0x5818('0x3c')]?_0x3acb2d[_0x5818('0x3a')]:_0x398ee7['model'];_0x3acb2d[_0x5818('0x3e')]=qs[_0x5818('0x3f')](_0x595d82['query'][_0x5818('0x3f')]);_0x3acb2d['where']=qs[_0x5818('0x41')](_[_0x5818('0x56')](_0x595d82['query'],_0x398ee7[_0x5818('0x41')]));if(_0x595d82[_0x5818('0x37')][_0x5818('0x42')]){_0x3acb2d[_0x5818('0x40')]=_[_0x5818('0x43')](_0x3acb2d['where'],{'$or':_['map'](_0x3acb2d[_0x5818('0x3a')],function(_0x3e4841){var _0x49ec7e={};_0x49ec7e[_0x3e4841]={'$like':'%'+_0x595d82['query'][_0x5818('0x42')]+'%'};return _0x49ec7e;})});}_0x3acb2d=_['merge']({},_0x3acb2d,_0x595d82[_0x5818('0x47')]);return _0xbdfc84[_0x5818('0x59')](_0x3acb2d);}})[_0x5818('0x1d')](function(_0x37511c){if(_0x37511c){_0x44daf7=_0x37511c[_0x5818('0x3c')];if(!_0x595d82[_0x5818('0x37')][_0x5818('0x58')](_0x5818('0x3d'))){_0x3acb2d[_0x5818('0x2b')]=qs[_0x5818('0x2b')](_0x595d82[_0x5818('0x37')]['limit']);_0x3acb2d['offset']=qs[_0x5818('0x2a')](_0x595d82['query'][_0x5818('0x2a')]);}return _0xbdfc84[_0x5818('0x59')](_0x3acb2d);}})['then'](function(_0x13189c){if(_0x13189c){return _0x13189c?{'count':_0x44daf7,'rows':_0x13189c}:null;}})[_0x5818('0x1d')](respondWithResult(_0x112360,null))[_0x5818('0x26')](handleError(_0x112360,null));};exports[_0x5818('0x5a')]=function(_0x13b2c,_0x1fae2c,_0x535065){var _0x3f81b1={};var _0x20a4b4={};var _0xe7b60e;var _0x57a390;return db[_0x5818('0x48')]['findOne']({'where':{'id':_0x13b2c[_0x5818('0x4e')]['id']}})[_0x5818('0x1d')](handleEntityNotFound(_0x1fae2c,null))[_0x5818('0x1d')](function(_0x333655){if(_0x333655){_0xe7b60e=_0x333655;_0x20a4b4[_0x5818('0x39')]=_['keys'](db[_0x5818('0x55')][_0x5818('0x35')]);_0x20a4b4[_0x5818('0x37')]=_[_0x5818('0x36')](_0x13b2c[_0x5818('0x37')]);_0x20a4b4[_0x5818('0x41')]=_[_0x5818('0x38')](_0x20a4b4[_0x5818('0x39')],_0x20a4b4[_0x5818('0x37')]);_0x3f81b1['attributes']=_[_0x5818('0x38')](_0x20a4b4['model'],qs[_0x5818('0x3b')](_0x13b2c[_0x5818('0x37')][_0x5818('0x3b')]));_0x3f81b1[_0x5818('0x3a')]=_0x3f81b1[_0x5818('0x3a')][_0x5818('0x3c')]?_0x3f81b1[_0x5818('0x3a')]:_0x20a4b4[_0x5818('0x39')];_0x3f81b1[_0x5818('0x3e')]=qs[_0x5818('0x3f')](_0x13b2c[_0x5818('0x37')][_0x5818('0x3f')]);_0x3f81b1[_0x5818('0x40')]=qs[_0x5818('0x41')](_[_0x5818('0x56')](_0x13b2c['query'],_0x20a4b4[_0x5818('0x41')]));if(_0x13b2c[_0x5818('0x37')][_0x5818('0x42')]){_0x3f81b1[_0x5818('0x40')]=_[_0x5818('0x43')](_0x3f81b1[_0x5818('0x40')],{'$or':_['map'](_0x3f81b1[_0x5818('0x3a')],function(_0xecb48e){var _0x19e888={};_0x19e888[_0xecb48e]={'$like':'%'+_0x13b2c[_0x5818('0x37')]['filter']+'%'};return _0x19e888;})});}_0x3f81b1=_[_0x5818('0x43')]({},_0x3f81b1,_0x13b2c[_0x5818('0x47')]);return _0xe7b60e[_0x5818('0x5a')](_0x3f81b1);}})['then'](function(_0x1ac8ec){if(_0x1ac8ec){_0x57a390=_0x1ac8ec[_0x5818('0x3c')];if(!_0x13b2c[_0x5818('0x37')][_0x5818('0x58')]('nolimit')){_0x3f81b1[_0x5818('0x2b')]=qs[_0x5818('0x2b')](_0x13b2c[_0x5818('0x37')][_0x5818('0x2b')]);_0x3f81b1[_0x5818('0x2a')]=qs[_0x5818('0x2a')](_0x13b2c[_0x5818('0x37')][_0x5818('0x2a')]);}return _0xe7b60e['getDescriptions'](_0x3f81b1);}})[_0x5818('0x1d')](function(_0x42cff5){if(_0x42cff5){return _0x42cff5?{'count':_0x57a390,'rows':_0x42cff5}:null;}})[_0x5818('0x1d')](respondWithResult(_0x1fae2c,null))[_0x5818('0x26')](handleError(_0x1fae2c,null));};