Built motion from commit 10af8726.|2.6.34
[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 _0x3659=['includeAll','include','findAll','rows','catch','show','params','keys','length','find','create','body','getFields','findOne','SugarcrmField','getSubjects','getDescriptions','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','fs-extra','crypto','to-csv','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','json','offset','undefined','count','set','Content-Range','apply','reject','update','then','destroy','end','name','send','index','map','SugarcrmConfiguration','rawAttributes','fieldName','type','key','model','query','filters','attributes','intersection','fields','hasOwnProperty','nolimit','limit','order','sort','where','pick','VIRTUAL','filter','merge','options'];(function(_0xa464c9,_0x7c86d8){var _0x3d73c4=function(_0x5c2056){while(--_0x5c2056){_0xa464c9['push'](_0xa464c9['shift']());}};_0x3d73c4(++_0x7c86d8);}(_0x3659,0x1e5));var _0x9365=function(_0x119705,_0xba9427){_0x119705=_0x119705-0x0;var _0x2affc2=_0x3659[_0x119705];return _0x2affc2;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x9365('0x0'));var jsonpatch=require(_0x9365('0x1'));var rp=require(_0x9365('0x2'));var moment=require(_0x9365('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x9365('0x4'));var util=require(_0x9365('0x5'));var path=require(_0x9365('0x6'));var sox=require('sox');var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x9365('0x7'));var _=require('lodash');var squel=require('squel');var crypto=require(_0x9365('0x8'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x9365('0x9'));var querystring=require(_0x9365('0xa'));var Papa=require(_0x9365('0xb'));var Redis=require('ioredis');var authService=require(_0x9365('0xc'));var qs=require(_0x9365('0xd'));var as=require(_0x9365('0xe'));var hardwareService=require(_0x9365('0xf'));var logger=require(_0x9365('0x10'))(_0x9365('0x11'));var utils=require(_0x9365('0x12'));var config=require(_0x9365('0x13'));var licenseUtil=require(_0x9365('0x14'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x134bca,_0x188c5c){_0x188c5c=_0x188c5c||0xcc;return function(_0x455308){if(_0x455308){return _0x134bca[_0x9365('0x15')](_0x188c5c);}return _0x134bca[_0x9365('0x16')](_0x188c5c)['end']();};}function respondWithResult(_0x3c3ef1,_0x3a7073){_0x3a7073=_0x3a7073||0xc8;return function(_0x24cc8e){if(_0x24cc8e){return _0x3c3ef1[_0x9365('0x16')](_0x3a7073)[_0x9365('0x17')](_0x24cc8e);}};}function respondWithFilteredResult(_0x3d2df9,_0x1d2d45){return function(_0x44d44b){if(_0x44d44b){var _0x55aca7=typeof _0x1d2d45[_0x9365('0x18')]===_0x9365('0x19')&&typeof _0x1d2d45['limit']===_0x9365('0x19');var _0x157f52=_0x44d44b[_0x9365('0x1a')];var _0x394215=_0x55aca7?0x0:_0x1d2d45[_0x9365('0x18')];var _0x5ab440=_0x55aca7?_0x44d44b[_0x9365('0x1a')]:_0x1d2d45[_0x9365('0x18')]+_0x1d2d45['limit'];var _0x391d24;if(_0x5ab440>=_0x157f52){_0x5ab440=_0x157f52;_0x391d24=0xc8;}else{_0x391d24=0xce;}_0x3d2df9[_0x9365('0x16')](_0x391d24);return _0x3d2df9[_0x9365('0x1b')](_0x9365('0x1c'),_0x394215+'-'+_0x5ab440+'/'+_0x157f52)[_0x9365('0x17')](_0x44d44b);}return null;};}function patchUpdates(_0x1d9d37){return function(_0x2d5006){try{jsonpatch[_0x9365('0x1d')](_0x2d5006,_0x1d9d37,!![]);}catch(_0x3dcd28){return BPromise[_0x9365('0x1e')](_0x3dcd28);}return _0x2d5006['save']();};}function saveUpdates(_0x5969a7,_0x23198a){return function(_0x2dbc51){if(_0x2dbc51){return _0x2dbc51[_0x9365('0x1f')](_0x5969a7)[_0x9365('0x20')](function(_0x570d83){return _0x570d83;});}return null;};}function removeEntity(_0x152605,_0x50cb64){return function(_0x34cf7b){if(_0x34cf7b){return _0x34cf7b[_0x9365('0x21')]()['then'](function(){_0x152605[_0x9365('0x16')](0xcc)[_0x9365('0x22')]();});}};}function handleEntityNotFound(_0x46474b,_0x1633cf){return function(_0x247520){if(!_0x247520){_0x46474b[_0x9365('0x15')](0x194);}return _0x247520;};}function handleError(_0x4f7337,_0x4a90f0){_0x4a90f0=_0x4a90f0||0x1f4;return function(_0x5c75e4){logger['error'](_0x5c75e4['stack']);if(_0x5c75e4[_0x9365('0x23')]){delete _0x5c75e4[_0x9365('0x23')];}_0x4f7337[_0x9365('0x16')](_0x4a90f0)[_0x9365('0x24')](_0x5c75e4);};}exports[_0x9365('0x25')]=function(_0xb2495a,_0x4aba1d){var _0x5e714f={},_0xae9a63={},_0x195102={'count':0x0,'rows':[]};var _0x2b5c56=_[_0x9365('0x26')](db[_0x9365('0x27')][_0x9365('0x28')],function(_0x3aa719){return{'name':_0x3aa719[_0x9365('0x29')],'type':_0x3aa719[_0x9365('0x2a')][_0x9365('0x2b')]};});_0xae9a63[_0x9365('0x2c')]=_[_0x9365('0x26')](_0x2b5c56,_0x9365('0x23'));_0xae9a63['query']=_['keys'](_0xb2495a[_0x9365('0x2d')]);_0xae9a63[_0x9365('0x2e')]=_['intersection'](_0xae9a63[_0x9365('0x2c')],_0xae9a63[_0x9365('0x2d')]);_0x5e714f[_0x9365('0x2f')]=_[_0x9365('0x30')](_0xae9a63[_0x9365('0x2c')],qs[_0x9365('0x31')](_0xb2495a[_0x9365('0x2d')][_0x9365('0x31')]));_0x5e714f[_0x9365('0x2f')]=_0x5e714f[_0x9365('0x2f')]['length']?_0x5e714f[_0x9365('0x2f')]:_0xae9a63['model'];if(!_0xb2495a['query'][_0x9365('0x32')](_0x9365('0x33'))){_0x5e714f[_0x9365('0x34')]=qs[_0x9365('0x34')](_0xb2495a['query'][_0x9365('0x34')]);_0x5e714f[_0x9365('0x18')]=qs[_0x9365('0x18')](_0xb2495a[_0x9365('0x2d')][_0x9365('0x18')]);}_0x5e714f[_0x9365('0x35')]=qs[_0x9365('0x36')](_0xb2495a[_0x9365('0x2d')]['sort']);_0x5e714f[_0x9365('0x37')]=qs[_0x9365('0x2e')](_[_0x9365('0x38')](_0xb2495a[_0x9365('0x2d')],_0xae9a63[_0x9365('0x2e')]),_0x2b5c56);if(_0xb2495a[_0x9365('0x2d')]['filter']){_0x5e714f[_0x9365('0x37')]=_['merge'](_0x5e714f['where'],{'$or':_['map'](_0x2b5c56,function(_0x527306){if(_0x527306[_0x9365('0x2a')]!==_0x9365('0x39')){var _0x164b5d={};_0x164b5d[_0x527306['name']]={'$like':'%'+_0xb2495a[_0x9365('0x2d')][_0x9365('0x3a')]+'%'};return _0x164b5d;}})});}_0x5e714f=_[_0x9365('0x3b')]({},_0x5e714f,_0xb2495a[_0x9365('0x3c')]);var _0x10bbb2={'where':_0x5e714f['where']};return db[_0x9365('0x27')][_0x9365('0x1a')](_0x10bbb2)[_0x9365('0x20')](function(_0x2cb6ec){_0x195102['count']=_0x2cb6ec;if(_0xb2495a[_0x9365('0x2d')][_0x9365('0x3d')]){_0x5e714f[_0x9365('0x3e')]=[{'all':!![]}];}return db[_0x9365('0x27')][_0x9365('0x3f')](_0x5e714f);})['then'](function(_0x3232cd){_0x195102[_0x9365('0x40')]=_0x3232cd;return _0x195102;})[_0x9365('0x20')](respondWithFilteredResult(_0x4aba1d,_0x5e714f))[_0x9365('0x41')](handleError(_0x4aba1d,null));};exports[_0x9365('0x42')]=function(_0x3979de,_0x1db10d){var _0x1eb201={'raw':![],'where':{'id':_0x3979de[_0x9365('0x43')]['id']}},_0xdf17a3={};_0xdf17a3[_0x9365('0x2c')]=_[_0x9365('0x44')](db[_0x9365('0x27')][_0x9365('0x28')]);_0xdf17a3[_0x9365('0x2d')]=_[_0x9365('0x44')](_0x3979de[_0x9365('0x2d')]);_0xdf17a3[_0x9365('0x2e')]=_[_0x9365('0x30')](_0xdf17a3[_0x9365('0x2c')],_0xdf17a3[_0x9365('0x2d')]);_0x1eb201[_0x9365('0x2f')]=_[_0x9365('0x30')](_0xdf17a3['model'],qs['fields'](_0x3979de[_0x9365('0x2d')]['fields']));_0x1eb201['attributes']=_0x1eb201['attributes'][_0x9365('0x45')]?_0x1eb201[_0x9365('0x2f')]:_0xdf17a3[_0x9365('0x2c')];if(_0x3979de[_0x9365('0x2d')]['includeAll']){_0x1eb201[_0x9365('0x3e')]=[{'all':!![]}];}_0x1eb201=_[_0x9365('0x3b')]({},_0x1eb201,_0x3979de['options']);return db[_0x9365('0x27')][_0x9365('0x46')](_0x1eb201)['then'](handleEntityNotFound(_0x1db10d,null))[_0x9365('0x20')](respondWithResult(_0x1db10d,null))[_0x9365('0x41')](handleError(_0x1db10d,null));};exports['create']=function(_0x382b52,_0xe28991){return db[_0x9365('0x27')][_0x9365('0x47')](_0x382b52[_0x9365('0x48')],{})[_0x9365('0x20')](respondWithResult(_0xe28991,0xc9))[_0x9365('0x41')](handleError(_0xe28991,null));};exports['update']=function(_0x532112,_0x28c40c){if(_0x532112[_0x9365('0x48')]['id']){delete _0x532112['body']['id'];}return db[_0x9365('0x27')][_0x9365('0x46')]({'where':{'id':_0x532112[_0x9365('0x43')]['id']}})[_0x9365('0x20')](handleEntityNotFound(_0x28c40c,null))['then'](saveUpdates(_0x532112[_0x9365('0x48')],null))[_0x9365('0x20')](respondWithResult(_0x28c40c,null))[_0x9365('0x41')](handleError(_0x28c40c,null));};exports[_0x9365('0x21')]=function(_0x1dc6f2,_0x336613){return db[_0x9365('0x27')][_0x9365('0x46')]({'where':{'id':_0x1dc6f2[_0x9365('0x43')]['id']}})[_0x9365('0x20')](handleEntityNotFound(_0x336613,null))['then'](removeEntity(_0x336613,null))[_0x9365('0x41')](handleError(_0x336613,null));};exports[_0x9365('0x49')]=function(_0x4fdc3e,_0x4cc7ef,_0x42c959){var _0xd0e4d7={};var _0x56ee81={};var _0x25f0aa;var _0x3c247f;return db[_0x9365('0x27')][_0x9365('0x4a')]({'where':{'id':_0x4fdc3e[_0x9365('0x43')]['id']}})[_0x9365('0x20')](handleEntityNotFound(_0x4cc7ef,null))[_0x9365('0x20')](function(_0x33c7a6){if(_0x33c7a6){_0x25f0aa=_0x33c7a6;_0x56ee81[_0x9365('0x2c')]=_[_0x9365('0x44')](db[_0x9365('0x4b')][_0x9365('0x28')]);_0x56ee81[_0x9365('0x2d')]=_['keys'](_0x4fdc3e[_0x9365('0x2d')]);_0x56ee81[_0x9365('0x2e')]=_[_0x9365('0x30')](_0x56ee81[_0x9365('0x2c')],_0x56ee81[_0x9365('0x2d')]);_0xd0e4d7['attributes']=_[_0x9365('0x30')](_0x56ee81[_0x9365('0x2c')],qs[_0x9365('0x31')](_0x4fdc3e[_0x9365('0x2d')][_0x9365('0x31')]));_0xd0e4d7[_0x9365('0x2f')]=_0xd0e4d7[_0x9365('0x2f')]['length']?_0xd0e4d7['attributes']:_0x56ee81[_0x9365('0x2c')];_0xd0e4d7[_0x9365('0x35')]=qs[_0x9365('0x36')](_0x4fdc3e[_0x9365('0x2d')][_0x9365('0x36')]);_0xd0e4d7[_0x9365('0x37')]=qs[_0x9365('0x2e')](_[_0x9365('0x38')](_0x4fdc3e[_0x9365('0x2d')],_0x56ee81['filters']));if(_0x4fdc3e[_0x9365('0x2d')]['filter']){_0xd0e4d7['where']=_['merge'](_0xd0e4d7[_0x9365('0x37')],{'$or':_[_0x9365('0x26')](_0xd0e4d7[_0x9365('0x2f')],function(_0x12642c){var _0x1e9252={};_0x1e9252[_0x12642c]={'$like':'%'+_0x4fdc3e[_0x9365('0x2d')]['filter']+'%'};return _0x1e9252;})});}_0xd0e4d7=_[_0x9365('0x3b')]({},_0xd0e4d7,_0x4fdc3e[_0x9365('0x3c')]);return _0x25f0aa['getFields'](_0xd0e4d7);}})['then'](function(_0x33c0c3){if(_0x33c0c3){_0x3c247f=_0x33c0c3[_0x9365('0x45')];if(!_0x4fdc3e[_0x9365('0x2d')][_0x9365('0x32')](_0x9365('0x33'))){_0xd0e4d7[_0x9365('0x34')]=qs[_0x9365('0x34')](_0x4fdc3e[_0x9365('0x2d')][_0x9365('0x34')]);_0xd0e4d7[_0x9365('0x18')]=qs[_0x9365('0x18')](_0x4fdc3e[_0x9365('0x2d')][_0x9365('0x18')]);}return _0x25f0aa['getFields'](_0xd0e4d7);}})['then'](function(_0x3113d2){if(_0x3113d2){return _0x3113d2?{'count':_0x3c247f,'rows':_0x3113d2}:null;}})[_0x9365('0x20')](respondWithResult(_0x4cc7ef,null))[_0x9365('0x41')](handleError(_0x4cc7ef,null));};exports[_0x9365('0x4c')]=function(_0x22aafe,_0x5eaed9,_0x1eb8d0){var _0x521c34={};var _0x1f1eaf={};var _0x449618;var _0x2edd56;return db[_0x9365('0x27')][_0x9365('0x4a')]({'where':{'id':_0x22aafe['params']['id']}})[_0x9365('0x20')](handleEntityNotFound(_0x5eaed9,null))[_0x9365('0x20')](function(_0x385f38){if(_0x385f38){_0x449618=_0x385f38;_0x1f1eaf[_0x9365('0x2c')]=_[_0x9365('0x44')](db[_0x9365('0x4b')][_0x9365('0x28')]);_0x1f1eaf[_0x9365('0x2d')]=_[_0x9365('0x44')](_0x22aafe['query']);_0x1f1eaf[_0x9365('0x2e')]=_[_0x9365('0x30')](_0x1f1eaf[_0x9365('0x2c')],_0x1f1eaf[_0x9365('0x2d')]);_0x521c34[_0x9365('0x2f')]=_[_0x9365('0x30')](_0x1f1eaf['model'],qs[_0x9365('0x31')](_0x22aafe[_0x9365('0x2d')][_0x9365('0x31')]));_0x521c34[_0x9365('0x2f')]=_0x521c34['attributes'][_0x9365('0x45')]?_0x521c34[_0x9365('0x2f')]:_0x1f1eaf[_0x9365('0x2c')];_0x521c34[_0x9365('0x35')]=qs['sort'](_0x22aafe['query']['sort']);_0x521c34[_0x9365('0x37')]=qs['filters'](_[_0x9365('0x38')](_0x22aafe[_0x9365('0x2d')],_0x1f1eaf[_0x9365('0x2e')]));if(_0x22aafe[_0x9365('0x2d')][_0x9365('0x3a')]){_0x521c34['where']=_[_0x9365('0x3b')](_0x521c34[_0x9365('0x37')],{'$or':_[_0x9365('0x26')](_0x521c34[_0x9365('0x2f')],function(_0x5d046b){var _0x20e6f2={};_0x20e6f2[_0x5d046b]={'$like':'%'+_0x22aafe[_0x9365('0x2d')][_0x9365('0x3a')]+'%'};return _0x20e6f2;})});}_0x521c34=_[_0x9365('0x3b')]({},_0x521c34,_0x22aafe[_0x9365('0x3c')]);return _0x449618[_0x9365('0x4c')](_0x521c34);}})[_0x9365('0x20')](function(_0x104717){if(_0x104717){_0x2edd56=_0x104717[_0x9365('0x45')];if(!_0x22aafe['query'][_0x9365('0x32')](_0x9365('0x33'))){_0x521c34[_0x9365('0x34')]=qs['limit'](_0x22aafe[_0x9365('0x2d')][_0x9365('0x34')]);_0x521c34[_0x9365('0x18')]=qs[_0x9365('0x18')](_0x22aafe[_0x9365('0x2d')][_0x9365('0x18')]);}return _0x449618[_0x9365('0x4c')](_0x521c34);}})['then'](function(_0x249e8d){if(_0x249e8d){return _0x249e8d?{'count':_0x2edd56,'rows':_0x249e8d}:null;}})[_0x9365('0x20')](respondWithResult(_0x5eaed9,null))[_0x9365('0x41')](handleError(_0x5eaed9,null));};exports['getDescriptions']=function(_0x118709,_0x43ecaa,_0x10f851){var _0x364f40={};var _0x26c8c7={};var _0x4be7d0;var _0x3b1072;return db[_0x9365('0x27')][_0x9365('0x4a')]({'where':{'id':_0x118709[_0x9365('0x43')]['id']}})[_0x9365('0x20')](handleEntityNotFound(_0x43ecaa,null))[_0x9365('0x20')](function(_0x3aaecb){if(_0x3aaecb){_0x4be7d0=_0x3aaecb;_0x26c8c7[_0x9365('0x2c')]=_[_0x9365('0x44')](db[_0x9365('0x4b')][_0x9365('0x28')]);_0x26c8c7[_0x9365('0x2d')]=_[_0x9365('0x44')](_0x118709[_0x9365('0x2d')]);_0x26c8c7[_0x9365('0x2e')]=_[_0x9365('0x30')](_0x26c8c7['model'],_0x26c8c7[_0x9365('0x2d')]);_0x364f40[_0x9365('0x2f')]=_[_0x9365('0x30')](_0x26c8c7[_0x9365('0x2c')],qs[_0x9365('0x31')](_0x118709[_0x9365('0x2d')][_0x9365('0x31')]));_0x364f40[_0x9365('0x2f')]=_0x364f40[_0x9365('0x2f')][_0x9365('0x45')]?_0x364f40[_0x9365('0x2f')]:_0x26c8c7[_0x9365('0x2c')];_0x364f40[_0x9365('0x35')]=qs['sort'](_0x118709[_0x9365('0x2d')][_0x9365('0x36')]);_0x364f40[_0x9365('0x37')]=qs['filters'](_[_0x9365('0x38')](_0x118709[_0x9365('0x2d')],_0x26c8c7[_0x9365('0x2e')]));if(_0x118709[_0x9365('0x2d')][_0x9365('0x3a')]){_0x364f40[_0x9365('0x37')]=_['merge'](_0x364f40[_0x9365('0x37')],{'$or':_['map'](_0x364f40[_0x9365('0x2f')],function(_0x4180cc){var _0x35ca56={};_0x35ca56[_0x4180cc]={'$like':'%'+_0x118709[_0x9365('0x2d')][_0x9365('0x3a')]+'%'};return _0x35ca56;})});}_0x364f40=_[_0x9365('0x3b')]({},_0x364f40,_0x118709[_0x9365('0x3c')]);return _0x4be7d0[_0x9365('0x4d')](_0x364f40);}})['then'](function(_0x3d9748){if(_0x3d9748){_0x3b1072=_0x3d9748[_0x9365('0x45')];if(!_0x118709[_0x9365('0x2d')]['hasOwnProperty']('nolimit')){_0x364f40[_0x9365('0x34')]=qs[_0x9365('0x34')](_0x118709[_0x9365('0x2d')][_0x9365('0x34')]);_0x364f40['offset']=qs[_0x9365('0x18')](_0x118709[_0x9365('0x2d')][_0x9365('0x18')]);}return _0x4be7d0[_0x9365('0x4d')](_0x364f40);}})[_0x9365('0x20')](function(_0x187433){if(_0x187433){return _0x187433?{'count':_0x3b1072,'rows':_0x187433}:null;}})['then'](respondWithResult(_0x43ecaa,null))['catch'](handleError(_0x43ecaa,null));};