Built motion from commit 639a1a7f.|2.6.19
[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 _0x169a=['name','index','map','rawAttributes','type','key','keys','query','filters','model','attributes','fields','hasOwnProperty','nolimit','sort','pick','filter','where','merge','VIRTUAL','options','SugarcrmConfiguration','includeAll','include','catch','show','params','intersection','length','find','create','body','destroy','getFields','SugarcrmField','order','getSubjects','findOne','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','ejs','fs-extra','lodash','squel','jsforce','to-csv','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','json','offset','undefined','count','limit','Content-Range','apply','save','update','then','end','error','stack'];(function(_0xcfbb97,_0x3ba3c8){var _0x5bc0b7=function(_0x110729){while(--_0x110729){_0xcfbb97['push'](_0xcfbb97['shift']());}};_0x5bc0b7(++_0x3ba3c8);}(_0x169a,0x1b1));var _0xa169=function(_0xdf35bb,_0x147e43){_0xdf35bb=_0xdf35bb-0x0;var _0x478821=_0x169a[_0xdf35bb];return _0x478821;};'use strict';var emlformat=require(_0xa169('0x0'));var rimraf=require(_0xa169('0x1'));var zipdir=require(_0xa169('0x2'));var jsonpatch=require(_0xa169('0x3'));var rp=require(_0xa169('0x4'));var moment=require('moment');var BPromise=require(_0xa169('0x5'));var Mustache=require(_0xa169('0x6'));var util=require(_0xa169('0x7'));var path=require(_0xa169('0x8'));var sox=require(_0xa169('0x9'));var csv=require('to-csv');var ejs=require(_0xa169('0xa'));var fs=require('fs');var fs_extra=require(_0xa169('0xb'));var _=require(_0xa169('0xc'));var squel=require(_0xa169('0xd'));var crypto=require('crypto');var jsforce=require(_0xa169('0xe'));var deskjs=require('desk.js');var toCsv=require(_0xa169('0xf'));var querystring=require(_0xa169('0x10'));var Papa=require(_0xa169('0x11'));var Redis=require('ioredis');var authService=require(_0xa169('0x12'));var qs=require(_0xa169('0x13'));var as=require(_0xa169('0x14'));var hardwareService=require(_0xa169('0x15'));var logger=require('../../config/logger')('api');var utils=require(_0xa169('0x16'));var config=require(_0xa169('0x17'));var licenseUtil=require(_0xa169('0x18'));var db=require(_0xa169('0x19'))['db'];function respondWithStatusCode(_0x40ec0c,_0x4e7ec4){_0x4e7ec4=_0x4e7ec4||0xcc;return function(_0x55bb19){if(_0x55bb19){return _0x40ec0c[_0xa169('0x1a')](_0x4e7ec4);}return _0x40ec0c[_0xa169('0x1b')](_0x4e7ec4)['end']();};}function respondWithResult(_0x3d3a22,_0x5d5470){_0x5d5470=_0x5d5470||0xc8;return function(_0x4586ed){if(_0x4586ed){return _0x3d3a22[_0xa169('0x1b')](_0x5d5470)[_0xa169('0x1c')](_0x4586ed);}};}function respondWithFilteredResult(_0x158fcb,_0x577926){return function(_0x467a54){if(_0x467a54){var _0x54f9fc=typeof _0x577926[_0xa169('0x1d')]==='undefined'&&typeof _0x577926['limit']===_0xa169('0x1e');var _0x4189db=_0x467a54[_0xa169('0x1f')];var _0x24d3d5=_0x54f9fc?0x0:_0x577926[_0xa169('0x1d')];var _0x27b875=_0x54f9fc?_0x467a54['count']:_0x577926[_0xa169('0x1d')]+_0x577926[_0xa169('0x20')];var _0x3f1837;if(_0x27b875>=_0x4189db){_0x27b875=_0x4189db;_0x3f1837=0xc8;}else{_0x3f1837=0xce;}_0x158fcb[_0xa169('0x1b')](_0x3f1837);return _0x158fcb['set'](_0xa169('0x21'),_0x24d3d5+'-'+_0x27b875+'/'+_0x4189db)[_0xa169('0x1c')](_0x467a54);}return null;};}function patchUpdates(_0x5b3a6c){return function(_0x1e9fa8){try{jsonpatch[_0xa169('0x22')](_0x1e9fa8,_0x5b3a6c,!![]);}catch(_0x573519){return BPromise['reject'](_0x573519);}return _0x1e9fa8[_0xa169('0x23')]();};}function saveUpdates(_0x47f256,_0x4b729d){return function(_0x2f0d77){if(_0x2f0d77){return _0x2f0d77[_0xa169('0x24')](_0x47f256)[_0xa169('0x25')](function(_0x3de435){return _0x3de435;});}return null;};}function removeEntity(_0x2a8e77,_0x63e6fe){return function(_0x4a7b3c){if(_0x4a7b3c){return _0x4a7b3c['destroy']()[_0xa169('0x25')](function(){_0x2a8e77[_0xa169('0x1b')](0xcc)[_0xa169('0x26')]();});}};}function handleEntityNotFound(_0x118466,_0x4e2a61){return function(_0x3d28ae){if(!_0x3d28ae){_0x118466['sendStatus'](0x194);}return _0x3d28ae;};}function handleError(_0x1e31c5,_0x302049){_0x302049=_0x302049||0x1f4;return function(_0x4c344b){logger[_0xa169('0x27')](_0x4c344b[_0xa169('0x28')]);if(_0x4c344b[_0xa169('0x29')]){delete _0x4c344b[_0xa169('0x29')];}_0x1e31c5[_0xa169('0x1b')](_0x302049)['send'](_0x4c344b);};}exports[_0xa169('0x2a')]=function(_0x3cc670,_0x51fa54){var _0x7b3604={},_0x461d49={},_0x5daebd={'count':0x0,'rows':[]};var _0x8cd45=_[_0xa169('0x2b')](db['SugarcrmConfiguration'][_0xa169('0x2c')],function(_0x21dec3){return{'name':_0x21dec3['fieldName'],'type':_0x21dec3[_0xa169('0x2d')][_0xa169('0x2e')]};});_0x461d49['model']=_[_0xa169('0x2b')](_0x8cd45,'name');_0x461d49['query']=_[_0xa169('0x2f')](_0x3cc670[_0xa169('0x30')]);_0x461d49[_0xa169('0x31')]=_['intersection'](_0x461d49[_0xa169('0x32')],_0x461d49[_0xa169('0x30')]);_0x7b3604[_0xa169('0x33')]=_['intersection'](_0x461d49[_0xa169('0x32')],qs['fields'](_0x3cc670[_0xa169('0x30')][_0xa169('0x34')]));_0x7b3604[_0xa169('0x33')]=_0x7b3604['attributes']['length']?_0x7b3604['attributes']:_0x461d49['model'];if(!_0x3cc670[_0xa169('0x30')][_0xa169('0x35')](_0xa169('0x36'))){_0x7b3604[_0xa169('0x20')]=qs['limit'](_0x3cc670[_0xa169('0x30')]['limit']);_0x7b3604['offset']=qs[_0xa169('0x1d')](_0x3cc670[_0xa169('0x30')][_0xa169('0x1d')]);}_0x7b3604['order']=qs['sort'](_0x3cc670[_0xa169('0x30')][_0xa169('0x37')]);_0x7b3604['where']=qs['filters'](_[_0xa169('0x38')](_0x3cc670[_0xa169('0x30')],_0x461d49['filters']),_0x8cd45);if(_0x3cc670[_0xa169('0x30')][_0xa169('0x39')]){_0x7b3604[_0xa169('0x3a')]=_[_0xa169('0x3b')](_0x7b3604[_0xa169('0x3a')],{'$or':_[_0xa169('0x2b')](_0x8cd45,function(_0x1c23f6){if(_0x1c23f6[_0xa169('0x2d')]!==_0xa169('0x3c')){var _0x5e37d2={};_0x5e37d2[_0x1c23f6[_0xa169('0x29')]]={'$like':'%'+_0x3cc670[_0xa169('0x30')]['filter']+'%'};return _0x5e37d2;}})});}_0x7b3604=_[_0xa169('0x3b')]({},_0x7b3604,_0x3cc670[_0xa169('0x3d')]);var _0x423719={'where':_0x7b3604[_0xa169('0x3a')]};return db[_0xa169('0x3e')][_0xa169('0x1f')](_0x423719)[_0xa169('0x25')](function(_0x396946){_0x5daebd['count']=_0x396946;if(_0x3cc670[_0xa169('0x30')][_0xa169('0x3f')]){_0x7b3604[_0xa169('0x40')]=[{'all':!![]}];}return db[_0xa169('0x3e')]['findAll'](_0x7b3604);})[_0xa169('0x25')](function(_0x5996fa){_0x5daebd['rows']=_0x5996fa;return _0x5daebd;})[_0xa169('0x25')](respondWithFilteredResult(_0x51fa54,_0x7b3604))[_0xa169('0x41')](handleError(_0x51fa54,null));};exports[_0xa169('0x42')]=function(_0x8229ef,_0x4b812d){var _0x47d044={'raw':![],'where':{'id':_0x8229ef[_0xa169('0x43')]['id']}},_0x33bb28={};_0x33bb28[_0xa169('0x32')]=_[_0xa169('0x2f')](db[_0xa169('0x3e')][_0xa169('0x2c')]);_0x33bb28[_0xa169('0x30')]=_[_0xa169('0x2f')](_0x8229ef[_0xa169('0x30')]);_0x33bb28[_0xa169('0x31')]=_[_0xa169('0x44')](_0x33bb28[_0xa169('0x32')],_0x33bb28[_0xa169('0x30')]);_0x47d044[_0xa169('0x33')]=_[_0xa169('0x44')](_0x33bb28['model'],qs[_0xa169('0x34')](_0x8229ef[_0xa169('0x30')][_0xa169('0x34')]));_0x47d044[_0xa169('0x33')]=_0x47d044[_0xa169('0x33')][_0xa169('0x45')]?_0x47d044[_0xa169('0x33')]:_0x33bb28[_0xa169('0x32')];if(_0x8229ef['query'][_0xa169('0x3f')]){_0x47d044[_0xa169('0x40')]=[{'all':!![]}];}_0x47d044=_[_0xa169('0x3b')]({},_0x47d044,_0x8229ef[_0xa169('0x3d')]);return db['SugarcrmConfiguration'][_0xa169('0x46')](_0x47d044)[_0xa169('0x25')](handleEntityNotFound(_0x4b812d,null))[_0xa169('0x25')](respondWithResult(_0x4b812d,null))[_0xa169('0x41')](handleError(_0x4b812d,null));};exports['create']=function(_0xa6e872,_0x1a0f7a){return db['SugarcrmConfiguration'][_0xa169('0x47')](_0xa6e872[_0xa169('0x48')],{})[_0xa169('0x25')](respondWithResult(_0x1a0f7a,0xc9))[_0xa169('0x41')](handleError(_0x1a0f7a,null));};exports[_0xa169('0x24')]=function(_0x4c1e34,_0x364736){if(_0x4c1e34[_0xa169('0x48')]['id']){delete _0x4c1e34['body']['id'];}return db[_0xa169('0x3e')][_0xa169('0x46')]({'where':{'id':_0x4c1e34[_0xa169('0x43')]['id']}})[_0xa169('0x25')](handleEntityNotFound(_0x364736,null))[_0xa169('0x25')](saveUpdates(_0x4c1e34[_0xa169('0x48')],null))['then'](respondWithResult(_0x364736,null))[_0xa169('0x41')](handleError(_0x364736,null));};exports[_0xa169('0x49')]=function(_0x4a18df,_0x56455e){return db[_0xa169('0x3e')][_0xa169('0x46')]({'where':{'id':_0x4a18df[_0xa169('0x43')]['id']}})['then'](handleEntityNotFound(_0x56455e,null))[_0xa169('0x25')](removeEntity(_0x56455e,null))['catch'](handleError(_0x56455e,null));};exports[_0xa169('0x4a')]=function(_0x1d3e1d,_0x491ccf,_0x2a13d2){var _0x5664a2={};var _0x572cfb={};var _0x3fbfce;var _0x1f3dbe;return db[_0xa169('0x3e')]['findOne']({'where':{'id':_0x1d3e1d[_0xa169('0x43')]['id']}})[_0xa169('0x25')](handleEntityNotFound(_0x491ccf,null))[_0xa169('0x25')](function(_0x27fc6b){if(_0x27fc6b){_0x3fbfce=_0x27fc6b;_0x572cfb[_0xa169('0x32')]=_[_0xa169('0x2f')](db[_0xa169('0x4b')][_0xa169('0x2c')]);_0x572cfb[_0xa169('0x30')]=_[_0xa169('0x2f')](_0x1d3e1d[_0xa169('0x30')]);_0x572cfb[_0xa169('0x31')]=_[_0xa169('0x44')](_0x572cfb[_0xa169('0x32')],_0x572cfb[_0xa169('0x30')]);_0x5664a2[_0xa169('0x33')]=_[_0xa169('0x44')](_0x572cfb['model'],qs[_0xa169('0x34')](_0x1d3e1d[_0xa169('0x30')][_0xa169('0x34')]));_0x5664a2[_0xa169('0x33')]=_0x5664a2[_0xa169('0x33')][_0xa169('0x45')]?_0x5664a2[_0xa169('0x33')]:_0x572cfb[_0xa169('0x32')];_0x5664a2[_0xa169('0x4c')]=qs[_0xa169('0x37')](_0x1d3e1d[_0xa169('0x30')]['sort']);_0x5664a2[_0xa169('0x3a')]=qs[_0xa169('0x31')](_['pick'](_0x1d3e1d[_0xa169('0x30')],_0x572cfb[_0xa169('0x31')]));if(_0x1d3e1d['query']['filter']){_0x5664a2[_0xa169('0x3a')]=_[_0xa169('0x3b')](_0x5664a2['where'],{'$or':_[_0xa169('0x2b')](_0x5664a2[_0xa169('0x33')],function(_0x15bcb3){var _0x253012={};_0x253012[_0x15bcb3]={'$like':'%'+_0x1d3e1d[_0xa169('0x30')]['filter']+'%'};return _0x253012;})});}_0x5664a2=_[_0xa169('0x3b')]({},_0x5664a2,_0x1d3e1d['options']);return _0x3fbfce[_0xa169('0x4a')](_0x5664a2);}})[_0xa169('0x25')](function(_0x28c667){if(_0x28c667){_0x1f3dbe=_0x28c667[_0xa169('0x45')];if(!_0x1d3e1d['query']['hasOwnProperty'](_0xa169('0x36'))){_0x5664a2[_0xa169('0x20')]=qs[_0xa169('0x20')](_0x1d3e1d[_0xa169('0x30')][_0xa169('0x20')]);_0x5664a2[_0xa169('0x1d')]=qs[_0xa169('0x1d')](_0x1d3e1d[_0xa169('0x30')][_0xa169('0x1d')]);}return _0x3fbfce[_0xa169('0x4a')](_0x5664a2);}})[_0xa169('0x25')](function(_0x95d8b8){if(_0x95d8b8){return _0x95d8b8?{'count':_0x1f3dbe,'rows':_0x95d8b8}:null;}})[_0xa169('0x25')](respondWithResult(_0x491ccf,null))[_0xa169('0x41')](handleError(_0x491ccf,null));};exports[_0xa169('0x4d')]=function(_0x40f3d3,_0x2cf0b7,_0x3d0dcb){var _0x3c14e1={};var _0x457e27={};var _0x47c5d5;var _0x31119a;return db[_0xa169('0x3e')][_0xa169('0x4e')]({'where':{'id':_0x40f3d3[_0xa169('0x43')]['id']}})['then'](handleEntityNotFound(_0x2cf0b7,null))[_0xa169('0x25')](function(_0x3f38e4){if(_0x3f38e4){_0x47c5d5=_0x3f38e4;_0x457e27['model']=_[_0xa169('0x2f')](db['SugarcrmField'][_0xa169('0x2c')]);_0x457e27['query']=_['keys'](_0x40f3d3['query']);_0x457e27['filters']=_['intersection'](_0x457e27[_0xa169('0x32')],_0x457e27[_0xa169('0x30')]);_0x3c14e1[_0xa169('0x33')]=_[_0xa169('0x44')](_0x457e27['model'],qs['fields'](_0x40f3d3[_0xa169('0x30')][_0xa169('0x34')]));_0x3c14e1[_0xa169('0x33')]=_0x3c14e1[_0xa169('0x33')]['length']?_0x3c14e1[_0xa169('0x33')]:_0x457e27['model'];_0x3c14e1['order']=qs[_0xa169('0x37')](_0x40f3d3[_0xa169('0x30')][_0xa169('0x37')]);_0x3c14e1[_0xa169('0x3a')]=qs[_0xa169('0x31')](_[_0xa169('0x38')](_0x40f3d3[_0xa169('0x30')],_0x457e27['filters']));if(_0x40f3d3[_0xa169('0x30')][_0xa169('0x39')]){_0x3c14e1[_0xa169('0x3a')]=_[_0xa169('0x3b')](_0x3c14e1[_0xa169('0x3a')],{'$or':_[_0xa169('0x2b')](_0x3c14e1[_0xa169('0x33')],function(_0x3205c9){var _0x726695={};_0x726695[_0x3205c9]={'$like':'%'+_0x40f3d3['query'][_0xa169('0x39')]+'%'};return _0x726695;})});}_0x3c14e1=_[_0xa169('0x3b')]({},_0x3c14e1,_0x40f3d3['options']);return _0x47c5d5[_0xa169('0x4d')](_0x3c14e1);}})['then'](function(_0x497d52){if(_0x497d52){_0x31119a=_0x497d52[_0xa169('0x45')];if(!_0x40f3d3[_0xa169('0x30')][_0xa169('0x35')](_0xa169('0x36'))){_0x3c14e1[_0xa169('0x20')]=qs[_0xa169('0x20')](_0x40f3d3[_0xa169('0x30')][_0xa169('0x20')]);_0x3c14e1['offset']=qs[_0xa169('0x1d')](_0x40f3d3[_0xa169('0x30')][_0xa169('0x1d')]);}return _0x47c5d5[_0xa169('0x4d')](_0x3c14e1);}})[_0xa169('0x25')](function(_0x25bf02){if(_0x25bf02){return _0x25bf02?{'count':_0x31119a,'rows':_0x25bf02}:null;}})[_0xa169('0x25')](respondWithResult(_0x2cf0b7,null))[_0xa169('0x41')](handleError(_0x2cf0b7,null));};exports['getDescriptions']=function(_0x4c0326,_0x55c56c,_0x56d827){var _0x27ed95={};var _0xf821c9={};var _0x1731e9;var _0x4ae783;return db[_0xa169('0x3e')]['findOne']({'where':{'id':_0x4c0326['params']['id']}})[_0xa169('0x25')](handleEntityNotFound(_0x55c56c,null))[_0xa169('0x25')](function(_0x590ea3){if(_0x590ea3){_0x1731e9=_0x590ea3;_0xf821c9[_0xa169('0x32')]=_[_0xa169('0x2f')](db['SugarcrmField'][_0xa169('0x2c')]);_0xf821c9[_0xa169('0x30')]=_[_0xa169('0x2f')](_0x4c0326[_0xa169('0x30')]);_0xf821c9['filters']=_[_0xa169('0x44')](_0xf821c9[_0xa169('0x32')],_0xf821c9[_0xa169('0x30')]);_0x27ed95['attributes']=_[_0xa169('0x44')](_0xf821c9[_0xa169('0x32')],qs[_0xa169('0x34')](_0x4c0326['query'][_0xa169('0x34')]));_0x27ed95['attributes']=_0x27ed95[_0xa169('0x33')][_0xa169('0x45')]?_0x27ed95[_0xa169('0x33')]:_0xf821c9[_0xa169('0x32')];_0x27ed95[_0xa169('0x4c')]=qs[_0xa169('0x37')](_0x4c0326[_0xa169('0x30')][_0xa169('0x37')]);_0x27ed95[_0xa169('0x3a')]=qs['filters'](_[_0xa169('0x38')](_0x4c0326[_0xa169('0x30')],_0xf821c9[_0xa169('0x31')]));if(_0x4c0326['query'][_0xa169('0x39')]){_0x27ed95[_0xa169('0x3a')]=_['merge'](_0x27ed95[_0xa169('0x3a')],{'$or':_['map'](_0x27ed95[_0xa169('0x33')],function(_0x347365){var _0x2c25cf={};_0x2c25cf[_0x347365]={'$like':'%'+_0x4c0326[_0xa169('0x30')]['filter']+'%'};return _0x2c25cf;})});}_0x27ed95=_['merge']({},_0x27ed95,_0x4c0326[_0xa169('0x3d')]);return _0x1731e9['getDescriptions'](_0x27ed95);}})[_0xa169('0x25')](function(_0x3c8846){if(_0x3c8846){_0x4ae783=_0x3c8846[_0xa169('0x45')];if(!_0x4c0326[_0xa169('0x30')][_0xa169('0x35')](_0xa169('0x36'))){_0x27ed95[_0xa169('0x20')]=qs['limit'](_0x4c0326[_0xa169('0x30')][_0xa169('0x20')]);_0x27ed95['offset']=qs[_0xa169('0x1d')](_0x4c0326['query'][_0xa169('0x1d')]);}return _0x1731e9['getDescriptions'](_0x27ed95);}})[_0xa169('0x25')](function(_0x35803a){if(_0x35803a){return _0x35803a?{'count':_0x4ae783,'rows':_0x35803a}:null;}})[_0xa169('0x25')](respondWithResult(_0x55c56c,null))['catch'](handleError(_0x55c56c,null));};