c5926f9d0f916326805dd0a60d86f2bd2ec8a518
[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 _0x81c9=['findOne','SalesforceField','getSubjects','getDescriptions','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','path','sox','to-csv','ejs','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/utils','../../config/environment','sendStatus','json','undefined','limit','count','offset','status','set','Content-Range','apply','save','update','then','destroy','end','error','stack','name','index','map','SalesforceConfiguration','rawAttributes','fieldName','type','model','query','keys','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','filters','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','params','length','find','create','body','getFields'];(function(_0x468030,_0x56744d){var _0x434140=function(_0x3795a0){while(--_0x3795a0){_0x468030['push'](_0x468030['shift']());}};_0x434140(++_0x56744d);}(_0x81c9,0x1de));var _0x981c=function(_0x126558,_0x143c9a){_0x126558=_0x126558-0x0;var _0x1f6d14=_0x81c9[_0x126558];return _0x1f6d14;};'use strict';var emlformat=require(_0x981c('0x0'));var rimraf=require(_0x981c('0x1'));var zipdir=require(_0x981c('0x2'));var jsonpatch=require(_0x981c('0x3'));var rp=require('request-promise');var moment=require(_0x981c('0x4'));var BPromise=require(_0x981c('0x5'));var Mustache=require(_0x981c('0x6'));var util=require('util');var path=require(_0x981c('0x7'));var sox=require(_0x981c('0x8'));var csv=require(_0x981c('0x9'));var ejs=require(_0x981c('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x981c('0xb'));var squel=require('squel');var crypto=require(_0x981c('0xc'));var jsforce=require(_0x981c('0xd'));var deskjs=require(_0x981c('0xe'));var toCsv=require(_0x981c('0x9'));var querystring=require(_0x981c('0xf'));var Papa=require(_0x981c('0x10'));var Redis=require(_0x981c('0x11'));var authService=require('../../components/auth/service');var qs=require(_0x981c('0x12'));var as=require(_0x981c('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x981c('0x14'));var utils=require(_0x981c('0x15'));var config=require(_0x981c('0x16'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x218f07,_0x592d0b){_0x592d0b=_0x592d0b||0xcc;return function(_0x2f9e03){if(_0x2f9e03){return _0x218f07[_0x981c('0x17')](_0x592d0b);}return _0x218f07['status'](_0x592d0b)['end']();};}function respondWithResult(_0x112933,_0x2263dc){_0x2263dc=_0x2263dc||0xc8;return function(_0x577bc8){if(_0x577bc8){return _0x112933['status'](_0x2263dc)[_0x981c('0x18')](_0x577bc8);}};}function respondWithFilteredResult(_0x2787b6,_0x37e070){return function(_0x1eff46){if(_0x1eff46){var _0x302e62=typeof _0x37e070['offset']===_0x981c('0x19')&&typeof _0x37e070[_0x981c('0x1a')]===_0x981c('0x19');var _0x4e69e0=_0x1eff46[_0x981c('0x1b')];var _0xe7371b=_0x302e62?0x0:_0x37e070[_0x981c('0x1c')];var _0x2dde92=_0x302e62?_0x1eff46[_0x981c('0x1b')]:_0x37e070[_0x981c('0x1c')]+_0x37e070[_0x981c('0x1a')];var _0x1f8f0f;if(_0x2dde92>=_0x4e69e0){_0x2dde92=_0x4e69e0;_0x1f8f0f=0xc8;}else{_0x1f8f0f=0xce;}_0x2787b6[_0x981c('0x1d')](_0x1f8f0f);return _0x2787b6[_0x981c('0x1e')](_0x981c('0x1f'),_0xe7371b+'-'+_0x2dde92+'/'+_0x4e69e0)['json'](_0x1eff46);}return null;};}function patchUpdates(_0x483af4){return function(_0x35f251){try{jsonpatch[_0x981c('0x20')](_0x35f251,_0x483af4,!![]);}catch(_0x1c3c1e){return BPromise['reject'](_0x1c3c1e);}return _0x35f251[_0x981c('0x21')]();};}function saveUpdates(_0x48d676,_0x35ec94){return function(_0x4bfbfc){if(_0x4bfbfc){return _0x4bfbfc[_0x981c('0x22')](_0x48d676)[_0x981c('0x23')](function(_0x3d1c78){return _0x3d1c78;});}return null;};}function removeEntity(_0x25000b,_0x2464c9){return function(_0x4a5905){if(_0x4a5905){return _0x4a5905[_0x981c('0x24')]()['then'](function(){_0x25000b[_0x981c('0x1d')](0xcc)[_0x981c('0x25')]();});}};}function handleEntityNotFound(_0x31a4a7,_0x460415){return function(_0x5ebe29){if(!_0x5ebe29){_0x31a4a7[_0x981c('0x17')](0x194);}return _0x5ebe29;};}function handleError(_0x50acd9,_0x3dfa17){_0x3dfa17=_0x3dfa17||0x1f4;return function(_0x3848d9){logger[_0x981c('0x26')](_0x3848d9[_0x981c('0x27')]);if(_0x3848d9[_0x981c('0x28')]){delete _0x3848d9['name'];}_0x50acd9[_0x981c('0x1d')](_0x3dfa17)['send'](_0x3848d9);};}exports[_0x981c('0x29')]=function(_0x1606b4,_0xae4fb6){var _0x5786a8={},_0x94ef9f={},_0x3d0eac={'count':0x0,'rows':[]};var _0x4709b2=_[_0x981c('0x2a')](db[_0x981c('0x2b')][_0x981c('0x2c')],function(_0x4b8a63){return{'name':_0x4b8a63[_0x981c('0x2d')],'type':_0x4b8a63[_0x981c('0x2e')]['key']};});_0x94ef9f[_0x981c('0x2f')]=_[_0x981c('0x2a')](_0x4709b2,'name');_0x94ef9f[_0x981c('0x30')]=_[_0x981c('0x31')](_0x1606b4[_0x981c('0x30')]);_0x94ef9f['filters']=_[_0x981c('0x32')](_0x94ef9f['model'],_0x94ef9f['query']);_0x5786a8[_0x981c('0x33')]=_[_0x981c('0x32')](_0x94ef9f[_0x981c('0x2f')],qs['fields'](_0x1606b4[_0x981c('0x30')][_0x981c('0x34')]));_0x5786a8[_0x981c('0x33')]=_0x5786a8[_0x981c('0x33')]['length']?_0x5786a8[_0x981c('0x33')]:_0x94ef9f[_0x981c('0x2f')];if(!_0x1606b4[_0x981c('0x30')][_0x981c('0x35')](_0x981c('0x36'))){_0x5786a8[_0x981c('0x1a')]=qs[_0x981c('0x1a')](_0x1606b4[_0x981c('0x30')][_0x981c('0x1a')]);_0x5786a8[_0x981c('0x1c')]=qs[_0x981c('0x1c')](_0x1606b4[_0x981c('0x30')][_0x981c('0x1c')]);}_0x5786a8[_0x981c('0x37')]=qs[_0x981c('0x38')](_0x1606b4[_0x981c('0x30')][_0x981c('0x38')]);_0x5786a8[_0x981c('0x39')]=qs[_0x981c('0x3a')](_[_0x981c('0x3b')](_0x1606b4[_0x981c('0x30')],_0x94ef9f['filters']),_0x4709b2);if(_0x1606b4[_0x981c('0x30')][_0x981c('0x3c')]){_0x5786a8[_0x981c('0x39')]=_[_0x981c('0x3d')](_0x5786a8[_0x981c('0x39')],{'$or':_['map'](_0x4709b2,function(_0x403b36){if(_0x403b36[_0x981c('0x2e')]!==_0x981c('0x3e')){var _0x3fd9c6={};_0x3fd9c6[_0x403b36[_0x981c('0x28')]]={'$like':'%'+_0x1606b4[_0x981c('0x30')][_0x981c('0x3c')]+'%'};return _0x3fd9c6;}})});}_0x5786a8=_[_0x981c('0x3d')]({},_0x5786a8,_0x1606b4[_0x981c('0x3f')]);var _0x3f4355={'where':_0x5786a8[_0x981c('0x39')]};return db[_0x981c('0x2b')]['count'](_0x3f4355)[_0x981c('0x23')](function(_0x25fdcf){_0x3d0eac[_0x981c('0x1b')]=_0x25fdcf;if(_0x1606b4[_0x981c('0x30')][_0x981c('0x40')]){_0x5786a8[_0x981c('0x41')]=[{'all':!![]}];}return db[_0x981c('0x2b')][_0x981c('0x42')](_0x5786a8);})[_0x981c('0x23')](function(_0x3da148){_0x3d0eac[_0x981c('0x43')]=_0x3da148;return _0x3d0eac;})['then'](respondWithFilteredResult(_0xae4fb6,_0x5786a8))[_0x981c('0x44')](handleError(_0xae4fb6,null));};exports['show']=function(_0x21b3f3,_0x1ccaca){var _0xc3c5dd={'raw':![],'where':{'id':_0x21b3f3[_0x981c('0x45')]['id']}},_0x4045b1={};_0x4045b1[_0x981c('0x2f')]=_[_0x981c('0x31')](db[_0x981c('0x2b')][_0x981c('0x2c')]);_0x4045b1['query']=_['keys'](_0x21b3f3[_0x981c('0x30')]);_0x4045b1[_0x981c('0x3a')]=_[_0x981c('0x32')](_0x4045b1[_0x981c('0x2f')],_0x4045b1[_0x981c('0x30')]);_0xc3c5dd[_0x981c('0x33')]=_['intersection'](_0x4045b1['model'],qs[_0x981c('0x34')](_0x21b3f3[_0x981c('0x30')][_0x981c('0x34')]));_0xc3c5dd[_0x981c('0x33')]=_0xc3c5dd[_0x981c('0x33')][_0x981c('0x46')]?_0xc3c5dd[_0x981c('0x33')]:_0x4045b1[_0x981c('0x2f')];if(_0x21b3f3['query'][_0x981c('0x40')]){_0xc3c5dd[_0x981c('0x41')]=[{'all':!![]}];}_0xc3c5dd=_[_0x981c('0x3d')]({},_0xc3c5dd,_0x21b3f3['options']);return db['SalesforceConfiguration'][_0x981c('0x47')](_0xc3c5dd)['then'](handleEntityNotFound(_0x1ccaca,null))[_0x981c('0x23')](respondWithResult(_0x1ccaca,null))[_0x981c('0x44')](handleError(_0x1ccaca,null));};exports[_0x981c('0x48')]=function(_0x732f9e,_0x28f871){return db['SalesforceConfiguration'][_0x981c('0x48')](_0x732f9e[_0x981c('0x49')],{})[_0x981c('0x23')](respondWithResult(_0x28f871,0xc9))[_0x981c('0x44')](handleError(_0x28f871,null));};exports[_0x981c('0x22')]=function(_0x29b59e,_0x30b13b){if(_0x29b59e[_0x981c('0x49')]['id']){delete _0x29b59e['body']['id'];}return db[_0x981c('0x2b')][_0x981c('0x47')]({'where':{'id':_0x29b59e[_0x981c('0x45')]['id']}})[_0x981c('0x23')](handleEntityNotFound(_0x30b13b,null))['then'](saveUpdates(_0x29b59e[_0x981c('0x49')],null))['then'](respondWithResult(_0x30b13b,null))[_0x981c('0x44')](handleError(_0x30b13b,null));};exports['destroy']=function(_0x4efcb7,_0xe0c27c){return db[_0x981c('0x2b')]['find']({'where':{'id':_0x4efcb7[_0x981c('0x45')]['id']}})[_0x981c('0x23')](handleEntityNotFound(_0xe0c27c,null))[_0x981c('0x23')](removeEntity(_0xe0c27c,null))[_0x981c('0x44')](handleError(_0xe0c27c,null));};exports[_0x981c('0x4a')]=function(_0x5d8a8f,_0x11410b,_0xfda88d){var _0x201b52={};var _0x158ca2={};var _0x1809c8;var _0x3de46a;return db[_0x981c('0x2b')][_0x981c('0x4b')]({'where':{'id':_0x5d8a8f['params']['id']}})['then'](handleEntityNotFound(_0x11410b,null))[_0x981c('0x23')](function(_0x206d08){if(_0x206d08){_0x1809c8=_0x206d08;_0x158ca2[_0x981c('0x2f')]=_['keys'](db[_0x981c('0x4c')][_0x981c('0x2c')]);_0x158ca2['query']=_[_0x981c('0x31')](_0x5d8a8f[_0x981c('0x30')]);_0x158ca2['filters']=_[_0x981c('0x32')](_0x158ca2[_0x981c('0x2f')],_0x158ca2[_0x981c('0x30')]);_0x201b52[_0x981c('0x33')]=_[_0x981c('0x32')](_0x158ca2[_0x981c('0x2f')],qs[_0x981c('0x34')](_0x5d8a8f[_0x981c('0x30')][_0x981c('0x34')]));_0x201b52[_0x981c('0x33')]=_0x201b52[_0x981c('0x33')][_0x981c('0x46')]?_0x201b52[_0x981c('0x33')]:_0x158ca2[_0x981c('0x2f')];_0x201b52[_0x981c('0x37')]=qs[_0x981c('0x38')](_0x5d8a8f[_0x981c('0x30')]['sort']);_0x201b52[_0x981c('0x39')]=qs[_0x981c('0x3a')](_['pick'](_0x5d8a8f[_0x981c('0x30')],_0x158ca2[_0x981c('0x3a')]));if(_0x5d8a8f[_0x981c('0x30')][_0x981c('0x3c')]){_0x201b52[_0x981c('0x39')]=_['merge'](_0x201b52[_0x981c('0x39')],{'$or':_[_0x981c('0x2a')](_0x201b52[_0x981c('0x33')],function(_0x3e6868){var _0x3e6410={};_0x3e6410[_0x3e6868]={'$like':'%'+_0x5d8a8f['query'][_0x981c('0x3c')]+'%'};return _0x3e6410;})});}_0x201b52=_[_0x981c('0x3d')]({},_0x201b52,_0x5d8a8f[_0x981c('0x3f')]);return _0x1809c8[_0x981c('0x4a')](_0x201b52);}})[_0x981c('0x23')](function(_0x42850b){if(_0x42850b){_0x3de46a=_0x42850b[_0x981c('0x46')];if(!_0x5d8a8f['query'][_0x981c('0x35')](_0x981c('0x36'))){_0x201b52[_0x981c('0x1a')]=qs[_0x981c('0x1a')](_0x5d8a8f[_0x981c('0x30')][_0x981c('0x1a')]);_0x201b52[_0x981c('0x1c')]=qs[_0x981c('0x1c')](_0x5d8a8f[_0x981c('0x30')]['offset']);}return _0x1809c8[_0x981c('0x4a')](_0x201b52);}})[_0x981c('0x23')](function(_0x5d8533){if(_0x5d8533){return _0x5d8533?{'count':_0x3de46a,'rows':_0x5d8533}:null;}})[_0x981c('0x23')](respondWithResult(_0x11410b,null))[_0x981c('0x44')](handleError(_0x11410b,null));};exports['getSubjects']=function(_0x498d37,_0x3697eb,_0x153511){var _0x52df0c={};var _0x4f0de1={};var _0x49edf5;var _0x27b8af;return db[_0x981c('0x2b')][_0x981c('0x4b')]({'where':{'id':_0x498d37[_0x981c('0x45')]['id']}})[_0x981c('0x23')](handleEntityNotFound(_0x3697eb,null))['then'](function(_0x1dcafd){if(_0x1dcafd){_0x49edf5=_0x1dcafd;_0x4f0de1[_0x981c('0x2f')]=_[_0x981c('0x31')](db[_0x981c('0x4c')][_0x981c('0x2c')]);_0x4f0de1['query']=_[_0x981c('0x31')](_0x498d37[_0x981c('0x30')]);_0x4f0de1['filters']=_[_0x981c('0x32')](_0x4f0de1[_0x981c('0x2f')],_0x4f0de1[_0x981c('0x30')]);_0x52df0c['attributes']=_['intersection'](_0x4f0de1[_0x981c('0x2f')],qs[_0x981c('0x34')](_0x498d37[_0x981c('0x30')][_0x981c('0x34')]));_0x52df0c['attributes']=_0x52df0c[_0x981c('0x33')]['length']?_0x52df0c[_0x981c('0x33')]:_0x4f0de1[_0x981c('0x2f')];_0x52df0c['order']=qs['sort'](_0x498d37[_0x981c('0x30')][_0x981c('0x38')]);_0x52df0c[_0x981c('0x39')]=qs[_0x981c('0x3a')](_[_0x981c('0x3b')](_0x498d37[_0x981c('0x30')],_0x4f0de1[_0x981c('0x3a')]));if(_0x498d37['query'][_0x981c('0x3c')]){_0x52df0c[_0x981c('0x39')]=_[_0x981c('0x3d')](_0x52df0c['where'],{'$or':_[_0x981c('0x2a')](_0x52df0c[_0x981c('0x33')],function(_0x33e71f){var _0x2dcc7f={};_0x2dcc7f[_0x33e71f]={'$like':'%'+_0x498d37[_0x981c('0x30')][_0x981c('0x3c')]+'%'};return _0x2dcc7f;})});}_0x52df0c=_['merge']({},_0x52df0c,_0x498d37['options']);return _0x49edf5[_0x981c('0x4d')](_0x52df0c);}})[_0x981c('0x23')](function(_0x400907){if(_0x400907){_0x27b8af=_0x400907['length'];if(!_0x498d37['query'][_0x981c('0x35')](_0x981c('0x36'))){_0x52df0c[_0x981c('0x1a')]=qs[_0x981c('0x1a')](_0x498d37[_0x981c('0x30')]['limit']);_0x52df0c[_0x981c('0x1c')]=qs[_0x981c('0x1c')](_0x498d37[_0x981c('0x30')]['offset']);}return _0x49edf5[_0x981c('0x4d')](_0x52df0c);}})['then'](function(_0x299128){if(_0x299128){return _0x299128?{'count':_0x27b8af,'rows':_0x299128}:null;}})['then'](respondWithResult(_0x3697eb,null))[_0x981c('0x44')](handleError(_0x3697eb,null));};exports['getDescriptions']=function(_0x58855e,_0x24e465,_0x23e891){var _0x29f789={};var _0x55676d={};var _0x15fbaf;var _0x1c3d7f;return db['SalesforceConfiguration'][_0x981c('0x4b')]({'where':{'id':_0x58855e[_0x981c('0x45')]['id']}})[_0x981c('0x23')](handleEntityNotFound(_0x24e465,null))[_0x981c('0x23')](function(_0x384248){if(_0x384248){_0x15fbaf=_0x384248;_0x55676d[_0x981c('0x2f')]=_[_0x981c('0x31')](db[_0x981c('0x4c')][_0x981c('0x2c')]);_0x55676d['query']=_['keys'](_0x58855e[_0x981c('0x30')]);_0x55676d[_0x981c('0x3a')]=_['intersection'](_0x55676d[_0x981c('0x2f')],_0x55676d[_0x981c('0x30')]);_0x29f789[_0x981c('0x33')]=_['intersection'](_0x55676d[_0x981c('0x2f')],qs[_0x981c('0x34')](_0x58855e[_0x981c('0x30')][_0x981c('0x34')]));_0x29f789[_0x981c('0x33')]=_0x29f789[_0x981c('0x33')]['length']?_0x29f789[_0x981c('0x33')]:_0x55676d[_0x981c('0x2f')];_0x29f789['order']=qs[_0x981c('0x38')](_0x58855e[_0x981c('0x30')][_0x981c('0x38')]);_0x29f789['where']=qs[_0x981c('0x3a')](_[_0x981c('0x3b')](_0x58855e[_0x981c('0x30')],_0x55676d['filters']));if(_0x58855e[_0x981c('0x30')][_0x981c('0x3c')]){_0x29f789[_0x981c('0x39')]=_['merge'](_0x29f789['where'],{'$or':_['map'](_0x29f789[_0x981c('0x33')],function(_0x29b497){var _0x5abe62={};_0x5abe62[_0x29b497]={'$like':'%'+_0x58855e[_0x981c('0x30')][_0x981c('0x3c')]+'%'};return _0x5abe62;})});}_0x29f789=_[_0x981c('0x3d')]({},_0x29f789,_0x58855e[_0x981c('0x3f')]);return _0x15fbaf[_0x981c('0x4e')](_0x29f789);}})[_0x981c('0x23')](function(_0x35f21c){if(_0x35f21c){_0x1c3d7f=_0x35f21c[_0x981c('0x46')];if(!_0x58855e[_0x981c('0x30')]['hasOwnProperty'](_0x981c('0x36'))){_0x29f789['limit']=qs['limit'](_0x58855e['query']['limit']);_0x29f789[_0x981c('0x1c')]=qs[_0x981c('0x1c')](_0x58855e[_0x981c('0x30')][_0x981c('0x1c')]);}return _0x15fbaf[_0x981c('0x4e')](_0x29f789);}})[_0x981c('0x23')](function(_0x34f844){if(_0x34f844){return _0x34f844?{'count':_0x1c3d7f,'rows':_0x34f844}:null;}})['then'](respondWithResult(_0x24e465,null))[_0x981c('0x44')](handleError(_0x24e465,null));};