Built motion from commit f9526609.|2.6.29
[motion2.git] / server / api / intSugarcrmConfiguration / intSugarcrmConfiguration.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 _0x681e=['sendStatus','status','end','json','undefined','limit','count','Content-Range','reject','save','then','error','stack','name','send','map','SugarcrmConfiguration','rawAttributes','fieldName','type','model','query','filters','intersection','attributes','fields','length','nolimit','offset','sort','where','pick','merge','VIRTUAL','options','includeAll','include','catch','show','find','create','body','update','destroy','params','getFields','findOne','keys','SugarcrmField','order','filter','hasOwnProperty','getSubjects','getDescriptions','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','path','to-csv','ejs','fs-extra','lodash','squel','crypto','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment'];(function(_0x264b9b,_0xa1181e){var _0x4c7a0e=function(_0x4b77a0){while(--_0x4b77a0){_0x264b9b['push'](_0x264b9b['shift']());}};_0x4c7a0e(++_0xa1181e);}(_0x681e,0xce));var _0xe681=function(_0x4cbe62,_0xe57892){_0x4cbe62=_0x4cbe62-0x0;var _0x3e23db=_0x681e[_0x4cbe62];return _0x3e23db;};'use strict';var emlformat=require(_0xe681('0x0'));var rimraf=require(_0xe681('0x1'));var zipdir=require(_0xe681('0x2'));var jsonpatch=require(_0xe681('0x3'));var rp=require('request-promise');var moment=require(_0xe681('0x4'));var BPromise=require(_0xe681('0x5'));var Mustache=require('mustache');var util=require('util');var path=require(_0xe681('0x6'));var sox=require('sox');var csv=require(_0xe681('0x7'));var ejs=require(_0xe681('0x8'));var fs=require('fs');var fs_extra=require(_0xe681('0x9'));var _=require(_0xe681('0xa'));var squel=require(_0xe681('0xb'));var crypto=require(_0xe681('0xc'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0xe681('0x7'));var querystring=require(_0xe681('0xd'));var Papa=require('papaparse');var Redis=require(_0xe681('0xe'));var authService=require(_0xe681('0xf'));var qs=require(_0xe681('0x10'));var as=require(_0xe681('0x11'));var hardwareService=require(_0xe681('0x12'));var logger=require('../../config/logger')(_0xe681('0x13'));var utils=require(_0xe681('0x14'));var config=require(_0xe681('0x15'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0xc9e54b,_0xe0985b){_0xe0985b=_0xe0985b||0xcc;return function(_0xdf40b6){if(_0xdf40b6){return _0xc9e54b[_0xe681('0x16')](_0xe0985b);}return _0xc9e54b[_0xe681('0x17')](_0xe0985b)[_0xe681('0x18')]();};}function respondWithResult(_0x4ae097,_0x16f906){_0x16f906=_0x16f906||0xc8;return function(_0x14fe5c){if(_0x14fe5c){return _0x4ae097[_0xe681('0x17')](_0x16f906)[_0xe681('0x19')](_0x14fe5c);}};}function respondWithFilteredResult(_0x21092d,_0x4a2f0f){return function(_0x28eedd){if(_0x28eedd){var _0x48b208=typeof _0x4a2f0f['offset']===_0xe681('0x1a')&&typeof _0x4a2f0f[_0xe681('0x1b')]===_0xe681('0x1a');var _0x4a2f0c=_0x28eedd[_0xe681('0x1c')];var _0x5b031e=_0x48b208?0x0:_0x4a2f0f['offset'];var _0x4e4298=_0x48b208?_0x28eedd['count']:_0x4a2f0f['offset']+_0x4a2f0f[_0xe681('0x1b')];var _0x590ddf;if(_0x4e4298>=_0x4a2f0c){_0x4e4298=_0x4a2f0c;_0x590ddf=0xc8;}else{_0x590ddf=0xce;}_0x21092d[_0xe681('0x17')](_0x590ddf);return _0x21092d['set'](_0xe681('0x1d'),_0x5b031e+'-'+_0x4e4298+'/'+_0x4a2f0c)[_0xe681('0x19')](_0x28eedd);}return null;};}function patchUpdates(_0x1c57b7){return function(_0x2bbf72){try{jsonpatch['apply'](_0x2bbf72,_0x1c57b7,!![]);}catch(_0x293438){return BPromise[_0xe681('0x1e')](_0x293438);}return _0x2bbf72[_0xe681('0x1f')]();};}function saveUpdates(_0x2c408c,_0x589875){return function(_0x219550){if(_0x219550){return _0x219550['update'](_0x2c408c)[_0xe681('0x20')](function(_0x53916b){return _0x53916b;});}return null;};}function removeEntity(_0x2d6fff,_0x379b2d){return function(_0x140c5b){if(_0x140c5b){return _0x140c5b['destroy']()[_0xe681('0x20')](function(){_0x2d6fff[_0xe681('0x17')](0xcc)[_0xe681('0x18')]();});}};}function handleEntityNotFound(_0x4ec70b,_0x4663d9){return function(_0x304d8a){if(!_0x304d8a){_0x4ec70b[_0xe681('0x16')](0x194);}return _0x304d8a;};}function handleError(_0x167742,_0x2ded31){_0x2ded31=_0x2ded31||0x1f4;return function(_0x34a10f){logger[_0xe681('0x21')](_0x34a10f[_0xe681('0x22')]);if(_0x34a10f['name']){delete _0x34a10f[_0xe681('0x23')];}_0x167742['status'](_0x2ded31)[_0xe681('0x24')](_0x34a10f);};}exports['index']=function(_0x9758d6,_0x313ff4){var _0x69115c={},_0x1bf98f={},_0xda47b0={'count':0x0,'rows':[]};var _0x1c2dc1=_[_0xe681('0x25')](db[_0xe681('0x26')][_0xe681('0x27')],function(_0x3c8feb){return{'name':_0x3c8feb[_0xe681('0x28')],'type':_0x3c8feb[_0xe681('0x29')]['key']};});_0x1bf98f[_0xe681('0x2a')]=_['map'](_0x1c2dc1,_0xe681('0x23'));_0x1bf98f[_0xe681('0x2b')]=_['keys'](_0x9758d6[_0xe681('0x2b')]);_0x1bf98f[_0xe681('0x2c')]=_[_0xe681('0x2d')](_0x1bf98f[_0xe681('0x2a')],_0x1bf98f[_0xe681('0x2b')]);_0x69115c[_0xe681('0x2e')]=_[_0xe681('0x2d')](_0x1bf98f[_0xe681('0x2a')],qs[_0xe681('0x2f')](_0x9758d6[_0xe681('0x2b')]['fields']));_0x69115c[_0xe681('0x2e')]=_0x69115c['attributes'][_0xe681('0x30')]?_0x69115c[_0xe681('0x2e')]:_0x1bf98f[_0xe681('0x2a')];if(!_0x9758d6['query']['hasOwnProperty'](_0xe681('0x31'))){_0x69115c[_0xe681('0x1b')]=qs[_0xe681('0x1b')](_0x9758d6[_0xe681('0x2b')][_0xe681('0x1b')]);_0x69115c[_0xe681('0x32')]=qs[_0xe681('0x32')](_0x9758d6[_0xe681('0x2b')][_0xe681('0x32')]);}_0x69115c['order']=qs[_0xe681('0x33')](_0x9758d6[_0xe681('0x2b')][_0xe681('0x33')]);_0x69115c[_0xe681('0x34')]=qs[_0xe681('0x2c')](_[_0xe681('0x35')](_0x9758d6[_0xe681('0x2b')],_0x1bf98f['filters']),_0x1c2dc1);if(_0x9758d6[_0xe681('0x2b')]['filter']){_0x69115c['where']=_[_0xe681('0x36')](_0x69115c[_0xe681('0x34')],{'$or':_['map'](_0x1c2dc1,function(_0x1d4db9){if(_0x1d4db9['type']!==_0xe681('0x37')){var _0x5cb299={};_0x5cb299[_0x1d4db9['name']]={'$like':'%'+_0x9758d6[_0xe681('0x2b')]['filter']+'%'};return _0x5cb299;}})});}_0x69115c=_[_0xe681('0x36')]({},_0x69115c,_0x9758d6[_0xe681('0x38')]);var _0x3b3f61={'where':_0x69115c['where']};return db[_0xe681('0x26')][_0xe681('0x1c')](_0x3b3f61)[_0xe681('0x20')](function(_0x2943b0){_0xda47b0['count']=_0x2943b0;if(_0x9758d6[_0xe681('0x2b')][_0xe681('0x39')]){_0x69115c[_0xe681('0x3a')]=[{'all':!![]}];}return db['SugarcrmConfiguration']['findAll'](_0x69115c);})[_0xe681('0x20')](function(_0x11f7f0){_0xda47b0['rows']=_0x11f7f0;return _0xda47b0;})[_0xe681('0x20')](respondWithFilteredResult(_0x313ff4,_0x69115c))[_0xe681('0x3b')](handleError(_0x313ff4,null));};exports[_0xe681('0x3c')]=function(_0x4a0846,_0x535b9d){var _0x395299={'raw':![],'where':{'id':_0x4a0846['params']['id']}},_0x12472a={};_0x12472a['model']=_['keys'](db[_0xe681('0x26')]['rawAttributes']);_0x12472a[_0xe681('0x2b')]=_['keys'](_0x4a0846[_0xe681('0x2b')]);_0x12472a[_0xe681('0x2c')]=_[_0xe681('0x2d')](_0x12472a[_0xe681('0x2a')],_0x12472a[_0xe681('0x2b')]);_0x395299['attributes']=_[_0xe681('0x2d')](_0x12472a[_0xe681('0x2a')],qs[_0xe681('0x2f')](_0x4a0846[_0xe681('0x2b')][_0xe681('0x2f')]));_0x395299['attributes']=_0x395299[_0xe681('0x2e')][_0xe681('0x30')]?_0x395299[_0xe681('0x2e')]:_0x12472a[_0xe681('0x2a')];if(_0x4a0846['query'][_0xe681('0x39')]){_0x395299['include']=[{'all':!![]}];}_0x395299=_[_0xe681('0x36')]({},_0x395299,_0x4a0846[_0xe681('0x38')]);return db['SugarcrmConfiguration'][_0xe681('0x3d')](_0x395299)['then'](handleEntityNotFound(_0x535b9d,null))['then'](respondWithResult(_0x535b9d,null))[_0xe681('0x3b')](handleError(_0x535b9d,null));};exports[_0xe681('0x3e')]=function(_0x3f0893,_0x33ca3a){return db[_0xe681('0x26')][_0xe681('0x3e')](_0x3f0893[_0xe681('0x3f')],{})['then'](respondWithResult(_0x33ca3a,0xc9))[_0xe681('0x3b')](handleError(_0x33ca3a,null));};exports[_0xe681('0x40')]=function(_0x4c7e9d,_0x30d462){if(_0x4c7e9d[_0xe681('0x3f')]['id']){delete _0x4c7e9d[_0xe681('0x3f')]['id'];}return db[_0xe681('0x26')][_0xe681('0x3d')]({'where':{'id':_0x4c7e9d['params']['id']}})[_0xe681('0x20')](handleEntityNotFound(_0x30d462,null))[_0xe681('0x20')](saveUpdates(_0x4c7e9d[_0xe681('0x3f')],null))[_0xe681('0x20')](respondWithResult(_0x30d462,null))['catch'](handleError(_0x30d462,null));};exports[_0xe681('0x41')]=function(_0xd4bf3f,_0x51e14f){return db[_0xe681('0x26')]['find']({'where':{'id':_0xd4bf3f[_0xe681('0x42')]['id']}})[_0xe681('0x20')](handleEntityNotFound(_0x51e14f,null))[_0xe681('0x20')](removeEntity(_0x51e14f,null))['catch'](handleError(_0x51e14f,null));};exports[_0xe681('0x43')]=function(_0xcfee41,_0x2b8cb2,_0x20442a){var _0x2420a1={};var _0x5d4c15={};var _0x27d89d;var _0x24bda7;return db[_0xe681('0x26')][_0xe681('0x44')]({'where':{'id':_0xcfee41[_0xe681('0x42')]['id']}})[_0xe681('0x20')](handleEntityNotFound(_0x2b8cb2,null))[_0xe681('0x20')](function(_0x409351){if(_0x409351){_0x27d89d=_0x409351;_0x5d4c15[_0xe681('0x2a')]=_[_0xe681('0x45')](db[_0xe681('0x46')][_0xe681('0x27')]);_0x5d4c15[_0xe681('0x2b')]=_[_0xe681('0x45')](_0xcfee41[_0xe681('0x2b')]);_0x5d4c15['filters']=_[_0xe681('0x2d')](_0x5d4c15[_0xe681('0x2a')],_0x5d4c15[_0xe681('0x2b')]);_0x2420a1['attributes']=_[_0xe681('0x2d')](_0x5d4c15[_0xe681('0x2a')],qs['fields'](_0xcfee41[_0xe681('0x2b')][_0xe681('0x2f')]));_0x2420a1[_0xe681('0x2e')]=_0x2420a1[_0xe681('0x2e')]['length']?_0x2420a1[_0xe681('0x2e')]:_0x5d4c15[_0xe681('0x2a')];_0x2420a1[_0xe681('0x47')]=qs[_0xe681('0x33')](_0xcfee41[_0xe681('0x2b')][_0xe681('0x33')]);_0x2420a1[_0xe681('0x34')]=qs[_0xe681('0x2c')](_['pick'](_0xcfee41[_0xe681('0x2b')],_0x5d4c15['filters']));if(_0xcfee41[_0xe681('0x2b')][_0xe681('0x48')]){_0x2420a1[_0xe681('0x34')]=_[_0xe681('0x36')](_0x2420a1[_0xe681('0x34')],{'$or':_['map'](_0x2420a1[_0xe681('0x2e')],function(_0x1df1fb){var _0x1c6e83={};_0x1c6e83[_0x1df1fb]={'$like':'%'+_0xcfee41[_0xe681('0x2b')][_0xe681('0x48')]+'%'};return _0x1c6e83;})});}_0x2420a1=_['merge']({},_0x2420a1,_0xcfee41[_0xe681('0x38')]);return _0x27d89d[_0xe681('0x43')](_0x2420a1);}})[_0xe681('0x20')](function(_0x2efd28){if(_0x2efd28){_0x24bda7=_0x2efd28[_0xe681('0x30')];if(!_0xcfee41[_0xe681('0x2b')][_0xe681('0x49')](_0xe681('0x31'))){_0x2420a1[_0xe681('0x1b')]=qs[_0xe681('0x1b')](_0xcfee41[_0xe681('0x2b')]['limit']);_0x2420a1[_0xe681('0x32')]=qs[_0xe681('0x32')](_0xcfee41[_0xe681('0x2b')]['offset']);}return _0x27d89d[_0xe681('0x43')](_0x2420a1);}})[_0xe681('0x20')](function(_0x24b57d){if(_0x24b57d){return _0x24b57d?{'count':_0x24bda7,'rows':_0x24b57d}:null;}})['then'](respondWithResult(_0x2b8cb2,null))[_0xe681('0x3b')](handleError(_0x2b8cb2,null));};exports['getSubjects']=function(_0x5dbcc5,_0x3517d2,_0x562404){var _0x1166a5={};var _0x35e472={};var _0x557489;var _0x1b2e18;return db[_0xe681('0x26')][_0xe681('0x44')]({'where':{'id':_0x5dbcc5[_0xe681('0x42')]['id']}})['then'](handleEntityNotFound(_0x3517d2,null))[_0xe681('0x20')](function(_0x2b84fd){if(_0x2b84fd){_0x557489=_0x2b84fd;_0x35e472[_0xe681('0x2a')]=_[_0xe681('0x45')](db['SugarcrmField']['rawAttributes']);_0x35e472[_0xe681('0x2b')]=_[_0xe681('0x45')](_0x5dbcc5[_0xe681('0x2b')]);_0x35e472[_0xe681('0x2c')]=_['intersection'](_0x35e472['model'],_0x35e472[_0xe681('0x2b')]);_0x1166a5[_0xe681('0x2e')]=_['intersection'](_0x35e472[_0xe681('0x2a')],qs[_0xe681('0x2f')](_0x5dbcc5['query'][_0xe681('0x2f')]));_0x1166a5[_0xe681('0x2e')]=_0x1166a5[_0xe681('0x2e')]['length']?_0x1166a5[_0xe681('0x2e')]:_0x35e472['model'];_0x1166a5['order']=qs['sort'](_0x5dbcc5[_0xe681('0x2b')][_0xe681('0x33')]);_0x1166a5[_0xe681('0x34')]=qs[_0xe681('0x2c')](_['pick'](_0x5dbcc5[_0xe681('0x2b')],_0x35e472[_0xe681('0x2c')]));if(_0x5dbcc5[_0xe681('0x2b')][_0xe681('0x48')]){_0x1166a5[_0xe681('0x34')]=_['merge'](_0x1166a5['where'],{'$or':_['map'](_0x1166a5['attributes'],function(_0x3b77d1){var _0x17da40={};_0x17da40[_0x3b77d1]={'$like':'%'+_0x5dbcc5[_0xe681('0x2b')][_0xe681('0x48')]+'%'};return _0x17da40;})});}_0x1166a5=_['merge']({},_0x1166a5,_0x5dbcc5[_0xe681('0x38')]);return _0x557489[_0xe681('0x4a')](_0x1166a5);}})[_0xe681('0x20')](function(_0x15694f){if(_0x15694f){_0x1b2e18=_0x15694f[_0xe681('0x30')];if(!_0x5dbcc5[_0xe681('0x2b')][_0xe681('0x49')](_0xe681('0x31'))){_0x1166a5[_0xe681('0x1b')]=qs[_0xe681('0x1b')](_0x5dbcc5[_0xe681('0x2b')][_0xe681('0x1b')]);_0x1166a5['offset']=qs[_0xe681('0x32')](_0x5dbcc5['query'][_0xe681('0x32')]);}return _0x557489['getSubjects'](_0x1166a5);}})[_0xe681('0x20')](function(_0x1326d6){if(_0x1326d6){return _0x1326d6?{'count':_0x1b2e18,'rows':_0x1326d6}:null;}})['then'](respondWithResult(_0x3517d2,null))[_0xe681('0x3b')](handleError(_0x3517d2,null));};exports[_0xe681('0x4b')]=function(_0x3c6074,_0x28ff7d,_0x476491){var _0xf734ce={};var _0x2049c7={};var _0x396c18;var _0x21fa40;return db[_0xe681('0x26')][_0xe681('0x44')]({'where':{'id':_0x3c6074['params']['id']}})['then'](handleEntityNotFound(_0x28ff7d,null))[_0xe681('0x20')](function(_0x2a5c1f){if(_0x2a5c1f){_0x396c18=_0x2a5c1f;_0x2049c7[_0xe681('0x2a')]=_[_0xe681('0x45')](db[_0xe681('0x46')][_0xe681('0x27')]);_0x2049c7[_0xe681('0x2b')]=_['keys'](_0x3c6074[_0xe681('0x2b')]);_0x2049c7['filters']=_[_0xe681('0x2d')](_0x2049c7[_0xe681('0x2a')],_0x2049c7['query']);_0xf734ce['attributes']=_[_0xe681('0x2d')](_0x2049c7[_0xe681('0x2a')],qs[_0xe681('0x2f')](_0x3c6074[_0xe681('0x2b')][_0xe681('0x2f')]));_0xf734ce[_0xe681('0x2e')]=_0xf734ce['attributes'][_0xe681('0x30')]?_0xf734ce['attributes']:_0x2049c7[_0xe681('0x2a')];_0xf734ce[_0xe681('0x47')]=qs[_0xe681('0x33')](_0x3c6074[_0xe681('0x2b')][_0xe681('0x33')]);_0xf734ce[_0xe681('0x34')]=qs['filters'](_['pick'](_0x3c6074[_0xe681('0x2b')],_0x2049c7[_0xe681('0x2c')]));if(_0x3c6074[_0xe681('0x2b')][_0xe681('0x48')]){_0xf734ce[_0xe681('0x34')]=_['merge'](_0xf734ce[_0xe681('0x34')],{'$or':_['map'](_0xf734ce[_0xe681('0x2e')],function(_0x3596fd){var _0x5cfd77={};_0x5cfd77[_0x3596fd]={'$like':'%'+_0x3c6074[_0xe681('0x2b')][_0xe681('0x48')]+'%'};return _0x5cfd77;})});}_0xf734ce=_[_0xe681('0x36')]({},_0xf734ce,_0x3c6074['options']);return _0x396c18['getDescriptions'](_0xf734ce);}})[_0xe681('0x20')](function(_0x2c04e7){if(_0x2c04e7){_0x21fa40=_0x2c04e7['length'];if(!_0x3c6074['query'][_0xe681('0x49')]('nolimit')){_0xf734ce['limit']=qs['limit'](_0x3c6074[_0xe681('0x2b')][_0xe681('0x1b')]);_0xf734ce[_0xe681('0x32')]=qs[_0xe681('0x32')](_0x3c6074[_0xe681('0x2b')][_0xe681('0x32')]);}return _0x396c18[_0xe681('0x4b')](_0xf734ce);}})[_0xe681('0x20')](function(_0x1f8ad9){if(_0x1f8ad9){return _0x1f8ad9?{'count':_0x21fa40,'rows':_0x1f8ad9}:null;}})[_0xe681('0x20')](respondWithResult(_0x28ff7d,null))[_0xe681('0x3b')](handleError(_0x28ff7d,null));};