Built motion from commit e02f907f.|2.6.14
[motion2.git] / server / api / intVtigerConfiguration / intVtigerConfiguration.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 _0x55e0=['querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','json','undefined','limit','count','offset','Content-Range','apply','save','update','then','end','stack','name','index','VtigerConfiguration','rawAttributes','fieldName','type','key','model','map','query','keys','filters','intersection','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','include','findAll','rows','fields','includeAll','find','catch','create','body','params','destroy','findOne','VtigerField','getFields','getSubjects','getDescriptions','eml-format','rimraf','zip-dir','fast-json-patch','bluebird','mustache','util','path','sox','to-csv','lodash','crypto','jsforce','desk.js'];(function(_0x2adf72,_0x1a88a9){var _0x234214=function(_0x1bf232){while(--_0x1bf232){_0x2adf72['push'](_0x2adf72['shift']());}};_0x234214(++_0x1a88a9);}(_0x55e0,0xdc));var _0x055e=function(_0x1a021b,_0xf4ee94){_0x1a021b=_0x1a021b-0x0;var _0x1a34a3=_0x55e0[_0x1a021b];return _0x1a34a3;};'use strict';var emlformat=require(_0x055e('0x0'));var rimraf=require(_0x055e('0x1'));var zipdir=require(_0x055e('0x2'));var jsonpatch=require(_0x055e('0x3'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x055e('0x4'));var Mustache=require(_0x055e('0x5'));var util=require(_0x055e('0x6'));var path=require(_0x055e('0x7'));var sox=require(_0x055e('0x8'));var csv=require(_0x055e('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x055e('0xa'));var squel=require('squel');var crypto=require(_0x055e('0xb'));var jsforce=require(_0x055e('0xc'));var deskjs=require(_0x055e('0xd'));var toCsv=require(_0x055e('0x9'));var querystring=require(_0x055e('0xe'));var Papa=require('papaparse');var Redis=require(_0x055e('0xf'));var authService=require(_0x055e('0x10'));var qs=require(_0x055e('0x11'));var as=require(_0x055e('0x12'));var hardwareService=require(_0x055e('0x13'));var logger=require('../../config/logger')('api');var utils=require(_0x055e('0x14'));var config=require('../../config/environment');var licenseUtil=require(_0x055e('0x15'));var db=require(_0x055e('0x16'))['db'];function respondWithStatusCode(_0x72d424,_0x101bc3){_0x101bc3=_0x101bc3||0xcc;return function(_0xc98c6a){if(_0xc98c6a){return _0x72d424[_0x055e('0x17')](_0x101bc3);}return _0x72d424[_0x055e('0x18')](_0x101bc3)['end']();};}function respondWithResult(_0x14064d,_0xb80d83){_0xb80d83=_0xb80d83||0xc8;return function(_0x3cfd14){if(_0x3cfd14){return _0x14064d[_0x055e('0x18')](_0xb80d83)[_0x055e('0x19')](_0x3cfd14);}};}function respondWithFilteredResult(_0x56af18,_0x230674){return function(_0x2fe55f){if(_0x2fe55f){var _0x111cdb=typeof _0x230674['offset']===_0x055e('0x1a')&&typeof _0x230674[_0x055e('0x1b')]===_0x055e('0x1a');var _0x2bad86=_0x2fe55f[_0x055e('0x1c')];var _0x4c85dd=_0x111cdb?0x0:_0x230674[_0x055e('0x1d')];var _0x2cf3de=_0x111cdb?_0x2fe55f[_0x055e('0x1c')]:_0x230674[_0x055e('0x1d')]+_0x230674['limit'];var _0x4004ce;if(_0x2cf3de>=_0x2bad86){_0x2cf3de=_0x2bad86;_0x4004ce=0xc8;}else{_0x4004ce=0xce;}_0x56af18[_0x055e('0x18')](_0x4004ce);return _0x56af18['set'](_0x055e('0x1e'),_0x4c85dd+'-'+_0x2cf3de+'/'+_0x2bad86)[_0x055e('0x19')](_0x2fe55f);}return null;};}function patchUpdates(_0x10258f){return function(_0x124d86){try{jsonpatch[_0x055e('0x1f')](_0x124d86,_0x10258f,!![]);}catch(_0x4675ff){return BPromise['reject'](_0x4675ff);}return _0x124d86[_0x055e('0x20')]();};}function saveUpdates(_0x2f0346,_0x211594){return function(_0x5930ff){if(_0x5930ff){return _0x5930ff[_0x055e('0x21')](_0x2f0346)[_0x055e('0x22')](function(_0x32c64e){return _0x32c64e;});}return null;};}function removeEntity(_0x37243b,_0x51df23){return function(_0x71a6e1){if(_0x71a6e1){return _0x71a6e1['destroy']()[_0x055e('0x22')](function(){_0x37243b[_0x055e('0x18')](0xcc)[_0x055e('0x23')]();});}};}function handleEntityNotFound(_0x1a76c6,_0x40c62a){return function(_0x4c653c){if(!_0x4c653c){_0x1a76c6['sendStatus'](0x194);}return _0x4c653c;};}function handleError(_0x2fb49b,_0x1f90a9){_0x1f90a9=_0x1f90a9||0x1f4;return function(_0x2a82f8){logger['error'](_0x2a82f8[_0x055e('0x24')]);if(_0x2a82f8[_0x055e('0x25')]){delete _0x2a82f8[_0x055e('0x25')];}_0x2fb49b[_0x055e('0x18')](_0x1f90a9)['send'](_0x2a82f8);};}exports[_0x055e('0x26')]=function(_0x5958ef,_0x1528c3){var _0x35def0={},_0x23a506={},_0x7822db={'count':0x0,'rows':[]};var _0x1610f1=_['map'](db[_0x055e('0x27')][_0x055e('0x28')],function(_0x293062){return{'name':_0x293062[_0x055e('0x29')],'type':_0x293062[_0x055e('0x2a')][_0x055e('0x2b')]};});_0x23a506[_0x055e('0x2c')]=_[_0x055e('0x2d')](_0x1610f1,'name');_0x23a506[_0x055e('0x2e')]=_[_0x055e('0x2f')](_0x5958ef['query']);_0x23a506[_0x055e('0x30')]=_[_0x055e('0x31')](_0x23a506[_0x055e('0x2c')],_0x23a506[_0x055e('0x2e')]);_0x35def0[_0x055e('0x32')]=_[_0x055e('0x31')](_0x23a506['model'],qs['fields'](_0x5958ef[_0x055e('0x2e')]['fields']));_0x35def0['attributes']=_0x35def0['attributes'][_0x055e('0x33')]?_0x35def0[_0x055e('0x32')]:_0x23a506[_0x055e('0x2c')];if(!_0x5958ef[_0x055e('0x2e')][_0x055e('0x34')](_0x055e('0x35'))){_0x35def0[_0x055e('0x1b')]=qs[_0x055e('0x1b')](_0x5958ef[_0x055e('0x2e')][_0x055e('0x1b')]);_0x35def0[_0x055e('0x1d')]=qs[_0x055e('0x1d')](_0x5958ef['query']['offset']);}_0x35def0[_0x055e('0x36')]=qs[_0x055e('0x37')](_0x5958ef[_0x055e('0x2e')][_0x055e('0x37')]);_0x35def0[_0x055e('0x38')]=qs[_0x055e('0x30')](_[_0x055e('0x39')](_0x5958ef['query'],_0x23a506[_0x055e('0x30')]),_0x1610f1);if(_0x5958ef[_0x055e('0x2e')][_0x055e('0x3a')]){_0x35def0[_0x055e('0x38')]=_[_0x055e('0x3b')](_0x35def0['where'],{'$or':_[_0x055e('0x2d')](_0x1610f1,function(_0x3017f4){if(_0x3017f4['type']!==_0x055e('0x3c')){var _0x1a109f={};_0x1a109f[_0x3017f4['name']]={'$like':'%'+_0x5958ef[_0x055e('0x2e')][_0x055e('0x3a')]+'%'};return _0x1a109f;}})});}_0x35def0=_['merge']({},_0x35def0,_0x5958ef[_0x055e('0x3d')]);var _0x233423={'where':_0x35def0['where']};return db[_0x055e('0x27')][_0x055e('0x1c')](_0x233423)[_0x055e('0x22')](function(_0x4ac128){_0x7822db[_0x055e('0x1c')]=_0x4ac128;if(_0x5958ef[_0x055e('0x2e')]['includeAll']){_0x35def0[_0x055e('0x3e')]=[{'all':!![]}];}return db[_0x055e('0x27')][_0x055e('0x3f')](_0x35def0);})['then'](function(_0x228eca){_0x7822db[_0x055e('0x40')]=_0x228eca;return _0x7822db;})[_0x055e('0x22')](respondWithFilteredResult(_0x1528c3,_0x35def0))['catch'](handleError(_0x1528c3,null));};exports['show']=function(_0x27c49c,_0x237318){var _0x4ff19e={'raw':![],'where':{'id':_0x27c49c['params']['id']}},_0x3a5bc5={};_0x3a5bc5[_0x055e('0x2c')]=_['keys'](db[_0x055e('0x27')][_0x055e('0x28')]);_0x3a5bc5[_0x055e('0x2e')]=_['keys'](_0x27c49c['query']);_0x3a5bc5[_0x055e('0x30')]=_[_0x055e('0x31')](_0x3a5bc5[_0x055e('0x2c')],_0x3a5bc5[_0x055e('0x2e')]);_0x4ff19e['attributes']=_['intersection'](_0x3a5bc5[_0x055e('0x2c')],qs[_0x055e('0x41')](_0x27c49c['query'][_0x055e('0x41')]));_0x4ff19e[_0x055e('0x32')]=_0x4ff19e[_0x055e('0x32')][_0x055e('0x33')]?_0x4ff19e[_0x055e('0x32')]:_0x3a5bc5[_0x055e('0x2c')];if(_0x27c49c['query'][_0x055e('0x42')]){_0x4ff19e[_0x055e('0x3e')]=[{'all':!![]}];}_0x4ff19e=_['merge']({},_0x4ff19e,_0x27c49c[_0x055e('0x3d')]);return db[_0x055e('0x27')][_0x055e('0x43')](_0x4ff19e)[_0x055e('0x22')](handleEntityNotFound(_0x237318,null))[_0x055e('0x22')](respondWithResult(_0x237318,null))[_0x055e('0x44')](handleError(_0x237318,null));};exports[_0x055e('0x45')]=function(_0x4ee2f8,_0x35b2c6){return db['VtigerConfiguration'][_0x055e('0x45')](_0x4ee2f8[_0x055e('0x46')],{})[_0x055e('0x22')](respondWithResult(_0x35b2c6,0xc9))['catch'](handleError(_0x35b2c6,null));};exports['update']=function(_0x45845e,_0x20114c){if(_0x45845e[_0x055e('0x46')]['id']){delete _0x45845e[_0x055e('0x46')]['id'];}return db[_0x055e('0x27')][_0x055e('0x43')]({'where':{'id':_0x45845e[_0x055e('0x47')]['id']}})[_0x055e('0x22')](handleEntityNotFound(_0x20114c,null))[_0x055e('0x22')](saveUpdates(_0x45845e['body'],null))[_0x055e('0x22')](respondWithResult(_0x20114c,null))[_0x055e('0x44')](handleError(_0x20114c,null));};exports[_0x055e('0x48')]=function(_0x17695b,_0x335415){return db['VtigerConfiguration'][_0x055e('0x43')]({'where':{'id':_0x17695b[_0x055e('0x47')]['id']}})[_0x055e('0x22')](handleEntityNotFound(_0x335415,null))['then'](removeEntity(_0x335415,null))[_0x055e('0x44')](handleError(_0x335415,null));};exports['getFields']=function(_0x15e442,_0x12f449,_0x49129a){var _0x132752={};var _0x221550={};var _0x3e6329;var _0x5dae63;return db['VtigerConfiguration'][_0x055e('0x49')]({'where':{'id':_0x15e442[_0x055e('0x47')]['id']}})[_0x055e('0x22')](handleEntityNotFound(_0x12f449,null))[_0x055e('0x22')](function(_0x144c77){if(_0x144c77){_0x3e6329=_0x144c77;_0x221550[_0x055e('0x2c')]=_[_0x055e('0x2f')](db[_0x055e('0x4a')][_0x055e('0x28')]);_0x221550[_0x055e('0x2e')]=_['keys'](_0x15e442[_0x055e('0x2e')]);_0x221550[_0x055e('0x30')]=_[_0x055e('0x31')](_0x221550[_0x055e('0x2c')],_0x221550['query']);_0x132752[_0x055e('0x32')]=_[_0x055e('0x31')](_0x221550[_0x055e('0x2c')],qs[_0x055e('0x41')](_0x15e442['query']['fields']));_0x132752[_0x055e('0x32')]=_0x132752[_0x055e('0x32')][_0x055e('0x33')]?_0x132752[_0x055e('0x32')]:_0x221550[_0x055e('0x2c')];_0x132752[_0x055e('0x36')]=qs[_0x055e('0x37')](_0x15e442[_0x055e('0x2e')]['sort']);_0x132752['where']=qs[_0x055e('0x30')](_[_0x055e('0x39')](_0x15e442['query'],_0x221550[_0x055e('0x30')]));if(_0x15e442[_0x055e('0x2e')][_0x055e('0x3a')]){_0x132752[_0x055e('0x38')]=_['merge'](_0x132752[_0x055e('0x38')],{'$or':_[_0x055e('0x2d')](_0x132752[_0x055e('0x32')],function(_0x1ec58d){var _0x41fa58={};_0x41fa58[_0x1ec58d]={'$like':'%'+_0x15e442[_0x055e('0x2e')][_0x055e('0x3a')]+'%'};return _0x41fa58;})});}_0x132752=_[_0x055e('0x3b')]({},_0x132752,_0x15e442['options']);return _0x3e6329[_0x055e('0x4b')](_0x132752);}})[_0x055e('0x22')](function(_0x5bd8f0){if(_0x5bd8f0){_0x5dae63=_0x5bd8f0[_0x055e('0x33')];if(!_0x15e442[_0x055e('0x2e')][_0x055e('0x34')](_0x055e('0x35'))){_0x132752['limit']=qs[_0x055e('0x1b')](_0x15e442[_0x055e('0x2e')][_0x055e('0x1b')]);_0x132752['offset']=qs[_0x055e('0x1d')](_0x15e442[_0x055e('0x2e')][_0x055e('0x1d')]);}return _0x3e6329[_0x055e('0x4b')](_0x132752);}})[_0x055e('0x22')](function(_0x584e60){if(_0x584e60){return _0x584e60?{'count':_0x5dae63,'rows':_0x584e60}:null;}})[_0x055e('0x22')](respondWithResult(_0x12f449,null))[_0x055e('0x44')](handleError(_0x12f449,null));};exports[_0x055e('0x4c')]=function(_0x2934bf,_0xf41173,_0x5df41e){var _0x43f475={};var _0x34c805={};var _0x107b88;var _0x4d65e3;return db[_0x055e('0x27')][_0x055e('0x49')]({'where':{'id':_0x2934bf[_0x055e('0x47')]['id']}})[_0x055e('0x22')](handleEntityNotFound(_0xf41173,null))[_0x055e('0x22')](function(_0x553e16){if(_0x553e16){_0x107b88=_0x553e16;_0x34c805[_0x055e('0x2c')]=_['keys'](db[_0x055e('0x4a')][_0x055e('0x28')]);_0x34c805['query']=_[_0x055e('0x2f')](_0x2934bf[_0x055e('0x2e')]);_0x34c805[_0x055e('0x30')]=_[_0x055e('0x31')](_0x34c805['model'],_0x34c805['query']);_0x43f475[_0x055e('0x32')]=_['intersection'](_0x34c805[_0x055e('0x2c')],qs[_0x055e('0x41')](_0x2934bf[_0x055e('0x2e')][_0x055e('0x41')]));_0x43f475[_0x055e('0x32')]=_0x43f475[_0x055e('0x32')][_0x055e('0x33')]?_0x43f475[_0x055e('0x32')]:_0x34c805[_0x055e('0x2c')];_0x43f475[_0x055e('0x36')]=qs['sort'](_0x2934bf['query'][_0x055e('0x37')]);_0x43f475[_0x055e('0x38')]=qs['filters'](_[_0x055e('0x39')](_0x2934bf['query'],_0x34c805[_0x055e('0x30')]));if(_0x2934bf[_0x055e('0x2e')][_0x055e('0x3a')]){_0x43f475[_0x055e('0x38')]=_[_0x055e('0x3b')](_0x43f475[_0x055e('0x38')],{'$or':_[_0x055e('0x2d')](_0x43f475[_0x055e('0x32')],function(_0x4dfdb0){var _0x144fa1={};_0x144fa1[_0x4dfdb0]={'$like':'%'+_0x2934bf[_0x055e('0x2e')][_0x055e('0x3a')]+'%'};return _0x144fa1;})});}_0x43f475=_[_0x055e('0x3b')]({},_0x43f475,_0x2934bf[_0x055e('0x3d')]);return _0x107b88[_0x055e('0x4c')](_0x43f475);}})[_0x055e('0x22')](function(_0x406bef){if(_0x406bef){_0x4d65e3=_0x406bef[_0x055e('0x33')];if(!_0x2934bf['query'][_0x055e('0x34')](_0x055e('0x35'))){_0x43f475['limit']=qs[_0x055e('0x1b')](_0x2934bf[_0x055e('0x2e')][_0x055e('0x1b')]);_0x43f475[_0x055e('0x1d')]=qs['offset'](_0x2934bf[_0x055e('0x2e')][_0x055e('0x1d')]);}return _0x107b88[_0x055e('0x4c')](_0x43f475);}})[_0x055e('0x22')](function(_0x23aa2b){if(_0x23aa2b){return _0x23aa2b?{'count':_0x4d65e3,'rows':_0x23aa2b}:null;}})['then'](respondWithResult(_0xf41173,null))[_0x055e('0x44')](handleError(_0xf41173,null));};exports[_0x055e('0x4d')]=function(_0x99ef23,_0xe21a0e,_0x51c538){var _0xb8d1b7={};var _0x3101e3={};var _0x2e7b2e;var _0x8e92b4;return db[_0x055e('0x27')]['findOne']({'where':{'id':_0x99ef23[_0x055e('0x47')]['id']}})[_0x055e('0x22')](handleEntityNotFound(_0xe21a0e,null))[_0x055e('0x22')](function(_0x1f3ba4){if(_0x1f3ba4){_0x2e7b2e=_0x1f3ba4;_0x3101e3['model']=_[_0x055e('0x2f')](db[_0x055e('0x4a')][_0x055e('0x28')]);_0x3101e3[_0x055e('0x2e')]=_['keys'](_0x99ef23[_0x055e('0x2e')]);_0x3101e3[_0x055e('0x30')]=_[_0x055e('0x31')](_0x3101e3[_0x055e('0x2c')],_0x3101e3[_0x055e('0x2e')]);_0xb8d1b7['attributes']=_[_0x055e('0x31')](_0x3101e3[_0x055e('0x2c')],qs[_0x055e('0x41')](_0x99ef23['query']['fields']));_0xb8d1b7[_0x055e('0x32')]=_0xb8d1b7['attributes'][_0x055e('0x33')]?_0xb8d1b7[_0x055e('0x32')]:_0x3101e3['model'];_0xb8d1b7[_0x055e('0x36')]=qs[_0x055e('0x37')](_0x99ef23[_0x055e('0x2e')][_0x055e('0x37')]);_0xb8d1b7[_0x055e('0x38')]=qs[_0x055e('0x30')](_[_0x055e('0x39')](_0x99ef23[_0x055e('0x2e')],_0x3101e3[_0x055e('0x30')]));if(_0x99ef23[_0x055e('0x2e')][_0x055e('0x3a')]){_0xb8d1b7[_0x055e('0x38')]=_[_0x055e('0x3b')](_0xb8d1b7[_0x055e('0x38')],{'$or':_[_0x055e('0x2d')](_0xb8d1b7[_0x055e('0x32')],function(_0x5d0ca3){var _0x27e80f={};_0x27e80f[_0x5d0ca3]={'$like':'%'+_0x99ef23['query']['filter']+'%'};return _0x27e80f;})});}_0xb8d1b7=_[_0x055e('0x3b')]({},_0xb8d1b7,_0x99ef23[_0x055e('0x3d')]);return _0x2e7b2e[_0x055e('0x4d')](_0xb8d1b7);}})['then'](function(_0x460fd1){if(_0x460fd1){_0x8e92b4=_0x460fd1[_0x055e('0x33')];if(!_0x99ef23['query'][_0x055e('0x34')](_0x055e('0x35'))){_0xb8d1b7['limit']=qs[_0x055e('0x1b')](_0x99ef23['query'][_0x055e('0x1b')]);_0xb8d1b7[_0x055e('0x1d')]=qs[_0x055e('0x1d')](_0x99ef23[_0x055e('0x2e')]['offset']);}return _0x2e7b2e['getDescriptions'](_0xb8d1b7);}})['then'](function(_0x2f4324){if(_0x2f4324){return _0x2f4324?{'count':_0x8e92b4,'rows':_0x2f4324}:null;}})['then'](respondWithResult(_0xe21a0e,null))['catch'](handleError(_0xe21a0e,null));};