Built motion from commit d1eab355.|2.6.28
[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 _0xda63=['count','set','Content-Range','apply','reject','save','update','then','error','stack','name','send','index','map','SugarcrmConfiguration','rawAttributes','fieldName','type','key','model','keys','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','find','create','body','params','destroy','getFields','findOne','SugarcrmField','pick','getSubjects','getDescriptions','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','fs-extra','squel','crypto','jsforce','querystring','papaparse','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','limit'];(function(_0x5e9876,_0x16052d){var _0x576c48=function(_0x338c97){while(--_0x338c97){_0x5e9876['push'](_0x5e9876['shift']());}};_0x576c48(++_0x16052d);}(_0xda63,0x1d4));var _0x3da6=function(_0x2b2d33,_0x364135){_0x2b2d33=_0x2b2d33-0x0;var _0x29d035=_0xda63[_0x2b2d33];return _0x29d035;};'use strict';var emlformat=require(_0x3da6('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x3da6('0x1'));var jsonpatch=require(_0x3da6('0x2'));var rp=require(_0x3da6('0x3'));var moment=require(_0x3da6('0x4'));var BPromise=require(_0x3da6('0x5'));var Mustache=require(_0x3da6('0x6'));var util=require(_0x3da6('0x7'));var path=require(_0x3da6('0x8'));var sox=require(_0x3da6('0x9'));var csv=require(_0x3da6('0xa'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x3da6('0xb'));var _=require('lodash');var squel=require(_0x3da6('0xc'));var crypto=require(_0x3da6('0xd'));var jsforce=require(_0x3da6('0xe'));var deskjs=require('desk.js');var toCsv=require(_0x3da6('0xa'));var querystring=require(_0x3da6('0xf'));var Papa=require(_0x3da6('0x10'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x3da6('0x11'));var hardwareService=require(_0x3da6('0x12'));var logger=require('../../config/logger')(_0x3da6('0x13'));var utils=require(_0x3da6('0x14'));var config=require(_0x3da6('0x15'));var licenseUtil=require(_0x3da6('0x16'));var db=require(_0x3da6('0x17'))['db'];function respondWithStatusCode(_0x1819aa,_0x240309){_0x240309=_0x240309||0xcc;return function(_0x4e6ee9){if(_0x4e6ee9){return _0x1819aa[_0x3da6('0x18')](_0x240309);}return _0x1819aa[_0x3da6('0x19')](_0x240309)[_0x3da6('0x1a')]();};}function respondWithResult(_0x541898,_0x366560){_0x366560=_0x366560||0xc8;return function(_0x59469b){if(_0x59469b){return _0x541898[_0x3da6('0x19')](_0x366560)[_0x3da6('0x1b')](_0x59469b);}};}function respondWithFilteredResult(_0x5aeae5,_0x4e82cf){return function(_0x3d8615){if(_0x3d8615){var _0x40bda4=typeof _0x4e82cf[_0x3da6('0x1c')]==='undefined'&&typeof _0x4e82cf[_0x3da6('0x1d')]==='undefined';var _0xc174dd=_0x3d8615[_0x3da6('0x1e')];var _0x1ca7d2=_0x40bda4?0x0:_0x4e82cf['offset'];var _0x318e25=_0x40bda4?_0x3d8615[_0x3da6('0x1e')]:_0x4e82cf[_0x3da6('0x1c')]+_0x4e82cf[_0x3da6('0x1d')];var _0x2a51d2;if(_0x318e25>=_0xc174dd){_0x318e25=_0xc174dd;_0x2a51d2=0xc8;}else{_0x2a51d2=0xce;}_0x5aeae5[_0x3da6('0x19')](_0x2a51d2);return _0x5aeae5[_0x3da6('0x1f')](_0x3da6('0x20'),_0x1ca7d2+'-'+_0x318e25+'/'+_0xc174dd)[_0x3da6('0x1b')](_0x3d8615);}return null;};}function patchUpdates(_0x372d85){return function(_0x330fc4){try{jsonpatch[_0x3da6('0x21')](_0x330fc4,_0x372d85,!![]);}catch(_0x4bc068){return BPromise[_0x3da6('0x22')](_0x4bc068);}return _0x330fc4[_0x3da6('0x23')]();};}function saveUpdates(_0x3d2dee,_0x577251){return function(_0x48f454){if(_0x48f454){return _0x48f454[_0x3da6('0x24')](_0x3d2dee)[_0x3da6('0x25')](function(_0x320087){return _0x320087;});}return null;};}function removeEntity(_0x114e1a,_0x71b65){return function(_0x375120){if(_0x375120){return _0x375120['destroy']()[_0x3da6('0x25')](function(){_0x114e1a['status'](0xcc)[_0x3da6('0x1a')]();});}};}function handleEntityNotFound(_0xfac885,_0x616030){return function(_0xad09bd){if(!_0xad09bd){_0xfac885[_0x3da6('0x18')](0x194);}return _0xad09bd;};}function handleError(_0x6eceb5,_0x3cc699){_0x3cc699=_0x3cc699||0x1f4;return function(_0x25e25e){logger[_0x3da6('0x26')](_0x25e25e[_0x3da6('0x27')]);if(_0x25e25e[_0x3da6('0x28')]){delete _0x25e25e['name'];}_0x6eceb5[_0x3da6('0x19')](_0x3cc699)[_0x3da6('0x29')](_0x25e25e);};}exports[_0x3da6('0x2a')]=function(_0x1d45c1,_0x40606d){var _0x4662b6={},_0x2ac8bb={},_0x67bae4={'count':0x0,'rows':[]};var _0x4e0953=_[_0x3da6('0x2b')](db[_0x3da6('0x2c')][_0x3da6('0x2d')],function(_0x5d7714){return{'name':_0x5d7714[_0x3da6('0x2e')],'type':_0x5d7714[_0x3da6('0x2f')][_0x3da6('0x30')]};});_0x2ac8bb[_0x3da6('0x31')]=_[_0x3da6('0x2b')](_0x4e0953,_0x3da6('0x28'));_0x2ac8bb['query']=_[_0x3da6('0x32')](_0x1d45c1[_0x3da6('0x33')]);_0x2ac8bb[_0x3da6('0x34')]=_[_0x3da6('0x35')](_0x2ac8bb['model'],_0x2ac8bb[_0x3da6('0x33')]);_0x4662b6['attributes']=_[_0x3da6('0x35')](_0x2ac8bb['model'],qs['fields'](_0x1d45c1[_0x3da6('0x33')][_0x3da6('0x36')]));_0x4662b6[_0x3da6('0x37')]=_0x4662b6[_0x3da6('0x37')][_0x3da6('0x38')]?_0x4662b6[_0x3da6('0x37')]:_0x2ac8bb[_0x3da6('0x31')];if(!_0x1d45c1[_0x3da6('0x33')][_0x3da6('0x39')](_0x3da6('0x3a'))){_0x4662b6['limit']=qs[_0x3da6('0x1d')](_0x1d45c1[_0x3da6('0x33')][_0x3da6('0x1d')]);_0x4662b6[_0x3da6('0x1c')]=qs['offset'](_0x1d45c1[_0x3da6('0x33')][_0x3da6('0x1c')]);}_0x4662b6[_0x3da6('0x3b')]=qs[_0x3da6('0x3c')](_0x1d45c1[_0x3da6('0x33')][_0x3da6('0x3c')]);_0x4662b6[_0x3da6('0x3d')]=qs[_0x3da6('0x34')](_['pick'](_0x1d45c1['query'],_0x2ac8bb[_0x3da6('0x34')]),_0x4e0953);if(_0x1d45c1[_0x3da6('0x33')][_0x3da6('0x3e')]){_0x4662b6[_0x3da6('0x3d')]=_[_0x3da6('0x3f')](_0x4662b6[_0x3da6('0x3d')],{'$or':_[_0x3da6('0x2b')](_0x4e0953,function(_0x1dd891){if(_0x1dd891[_0x3da6('0x2f')]!==_0x3da6('0x40')){var _0x3165d1={};_0x3165d1[_0x1dd891[_0x3da6('0x28')]]={'$like':'%'+_0x1d45c1[_0x3da6('0x33')][_0x3da6('0x3e')]+'%'};return _0x3165d1;}})});}_0x4662b6=_[_0x3da6('0x3f')]({},_0x4662b6,_0x1d45c1[_0x3da6('0x41')]);var _0x5f0699={'where':_0x4662b6[_0x3da6('0x3d')]};return db[_0x3da6('0x2c')][_0x3da6('0x1e')](_0x5f0699)[_0x3da6('0x25')](function(_0x3f8378){_0x67bae4[_0x3da6('0x1e')]=_0x3f8378;if(_0x1d45c1[_0x3da6('0x33')][_0x3da6('0x42')]){_0x4662b6[_0x3da6('0x43')]=[{'all':!![]}];}return db['SugarcrmConfiguration'][_0x3da6('0x44')](_0x4662b6);})[_0x3da6('0x25')](function(_0x5bc2ba){_0x67bae4[_0x3da6('0x45')]=_0x5bc2ba;return _0x67bae4;})[_0x3da6('0x25')](respondWithFilteredResult(_0x40606d,_0x4662b6))[_0x3da6('0x46')](handleError(_0x40606d,null));};exports[_0x3da6('0x47')]=function(_0x12591b,_0x288014){var _0x2b5ff9={'raw':![],'where':{'id':_0x12591b['params']['id']}},_0x3dfb46={};_0x3dfb46[_0x3da6('0x31')]=_[_0x3da6('0x32')](db['SugarcrmConfiguration'][_0x3da6('0x2d')]);_0x3dfb46['query']=_['keys'](_0x12591b[_0x3da6('0x33')]);_0x3dfb46['filters']=_[_0x3da6('0x35')](_0x3dfb46[_0x3da6('0x31')],_0x3dfb46[_0x3da6('0x33')]);_0x2b5ff9[_0x3da6('0x37')]=_[_0x3da6('0x35')](_0x3dfb46[_0x3da6('0x31')],qs[_0x3da6('0x36')](_0x12591b[_0x3da6('0x33')][_0x3da6('0x36')]));_0x2b5ff9['attributes']=_0x2b5ff9[_0x3da6('0x37')][_0x3da6('0x38')]?_0x2b5ff9[_0x3da6('0x37')]:_0x3dfb46[_0x3da6('0x31')];if(_0x12591b[_0x3da6('0x33')][_0x3da6('0x42')]){_0x2b5ff9['include']=[{'all':!![]}];}_0x2b5ff9=_[_0x3da6('0x3f')]({},_0x2b5ff9,_0x12591b[_0x3da6('0x41')]);return db[_0x3da6('0x2c')][_0x3da6('0x48')](_0x2b5ff9)[_0x3da6('0x25')](handleEntityNotFound(_0x288014,null))[_0x3da6('0x25')](respondWithResult(_0x288014,null))[_0x3da6('0x46')](handleError(_0x288014,null));};exports['create']=function(_0x2a6af6,_0xbfdc8f){return db[_0x3da6('0x2c')][_0x3da6('0x49')](_0x2a6af6[_0x3da6('0x4a')],{})[_0x3da6('0x25')](respondWithResult(_0xbfdc8f,0xc9))[_0x3da6('0x46')](handleError(_0xbfdc8f,null));};exports['update']=function(_0x388461,_0x195f86){if(_0x388461[_0x3da6('0x4a')]['id']){delete _0x388461[_0x3da6('0x4a')]['id'];}return db[_0x3da6('0x2c')][_0x3da6('0x48')]({'where':{'id':_0x388461[_0x3da6('0x4b')]['id']}})[_0x3da6('0x25')](handleEntityNotFound(_0x195f86,null))[_0x3da6('0x25')](saveUpdates(_0x388461[_0x3da6('0x4a')],null))['then'](respondWithResult(_0x195f86,null))['catch'](handleError(_0x195f86,null));};exports[_0x3da6('0x4c')]=function(_0x185988,_0x40f7d2){return db[_0x3da6('0x2c')]['find']({'where':{'id':_0x185988[_0x3da6('0x4b')]['id']}})[_0x3da6('0x25')](handleEntityNotFound(_0x40f7d2,null))[_0x3da6('0x25')](removeEntity(_0x40f7d2,null))[_0x3da6('0x46')](handleError(_0x40f7d2,null));};exports[_0x3da6('0x4d')]=function(_0x553f09,_0x4bc552,_0x108a2d){var _0x68792b={};var _0x530299={};var _0x22449c;var _0x143b80;return db[_0x3da6('0x2c')][_0x3da6('0x4e')]({'where':{'id':_0x553f09['params']['id']}})[_0x3da6('0x25')](handleEntityNotFound(_0x4bc552,null))[_0x3da6('0x25')](function(_0x1c6731){if(_0x1c6731){_0x22449c=_0x1c6731;_0x530299['model']=_[_0x3da6('0x32')](db[_0x3da6('0x4f')]['rawAttributes']);_0x530299[_0x3da6('0x33')]=_['keys'](_0x553f09[_0x3da6('0x33')]);_0x530299[_0x3da6('0x34')]=_['intersection'](_0x530299[_0x3da6('0x31')],_0x530299[_0x3da6('0x33')]);_0x68792b[_0x3da6('0x37')]=_['intersection'](_0x530299[_0x3da6('0x31')],qs['fields'](_0x553f09['query'][_0x3da6('0x36')]));_0x68792b[_0x3da6('0x37')]=_0x68792b[_0x3da6('0x37')][_0x3da6('0x38')]?_0x68792b['attributes']:_0x530299[_0x3da6('0x31')];_0x68792b[_0x3da6('0x3b')]=qs[_0x3da6('0x3c')](_0x553f09[_0x3da6('0x33')][_0x3da6('0x3c')]);_0x68792b[_0x3da6('0x3d')]=qs[_0x3da6('0x34')](_[_0x3da6('0x50')](_0x553f09[_0x3da6('0x33')],_0x530299[_0x3da6('0x34')]));if(_0x553f09['query'][_0x3da6('0x3e')]){_0x68792b[_0x3da6('0x3d')]=_['merge'](_0x68792b['where'],{'$or':_[_0x3da6('0x2b')](_0x68792b[_0x3da6('0x37')],function(_0x110101){var _0x3a168b={};_0x3a168b[_0x110101]={'$like':'%'+_0x553f09[_0x3da6('0x33')][_0x3da6('0x3e')]+'%'};return _0x3a168b;})});}_0x68792b=_[_0x3da6('0x3f')]({},_0x68792b,_0x553f09['options']);return _0x22449c[_0x3da6('0x4d')](_0x68792b);}})['then'](function(_0x381c6a){if(_0x381c6a){_0x143b80=_0x381c6a[_0x3da6('0x38')];if(!_0x553f09[_0x3da6('0x33')][_0x3da6('0x39')](_0x3da6('0x3a'))){_0x68792b[_0x3da6('0x1d')]=qs[_0x3da6('0x1d')](_0x553f09[_0x3da6('0x33')]['limit']);_0x68792b['offset']=qs[_0x3da6('0x1c')](_0x553f09['query'][_0x3da6('0x1c')]);}return _0x22449c[_0x3da6('0x4d')](_0x68792b);}})[_0x3da6('0x25')](function(_0x310485){if(_0x310485){return _0x310485?{'count':_0x143b80,'rows':_0x310485}:null;}})[_0x3da6('0x25')](respondWithResult(_0x4bc552,null))[_0x3da6('0x46')](handleError(_0x4bc552,null));};exports['getSubjects']=function(_0x36f64f,_0x48d42f,_0x13d724){var _0x11fa8d={};var _0x478200={};var _0x4930de;var _0x62c2d5;return db[_0x3da6('0x2c')][_0x3da6('0x4e')]({'where':{'id':_0x36f64f[_0x3da6('0x4b')]['id']}})['then'](handleEntityNotFound(_0x48d42f,null))[_0x3da6('0x25')](function(_0x2c8de0){if(_0x2c8de0){_0x4930de=_0x2c8de0;_0x478200[_0x3da6('0x31')]=_[_0x3da6('0x32')](db['SugarcrmField'][_0x3da6('0x2d')]);_0x478200[_0x3da6('0x33')]=_[_0x3da6('0x32')](_0x36f64f[_0x3da6('0x33')]);_0x478200[_0x3da6('0x34')]=_[_0x3da6('0x35')](_0x478200[_0x3da6('0x31')],_0x478200[_0x3da6('0x33')]);_0x11fa8d[_0x3da6('0x37')]=_[_0x3da6('0x35')](_0x478200[_0x3da6('0x31')],qs[_0x3da6('0x36')](_0x36f64f['query']['fields']));_0x11fa8d[_0x3da6('0x37')]=_0x11fa8d[_0x3da6('0x37')][_0x3da6('0x38')]?_0x11fa8d['attributes']:_0x478200['model'];_0x11fa8d['order']=qs['sort'](_0x36f64f[_0x3da6('0x33')][_0x3da6('0x3c')]);_0x11fa8d['where']=qs[_0x3da6('0x34')](_[_0x3da6('0x50')](_0x36f64f[_0x3da6('0x33')],_0x478200[_0x3da6('0x34')]));if(_0x36f64f[_0x3da6('0x33')][_0x3da6('0x3e')]){_0x11fa8d[_0x3da6('0x3d')]=_[_0x3da6('0x3f')](_0x11fa8d[_0x3da6('0x3d')],{'$or':_['map'](_0x11fa8d[_0x3da6('0x37')],function(_0x44909d){var _0x27db93={};_0x27db93[_0x44909d]={'$like':'%'+_0x36f64f['query'][_0x3da6('0x3e')]+'%'};return _0x27db93;})});}_0x11fa8d=_[_0x3da6('0x3f')]({},_0x11fa8d,_0x36f64f[_0x3da6('0x41')]);return _0x4930de[_0x3da6('0x51')](_0x11fa8d);}})[_0x3da6('0x25')](function(_0x2428f8){if(_0x2428f8){_0x62c2d5=_0x2428f8[_0x3da6('0x38')];if(!_0x36f64f[_0x3da6('0x33')]['hasOwnProperty']('nolimit')){_0x11fa8d[_0x3da6('0x1d')]=qs[_0x3da6('0x1d')](_0x36f64f[_0x3da6('0x33')][_0x3da6('0x1d')]);_0x11fa8d['offset']=qs[_0x3da6('0x1c')](_0x36f64f['query'][_0x3da6('0x1c')]);}return _0x4930de[_0x3da6('0x51')](_0x11fa8d);}})[_0x3da6('0x25')](function(_0xd2e70f){if(_0xd2e70f){return _0xd2e70f?{'count':_0x62c2d5,'rows':_0xd2e70f}:null;}})[_0x3da6('0x25')](respondWithResult(_0x48d42f,null))[_0x3da6('0x46')](handleError(_0x48d42f,null));};exports['getDescriptions']=function(_0x48c1b9,_0xef988b,_0x143ddd){var _0x71c36c={};var _0x2d507f={};var _0x135915;var _0x253354;return db['SugarcrmConfiguration'][_0x3da6('0x4e')]({'where':{'id':_0x48c1b9['params']['id']}})[_0x3da6('0x25')](handleEntityNotFound(_0xef988b,null))[_0x3da6('0x25')](function(_0x4ebc33){if(_0x4ebc33){_0x135915=_0x4ebc33;_0x2d507f[_0x3da6('0x31')]=_[_0x3da6('0x32')](db[_0x3da6('0x4f')][_0x3da6('0x2d')]);_0x2d507f['query']=_[_0x3da6('0x32')](_0x48c1b9[_0x3da6('0x33')]);_0x2d507f[_0x3da6('0x34')]=_[_0x3da6('0x35')](_0x2d507f[_0x3da6('0x31')],_0x2d507f[_0x3da6('0x33')]);_0x71c36c['attributes']=_[_0x3da6('0x35')](_0x2d507f['model'],qs[_0x3da6('0x36')](_0x48c1b9[_0x3da6('0x33')][_0x3da6('0x36')]));_0x71c36c[_0x3da6('0x37')]=_0x71c36c[_0x3da6('0x37')][_0x3da6('0x38')]?_0x71c36c[_0x3da6('0x37')]:_0x2d507f[_0x3da6('0x31')];_0x71c36c[_0x3da6('0x3b')]=qs[_0x3da6('0x3c')](_0x48c1b9[_0x3da6('0x33')][_0x3da6('0x3c')]);_0x71c36c['where']=qs[_0x3da6('0x34')](_['pick'](_0x48c1b9[_0x3da6('0x33')],_0x2d507f[_0x3da6('0x34')]));if(_0x48c1b9[_0x3da6('0x33')]['filter']){_0x71c36c[_0x3da6('0x3d')]=_[_0x3da6('0x3f')](_0x71c36c[_0x3da6('0x3d')],{'$or':_['map'](_0x71c36c[_0x3da6('0x37')],function(_0x4fa04b){var _0x30727b={};_0x30727b[_0x4fa04b]={'$like':'%'+_0x48c1b9[_0x3da6('0x33')][_0x3da6('0x3e')]+'%'};return _0x30727b;})});}_0x71c36c=_[_0x3da6('0x3f')]({},_0x71c36c,_0x48c1b9[_0x3da6('0x41')]);return _0x135915[_0x3da6('0x52')](_0x71c36c);}})[_0x3da6('0x25')](function(_0x479fee){if(_0x479fee){_0x253354=_0x479fee['length'];if(!_0x48c1b9[_0x3da6('0x33')]['hasOwnProperty'](_0x3da6('0x3a'))){_0x71c36c[_0x3da6('0x1d')]=qs[_0x3da6('0x1d')](_0x48c1b9[_0x3da6('0x33')][_0x3da6('0x1d')]);_0x71c36c[_0x3da6('0x1c')]=qs['offset'](_0x48c1b9[_0x3da6('0x33')][_0x3da6('0x1c')]);}return _0x135915[_0x3da6('0x52')](_0x71c36c);}})[_0x3da6('0x25')](function(_0x464976){if(_0x464976){return _0x464976?{'count':_0x253354,'rows':_0x464976}:null;}})[_0x3da6('0x25')](respondWithResult(_0xef988b,null))['catch'](handleError(_0xef988b,null));};