8b208b47b3e59a893edda021cfe7d3979164ed1a
[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 _0x2a2b=['../../mysqldb','sendStatus','status','offset','limit','undefined','count','set','json','apply','reject','save','update','destroy','then','stack','name','send','map','fieldName','type','query','keys','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filters','filter','merge','SugarcrmConfiguration','includeAll','include','findAll','rows','catch','params','create','body','find','getFields','findOne','options','getSubjects','SugarcrmField','rawAttributes','pick','getDescriptions','rimraf','zip-dir','fast-json-patch','bluebird','mustache','util','path','ejs','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils'];(function(_0x2f37e0,_0x393ef9){var _0x43ccce=function(_0x318b51){while(--_0x318b51){_0x2f37e0['push'](_0x2f37e0['shift']());}};_0x43ccce(++_0x393ef9);}(_0x2a2b,0x1b2));var _0xb2a2=function(_0x2b2f8a,_0x68146b){_0x2b2f8a=_0x2b2f8a-0x0;var _0x241025=_0x2a2b[_0x2b2f8a];return _0x241025;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xb2a2('0x0'));var zipdir=require(_0xb2a2('0x1'));var jsonpatch=require(_0xb2a2('0x2'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0xb2a2('0x3'));var Mustache=require(_0xb2a2('0x4'));var util=require(_0xb2a2('0x5'));var path=require(_0xb2a2('0x6'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0xb2a2('0x7'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xb2a2('0x8'));var squel=require(_0xb2a2('0x9'));var crypto=require(_0xb2a2('0xa'));var jsforce=require(_0xb2a2('0xb'));var deskjs=require(_0xb2a2('0xc'));var toCsv=require(_0xb2a2('0xd'));var querystring=require(_0xb2a2('0xe'));var Papa=require(_0xb2a2('0xf'));var Redis=require(_0xb2a2('0x10'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0xb2a2('0x11'));var hardwareService=require(_0xb2a2('0x12'));var logger=require(_0xb2a2('0x13'))(_0xb2a2('0x14'));var utils=require(_0xb2a2('0x15'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0xb2a2('0x16'))['db'];function respondWithStatusCode(_0x6274ae,_0x218bf0){_0x218bf0=_0x218bf0||0xcc;return function(_0x42b7e6){if(_0x42b7e6){return _0x6274ae[_0xb2a2('0x17')](_0x218bf0);}return _0x6274ae[_0xb2a2('0x18')](_0x218bf0)['end']();};}function respondWithResult(_0x503fe3,_0x2dab5c){_0x2dab5c=_0x2dab5c||0xc8;return function(_0x22626a){if(_0x22626a){return _0x503fe3['status'](_0x2dab5c)['json'](_0x22626a);}};}function respondWithFilteredResult(_0x40d733,_0x242a5e){return function(_0x5a6dce){if(_0x5a6dce){var _0x40c5c5=typeof _0x242a5e[_0xb2a2('0x19')]==='undefined'&&typeof _0x242a5e[_0xb2a2('0x1a')]===_0xb2a2('0x1b');var _0x174493=_0x5a6dce[_0xb2a2('0x1c')];var _0x332ae1=_0x40c5c5?0x0:_0x242a5e['offset'];var _0x285dd8=_0x40c5c5?_0x5a6dce[_0xb2a2('0x1c')]:_0x242a5e['offset']+_0x242a5e[_0xb2a2('0x1a')];var _0x3b6a53;if(_0x285dd8>=_0x174493){_0x285dd8=_0x174493;_0x3b6a53=0xc8;}else{_0x3b6a53=0xce;}_0x40d733[_0xb2a2('0x18')](_0x3b6a53);return _0x40d733[_0xb2a2('0x1d')]('Content-Range',_0x332ae1+'-'+_0x285dd8+'/'+_0x174493)[_0xb2a2('0x1e')](_0x5a6dce);}return null;};}function patchUpdates(_0x4374f3){return function(_0x2c5b3b){try{jsonpatch[_0xb2a2('0x1f')](_0x2c5b3b,_0x4374f3,!![]);}catch(_0x19a77b){return BPromise[_0xb2a2('0x20')](_0x19a77b);}return _0x2c5b3b[_0xb2a2('0x21')]();};}function saveUpdates(_0x2b9bca,_0x578255){return function(_0x585c2d){if(_0x585c2d){return _0x585c2d[_0xb2a2('0x22')](_0x2b9bca)['then'](function(_0x493c43){return _0x493c43;});}return null;};}function removeEntity(_0x448424,_0x65899e){return function(_0x1aa907){if(_0x1aa907){return _0x1aa907[_0xb2a2('0x23')]()[_0xb2a2('0x24')](function(){_0x448424[_0xb2a2('0x18')](0xcc)['end']();});}};}function handleEntityNotFound(_0x3542c4,_0x3e9b57){return function(_0x4e78cc){if(!_0x4e78cc){_0x3542c4[_0xb2a2('0x17')](0x194);}return _0x4e78cc;};}function handleError(_0x721460,_0x212de4){_0x212de4=_0x212de4||0x1f4;return function(_0x1b26ea){logger['error'](_0x1b26ea[_0xb2a2('0x25')]);if(_0x1b26ea[_0xb2a2('0x26')]){delete _0x1b26ea[_0xb2a2('0x26')];}_0x721460['status'](_0x212de4)[_0xb2a2('0x27')](_0x1b26ea);};}exports['index']=function(_0xd9d51a,_0x12c5b3){var _0x507d4d={},_0x2094fd={},_0x31b800={'count':0x0,'rows':[]};var _0x246afd=_[_0xb2a2('0x28')](db['SugarcrmConfiguration']['rawAttributes'],function(_0x207fba){return{'name':_0x207fba[_0xb2a2('0x29')],'type':_0x207fba[_0xb2a2('0x2a')]['key']};});_0x2094fd['model']=_['map'](_0x246afd,_0xb2a2('0x26'));_0x2094fd[_0xb2a2('0x2b')]=_[_0xb2a2('0x2c')](_0xd9d51a[_0xb2a2('0x2b')]);_0x2094fd['filters']=_[_0xb2a2('0x2d')](_0x2094fd[_0xb2a2('0x2e')],_0x2094fd[_0xb2a2('0x2b')]);_0x507d4d[_0xb2a2('0x2f')]=_[_0xb2a2('0x2d')](_0x2094fd[_0xb2a2('0x2e')],qs[_0xb2a2('0x30')](_0xd9d51a['query'][_0xb2a2('0x30')]));_0x507d4d[_0xb2a2('0x2f')]=_0x507d4d[_0xb2a2('0x2f')][_0xb2a2('0x31')]?_0x507d4d[_0xb2a2('0x2f')]:_0x2094fd['model'];if(!_0xd9d51a['query'][_0xb2a2('0x32')](_0xb2a2('0x33'))){_0x507d4d['limit']=qs[_0xb2a2('0x1a')](_0xd9d51a[_0xb2a2('0x2b')]['limit']);_0x507d4d[_0xb2a2('0x19')]=qs[_0xb2a2('0x19')](_0xd9d51a[_0xb2a2('0x2b')][_0xb2a2('0x19')]);}_0x507d4d[_0xb2a2('0x34')]=qs[_0xb2a2('0x35')](_0xd9d51a[_0xb2a2('0x2b')][_0xb2a2('0x35')]);_0x507d4d[_0xb2a2('0x36')]=qs[_0xb2a2('0x37')](_['pick'](_0xd9d51a[_0xb2a2('0x2b')],_0x2094fd[_0xb2a2('0x37')]),_0x246afd);if(_0xd9d51a[_0xb2a2('0x2b')][_0xb2a2('0x38')]){_0x507d4d[_0xb2a2('0x36')]=_[_0xb2a2('0x39')](_0x507d4d['where'],{'$or':_[_0xb2a2('0x28')](_0x246afd,function(_0x2e3c40){if(_0x2e3c40['type']!=='VIRTUAL'){var _0x2c9f08={};_0x2c9f08[_0x2e3c40[_0xb2a2('0x26')]]={'$like':'%'+_0xd9d51a[_0xb2a2('0x2b')][_0xb2a2('0x38')]+'%'};return _0x2c9f08;}})});}_0x507d4d=_['merge']({},_0x507d4d,_0xd9d51a['options']);var _0x14f5f3={'where':_0x507d4d[_0xb2a2('0x36')]};return db[_0xb2a2('0x3a')][_0xb2a2('0x1c')](_0x14f5f3)[_0xb2a2('0x24')](function(_0x220f8a){_0x31b800[_0xb2a2('0x1c')]=_0x220f8a;if(_0xd9d51a[_0xb2a2('0x2b')][_0xb2a2('0x3b')]){_0x507d4d[_0xb2a2('0x3c')]=[{'all':!![]}];}return db[_0xb2a2('0x3a')][_0xb2a2('0x3d')](_0x507d4d);})[_0xb2a2('0x24')](function(_0x42d112){_0x31b800[_0xb2a2('0x3e')]=_0x42d112;return _0x31b800;})[_0xb2a2('0x24')](respondWithFilteredResult(_0x12c5b3,_0x507d4d))[_0xb2a2('0x3f')](handleError(_0x12c5b3,null));};exports['show']=function(_0x17f587,_0x469aab){var _0x448d14={'raw':![],'where':{'id':_0x17f587[_0xb2a2('0x40')]['id']}},_0x307497={};_0x307497[_0xb2a2('0x2e')]=_[_0xb2a2('0x2c')](db['SugarcrmConfiguration']['rawAttributes']);_0x307497[_0xb2a2('0x2b')]=_[_0xb2a2('0x2c')](_0x17f587[_0xb2a2('0x2b')]);_0x307497[_0xb2a2('0x37')]=_[_0xb2a2('0x2d')](_0x307497['model'],_0x307497['query']);_0x448d14[_0xb2a2('0x2f')]=_[_0xb2a2('0x2d')](_0x307497[_0xb2a2('0x2e')],qs['fields'](_0x17f587[_0xb2a2('0x2b')][_0xb2a2('0x30')]));_0x448d14[_0xb2a2('0x2f')]=_0x448d14[_0xb2a2('0x2f')]['length']?_0x448d14[_0xb2a2('0x2f')]:_0x307497['model'];if(_0x17f587['query'][_0xb2a2('0x3b')]){_0x448d14[_0xb2a2('0x3c')]=[{'all':!![]}];}_0x448d14=_[_0xb2a2('0x39')]({},_0x448d14,_0x17f587['options']);return db[_0xb2a2('0x3a')]['find'](_0x448d14)['then'](handleEntityNotFound(_0x469aab,null))[_0xb2a2('0x24')](respondWithResult(_0x469aab,null))[_0xb2a2('0x3f')](handleError(_0x469aab,null));};exports[_0xb2a2('0x41')]=function(_0x5288d5,_0x5a9a87){return db['SugarcrmConfiguration']['create'](_0x5288d5['body'],{})['then'](respondWithResult(_0x5a9a87,0xc9))['catch'](handleError(_0x5a9a87,null));};exports['update']=function(_0x11e86e,_0x541604){if(_0x11e86e[_0xb2a2('0x42')]['id']){delete _0x11e86e['body']['id'];}return db[_0xb2a2('0x3a')][_0xb2a2('0x43')]({'where':{'id':_0x11e86e['params']['id']}})[_0xb2a2('0x24')](handleEntityNotFound(_0x541604,null))[_0xb2a2('0x24')](saveUpdates(_0x11e86e[_0xb2a2('0x42')],null))[_0xb2a2('0x24')](respondWithResult(_0x541604,null))[_0xb2a2('0x3f')](handleError(_0x541604,null));};exports['destroy']=function(_0x49babe,_0x52ac73){return db['SugarcrmConfiguration'][_0xb2a2('0x43')]({'where':{'id':_0x49babe[_0xb2a2('0x40')]['id']}})['then'](handleEntityNotFound(_0x52ac73,null))['then'](removeEntity(_0x52ac73,null))['catch'](handleError(_0x52ac73,null));};exports[_0xb2a2('0x44')]=function(_0x21d614,_0x3456f1,_0x1fe08f){var _0x5c7275={};var _0x3fcfd1={};var _0x577050;var _0xbaa0f2;return db['SugarcrmConfiguration'][_0xb2a2('0x45')]({'where':{'id':_0x21d614[_0xb2a2('0x40')]['id']}})[_0xb2a2('0x24')](handleEntityNotFound(_0x3456f1,null))['then'](function(_0x4740e5){if(_0x4740e5){_0x577050=_0x4740e5;_0x3fcfd1[_0xb2a2('0x2e')]=_['keys'](db['SugarcrmField']['rawAttributes']);_0x3fcfd1[_0xb2a2('0x2b')]=_[_0xb2a2('0x2c')](_0x21d614[_0xb2a2('0x2b')]);_0x3fcfd1[_0xb2a2('0x37')]=_[_0xb2a2('0x2d')](_0x3fcfd1['model'],_0x3fcfd1[_0xb2a2('0x2b')]);_0x5c7275[_0xb2a2('0x2f')]=_['intersection'](_0x3fcfd1[_0xb2a2('0x2e')],qs[_0xb2a2('0x30')](_0x21d614['query'][_0xb2a2('0x30')]));_0x5c7275[_0xb2a2('0x2f')]=_0x5c7275['attributes'][_0xb2a2('0x31')]?_0x5c7275[_0xb2a2('0x2f')]:_0x3fcfd1[_0xb2a2('0x2e')];_0x5c7275[_0xb2a2('0x34')]=qs[_0xb2a2('0x35')](_0x21d614[_0xb2a2('0x2b')][_0xb2a2('0x35')]);_0x5c7275[_0xb2a2('0x36')]=qs[_0xb2a2('0x37')](_['pick'](_0x21d614[_0xb2a2('0x2b')],_0x3fcfd1['filters']));if(_0x21d614['query'][_0xb2a2('0x38')]){_0x5c7275[_0xb2a2('0x36')]=_['merge'](_0x5c7275['where'],{'$or':_['map'](_0x5c7275[_0xb2a2('0x2f')],function(_0xbf70f3){var _0x926d75={};_0x926d75[_0xbf70f3]={'$like':'%'+_0x21d614[_0xb2a2('0x2b')][_0xb2a2('0x38')]+'%'};return _0x926d75;})});}_0x5c7275=_[_0xb2a2('0x39')]({},_0x5c7275,_0x21d614[_0xb2a2('0x46')]);return _0x577050[_0xb2a2('0x44')](_0x5c7275);}})[_0xb2a2('0x24')](function(_0x2c5ce6){if(_0x2c5ce6){_0xbaa0f2=_0x2c5ce6[_0xb2a2('0x31')];if(!_0x21d614['query'][_0xb2a2('0x32')]('nolimit')){_0x5c7275[_0xb2a2('0x1a')]=qs[_0xb2a2('0x1a')](_0x21d614[_0xb2a2('0x2b')][_0xb2a2('0x1a')]);_0x5c7275['offset']=qs[_0xb2a2('0x19')](_0x21d614['query'][_0xb2a2('0x19')]);}return _0x577050[_0xb2a2('0x44')](_0x5c7275);}})[_0xb2a2('0x24')](function(_0x466556){if(_0x466556){return _0x466556?{'count':_0xbaa0f2,'rows':_0x466556}:null;}})[_0xb2a2('0x24')](respondWithResult(_0x3456f1,null))[_0xb2a2('0x3f')](handleError(_0x3456f1,null));};exports[_0xb2a2('0x47')]=function(_0x5b5d24,_0x5f4c24,_0xff04bd){var _0x19a631={};var _0x5c9286={};var _0x5aaac3;var _0x2731b5;return db[_0xb2a2('0x3a')][_0xb2a2('0x45')]({'where':{'id':_0x5b5d24[_0xb2a2('0x40')]['id']}})[_0xb2a2('0x24')](handleEntityNotFound(_0x5f4c24,null))['then'](function(_0x852033){if(_0x852033){_0x5aaac3=_0x852033;_0x5c9286[_0xb2a2('0x2e')]=_[_0xb2a2('0x2c')](db[_0xb2a2('0x48')][_0xb2a2('0x49')]);_0x5c9286[_0xb2a2('0x2b')]=_[_0xb2a2('0x2c')](_0x5b5d24[_0xb2a2('0x2b')]);_0x5c9286[_0xb2a2('0x37')]=_[_0xb2a2('0x2d')](_0x5c9286[_0xb2a2('0x2e')],_0x5c9286[_0xb2a2('0x2b')]);_0x19a631[_0xb2a2('0x2f')]=_['intersection'](_0x5c9286[_0xb2a2('0x2e')],qs[_0xb2a2('0x30')](_0x5b5d24[_0xb2a2('0x2b')]['fields']));_0x19a631['attributes']=_0x19a631['attributes'][_0xb2a2('0x31')]?_0x19a631['attributes']:_0x5c9286[_0xb2a2('0x2e')];_0x19a631[_0xb2a2('0x34')]=qs[_0xb2a2('0x35')](_0x5b5d24[_0xb2a2('0x2b')][_0xb2a2('0x35')]);_0x19a631['where']=qs[_0xb2a2('0x37')](_[_0xb2a2('0x4a')](_0x5b5d24[_0xb2a2('0x2b')],_0x5c9286[_0xb2a2('0x37')]));if(_0x5b5d24[_0xb2a2('0x2b')][_0xb2a2('0x38')]){_0x19a631[_0xb2a2('0x36')]=_[_0xb2a2('0x39')](_0x19a631[_0xb2a2('0x36')],{'$or':_['map'](_0x19a631[_0xb2a2('0x2f')],function(_0x375157){var _0x45aefb={};_0x45aefb[_0x375157]={'$like':'%'+_0x5b5d24[_0xb2a2('0x2b')][_0xb2a2('0x38')]+'%'};return _0x45aefb;})});}_0x19a631=_[_0xb2a2('0x39')]({},_0x19a631,_0x5b5d24[_0xb2a2('0x46')]);return _0x5aaac3[_0xb2a2('0x47')](_0x19a631);}})[_0xb2a2('0x24')](function(_0x5d8d1c){if(_0x5d8d1c){_0x2731b5=_0x5d8d1c[_0xb2a2('0x31')];if(!_0x5b5d24['query'][_0xb2a2('0x32')](_0xb2a2('0x33'))){_0x19a631[_0xb2a2('0x1a')]=qs[_0xb2a2('0x1a')](_0x5b5d24[_0xb2a2('0x2b')][_0xb2a2('0x1a')]);_0x19a631['offset']=qs[_0xb2a2('0x19')](_0x5b5d24[_0xb2a2('0x2b')][_0xb2a2('0x19')]);}return _0x5aaac3[_0xb2a2('0x47')](_0x19a631);}})[_0xb2a2('0x24')](function(_0x31a124){if(_0x31a124){return _0x31a124?{'count':_0x2731b5,'rows':_0x31a124}:null;}})['then'](respondWithResult(_0x5f4c24,null))[_0xb2a2('0x3f')](handleError(_0x5f4c24,null));};exports['getDescriptions']=function(_0x36aab0,_0x1e1b21,_0x3afe40){var _0x478db1={};var _0x9d0aa3={};var _0x5a520a;var _0x5c000d;return db[_0xb2a2('0x3a')]['findOne']({'where':{'id':_0x36aab0[_0xb2a2('0x40')]['id']}})[_0xb2a2('0x24')](handleEntityNotFound(_0x1e1b21,null))[_0xb2a2('0x24')](function(_0x11c3b0){if(_0x11c3b0){_0x5a520a=_0x11c3b0;_0x9d0aa3[_0xb2a2('0x2e')]=_[_0xb2a2('0x2c')](db['SugarcrmField'][_0xb2a2('0x49')]);_0x9d0aa3[_0xb2a2('0x2b')]=_[_0xb2a2('0x2c')](_0x36aab0[_0xb2a2('0x2b')]);_0x9d0aa3[_0xb2a2('0x37')]=_['intersection'](_0x9d0aa3[_0xb2a2('0x2e')],_0x9d0aa3[_0xb2a2('0x2b')]);_0x478db1['attributes']=_[_0xb2a2('0x2d')](_0x9d0aa3[_0xb2a2('0x2e')],qs['fields'](_0x36aab0['query'][_0xb2a2('0x30')]));_0x478db1['attributes']=_0x478db1[_0xb2a2('0x2f')][_0xb2a2('0x31')]?_0x478db1[_0xb2a2('0x2f')]:_0x9d0aa3['model'];_0x478db1[_0xb2a2('0x34')]=qs[_0xb2a2('0x35')](_0x36aab0['query'][_0xb2a2('0x35')]);_0x478db1[_0xb2a2('0x36')]=qs[_0xb2a2('0x37')](_[_0xb2a2('0x4a')](_0x36aab0[_0xb2a2('0x2b')],_0x9d0aa3[_0xb2a2('0x37')]));if(_0x36aab0[_0xb2a2('0x2b')]['filter']){_0x478db1[_0xb2a2('0x36')]=_['merge'](_0x478db1[_0xb2a2('0x36')],{'$or':_[_0xb2a2('0x28')](_0x478db1[_0xb2a2('0x2f')],function(_0x23b4a7){var _0x10ab91={};_0x10ab91[_0x23b4a7]={'$like':'%'+_0x36aab0['query'][_0xb2a2('0x38')]+'%'};return _0x10ab91;})});}_0x478db1=_['merge']({},_0x478db1,_0x36aab0[_0xb2a2('0x46')]);return _0x5a520a['getDescriptions'](_0x478db1);}})[_0xb2a2('0x24')](function(_0x80f0d){if(_0x80f0d){_0x5c000d=_0x80f0d[_0xb2a2('0x31')];if(!_0x36aab0[_0xb2a2('0x2b')][_0xb2a2('0x32')](_0xb2a2('0x33'))){_0x478db1[_0xb2a2('0x1a')]=qs[_0xb2a2('0x1a')](_0x36aab0[_0xb2a2('0x2b')][_0xb2a2('0x1a')]);_0x478db1[_0xb2a2('0x19')]=qs['offset'](_0x36aab0['query'][_0xb2a2('0x19')]);}return _0x5a520a[_0xb2a2('0x4b')](_0x478db1);}})[_0xb2a2('0x24')](function(_0x1ca63f){if(_0x1ca63f){return _0x1ca63f?{'count':_0x5c000d,'rows':_0x1ca63f}:null;}})[_0xb2a2('0x24')](respondWithResult(_0x1e1b21,null))['catch'](handleError(_0x1e1b21,null));};