Built motion from commit e02f907f.|2.6.14
[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 _0xe1d1=['index','map','SugarcrmConfiguration','rawAttributes','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','include','rows','catch','show','params','includeAll','create','body','find','destroy','getFields','findOne','SugarcrmField','getSubjects','getDescriptions','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','path','sox','ejs','squel','jsforce','desk.js','to-csv','papaparse','ioredis','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','json','offset','undefined','count','limit','set','reject','save','update','then','stack','name'];(function(_0x3ab9ee,_0x4a74b8){var _0x82ee88=function(_0x6ccc7e){while(--_0x6ccc7e){_0x3ab9ee['push'](_0x3ab9ee['shift']());}};_0x82ee88(++_0x4a74b8);}(_0xe1d1,0x1ef));var _0x1e1d=function(_0x16b9ed,_0x56517a){_0x16b9ed=_0x16b9ed-0x0;var _0x66b1f8=_0xe1d1[_0x16b9ed];return _0x66b1f8;};'use strict';var emlformat=require(_0x1e1d('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x1e1d('0x1'));var jsonpatch=require(_0x1e1d('0x2'));var rp=require(_0x1e1d('0x3'));var moment=require(_0x1e1d('0x4'));var BPromise=require(_0x1e1d('0x5'));var Mustache=require('mustache');var util=require('util');var path=require(_0x1e1d('0x6'));var sox=require(_0x1e1d('0x7'));var csv=require('to-csv');var ejs=require(_0x1e1d('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x1e1d('0x9'));var crypto=require('crypto');var jsforce=require(_0x1e1d('0xa'));var deskjs=require(_0x1e1d('0xb'));var toCsv=require(_0x1e1d('0xc'));var querystring=require('querystring');var Papa=require(_0x1e1d('0xd'));var Redis=require(_0x1e1d('0xe'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x1e1d('0xf'));var logger=require(_0x1e1d('0x10'))(_0x1e1d('0x11'));var utils=require(_0x1e1d('0x12'));var config=require(_0x1e1d('0x13'));var licenseUtil=require(_0x1e1d('0x14'));var db=require(_0x1e1d('0x15'))['db'];function respondWithStatusCode(_0x556014,_0x6404b8){_0x6404b8=_0x6404b8||0xcc;return function(_0x1c6270){if(_0x1c6270){return _0x556014[_0x1e1d('0x16')](_0x6404b8);}return _0x556014['status'](_0x6404b8)[_0x1e1d('0x17')]();};}function respondWithResult(_0x1ccc1c,_0x2e327d){_0x2e327d=_0x2e327d||0xc8;return function(_0x2bc238){if(_0x2bc238){return _0x1ccc1c[_0x1e1d('0x18')](_0x2e327d)[_0x1e1d('0x19')](_0x2bc238);}};}function respondWithFilteredResult(_0x11c022,_0x416336){return function(_0x330b37){if(_0x330b37){var _0x13b2a4=typeof _0x416336[_0x1e1d('0x1a')]===_0x1e1d('0x1b')&&typeof _0x416336['limit']==='undefined';var _0x8f27be=_0x330b37['count'];var _0x32722d=_0x13b2a4?0x0:_0x416336[_0x1e1d('0x1a')];var _0x318519=_0x13b2a4?_0x330b37[_0x1e1d('0x1c')]:_0x416336[_0x1e1d('0x1a')]+_0x416336[_0x1e1d('0x1d')];var _0xb8724b;if(_0x318519>=_0x8f27be){_0x318519=_0x8f27be;_0xb8724b=0xc8;}else{_0xb8724b=0xce;}_0x11c022[_0x1e1d('0x18')](_0xb8724b);return _0x11c022[_0x1e1d('0x1e')]('Content-Range',_0x32722d+'-'+_0x318519+'/'+_0x8f27be)[_0x1e1d('0x19')](_0x330b37);}return null;};}function patchUpdates(_0xcb1edc){return function(_0x38ef6a){try{jsonpatch['apply'](_0x38ef6a,_0xcb1edc,!![]);}catch(_0x3063ee){return BPromise[_0x1e1d('0x1f')](_0x3063ee);}return _0x38ef6a[_0x1e1d('0x20')]();};}function saveUpdates(_0x51cce8,_0x11e661){return function(_0x407f17){if(_0x407f17){return _0x407f17[_0x1e1d('0x21')](_0x51cce8)['then'](function(_0x1052d3){return _0x1052d3;});}return null;};}function removeEntity(_0x5d53fb,_0x56ed6d){return function(_0x12cdc8){if(_0x12cdc8){return _0x12cdc8['destroy']()[_0x1e1d('0x22')](function(){_0x5d53fb['status'](0xcc)[_0x1e1d('0x17')]();});}};}function handleEntityNotFound(_0x3a5fd9,_0x300719){return function(_0x205c37){if(!_0x205c37){_0x3a5fd9[_0x1e1d('0x16')](0x194);}return _0x205c37;};}function handleError(_0x1d3493,_0x54b1ed){_0x54b1ed=_0x54b1ed||0x1f4;return function(_0x5c7c92){logger['error'](_0x5c7c92[_0x1e1d('0x23')]);if(_0x5c7c92[_0x1e1d('0x24')]){delete _0x5c7c92[_0x1e1d('0x24')];}_0x1d3493[_0x1e1d('0x18')](_0x54b1ed)['send'](_0x5c7c92);};}exports[_0x1e1d('0x25')]=function(_0x5abb78,_0x82147f){var _0x55525f={},_0x1be049={},_0x46045c={'count':0x0,'rows':[]};var _0x15f2c7=_[_0x1e1d('0x26')](db[_0x1e1d('0x27')][_0x1e1d('0x28')],function(_0x5afc03){return{'name':_0x5afc03['fieldName'],'type':_0x5afc03[_0x1e1d('0x29')][_0x1e1d('0x2a')]};});_0x1be049[_0x1e1d('0x2b')]=_[_0x1e1d('0x26')](_0x15f2c7,'name');_0x1be049[_0x1e1d('0x2c')]=_[_0x1e1d('0x2d')](_0x5abb78[_0x1e1d('0x2c')]);_0x1be049[_0x1e1d('0x2e')]=_[_0x1e1d('0x2f')](_0x1be049[_0x1e1d('0x2b')],_0x1be049[_0x1e1d('0x2c')]);_0x55525f[_0x1e1d('0x30')]=_['intersection'](_0x1be049[_0x1e1d('0x2b')],qs['fields'](_0x5abb78[_0x1e1d('0x2c')][_0x1e1d('0x31')]));_0x55525f[_0x1e1d('0x30')]=_0x55525f['attributes'][_0x1e1d('0x32')]?_0x55525f[_0x1e1d('0x30')]:_0x1be049[_0x1e1d('0x2b')];if(!_0x5abb78[_0x1e1d('0x2c')][_0x1e1d('0x33')](_0x1e1d('0x34'))){_0x55525f[_0x1e1d('0x1d')]=qs[_0x1e1d('0x1d')](_0x5abb78[_0x1e1d('0x2c')]['limit']);_0x55525f[_0x1e1d('0x1a')]=qs['offset'](_0x5abb78[_0x1e1d('0x2c')][_0x1e1d('0x1a')]);}_0x55525f[_0x1e1d('0x35')]=qs[_0x1e1d('0x36')](_0x5abb78[_0x1e1d('0x2c')][_0x1e1d('0x36')]);_0x55525f[_0x1e1d('0x37')]=qs[_0x1e1d('0x2e')](_[_0x1e1d('0x38')](_0x5abb78[_0x1e1d('0x2c')],_0x1be049[_0x1e1d('0x2e')]),_0x15f2c7);if(_0x5abb78['query'][_0x1e1d('0x39')]){_0x55525f[_0x1e1d('0x37')]=_[_0x1e1d('0x3a')](_0x55525f[_0x1e1d('0x37')],{'$or':_['map'](_0x15f2c7,function(_0xea7eff){if(_0xea7eff['type']!==_0x1e1d('0x3b')){var _0x4d2130={};_0x4d2130[_0xea7eff[_0x1e1d('0x24')]]={'$like':'%'+_0x5abb78[_0x1e1d('0x2c')][_0x1e1d('0x39')]+'%'};return _0x4d2130;}})});}_0x55525f=_[_0x1e1d('0x3a')]({},_0x55525f,_0x5abb78[_0x1e1d('0x3c')]);var _0x128868={'where':_0x55525f['where']};return db[_0x1e1d('0x27')]['count'](_0x128868)[_0x1e1d('0x22')](function(_0x20bb55){_0x46045c[_0x1e1d('0x1c')]=_0x20bb55;if(_0x5abb78['query']['includeAll']){_0x55525f[_0x1e1d('0x3d')]=[{'all':!![]}];}return db[_0x1e1d('0x27')]['findAll'](_0x55525f);})['then'](function(_0x5a1c7e){_0x46045c[_0x1e1d('0x3e')]=_0x5a1c7e;return _0x46045c;})[_0x1e1d('0x22')](respondWithFilteredResult(_0x82147f,_0x55525f))[_0x1e1d('0x3f')](handleError(_0x82147f,null));};exports[_0x1e1d('0x40')]=function(_0x14b05e,_0x3e963f){var _0x275c0f={'raw':![],'where':{'id':_0x14b05e[_0x1e1d('0x41')]['id']}},_0x50b372={};_0x50b372[_0x1e1d('0x2b')]=_[_0x1e1d('0x2d')](db['SugarcrmConfiguration'][_0x1e1d('0x28')]);_0x50b372['query']=_['keys'](_0x14b05e[_0x1e1d('0x2c')]);_0x50b372[_0x1e1d('0x2e')]=_[_0x1e1d('0x2f')](_0x50b372['model'],_0x50b372[_0x1e1d('0x2c')]);_0x275c0f[_0x1e1d('0x30')]=_[_0x1e1d('0x2f')](_0x50b372[_0x1e1d('0x2b')],qs[_0x1e1d('0x31')](_0x14b05e[_0x1e1d('0x2c')][_0x1e1d('0x31')]));_0x275c0f['attributes']=_0x275c0f[_0x1e1d('0x30')][_0x1e1d('0x32')]?_0x275c0f[_0x1e1d('0x30')]:_0x50b372[_0x1e1d('0x2b')];if(_0x14b05e[_0x1e1d('0x2c')][_0x1e1d('0x42')]){_0x275c0f[_0x1e1d('0x3d')]=[{'all':!![]}];}_0x275c0f=_[_0x1e1d('0x3a')]({},_0x275c0f,_0x14b05e['options']);return db['SugarcrmConfiguration']['find'](_0x275c0f)['then'](handleEntityNotFound(_0x3e963f,null))[_0x1e1d('0x22')](respondWithResult(_0x3e963f,null))['catch'](handleError(_0x3e963f,null));};exports[_0x1e1d('0x43')]=function(_0x3d441c,_0x30c9c9){return db[_0x1e1d('0x27')]['create'](_0x3d441c[_0x1e1d('0x44')],{})['then'](respondWithResult(_0x30c9c9,0xc9))[_0x1e1d('0x3f')](handleError(_0x30c9c9,null));};exports[_0x1e1d('0x21')]=function(_0x19d038,_0x508a69){if(_0x19d038[_0x1e1d('0x44')]['id']){delete _0x19d038[_0x1e1d('0x44')]['id'];}return db[_0x1e1d('0x27')][_0x1e1d('0x45')]({'where':{'id':_0x19d038[_0x1e1d('0x41')]['id']}})[_0x1e1d('0x22')](handleEntityNotFound(_0x508a69,null))[_0x1e1d('0x22')](saveUpdates(_0x19d038[_0x1e1d('0x44')],null))[_0x1e1d('0x22')](respondWithResult(_0x508a69,null))[_0x1e1d('0x3f')](handleError(_0x508a69,null));};exports[_0x1e1d('0x46')]=function(_0x283eba,_0x34a731){return db[_0x1e1d('0x27')]['find']({'where':{'id':_0x283eba[_0x1e1d('0x41')]['id']}})[_0x1e1d('0x22')](handleEntityNotFound(_0x34a731,null))[_0x1e1d('0x22')](removeEntity(_0x34a731,null))[_0x1e1d('0x3f')](handleError(_0x34a731,null));};exports[_0x1e1d('0x47')]=function(_0x44bde4,_0x3b70ff,_0x2ca1e2){var _0x922881={};var _0x1fbf87={};var _0x352417;var _0x7d5aab;return db['SugarcrmConfiguration'][_0x1e1d('0x48')]({'where':{'id':_0x44bde4[_0x1e1d('0x41')]['id']}})[_0x1e1d('0x22')](handleEntityNotFound(_0x3b70ff,null))['then'](function(_0x326859){if(_0x326859){_0x352417=_0x326859;_0x1fbf87[_0x1e1d('0x2b')]=_[_0x1e1d('0x2d')](db[_0x1e1d('0x49')][_0x1e1d('0x28')]);_0x1fbf87[_0x1e1d('0x2c')]=_[_0x1e1d('0x2d')](_0x44bde4[_0x1e1d('0x2c')]);_0x1fbf87['filters']=_['intersection'](_0x1fbf87[_0x1e1d('0x2b')],_0x1fbf87[_0x1e1d('0x2c')]);_0x922881[_0x1e1d('0x30')]=_[_0x1e1d('0x2f')](_0x1fbf87[_0x1e1d('0x2b')],qs[_0x1e1d('0x31')](_0x44bde4[_0x1e1d('0x2c')]['fields']));_0x922881[_0x1e1d('0x30')]=_0x922881[_0x1e1d('0x30')]['length']?_0x922881[_0x1e1d('0x30')]:_0x1fbf87[_0x1e1d('0x2b')];_0x922881[_0x1e1d('0x35')]=qs[_0x1e1d('0x36')](_0x44bde4['query']['sort']);_0x922881['where']=qs[_0x1e1d('0x2e')](_['pick'](_0x44bde4['query'],_0x1fbf87['filters']));if(_0x44bde4['query'][_0x1e1d('0x39')]){_0x922881['where']=_[_0x1e1d('0x3a')](_0x922881[_0x1e1d('0x37')],{'$or':_[_0x1e1d('0x26')](_0x922881[_0x1e1d('0x30')],function(_0x4ca2b8){var _0x471a3a={};_0x471a3a[_0x4ca2b8]={'$like':'%'+_0x44bde4[_0x1e1d('0x2c')]['filter']+'%'};return _0x471a3a;})});}_0x922881=_['merge']({},_0x922881,_0x44bde4[_0x1e1d('0x3c')]);return _0x352417[_0x1e1d('0x47')](_0x922881);}})[_0x1e1d('0x22')](function(_0x55ed4a){if(_0x55ed4a){_0x7d5aab=_0x55ed4a[_0x1e1d('0x32')];if(!_0x44bde4[_0x1e1d('0x2c')][_0x1e1d('0x33')](_0x1e1d('0x34'))){_0x922881[_0x1e1d('0x1d')]=qs['limit'](_0x44bde4['query'][_0x1e1d('0x1d')]);_0x922881['offset']=qs[_0x1e1d('0x1a')](_0x44bde4['query'][_0x1e1d('0x1a')]);}return _0x352417[_0x1e1d('0x47')](_0x922881);}})['then'](function(_0x1e1b15){if(_0x1e1b15){return _0x1e1b15?{'count':_0x7d5aab,'rows':_0x1e1b15}:null;}})[_0x1e1d('0x22')](respondWithResult(_0x3b70ff,null))[_0x1e1d('0x3f')](handleError(_0x3b70ff,null));};exports[_0x1e1d('0x4a')]=function(_0x201635,_0x1c0866,_0x14cbba){var _0xb2f0cd={};var _0x7571ae={};var _0x2877d4;var _0x3b2d8e;return db[_0x1e1d('0x27')][_0x1e1d('0x48')]({'where':{'id':_0x201635[_0x1e1d('0x41')]['id']}})[_0x1e1d('0x22')](handleEntityNotFound(_0x1c0866,null))['then'](function(_0x32e200){if(_0x32e200){_0x2877d4=_0x32e200;_0x7571ae[_0x1e1d('0x2b')]=_[_0x1e1d('0x2d')](db[_0x1e1d('0x49')][_0x1e1d('0x28')]);_0x7571ae[_0x1e1d('0x2c')]=_[_0x1e1d('0x2d')](_0x201635[_0x1e1d('0x2c')]);_0x7571ae['filters']=_[_0x1e1d('0x2f')](_0x7571ae[_0x1e1d('0x2b')],_0x7571ae[_0x1e1d('0x2c')]);_0xb2f0cd['attributes']=_[_0x1e1d('0x2f')](_0x7571ae[_0x1e1d('0x2b')],qs[_0x1e1d('0x31')](_0x201635[_0x1e1d('0x2c')]['fields']));_0xb2f0cd[_0x1e1d('0x30')]=_0xb2f0cd['attributes'][_0x1e1d('0x32')]?_0xb2f0cd[_0x1e1d('0x30')]:_0x7571ae[_0x1e1d('0x2b')];_0xb2f0cd['order']=qs['sort'](_0x201635[_0x1e1d('0x2c')][_0x1e1d('0x36')]);_0xb2f0cd[_0x1e1d('0x37')]=qs['filters'](_['pick'](_0x201635['query'],_0x7571ae['filters']));if(_0x201635[_0x1e1d('0x2c')][_0x1e1d('0x39')]){_0xb2f0cd['where']=_['merge'](_0xb2f0cd['where'],{'$or':_[_0x1e1d('0x26')](_0xb2f0cd[_0x1e1d('0x30')],function(_0x1f1308){var _0x1b798c={};_0x1b798c[_0x1f1308]={'$like':'%'+_0x201635[_0x1e1d('0x2c')][_0x1e1d('0x39')]+'%'};return _0x1b798c;})});}_0xb2f0cd=_[_0x1e1d('0x3a')]({},_0xb2f0cd,_0x201635[_0x1e1d('0x3c')]);return _0x2877d4[_0x1e1d('0x4a')](_0xb2f0cd);}})[_0x1e1d('0x22')](function(_0x42924f){if(_0x42924f){_0x3b2d8e=_0x42924f[_0x1e1d('0x32')];if(!_0x201635['query'][_0x1e1d('0x33')](_0x1e1d('0x34'))){_0xb2f0cd[_0x1e1d('0x1d')]=qs['limit'](_0x201635[_0x1e1d('0x2c')]['limit']);_0xb2f0cd[_0x1e1d('0x1a')]=qs[_0x1e1d('0x1a')](_0x201635[_0x1e1d('0x2c')][_0x1e1d('0x1a')]);}return _0x2877d4[_0x1e1d('0x4a')](_0xb2f0cd);}})[_0x1e1d('0x22')](function(_0x4ddf42){if(_0x4ddf42){return _0x4ddf42?{'count':_0x3b2d8e,'rows':_0x4ddf42}:null;}})['then'](respondWithResult(_0x1c0866,null))[_0x1e1d('0x3f')](handleError(_0x1c0866,null));};exports[_0x1e1d('0x4b')]=function(_0x4f5dac,_0xa7aaa,_0x5f0b77){var _0x5bc6a0={};var _0x55544e={};var _0x5ceccb;var _0x13275e;return db[_0x1e1d('0x27')][_0x1e1d('0x48')]({'where':{'id':_0x4f5dac[_0x1e1d('0x41')]['id']}})[_0x1e1d('0x22')](handleEntityNotFound(_0xa7aaa,null))[_0x1e1d('0x22')](function(_0x21aece){if(_0x21aece){_0x5ceccb=_0x21aece;_0x55544e[_0x1e1d('0x2b')]=_[_0x1e1d('0x2d')](db['SugarcrmField'][_0x1e1d('0x28')]);_0x55544e['query']=_[_0x1e1d('0x2d')](_0x4f5dac[_0x1e1d('0x2c')]);_0x55544e['filters']=_[_0x1e1d('0x2f')](_0x55544e['model'],_0x55544e[_0x1e1d('0x2c')]);_0x5bc6a0[_0x1e1d('0x30')]=_['intersection'](_0x55544e[_0x1e1d('0x2b')],qs[_0x1e1d('0x31')](_0x4f5dac[_0x1e1d('0x2c')][_0x1e1d('0x31')]));_0x5bc6a0[_0x1e1d('0x30')]=_0x5bc6a0[_0x1e1d('0x30')][_0x1e1d('0x32')]?_0x5bc6a0['attributes']:_0x55544e['model'];_0x5bc6a0[_0x1e1d('0x35')]=qs[_0x1e1d('0x36')](_0x4f5dac[_0x1e1d('0x2c')][_0x1e1d('0x36')]);_0x5bc6a0[_0x1e1d('0x37')]=qs[_0x1e1d('0x2e')](_[_0x1e1d('0x38')](_0x4f5dac[_0x1e1d('0x2c')],_0x55544e[_0x1e1d('0x2e')]));if(_0x4f5dac['query'][_0x1e1d('0x39')]){_0x5bc6a0[_0x1e1d('0x37')]=_['merge'](_0x5bc6a0[_0x1e1d('0x37')],{'$or':_['map'](_0x5bc6a0[_0x1e1d('0x30')],function(_0x2a10d9){var _0x22feb2={};_0x22feb2[_0x2a10d9]={'$like':'%'+_0x4f5dac[_0x1e1d('0x2c')][_0x1e1d('0x39')]+'%'};return _0x22feb2;})});}_0x5bc6a0=_['merge']({},_0x5bc6a0,_0x4f5dac[_0x1e1d('0x3c')]);return _0x5ceccb[_0x1e1d('0x4b')](_0x5bc6a0);}})[_0x1e1d('0x22')](function(_0xeb5bf9){if(_0xeb5bf9){_0x13275e=_0xeb5bf9[_0x1e1d('0x32')];if(!_0x4f5dac[_0x1e1d('0x2c')]['hasOwnProperty'](_0x1e1d('0x34'))){_0x5bc6a0[_0x1e1d('0x1d')]=qs[_0x1e1d('0x1d')](_0x4f5dac[_0x1e1d('0x2c')][_0x1e1d('0x1d')]);_0x5bc6a0[_0x1e1d('0x1a')]=qs['offset'](_0x4f5dac[_0x1e1d('0x2c')][_0x1e1d('0x1a')]);}return _0x5ceccb[_0x1e1d('0x4b')](_0x5bc6a0);}})[_0x1e1d('0x22')](function(_0x577121){if(_0x577121){return _0x577121?{'count':_0x13275e,'rows':_0x577121}:null;}})[_0x1e1d('0x22')](respondWithResult(_0xa7aaa,null))['catch'](handleError(_0xa7aaa,null));};