Built motion from commit da24aabd.|2.6.20
[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 _0xe45b=['attributes','fields','length','hasOwnProperty','sort','where','filters','filter','merge','type','options','includeAll','include','findAll','catch','params','find','create','body','getFields','SugarcrmField','order','pick','nolimit','getSubjects','findOne','getDescriptions','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/license/util','../../mysqldb','status','end','json','offset','undefined','count','limit','set','Content-Range','apply','save','update','then','destroy','sendStatus','error','stack','name','send','index','map','SugarcrmConfiguration','rawAttributes','fieldName','key','model','keys','query','intersection'];(function(_0x5bff13,_0x4554a9){var _0x45508c=function(_0x54e014){while(--_0x54e014){_0x5bff13['push'](_0x5bff13['shift']());}};_0x45508c(++_0x4554a9);}(_0xe45b,0x111));var _0xbe45=function(_0x5868fa,_0x4009c7){_0x5868fa=_0x5868fa-0x0;var _0x24f45a=_0xe45b[_0x5868fa];return _0x24f45a;};'use strict';var emlformat=require(_0xbe45('0x0'));var rimraf=require(_0xbe45('0x1'));var zipdir=require(_0xbe45('0x2'));var jsonpatch=require(_0xbe45('0x3'));var rp=require(_0xbe45('0x4'));var moment=require(_0xbe45('0x5'));var BPromise=require(_0xbe45('0x6'));var Mustache=require('mustache');var util=require(_0xbe45('0x7'));var path=require(_0xbe45('0x8'));var sox=require(_0xbe45('0x9'));var csv=require(_0xbe45('0xa'));var ejs=require(_0xbe45('0xb'));var fs=require('fs');var fs_extra=require(_0xbe45('0xc'));var _=require(_0xbe45('0xd'));var squel=require(_0xbe45('0xe'));var crypto=require('crypto');var jsforce=require(_0xbe45('0xf'));var deskjs=require(_0xbe45('0x10'));var toCsv=require(_0xbe45('0xa'));var querystring=require('querystring');var Papa=require(_0xbe45('0x11'));var Redis=require(_0xbe45('0x12'));var authService=require(_0xbe45('0x13'));var qs=require('../../components/parsers/qs');var as=require(_0xbe45('0x14'));var hardwareService=require(_0xbe45('0x15'));var logger=require('../../config/logger')(_0xbe45('0x16'));var utils=require(_0xbe45('0x17'));var config=require('../../config/environment');var licenseUtil=require(_0xbe45('0x18'));var db=require(_0xbe45('0x19'))['db'];function respondWithStatusCode(_0x40784b,_0x25ff1b){_0x25ff1b=_0x25ff1b||0xcc;return function(_0x224251){if(_0x224251){return _0x40784b['sendStatus'](_0x25ff1b);}return _0x40784b[_0xbe45('0x1a')](_0x25ff1b)[_0xbe45('0x1b')]();};}function respondWithResult(_0x3dfb11,_0x384589){_0x384589=_0x384589||0xc8;return function(_0x2a0778){if(_0x2a0778){return _0x3dfb11[_0xbe45('0x1a')](_0x384589)[_0xbe45('0x1c')](_0x2a0778);}};}function respondWithFilteredResult(_0x5bee64,_0x10c0dc){return function(_0x6cce32){if(_0x6cce32){var _0x442407=typeof _0x10c0dc[_0xbe45('0x1d')]==='undefined'&&typeof _0x10c0dc['limit']===_0xbe45('0x1e');var _0x4f7f24=_0x6cce32[_0xbe45('0x1f')];var _0x5181d6=_0x442407?0x0:_0x10c0dc[_0xbe45('0x1d')];var _0x5a0c1f=_0x442407?_0x6cce32[_0xbe45('0x1f')]:_0x10c0dc[_0xbe45('0x1d')]+_0x10c0dc[_0xbe45('0x20')];var _0x4b4f95;if(_0x5a0c1f>=_0x4f7f24){_0x5a0c1f=_0x4f7f24;_0x4b4f95=0xc8;}else{_0x4b4f95=0xce;}_0x5bee64['status'](_0x4b4f95);return _0x5bee64[_0xbe45('0x21')](_0xbe45('0x22'),_0x5181d6+'-'+_0x5a0c1f+'/'+_0x4f7f24)[_0xbe45('0x1c')](_0x6cce32);}return null;};}function patchUpdates(_0x1f2c71){return function(_0x50e75d){try{jsonpatch[_0xbe45('0x23')](_0x50e75d,_0x1f2c71,!![]);}catch(_0xd654a9){return BPromise['reject'](_0xd654a9);}return _0x50e75d[_0xbe45('0x24')]();};}function saveUpdates(_0x33d30,_0x16ba10){return function(_0x1bf4b1){if(_0x1bf4b1){return _0x1bf4b1[_0xbe45('0x25')](_0x33d30)[_0xbe45('0x26')](function(_0x2e8e50){return _0x2e8e50;});}return null;};}function removeEntity(_0x4bc3f8,_0x327fce){return function(_0x483c83){if(_0x483c83){return _0x483c83[_0xbe45('0x27')]()['then'](function(){_0x4bc3f8[_0xbe45('0x1a')](0xcc)[_0xbe45('0x1b')]();});}};}function handleEntityNotFound(_0x4156ae,_0xbe8838){return function(_0x4dd6f1){if(!_0x4dd6f1){_0x4156ae[_0xbe45('0x28')](0x194);}return _0x4dd6f1;};}function handleError(_0x5c92c0,_0xefc82a){_0xefc82a=_0xefc82a||0x1f4;return function(_0x4c1ab4){logger[_0xbe45('0x29')](_0x4c1ab4[_0xbe45('0x2a')]);if(_0x4c1ab4[_0xbe45('0x2b')]){delete _0x4c1ab4[_0xbe45('0x2b')];}_0x5c92c0[_0xbe45('0x1a')](_0xefc82a)[_0xbe45('0x2c')](_0x4c1ab4);};}exports[_0xbe45('0x2d')]=function(_0x5584e9,_0x4eeb14){var _0x49db7d={},_0x3065d4={},_0x3324ea={'count':0x0,'rows':[]};var _0x5a24b5=_[_0xbe45('0x2e')](db[_0xbe45('0x2f')][_0xbe45('0x30')],function(_0x1ff62f){return{'name':_0x1ff62f[_0xbe45('0x31')],'type':_0x1ff62f['type'][_0xbe45('0x32')]};});_0x3065d4[_0xbe45('0x33')]=_[_0xbe45('0x2e')](_0x5a24b5,'name');_0x3065d4['query']=_[_0xbe45('0x34')](_0x5584e9[_0xbe45('0x35')]);_0x3065d4['filters']=_[_0xbe45('0x36')](_0x3065d4[_0xbe45('0x33')],_0x3065d4['query']);_0x49db7d[_0xbe45('0x37')]=_[_0xbe45('0x36')](_0x3065d4['model'],qs[_0xbe45('0x38')](_0x5584e9['query'][_0xbe45('0x38')]));_0x49db7d[_0xbe45('0x37')]=_0x49db7d[_0xbe45('0x37')][_0xbe45('0x39')]?_0x49db7d[_0xbe45('0x37')]:_0x3065d4[_0xbe45('0x33')];if(!_0x5584e9[_0xbe45('0x35')][_0xbe45('0x3a')]('nolimit')){_0x49db7d['limit']=qs[_0xbe45('0x20')](_0x5584e9[_0xbe45('0x35')][_0xbe45('0x20')]);_0x49db7d[_0xbe45('0x1d')]=qs['offset'](_0x5584e9[_0xbe45('0x35')][_0xbe45('0x1d')]);}_0x49db7d['order']=qs[_0xbe45('0x3b')](_0x5584e9[_0xbe45('0x35')]['sort']);_0x49db7d[_0xbe45('0x3c')]=qs[_0xbe45('0x3d')](_['pick'](_0x5584e9[_0xbe45('0x35')],_0x3065d4[_0xbe45('0x3d')]),_0x5a24b5);if(_0x5584e9['query'][_0xbe45('0x3e')]){_0x49db7d[_0xbe45('0x3c')]=_[_0xbe45('0x3f')](_0x49db7d[_0xbe45('0x3c')],{'$or':_[_0xbe45('0x2e')](_0x5a24b5,function(_0x1665de){if(_0x1665de[_0xbe45('0x40')]!=='VIRTUAL'){var _0x2d1e66={};_0x2d1e66[_0x1665de[_0xbe45('0x2b')]]={'$like':'%'+_0x5584e9[_0xbe45('0x35')]['filter']+'%'};return _0x2d1e66;}})});}_0x49db7d=_[_0xbe45('0x3f')]({},_0x49db7d,_0x5584e9[_0xbe45('0x41')]);var _0x10782f={'where':_0x49db7d['where']};return db[_0xbe45('0x2f')]['count'](_0x10782f)[_0xbe45('0x26')](function(_0x5955f4){_0x3324ea['count']=_0x5955f4;if(_0x5584e9[_0xbe45('0x35')][_0xbe45('0x42')]){_0x49db7d[_0xbe45('0x43')]=[{'all':!![]}];}return db[_0xbe45('0x2f')][_0xbe45('0x44')](_0x49db7d);})[_0xbe45('0x26')](function(_0x529758){_0x3324ea['rows']=_0x529758;return _0x3324ea;})[_0xbe45('0x26')](respondWithFilteredResult(_0x4eeb14,_0x49db7d))[_0xbe45('0x45')](handleError(_0x4eeb14,null));};exports['show']=function(_0x1dc784,_0x2eb4a4){var _0x3d8dac={'raw':![],'where':{'id':_0x1dc784[_0xbe45('0x46')]['id']}},_0x10798a={};_0x10798a[_0xbe45('0x33')]=_[_0xbe45('0x34')](db[_0xbe45('0x2f')][_0xbe45('0x30')]);_0x10798a['query']=_[_0xbe45('0x34')](_0x1dc784[_0xbe45('0x35')]);_0x10798a['filters']=_[_0xbe45('0x36')](_0x10798a['model'],_0x10798a[_0xbe45('0x35')]);_0x3d8dac['attributes']=_['intersection'](_0x10798a[_0xbe45('0x33')],qs[_0xbe45('0x38')](_0x1dc784['query'][_0xbe45('0x38')]));_0x3d8dac[_0xbe45('0x37')]=_0x3d8dac[_0xbe45('0x37')]['length']?_0x3d8dac['attributes']:_0x10798a['model'];if(_0x1dc784['query'][_0xbe45('0x42')]){_0x3d8dac[_0xbe45('0x43')]=[{'all':!![]}];}_0x3d8dac=_[_0xbe45('0x3f')]({},_0x3d8dac,_0x1dc784[_0xbe45('0x41')]);return db[_0xbe45('0x2f')][_0xbe45('0x47')](_0x3d8dac)[_0xbe45('0x26')](handleEntityNotFound(_0x2eb4a4,null))[_0xbe45('0x26')](respondWithResult(_0x2eb4a4,null))[_0xbe45('0x45')](handleError(_0x2eb4a4,null));};exports['create']=function(_0x40791c,_0xea2e06){return db[_0xbe45('0x2f')][_0xbe45('0x48')](_0x40791c[_0xbe45('0x49')],{})[_0xbe45('0x26')](respondWithResult(_0xea2e06,0xc9))[_0xbe45('0x45')](handleError(_0xea2e06,null));};exports[_0xbe45('0x25')]=function(_0xa42026,_0x50c09f){if(_0xa42026[_0xbe45('0x49')]['id']){delete _0xa42026[_0xbe45('0x49')]['id'];}return db[_0xbe45('0x2f')]['find']({'where':{'id':_0xa42026['params']['id']}})['then'](handleEntityNotFound(_0x50c09f,null))[_0xbe45('0x26')](saveUpdates(_0xa42026[_0xbe45('0x49')],null))[_0xbe45('0x26')](respondWithResult(_0x50c09f,null))[_0xbe45('0x45')](handleError(_0x50c09f,null));};exports[_0xbe45('0x27')]=function(_0x12fb3f,_0x44ea06){return db[_0xbe45('0x2f')][_0xbe45('0x47')]({'where':{'id':_0x12fb3f['params']['id']}})[_0xbe45('0x26')](handleEntityNotFound(_0x44ea06,null))['then'](removeEntity(_0x44ea06,null))[_0xbe45('0x45')](handleError(_0x44ea06,null));};exports[_0xbe45('0x4a')]=function(_0x4e6561,_0x5b7165,_0x14216f){var _0x66ee52={};var _0x512398={};var _0x50b663;var _0x5305a4;return db[_0xbe45('0x2f')]['findOne']({'where':{'id':_0x4e6561['params']['id']}})['then'](handleEntityNotFound(_0x5b7165,null))[_0xbe45('0x26')](function(_0x3d306b){if(_0x3d306b){_0x50b663=_0x3d306b;_0x512398[_0xbe45('0x33')]=_[_0xbe45('0x34')](db[_0xbe45('0x4b')][_0xbe45('0x30')]);_0x512398['query']=_['keys'](_0x4e6561[_0xbe45('0x35')]);_0x512398[_0xbe45('0x3d')]=_['intersection'](_0x512398[_0xbe45('0x33')],_0x512398[_0xbe45('0x35')]);_0x66ee52[_0xbe45('0x37')]=_[_0xbe45('0x36')](_0x512398[_0xbe45('0x33')],qs[_0xbe45('0x38')](_0x4e6561[_0xbe45('0x35')][_0xbe45('0x38')]));_0x66ee52[_0xbe45('0x37')]=_0x66ee52['attributes']['length']?_0x66ee52[_0xbe45('0x37')]:_0x512398[_0xbe45('0x33')];_0x66ee52[_0xbe45('0x4c')]=qs[_0xbe45('0x3b')](_0x4e6561[_0xbe45('0x35')][_0xbe45('0x3b')]);_0x66ee52[_0xbe45('0x3c')]=qs[_0xbe45('0x3d')](_[_0xbe45('0x4d')](_0x4e6561['query'],_0x512398[_0xbe45('0x3d')]));if(_0x4e6561[_0xbe45('0x35')][_0xbe45('0x3e')]){_0x66ee52['where']=_['merge'](_0x66ee52['where'],{'$or':_['map'](_0x66ee52[_0xbe45('0x37')],function(_0x494c6a){var _0x7e8aa7={};_0x7e8aa7[_0x494c6a]={'$like':'%'+_0x4e6561[_0xbe45('0x35')][_0xbe45('0x3e')]+'%'};return _0x7e8aa7;})});}_0x66ee52=_['merge']({},_0x66ee52,_0x4e6561[_0xbe45('0x41')]);return _0x50b663[_0xbe45('0x4a')](_0x66ee52);}})[_0xbe45('0x26')](function(_0x1408cd){if(_0x1408cd){_0x5305a4=_0x1408cd[_0xbe45('0x39')];if(!_0x4e6561[_0xbe45('0x35')][_0xbe45('0x3a')](_0xbe45('0x4e'))){_0x66ee52[_0xbe45('0x20')]=qs['limit'](_0x4e6561[_0xbe45('0x35')][_0xbe45('0x20')]);_0x66ee52[_0xbe45('0x1d')]=qs[_0xbe45('0x1d')](_0x4e6561[_0xbe45('0x35')][_0xbe45('0x1d')]);}return _0x50b663[_0xbe45('0x4a')](_0x66ee52);}})[_0xbe45('0x26')](function(_0x4d3b94){if(_0x4d3b94){return _0x4d3b94?{'count':_0x5305a4,'rows':_0x4d3b94}:null;}})[_0xbe45('0x26')](respondWithResult(_0x5b7165,null))[_0xbe45('0x45')](handleError(_0x5b7165,null));};exports[_0xbe45('0x4f')]=function(_0x581462,_0x2c2e9c,_0xc0dda3){var _0x44d9f8={};var _0x1badcf={};var _0x230612;var _0x4aaa71;return db[_0xbe45('0x2f')][_0xbe45('0x50')]({'where':{'id':_0x581462[_0xbe45('0x46')]['id']}})[_0xbe45('0x26')](handleEntityNotFound(_0x2c2e9c,null))['then'](function(_0x576341){if(_0x576341){_0x230612=_0x576341;_0x1badcf['model']=_[_0xbe45('0x34')](db[_0xbe45('0x4b')][_0xbe45('0x30')]);_0x1badcf[_0xbe45('0x35')]=_[_0xbe45('0x34')](_0x581462['query']);_0x1badcf['filters']=_[_0xbe45('0x36')](_0x1badcf[_0xbe45('0x33')],_0x1badcf[_0xbe45('0x35')]);_0x44d9f8[_0xbe45('0x37')]=_[_0xbe45('0x36')](_0x1badcf[_0xbe45('0x33')],qs[_0xbe45('0x38')](_0x581462[_0xbe45('0x35')]['fields']));_0x44d9f8['attributes']=_0x44d9f8[_0xbe45('0x37')][_0xbe45('0x39')]?_0x44d9f8[_0xbe45('0x37')]:_0x1badcf['model'];_0x44d9f8[_0xbe45('0x4c')]=qs[_0xbe45('0x3b')](_0x581462['query'][_0xbe45('0x3b')]);_0x44d9f8['where']=qs[_0xbe45('0x3d')](_[_0xbe45('0x4d')](_0x581462[_0xbe45('0x35')],_0x1badcf['filters']));if(_0x581462['query'][_0xbe45('0x3e')]){_0x44d9f8[_0xbe45('0x3c')]=_['merge'](_0x44d9f8[_0xbe45('0x3c')],{'$or':_[_0xbe45('0x2e')](_0x44d9f8[_0xbe45('0x37')],function(_0x24de90){var _0x563e89={};_0x563e89[_0x24de90]={'$like':'%'+_0x581462[_0xbe45('0x35')][_0xbe45('0x3e')]+'%'};return _0x563e89;})});}_0x44d9f8=_[_0xbe45('0x3f')]({},_0x44d9f8,_0x581462[_0xbe45('0x41')]);return _0x230612[_0xbe45('0x4f')](_0x44d9f8);}})[_0xbe45('0x26')](function(_0x429040){if(_0x429040){_0x4aaa71=_0x429040[_0xbe45('0x39')];if(!_0x581462['query'][_0xbe45('0x3a')](_0xbe45('0x4e'))){_0x44d9f8[_0xbe45('0x20')]=qs[_0xbe45('0x20')](_0x581462[_0xbe45('0x35')]['limit']);_0x44d9f8[_0xbe45('0x1d')]=qs['offset'](_0x581462['query'][_0xbe45('0x1d')]);}return _0x230612['getSubjects'](_0x44d9f8);}})['then'](function(_0x3b8110){if(_0x3b8110){return _0x3b8110?{'count':_0x4aaa71,'rows':_0x3b8110}:null;}})[_0xbe45('0x26')](respondWithResult(_0x2c2e9c,null))[_0xbe45('0x45')](handleError(_0x2c2e9c,null));};exports[_0xbe45('0x51')]=function(_0x1a0f8d,_0x2b8162,_0x2260e3){var _0x1d95dd={};var _0x24f0fa={};var _0x2601a3;var _0x131101;return db[_0xbe45('0x2f')][_0xbe45('0x50')]({'where':{'id':_0x1a0f8d['params']['id']}})['then'](handleEntityNotFound(_0x2b8162,null))['then'](function(_0x2d8424){if(_0x2d8424){_0x2601a3=_0x2d8424;_0x24f0fa[_0xbe45('0x33')]=_[_0xbe45('0x34')](db[_0xbe45('0x4b')][_0xbe45('0x30')]);_0x24f0fa[_0xbe45('0x35')]=_[_0xbe45('0x34')](_0x1a0f8d['query']);_0x24f0fa[_0xbe45('0x3d')]=_['intersection'](_0x24f0fa[_0xbe45('0x33')],_0x24f0fa[_0xbe45('0x35')]);_0x1d95dd[_0xbe45('0x37')]=_['intersection'](_0x24f0fa[_0xbe45('0x33')],qs['fields'](_0x1a0f8d[_0xbe45('0x35')][_0xbe45('0x38')]));_0x1d95dd[_0xbe45('0x37')]=_0x1d95dd[_0xbe45('0x37')][_0xbe45('0x39')]?_0x1d95dd[_0xbe45('0x37')]:_0x24f0fa[_0xbe45('0x33')];_0x1d95dd['order']=qs[_0xbe45('0x3b')](_0x1a0f8d['query'][_0xbe45('0x3b')]);_0x1d95dd['where']=qs[_0xbe45('0x3d')](_[_0xbe45('0x4d')](_0x1a0f8d['query'],_0x24f0fa[_0xbe45('0x3d')]));if(_0x1a0f8d[_0xbe45('0x35')][_0xbe45('0x3e')]){_0x1d95dd[_0xbe45('0x3c')]=_[_0xbe45('0x3f')](_0x1d95dd['where'],{'$or':_[_0xbe45('0x2e')](_0x1d95dd['attributes'],function(_0x46a248){var _0x39cdc8={};_0x39cdc8[_0x46a248]={'$like':'%'+_0x1a0f8d[_0xbe45('0x35')][_0xbe45('0x3e')]+'%'};return _0x39cdc8;})});}_0x1d95dd=_[_0xbe45('0x3f')]({},_0x1d95dd,_0x1a0f8d[_0xbe45('0x41')]);return _0x2601a3['getDescriptions'](_0x1d95dd);}})[_0xbe45('0x26')](function(_0x30893d){if(_0x30893d){_0x131101=_0x30893d['length'];if(!_0x1a0f8d['query']['hasOwnProperty'](_0xbe45('0x4e'))){_0x1d95dd[_0xbe45('0x20')]=qs[_0xbe45('0x20')](_0x1a0f8d[_0xbe45('0x35')][_0xbe45('0x20')]);_0x1d95dd[_0xbe45('0x1d')]=qs[_0xbe45('0x1d')](_0x1a0f8d[_0xbe45('0x35')]['offset']);}return _0x2601a3[_0xbe45('0x51')](_0x1d95dd);}})[_0xbe45('0x26')](function(_0x717ce3){if(_0x717ce3){return _0x717ce3?{'count':_0x131101,'rows':_0x717ce3}:null;}})[_0xbe45('0x26')](respondWithResult(_0x2b8162,null))['catch'](handleError(_0x2b8162,null));};