Built motion from commit da617fac.|2.6.6
[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 _0xb2be=['sort','where','pick','filters','filter','merge','VIRTUAL','count','rows','catch','show','params','length','includeAll','include','options','find','create','destroy','getFields','findOne','VtigerField','getSubjects','getDescriptions','eml-format','zip-dir','fast-json-patch','bluebird','path','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','json','offset','limit','undefined','set','apply','reject','save','update','then','end','error','stack','name','index','VtigerConfiguration','rawAttributes','type','model','map','query','keys','intersection','attributes','fields','hasOwnProperty','nolimit','order'];(function(_0x1ae5ab,_0xc5d441){var _0x1ce001=function(_0x5ef96d){while(--_0x5ef96d){_0x1ae5ab['push'](_0x1ae5ab['shift']());}};_0x1ce001(++_0xc5d441);}(_0xb2be,0xb2));var _0xeb2b=function(_0x5418ad,_0x40742f){_0x5418ad=_0x5418ad-0x0;var _0x2cae56=_0xb2be[_0x5418ad];return _0x2cae56;};'use strict';var emlformat=require(_0xeb2b('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xeb2b('0x1'));var jsonpatch=require(_0xeb2b('0x2'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0xeb2b('0x3'));var Mustache=require('mustache');var util=require('util');var path=require(_0xeb2b('0x4'));var sox=require(_0xeb2b('0x5'));var csv=require(_0xeb2b('0x6'));var ejs=require(_0xeb2b('0x7'));var fs=require('fs');var fs_extra=require(_0xeb2b('0x8'));var _=require(_0xeb2b('0x9'));var squel=require('squel');var crypto=require(_0xeb2b('0xa'));var jsforce=require(_0xeb2b('0xb'));var deskjs=require('desk.js');var toCsv=require(_0xeb2b('0x6'));var querystring=require(_0xeb2b('0xc'));var Papa=require(_0xeb2b('0xd'));var Redis=require(_0xeb2b('0xe'));var authService=require(_0xeb2b('0xf'));var qs=require('../../components/parsers/qs');var as=require(_0xeb2b('0x10'));var hardwareService=require(_0xeb2b('0x11'));var logger=require(_0xeb2b('0x12'))(_0xeb2b('0x13'));var utils=require(_0xeb2b('0x14'));var config=require(_0xeb2b('0x15'));var licenseUtil=require(_0xeb2b('0x16'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x5c7bf6,_0xc22752){_0xc22752=_0xc22752||0xcc;return function(_0x4490fd){if(_0x4490fd){return _0x5c7bf6[_0xeb2b('0x17')](_0xc22752);}return _0x5c7bf6['status'](_0xc22752)['end']();};}function respondWithResult(_0xc943b4,_0x21fbe9){_0x21fbe9=_0x21fbe9||0xc8;return function(_0x4bc4ea){if(_0x4bc4ea){return _0xc943b4[_0xeb2b('0x18')](_0x21fbe9)[_0xeb2b('0x19')](_0x4bc4ea);}};}function respondWithFilteredResult(_0xe4a36d,_0x121641){return function(_0x20b9e9){if(_0x20b9e9){var _0x3e2ea1=typeof _0x121641[_0xeb2b('0x1a')]==='undefined'&&typeof _0x121641[_0xeb2b('0x1b')]===_0xeb2b('0x1c');var _0x4e2a26=_0x20b9e9['count'];var _0x8b7abd=_0x3e2ea1?0x0:_0x121641[_0xeb2b('0x1a')];var _0x19e47f=_0x3e2ea1?_0x20b9e9['count']:_0x121641[_0xeb2b('0x1a')]+_0x121641[_0xeb2b('0x1b')];var _0x2523ea;if(_0x19e47f>=_0x4e2a26){_0x19e47f=_0x4e2a26;_0x2523ea=0xc8;}else{_0x2523ea=0xce;}_0xe4a36d[_0xeb2b('0x18')](_0x2523ea);return _0xe4a36d[_0xeb2b('0x1d')]('Content-Range',_0x8b7abd+'-'+_0x19e47f+'/'+_0x4e2a26)['json'](_0x20b9e9);}return null;};}function patchUpdates(_0x122148){return function(_0x6dbdb4){try{jsonpatch[_0xeb2b('0x1e')](_0x6dbdb4,_0x122148,!![]);}catch(_0x5b8c70){return BPromise[_0xeb2b('0x1f')](_0x5b8c70);}return _0x6dbdb4[_0xeb2b('0x20')]();};}function saveUpdates(_0x4d0851,_0x55aa9c){return function(_0x2309d9){if(_0x2309d9){return _0x2309d9[_0xeb2b('0x21')](_0x4d0851)[_0xeb2b('0x22')](function(_0x2099f3){return _0x2099f3;});}return null;};}function removeEntity(_0x413a77,_0x5c95de){return function(_0x3e76ed){if(_0x3e76ed){return _0x3e76ed['destroy']()[_0xeb2b('0x22')](function(){_0x413a77[_0xeb2b('0x18')](0xcc)[_0xeb2b('0x23')]();});}};}function handleEntityNotFound(_0x44f273,_0x4ade1d){return function(_0x1b203c){if(!_0x1b203c){_0x44f273[_0xeb2b('0x17')](0x194);}return _0x1b203c;};}function handleError(_0x5c60e4,_0x5542d2){_0x5542d2=_0x5542d2||0x1f4;return function(_0x2f898e){logger[_0xeb2b('0x24')](_0x2f898e[_0xeb2b('0x25')]);if(_0x2f898e[_0xeb2b('0x26')]){delete _0x2f898e[_0xeb2b('0x26')];}_0x5c60e4[_0xeb2b('0x18')](_0x5542d2)['send'](_0x2f898e);};}exports[_0xeb2b('0x27')]=function(_0x1401f4,_0xe6fb7f){var _0x1ea5c7={},_0x15f002={},_0x16cd11={'count':0x0,'rows':[]};var _0x233011=_['map'](db[_0xeb2b('0x28')][_0xeb2b('0x29')],function(_0xec442e){return{'name':_0xec442e['fieldName'],'type':_0xec442e[_0xeb2b('0x2a')]['key']};});_0x15f002[_0xeb2b('0x2b')]=_[_0xeb2b('0x2c')](_0x233011,'name');_0x15f002[_0xeb2b('0x2d')]=_[_0xeb2b('0x2e')](_0x1401f4[_0xeb2b('0x2d')]);_0x15f002['filters']=_[_0xeb2b('0x2f')](_0x15f002[_0xeb2b('0x2b')],_0x15f002[_0xeb2b('0x2d')]);_0x1ea5c7[_0xeb2b('0x30')]=_[_0xeb2b('0x2f')](_0x15f002[_0xeb2b('0x2b')],qs[_0xeb2b('0x31')](_0x1401f4[_0xeb2b('0x2d')][_0xeb2b('0x31')]));_0x1ea5c7[_0xeb2b('0x30')]=_0x1ea5c7[_0xeb2b('0x30')]['length']?_0x1ea5c7['attributes']:_0x15f002[_0xeb2b('0x2b')];if(!_0x1401f4[_0xeb2b('0x2d')][_0xeb2b('0x32')](_0xeb2b('0x33'))){_0x1ea5c7['limit']=qs[_0xeb2b('0x1b')](_0x1401f4[_0xeb2b('0x2d')][_0xeb2b('0x1b')]);_0x1ea5c7['offset']=qs[_0xeb2b('0x1a')](_0x1401f4[_0xeb2b('0x2d')][_0xeb2b('0x1a')]);}_0x1ea5c7[_0xeb2b('0x34')]=qs[_0xeb2b('0x35')](_0x1401f4[_0xeb2b('0x2d')][_0xeb2b('0x35')]);_0x1ea5c7[_0xeb2b('0x36')]=qs['filters'](_[_0xeb2b('0x37')](_0x1401f4[_0xeb2b('0x2d')],_0x15f002[_0xeb2b('0x38')]),_0x233011);if(_0x1401f4[_0xeb2b('0x2d')][_0xeb2b('0x39')]){_0x1ea5c7[_0xeb2b('0x36')]=_[_0xeb2b('0x3a')](_0x1ea5c7['where'],{'$or':_[_0xeb2b('0x2c')](_0x233011,function(_0x2a3466){if(_0x2a3466[_0xeb2b('0x2a')]!==_0xeb2b('0x3b')){var _0x4ac3d2={};_0x4ac3d2[_0x2a3466[_0xeb2b('0x26')]]={'$like':'%'+_0x1401f4[_0xeb2b('0x2d')][_0xeb2b('0x39')]+'%'};return _0x4ac3d2;}})});}_0x1ea5c7=_[_0xeb2b('0x3a')]({},_0x1ea5c7,_0x1401f4['options']);var _0x1de67c={'where':_0x1ea5c7[_0xeb2b('0x36')]};return db['VtigerConfiguration'][_0xeb2b('0x3c')](_0x1de67c)['then'](function(_0x3012de){_0x16cd11[_0xeb2b('0x3c')]=_0x3012de;if(_0x1401f4[_0xeb2b('0x2d')]['includeAll']){_0x1ea5c7['include']=[{'all':!![]}];}return db[_0xeb2b('0x28')]['findAll'](_0x1ea5c7);})[_0xeb2b('0x22')](function(_0x31f8cb){_0x16cd11[_0xeb2b('0x3d')]=_0x31f8cb;return _0x16cd11;})[_0xeb2b('0x22')](respondWithFilteredResult(_0xe6fb7f,_0x1ea5c7))[_0xeb2b('0x3e')](handleError(_0xe6fb7f,null));};exports[_0xeb2b('0x3f')]=function(_0xee6223,_0x554623){var _0x61257={'raw':![],'where':{'id':_0xee6223[_0xeb2b('0x40')]['id']}},_0x310af8={};_0x310af8[_0xeb2b('0x2b')]=_[_0xeb2b('0x2e')](db['VtigerConfiguration'][_0xeb2b('0x29')]);_0x310af8[_0xeb2b('0x2d')]=_['keys'](_0xee6223['query']);_0x310af8['filters']=_[_0xeb2b('0x2f')](_0x310af8[_0xeb2b('0x2b')],_0x310af8[_0xeb2b('0x2d')]);_0x61257[_0xeb2b('0x30')]=_['intersection'](_0x310af8['model'],qs[_0xeb2b('0x31')](_0xee6223[_0xeb2b('0x2d')][_0xeb2b('0x31')]));_0x61257[_0xeb2b('0x30')]=_0x61257['attributes'][_0xeb2b('0x41')]?_0x61257['attributes']:_0x310af8[_0xeb2b('0x2b')];if(_0xee6223[_0xeb2b('0x2d')][_0xeb2b('0x42')]){_0x61257[_0xeb2b('0x43')]=[{'all':!![]}];}_0x61257=_[_0xeb2b('0x3a')]({},_0x61257,_0xee6223[_0xeb2b('0x44')]);return db[_0xeb2b('0x28')][_0xeb2b('0x45')](_0x61257)['then'](handleEntityNotFound(_0x554623,null))['then'](respondWithResult(_0x554623,null))[_0xeb2b('0x3e')](handleError(_0x554623,null));};exports[_0xeb2b('0x46')]=function(_0x1ce200,_0x5ba9ab){return db[_0xeb2b('0x28')]['create'](_0x1ce200['body'],{})[_0xeb2b('0x22')](respondWithResult(_0x5ba9ab,0xc9))[_0xeb2b('0x3e')](handleError(_0x5ba9ab,null));};exports[_0xeb2b('0x21')]=function(_0x52bbe9,_0x48b0e0){if(_0x52bbe9['body']['id']){delete _0x52bbe9['body']['id'];}return db[_0xeb2b('0x28')][_0xeb2b('0x45')]({'where':{'id':_0x52bbe9['params']['id']}})[_0xeb2b('0x22')](handleEntityNotFound(_0x48b0e0,null))[_0xeb2b('0x22')](saveUpdates(_0x52bbe9['body'],null))[_0xeb2b('0x22')](respondWithResult(_0x48b0e0,null))[_0xeb2b('0x3e')](handleError(_0x48b0e0,null));};exports[_0xeb2b('0x47')]=function(_0x2473fe,_0x1485f8){return db[_0xeb2b('0x28')][_0xeb2b('0x45')]({'where':{'id':_0x2473fe[_0xeb2b('0x40')]['id']}})[_0xeb2b('0x22')](handleEntityNotFound(_0x1485f8,null))[_0xeb2b('0x22')](removeEntity(_0x1485f8,null))['catch'](handleError(_0x1485f8,null));};exports[_0xeb2b('0x48')]=function(_0xee04d1,_0x1bbcdb,_0x88fece){var _0x519808={};var _0x441eee={};var _0x4c4720;var _0x2a102b;return db[_0xeb2b('0x28')][_0xeb2b('0x49')]({'where':{'id':_0xee04d1[_0xeb2b('0x40')]['id']}})[_0xeb2b('0x22')](handleEntityNotFound(_0x1bbcdb,null))[_0xeb2b('0x22')](function(_0x27d08c){if(_0x27d08c){_0x4c4720=_0x27d08c;_0x441eee[_0xeb2b('0x2b')]=_['keys'](db['VtigerField'][_0xeb2b('0x29')]);_0x441eee[_0xeb2b('0x2d')]=_[_0xeb2b('0x2e')](_0xee04d1['query']);_0x441eee['filters']=_[_0xeb2b('0x2f')](_0x441eee[_0xeb2b('0x2b')],_0x441eee[_0xeb2b('0x2d')]);_0x519808[_0xeb2b('0x30')]=_[_0xeb2b('0x2f')](_0x441eee['model'],qs[_0xeb2b('0x31')](_0xee04d1['query'][_0xeb2b('0x31')]));_0x519808[_0xeb2b('0x30')]=_0x519808[_0xeb2b('0x30')][_0xeb2b('0x41')]?_0x519808[_0xeb2b('0x30')]:_0x441eee[_0xeb2b('0x2b')];_0x519808[_0xeb2b('0x34')]=qs[_0xeb2b('0x35')](_0xee04d1[_0xeb2b('0x2d')][_0xeb2b('0x35')]);_0x519808[_0xeb2b('0x36')]=qs[_0xeb2b('0x38')](_[_0xeb2b('0x37')](_0xee04d1[_0xeb2b('0x2d')],_0x441eee[_0xeb2b('0x38')]));if(_0xee04d1[_0xeb2b('0x2d')][_0xeb2b('0x39')]){_0x519808['where']=_['merge'](_0x519808['where'],{'$or':_['map'](_0x519808[_0xeb2b('0x30')],function(_0x31dea4){var _0xde935e={};_0xde935e[_0x31dea4]={'$like':'%'+_0xee04d1['query'][_0xeb2b('0x39')]+'%'};return _0xde935e;})});}_0x519808=_['merge']({},_0x519808,_0xee04d1[_0xeb2b('0x44')]);return _0x4c4720[_0xeb2b('0x48')](_0x519808);}})[_0xeb2b('0x22')](function(_0x1fbc7f){if(_0x1fbc7f){_0x2a102b=_0x1fbc7f[_0xeb2b('0x41')];if(!_0xee04d1['query']['hasOwnProperty'](_0xeb2b('0x33'))){_0x519808[_0xeb2b('0x1b')]=qs['limit'](_0xee04d1[_0xeb2b('0x2d')][_0xeb2b('0x1b')]);_0x519808[_0xeb2b('0x1a')]=qs[_0xeb2b('0x1a')](_0xee04d1[_0xeb2b('0x2d')][_0xeb2b('0x1a')]);}return _0x4c4720[_0xeb2b('0x48')](_0x519808);}})[_0xeb2b('0x22')](function(_0x4e5253){if(_0x4e5253){return _0x4e5253?{'count':_0x2a102b,'rows':_0x4e5253}:null;}})[_0xeb2b('0x22')](respondWithResult(_0x1bbcdb,null))[_0xeb2b('0x3e')](handleError(_0x1bbcdb,null));};exports['getSubjects']=function(_0x30671c,_0x9aa498,_0x2e0197){var _0x32c598={};var _0x5386b2={};var _0x6b42a2;var _0x36807d;return db[_0xeb2b('0x28')][_0xeb2b('0x49')]({'where':{'id':_0x30671c[_0xeb2b('0x40')]['id']}})[_0xeb2b('0x22')](handleEntityNotFound(_0x9aa498,null))[_0xeb2b('0x22')](function(_0x3f161d){if(_0x3f161d){_0x6b42a2=_0x3f161d;_0x5386b2[_0xeb2b('0x2b')]=_['keys'](db[_0xeb2b('0x4a')]['rawAttributes']);_0x5386b2['query']=_['keys'](_0x30671c[_0xeb2b('0x2d')]);_0x5386b2[_0xeb2b('0x38')]=_[_0xeb2b('0x2f')](_0x5386b2['model'],_0x5386b2[_0xeb2b('0x2d')]);_0x32c598[_0xeb2b('0x30')]=_[_0xeb2b('0x2f')](_0x5386b2[_0xeb2b('0x2b')],qs[_0xeb2b('0x31')](_0x30671c['query'][_0xeb2b('0x31')]));_0x32c598['attributes']=_0x32c598[_0xeb2b('0x30')][_0xeb2b('0x41')]?_0x32c598['attributes']:_0x5386b2[_0xeb2b('0x2b')];_0x32c598[_0xeb2b('0x34')]=qs[_0xeb2b('0x35')](_0x30671c[_0xeb2b('0x2d')]['sort']);_0x32c598['where']=qs[_0xeb2b('0x38')](_[_0xeb2b('0x37')](_0x30671c[_0xeb2b('0x2d')],_0x5386b2[_0xeb2b('0x38')]));if(_0x30671c[_0xeb2b('0x2d')]['filter']){_0x32c598[_0xeb2b('0x36')]=_[_0xeb2b('0x3a')](_0x32c598['where'],{'$or':_[_0xeb2b('0x2c')](_0x32c598[_0xeb2b('0x30')],function(_0x4924f6){var _0x48389b={};_0x48389b[_0x4924f6]={'$like':'%'+_0x30671c[_0xeb2b('0x2d')][_0xeb2b('0x39')]+'%'};return _0x48389b;})});}_0x32c598=_[_0xeb2b('0x3a')]({},_0x32c598,_0x30671c['options']);return _0x6b42a2[_0xeb2b('0x4b')](_0x32c598);}})[_0xeb2b('0x22')](function(_0x3ce276){if(_0x3ce276){_0x36807d=_0x3ce276[_0xeb2b('0x41')];if(!_0x30671c['query']['hasOwnProperty']('nolimit')){_0x32c598[_0xeb2b('0x1b')]=qs['limit'](_0x30671c[_0xeb2b('0x2d')][_0xeb2b('0x1b')]);_0x32c598[_0xeb2b('0x1a')]=qs[_0xeb2b('0x1a')](_0x30671c[_0xeb2b('0x2d')]['offset']);}return _0x6b42a2[_0xeb2b('0x4b')](_0x32c598);}})[_0xeb2b('0x22')](function(_0x21a6a3){if(_0x21a6a3){return _0x21a6a3?{'count':_0x36807d,'rows':_0x21a6a3}:null;}})['then'](respondWithResult(_0x9aa498,null))[_0xeb2b('0x3e')](handleError(_0x9aa498,null));};exports[_0xeb2b('0x4c')]=function(_0x5b30a1,_0x5ec338,_0x32a595){var _0x2e335e={};var _0x20c396={};var _0x266a26;var _0x3a6f5d;return db['VtigerConfiguration'][_0xeb2b('0x49')]({'where':{'id':_0x5b30a1[_0xeb2b('0x40')]['id']}})[_0xeb2b('0x22')](handleEntityNotFound(_0x5ec338,null))[_0xeb2b('0x22')](function(_0x10da8c){if(_0x10da8c){_0x266a26=_0x10da8c;_0x20c396[_0xeb2b('0x2b')]=_['keys'](db[_0xeb2b('0x4a')]['rawAttributes']);_0x20c396[_0xeb2b('0x2d')]=_[_0xeb2b('0x2e')](_0x5b30a1['query']);_0x20c396[_0xeb2b('0x38')]=_[_0xeb2b('0x2f')](_0x20c396[_0xeb2b('0x2b')],_0x20c396[_0xeb2b('0x2d')]);_0x2e335e[_0xeb2b('0x30')]=_[_0xeb2b('0x2f')](_0x20c396['model'],qs[_0xeb2b('0x31')](_0x5b30a1[_0xeb2b('0x2d')]['fields']));_0x2e335e[_0xeb2b('0x30')]=_0x2e335e[_0xeb2b('0x30')][_0xeb2b('0x41')]?_0x2e335e['attributes']:_0x20c396[_0xeb2b('0x2b')];_0x2e335e['order']=qs['sort'](_0x5b30a1[_0xeb2b('0x2d')][_0xeb2b('0x35')]);_0x2e335e[_0xeb2b('0x36')]=qs[_0xeb2b('0x38')](_['pick'](_0x5b30a1['query'],_0x20c396[_0xeb2b('0x38')]));if(_0x5b30a1['query'][_0xeb2b('0x39')]){_0x2e335e['where']=_[_0xeb2b('0x3a')](_0x2e335e[_0xeb2b('0x36')],{'$or':_['map'](_0x2e335e[_0xeb2b('0x30')],function(_0x468c59){var _0x363044={};_0x363044[_0x468c59]={'$like':'%'+_0x5b30a1[_0xeb2b('0x2d')]['filter']+'%'};return _0x363044;})});}_0x2e335e=_[_0xeb2b('0x3a')]({},_0x2e335e,_0x5b30a1[_0xeb2b('0x44')]);return _0x266a26[_0xeb2b('0x4c')](_0x2e335e);}})[_0xeb2b('0x22')](function(_0x4bb3aa){if(_0x4bb3aa){_0x3a6f5d=_0x4bb3aa[_0xeb2b('0x41')];if(!_0x5b30a1[_0xeb2b('0x2d')]['hasOwnProperty']('nolimit')){_0x2e335e[_0xeb2b('0x1b')]=qs['limit'](_0x5b30a1[_0xeb2b('0x2d')][_0xeb2b('0x1b')]);_0x2e335e[_0xeb2b('0x1a')]=qs[_0xeb2b('0x1a')](_0x5b30a1[_0xeb2b('0x2d')][_0xeb2b('0x1a')]);}return _0x266a26[_0xeb2b('0x4c')](_0x2e335e);}})['then'](function(_0x3a518a){if(_0x3a518a){return _0x3a518a?{'count':_0x3a6f5d,'rows':_0x3a518a}:null;}})[_0xeb2b('0x22')](respondWithResult(_0x5ec338,null))[_0xeb2b('0x3e')](handleError(_0x5ec338,null));};