Built motion from commit 14588770.|2.5.38
[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 _0x94f1=['../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','json','offset','undefined','limit','count','set','apply','save','update','then','destroy','error','name','send','map','SugarcrmConfiguration','rawAttributes','type','key','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','params','keys','create','body','find','getFields','findOne','SugarcrmField','getSubjects','getDescriptions','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','to-csv','ejs','fs-extra','squel','crypto','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch'];(function(_0x4d8ed9,_0x2ae284){var _0x1e2140=function(_0x9cca89){while(--_0x9cca89){_0x4d8ed9['push'](_0x4d8ed9['shift']());}};_0x1e2140(++_0x2ae284);}(_0x94f1,0x177));var _0x194f=function(_0x19705a,_0x237841){_0x19705a=_0x19705a-0x0;var _0x40747d=_0x94f1[_0x19705a];return _0x40747d;};'use strict';var emlformat=require(_0x194f('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x194f('0x1'));var jsonpatch=require(_0x194f('0x2'));var rp=require(_0x194f('0x3'));var moment=require(_0x194f('0x4'));var BPromise=require(_0x194f('0x5'));var Mustache=require(_0x194f('0x6'));var util=require(_0x194f('0x7'));var path=require('path');var sox=require(_0x194f('0x8'));var csv=require(_0x194f('0x9'));var ejs=require(_0x194f('0xa'));var fs=require('fs');var fs_extra=require(_0x194f('0xb'));var _=require('lodash');var squel=require(_0x194f('0xc'));var crypto=require(_0x194f('0xd'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x194f('0xe'));var Papa=require(_0x194f('0xf'));var Redis=require(_0x194f('0x10'));var authService=require(_0x194f('0x11'));var qs=require(_0x194f('0x12'));var as=require(_0x194f('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')('api');var utils=require(_0x194f('0x14'));var config=require(_0x194f('0x15'));var licenseUtil=require(_0x194f('0x16'));var db=require(_0x194f('0x17'))['db'];function respondWithStatusCode(_0x2925e7,_0x298fba){_0x298fba=_0x298fba||0xcc;return function(_0x16124d){if(_0x16124d){return _0x2925e7[_0x194f('0x18')](_0x298fba);}return _0x2925e7['status'](_0x298fba)[_0x194f('0x19')]();};}function respondWithResult(_0x1f6cde,_0x32c670){_0x32c670=_0x32c670||0xc8;return function(_0x270436){if(_0x270436){return _0x1f6cde[_0x194f('0x1a')](_0x32c670)[_0x194f('0x1b')](_0x270436);}};}function respondWithFilteredResult(_0x39c34e,_0x25302b){return function(_0x838612){if(_0x838612){var _0x598e8f=typeof _0x25302b[_0x194f('0x1c')]===_0x194f('0x1d')&&typeof _0x25302b[_0x194f('0x1e')]===_0x194f('0x1d');var _0x5da7c9=_0x838612['count'];var _0x5773c4=_0x598e8f?0x0:_0x25302b[_0x194f('0x1c')];var _0x383664=_0x598e8f?_0x838612[_0x194f('0x1f')]:_0x25302b[_0x194f('0x1c')]+_0x25302b['limit'];var _0x3aa939;if(_0x383664>=_0x5da7c9){_0x383664=_0x5da7c9;_0x3aa939=0xc8;}else{_0x3aa939=0xce;}_0x39c34e[_0x194f('0x1a')](_0x3aa939);return _0x39c34e[_0x194f('0x20')]('Content-Range',_0x5773c4+'-'+_0x383664+'/'+_0x5da7c9)[_0x194f('0x1b')](_0x838612);}return null;};}function patchUpdates(_0x5a9f1c){return function(_0x3b17e0){try{jsonpatch[_0x194f('0x21')](_0x3b17e0,_0x5a9f1c,!![]);}catch(_0x38fc76){return BPromise['reject'](_0x38fc76);}return _0x3b17e0[_0x194f('0x22')]();};}function saveUpdates(_0x103faa,_0x2e7615){return function(_0x29048d){if(_0x29048d){return _0x29048d[_0x194f('0x23')](_0x103faa)[_0x194f('0x24')](function(_0x1d0dab){return _0x1d0dab;});}return null;};}function removeEntity(_0x3debeb,_0x4e62fc){return function(_0x6dcae5){if(_0x6dcae5){return _0x6dcae5[_0x194f('0x25')]()[_0x194f('0x24')](function(){_0x3debeb[_0x194f('0x1a')](0xcc)[_0x194f('0x19')]();});}};}function handleEntityNotFound(_0x18f913,_0x28630f){return function(_0x23e4e9){if(!_0x23e4e9){_0x18f913[_0x194f('0x18')](0x194);}return _0x23e4e9;};}function handleError(_0x286990,_0x338231){_0x338231=_0x338231||0x1f4;return function(_0x134f18){logger[_0x194f('0x26')](_0x134f18['stack']);if(_0x134f18[_0x194f('0x27')]){delete _0x134f18[_0x194f('0x27')];}_0x286990[_0x194f('0x1a')](_0x338231)[_0x194f('0x28')](_0x134f18);};}exports['index']=function(_0xa26a61,_0x1b9d83){var _0x4baabc={},_0x290d5f={},_0x2153f5={'count':0x0,'rows':[]};var _0x4ba20a=_[_0x194f('0x29')](db[_0x194f('0x2a')][_0x194f('0x2b')],function(_0x4ec01e){return{'name':_0x4ec01e['fieldName'],'type':_0x4ec01e[_0x194f('0x2c')][_0x194f('0x2d')]};});_0x290d5f[_0x194f('0x2e')]=_[_0x194f('0x29')](_0x4ba20a,_0x194f('0x27'));_0x290d5f['query']=_['keys'](_0xa26a61[_0x194f('0x2f')]);_0x290d5f[_0x194f('0x30')]=_[_0x194f('0x31')](_0x290d5f['model'],_0x290d5f['query']);_0x4baabc[_0x194f('0x32')]=_[_0x194f('0x31')](_0x290d5f[_0x194f('0x2e')],qs[_0x194f('0x33')](_0xa26a61[_0x194f('0x2f')][_0x194f('0x33')]));_0x4baabc[_0x194f('0x32')]=_0x4baabc[_0x194f('0x32')][_0x194f('0x34')]?_0x4baabc[_0x194f('0x32')]:_0x290d5f['model'];if(!_0xa26a61['query'][_0x194f('0x35')](_0x194f('0x36'))){_0x4baabc['limit']=qs['limit'](_0xa26a61[_0x194f('0x2f')][_0x194f('0x1e')]);_0x4baabc[_0x194f('0x1c')]=qs[_0x194f('0x1c')](_0xa26a61[_0x194f('0x2f')][_0x194f('0x1c')]);}_0x4baabc[_0x194f('0x37')]=qs['sort'](_0xa26a61['query'][_0x194f('0x38')]);_0x4baabc[_0x194f('0x39')]=qs[_0x194f('0x30')](_[_0x194f('0x3a')](_0xa26a61[_0x194f('0x2f')],_0x290d5f['filters']),_0x4ba20a);if(_0xa26a61[_0x194f('0x2f')][_0x194f('0x3b')]){_0x4baabc['where']=_[_0x194f('0x3c')](_0x4baabc[_0x194f('0x39')],{'$or':_[_0x194f('0x29')](_0x4ba20a,function(_0x1064f1){if(_0x1064f1[_0x194f('0x2c')]!==_0x194f('0x3d')){var _0x596d27={};_0x596d27[_0x1064f1[_0x194f('0x27')]]={'$like':'%'+_0xa26a61[_0x194f('0x2f')][_0x194f('0x3b')]+'%'};return _0x596d27;}})});}_0x4baabc=_[_0x194f('0x3c')]({},_0x4baabc,_0xa26a61[_0x194f('0x3e')]);var _0x36b811={'where':_0x4baabc[_0x194f('0x39')]};return db[_0x194f('0x2a')]['count'](_0x36b811)[_0x194f('0x24')](function(_0x5c4bbb){_0x2153f5['count']=_0x5c4bbb;if(_0xa26a61['query'][_0x194f('0x3f')]){_0x4baabc[_0x194f('0x40')]=[{'all':!![]}];}return db[_0x194f('0x2a')][_0x194f('0x41')](_0x4baabc);})[_0x194f('0x24')](function(_0x2f0601){_0x2153f5[_0x194f('0x42')]=_0x2f0601;return _0x2153f5;})[_0x194f('0x24')](respondWithFilteredResult(_0x1b9d83,_0x4baabc))[_0x194f('0x43')](handleError(_0x1b9d83,null));};exports[_0x194f('0x44')]=function(_0x1a22d1,_0x493a0e){var _0x39fbc0={'raw':![],'where':{'id':_0x1a22d1[_0x194f('0x45')]['id']}},_0x40a8a5={};_0x40a8a5[_0x194f('0x2e')]=_[_0x194f('0x46')](db[_0x194f('0x2a')]['rawAttributes']);_0x40a8a5[_0x194f('0x2f')]=_[_0x194f('0x46')](_0x1a22d1['query']);_0x40a8a5[_0x194f('0x30')]=_[_0x194f('0x31')](_0x40a8a5[_0x194f('0x2e')],_0x40a8a5['query']);_0x39fbc0[_0x194f('0x32')]=_['intersection'](_0x40a8a5[_0x194f('0x2e')],qs[_0x194f('0x33')](_0x1a22d1[_0x194f('0x2f')]['fields']));_0x39fbc0[_0x194f('0x32')]=_0x39fbc0['attributes'][_0x194f('0x34')]?_0x39fbc0[_0x194f('0x32')]:_0x40a8a5[_0x194f('0x2e')];if(_0x1a22d1[_0x194f('0x2f')][_0x194f('0x3f')]){_0x39fbc0[_0x194f('0x40')]=[{'all':!![]}];}_0x39fbc0=_[_0x194f('0x3c')]({},_0x39fbc0,_0x1a22d1[_0x194f('0x3e')]);return db[_0x194f('0x2a')]['find'](_0x39fbc0)[_0x194f('0x24')](handleEntityNotFound(_0x493a0e,null))[_0x194f('0x24')](respondWithResult(_0x493a0e,null))[_0x194f('0x43')](handleError(_0x493a0e,null));};exports[_0x194f('0x47')]=function(_0x2c2c9c,_0x57b691){return db[_0x194f('0x2a')]['create'](_0x2c2c9c[_0x194f('0x48')],{})['then'](respondWithResult(_0x57b691,0xc9))['catch'](handleError(_0x57b691,null));};exports[_0x194f('0x23')]=function(_0x45374f,_0x3fd50d){if(_0x45374f['body']['id']){delete _0x45374f[_0x194f('0x48')]['id'];}return db[_0x194f('0x2a')][_0x194f('0x49')]({'where':{'id':_0x45374f['params']['id']}})[_0x194f('0x24')](handleEntityNotFound(_0x3fd50d,null))[_0x194f('0x24')](saveUpdates(_0x45374f[_0x194f('0x48')],null))['then'](respondWithResult(_0x3fd50d,null))['catch'](handleError(_0x3fd50d,null));};exports[_0x194f('0x25')]=function(_0x49368f,_0x251ad8){return db['SugarcrmConfiguration'][_0x194f('0x49')]({'where':{'id':_0x49368f[_0x194f('0x45')]['id']}})['then'](handleEntityNotFound(_0x251ad8,null))[_0x194f('0x24')](removeEntity(_0x251ad8,null))[_0x194f('0x43')](handleError(_0x251ad8,null));};exports[_0x194f('0x4a')]=function(_0x56e61d,_0x54297b,_0x2c2c3e){var _0x297f92={};var _0x51ff67={};var _0x5adf1b;var _0x5de446;return db[_0x194f('0x2a')][_0x194f('0x4b')]({'where':{'id':_0x56e61d[_0x194f('0x45')]['id']}})[_0x194f('0x24')](handleEntityNotFound(_0x54297b,null))[_0x194f('0x24')](function(_0x1d9214){if(_0x1d9214){_0x5adf1b=_0x1d9214;_0x51ff67[_0x194f('0x2e')]=_[_0x194f('0x46')](db[_0x194f('0x4c')][_0x194f('0x2b')]);_0x51ff67[_0x194f('0x2f')]=_['keys'](_0x56e61d[_0x194f('0x2f')]);_0x51ff67[_0x194f('0x30')]=_[_0x194f('0x31')](_0x51ff67['model'],_0x51ff67['query']);_0x297f92['attributes']=_[_0x194f('0x31')](_0x51ff67[_0x194f('0x2e')],qs[_0x194f('0x33')](_0x56e61d[_0x194f('0x2f')][_0x194f('0x33')]));_0x297f92[_0x194f('0x32')]=_0x297f92[_0x194f('0x32')][_0x194f('0x34')]?_0x297f92['attributes']:_0x51ff67['model'];_0x297f92[_0x194f('0x37')]=qs[_0x194f('0x38')](_0x56e61d[_0x194f('0x2f')][_0x194f('0x38')]);_0x297f92[_0x194f('0x39')]=qs[_0x194f('0x30')](_['pick'](_0x56e61d['query'],_0x51ff67[_0x194f('0x30')]));if(_0x56e61d['query'][_0x194f('0x3b')]){_0x297f92['where']=_[_0x194f('0x3c')](_0x297f92['where'],{'$or':_[_0x194f('0x29')](_0x297f92[_0x194f('0x32')],function(_0x985098){var _0x24dee2={};_0x24dee2[_0x985098]={'$like':'%'+_0x56e61d[_0x194f('0x2f')][_0x194f('0x3b')]+'%'};return _0x24dee2;})});}_0x297f92=_['merge']({},_0x297f92,_0x56e61d[_0x194f('0x3e')]);return _0x5adf1b[_0x194f('0x4a')](_0x297f92);}})[_0x194f('0x24')](function(_0x337a0f){if(_0x337a0f){_0x5de446=_0x337a0f[_0x194f('0x34')];if(!_0x56e61d[_0x194f('0x2f')]['hasOwnProperty']('nolimit')){_0x297f92[_0x194f('0x1e')]=qs[_0x194f('0x1e')](_0x56e61d[_0x194f('0x2f')]['limit']);_0x297f92[_0x194f('0x1c')]=qs[_0x194f('0x1c')](_0x56e61d['query'][_0x194f('0x1c')]);}return _0x5adf1b['getFields'](_0x297f92);}})[_0x194f('0x24')](function(_0x43a715){if(_0x43a715){return _0x43a715?{'count':_0x5de446,'rows':_0x43a715}:null;}})['then'](respondWithResult(_0x54297b,null))[_0x194f('0x43')](handleError(_0x54297b,null));};exports['getSubjects']=function(_0x437f52,_0x27241e,_0x326f01){var _0x329a65={};var _0x447251={};var _0x195c64;var _0x3bcef6;return db[_0x194f('0x2a')][_0x194f('0x4b')]({'where':{'id':_0x437f52[_0x194f('0x45')]['id']}})[_0x194f('0x24')](handleEntityNotFound(_0x27241e,null))[_0x194f('0x24')](function(_0x3fcbb6){if(_0x3fcbb6){_0x195c64=_0x3fcbb6;_0x447251[_0x194f('0x2e')]=_[_0x194f('0x46')](db['SugarcrmField'][_0x194f('0x2b')]);_0x447251[_0x194f('0x2f')]=_[_0x194f('0x46')](_0x437f52[_0x194f('0x2f')]);_0x447251[_0x194f('0x30')]=_['intersection'](_0x447251[_0x194f('0x2e')],_0x447251[_0x194f('0x2f')]);_0x329a65['attributes']=_[_0x194f('0x31')](_0x447251[_0x194f('0x2e')],qs[_0x194f('0x33')](_0x437f52[_0x194f('0x2f')][_0x194f('0x33')]));_0x329a65['attributes']=_0x329a65[_0x194f('0x32')]['length']?_0x329a65[_0x194f('0x32')]:_0x447251['model'];_0x329a65[_0x194f('0x37')]=qs[_0x194f('0x38')](_0x437f52[_0x194f('0x2f')][_0x194f('0x38')]);_0x329a65[_0x194f('0x39')]=qs['filters'](_[_0x194f('0x3a')](_0x437f52[_0x194f('0x2f')],_0x447251[_0x194f('0x30')]));if(_0x437f52[_0x194f('0x2f')]['filter']){_0x329a65[_0x194f('0x39')]=_[_0x194f('0x3c')](_0x329a65[_0x194f('0x39')],{'$or':_[_0x194f('0x29')](_0x329a65[_0x194f('0x32')],function(_0x1c58f5){var _0x317310={};_0x317310[_0x1c58f5]={'$like':'%'+_0x437f52[_0x194f('0x2f')][_0x194f('0x3b')]+'%'};return _0x317310;})});}_0x329a65=_[_0x194f('0x3c')]({},_0x329a65,_0x437f52[_0x194f('0x3e')]);return _0x195c64[_0x194f('0x4d')](_0x329a65);}})[_0x194f('0x24')](function(_0x3842a0){if(_0x3842a0){_0x3bcef6=_0x3842a0[_0x194f('0x34')];if(!_0x437f52[_0x194f('0x2f')][_0x194f('0x35')](_0x194f('0x36'))){_0x329a65[_0x194f('0x1e')]=qs[_0x194f('0x1e')](_0x437f52[_0x194f('0x2f')][_0x194f('0x1e')]);_0x329a65[_0x194f('0x1c')]=qs[_0x194f('0x1c')](_0x437f52[_0x194f('0x2f')][_0x194f('0x1c')]);}return _0x195c64[_0x194f('0x4d')](_0x329a65);}})[_0x194f('0x24')](function(_0x2dbdce){if(_0x2dbdce){return _0x2dbdce?{'count':_0x3bcef6,'rows':_0x2dbdce}:null;}})[_0x194f('0x24')](respondWithResult(_0x27241e,null))['catch'](handleError(_0x27241e,null));};exports[_0x194f('0x4e')]=function(_0xaf471f,_0x26bf8b,_0x4da4b2){var _0x4f5cac={};var _0x25e70f={};var _0xd4d95c;var _0x470580;return db[_0x194f('0x2a')]['findOne']({'where':{'id':_0xaf471f[_0x194f('0x45')]['id']}})['then'](handleEntityNotFound(_0x26bf8b,null))['then'](function(_0xd205c6){if(_0xd205c6){_0xd4d95c=_0xd205c6;_0x25e70f[_0x194f('0x2e')]=_['keys'](db[_0x194f('0x4c')]['rawAttributes']);_0x25e70f[_0x194f('0x2f')]=_[_0x194f('0x46')](_0xaf471f[_0x194f('0x2f')]);_0x25e70f['filters']=_[_0x194f('0x31')](_0x25e70f[_0x194f('0x2e')],_0x25e70f['query']);_0x4f5cac[_0x194f('0x32')]=_[_0x194f('0x31')](_0x25e70f[_0x194f('0x2e')],qs['fields'](_0xaf471f['query']['fields']));_0x4f5cac[_0x194f('0x32')]=_0x4f5cac['attributes'][_0x194f('0x34')]?_0x4f5cac['attributes']:_0x25e70f['model'];_0x4f5cac[_0x194f('0x37')]=qs[_0x194f('0x38')](_0xaf471f['query'][_0x194f('0x38')]);_0x4f5cac[_0x194f('0x39')]=qs[_0x194f('0x30')](_[_0x194f('0x3a')](_0xaf471f['query'],_0x25e70f[_0x194f('0x30')]));if(_0xaf471f[_0x194f('0x2f')][_0x194f('0x3b')]){_0x4f5cac[_0x194f('0x39')]=_[_0x194f('0x3c')](_0x4f5cac[_0x194f('0x39')],{'$or':_[_0x194f('0x29')](_0x4f5cac[_0x194f('0x32')],function(_0x3447c8){var _0x36b9b1={};_0x36b9b1[_0x3447c8]={'$like':'%'+_0xaf471f['query'][_0x194f('0x3b')]+'%'};return _0x36b9b1;})});}_0x4f5cac=_[_0x194f('0x3c')]({},_0x4f5cac,_0xaf471f[_0x194f('0x3e')]);return _0xd4d95c[_0x194f('0x4e')](_0x4f5cac);}})[_0x194f('0x24')](function(_0x4a6764){if(_0x4a6764){_0x470580=_0x4a6764[_0x194f('0x34')];if(!_0xaf471f[_0x194f('0x2f')][_0x194f('0x35')]('nolimit')){_0x4f5cac[_0x194f('0x1e')]=qs[_0x194f('0x1e')](_0xaf471f[_0x194f('0x2f')][_0x194f('0x1e')]);_0x4f5cac[_0x194f('0x1c')]=qs['offset'](_0xaf471f[_0x194f('0x2f')]['offset']);}return _0xd4d95c[_0x194f('0x4e')](_0x4f5cac);}})[_0x194f('0x24')](function(_0x40d8a9){if(_0x40d8a9){return _0x40d8a9?{'count':_0x470580,'rows':_0x40d8a9}:null;}})['then'](respondWithResult(_0x26bf8b,null))[_0x194f('0x43')](handleError(_0x26bf8b,null));};