bc038c519b5ac4d91d23c9864b908a39dbac4e8e
[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 _0x6eaf=['zip-dir','bluebird','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','offset','undefined','limit','count','set','Content-Range','json','apply','save','update','then','stack','name','index','map','fieldName','type','key','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','filter','where','merge','options','VtigerConfiguration','includeAll','include','params','keys','rawAttributes','find','create','body','catch','destroy','getFields','findOne','VtigerField','order','pick','getSubjects','getDescriptions','eml-format','rimraf'];(function(_0x156b05,_0x534472){var _0xa3565e=function(_0x1dc171){while(--_0x1dc171){_0x156b05['push'](_0x156b05['shift']());}};_0xa3565e(++_0x534472);}(_0x6eaf,0xe5));var _0xf6ea=function(_0x45b4ff,_0x36c077){_0x45b4ff=_0x45b4ff-0x0;var _0x2036b5=_0x6eaf[_0x45b4ff];return _0x2036b5;};'use strict';var emlformat=require(_0xf6ea('0x0'));var rimraf=require(_0xf6ea('0x1'));var zipdir=require(_0xf6ea('0x2'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0xf6ea('0x3'));var Mustache=require('mustache');var util=require(_0xf6ea('0x4'));var path=require(_0xf6ea('0x5'));var sox=require(_0xf6ea('0x6'));var csv=require(_0xf6ea('0x7'));var ejs=require(_0xf6ea('0x8'));var fs=require('fs');var fs_extra=require(_0xf6ea('0x9'));var _=require(_0xf6ea('0xa'));var squel=require(_0xf6ea('0xb'));var crypto=require(_0xf6ea('0xc'));var jsforce=require(_0xf6ea('0xd'));var deskjs=require(_0xf6ea('0xe'));var toCsv=require(_0xf6ea('0x7'));var querystring=require(_0xf6ea('0xf'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0xf6ea('0x10'));var qs=require(_0xf6ea('0x11'));var as=require(_0xf6ea('0x12'));var hardwareService=require(_0xf6ea('0x13'));var logger=require(_0xf6ea('0x14'))(_0xf6ea('0x15'));var utils=require(_0xf6ea('0x16'));var config=require('../../config/environment');var licenseUtil=require(_0xf6ea('0x17'));var db=require(_0xf6ea('0x18'))['db'];function respondWithStatusCode(_0x123067,_0x5a2506){_0x5a2506=_0x5a2506||0xcc;return function(_0x290192){if(_0x290192){return _0x123067[_0xf6ea('0x19')](_0x5a2506);}return _0x123067['status'](_0x5a2506)['end']();};}function respondWithResult(_0x542b21,_0x3ab176){_0x3ab176=_0x3ab176||0xc8;return function(_0x106803){if(_0x106803){return _0x542b21[_0xf6ea('0x1a')](_0x3ab176)['json'](_0x106803);}};}function respondWithFilteredResult(_0x33d723,_0x320b4c){return function(_0x5beeec){if(_0x5beeec){var _0x2a2101=typeof _0x320b4c[_0xf6ea('0x1b')]===_0xf6ea('0x1c')&&typeof _0x320b4c[_0xf6ea('0x1d')]===_0xf6ea('0x1c');var _0x18ea67=_0x5beeec[_0xf6ea('0x1e')];var _0x20bafc=_0x2a2101?0x0:_0x320b4c[_0xf6ea('0x1b')];var _0x14a947=_0x2a2101?_0x5beeec['count']:_0x320b4c[_0xf6ea('0x1b')]+_0x320b4c['limit'];var _0x383c12;if(_0x14a947>=_0x18ea67){_0x14a947=_0x18ea67;_0x383c12=0xc8;}else{_0x383c12=0xce;}_0x33d723[_0xf6ea('0x1a')](_0x383c12);return _0x33d723[_0xf6ea('0x1f')](_0xf6ea('0x20'),_0x20bafc+'-'+_0x14a947+'/'+_0x18ea67)[_0xf6ea('0x21')](_0x5beeec);}return null;};}function patchUpdates(_0x4e65d1){return function(_0x628d05){try{jsonpatch[_0xf6ea('0x22')](_0x628d05,_0x4e65d1,!![]);}catch(_0x22296c){return BPromise['reject'](_0x22296c);}return _0x628d05[_0xf6ea('0x23')]();};}function saveUpdates(_0x4087c7,_0x325c1d){return function(_0x43f27d){if(_0x43f27d){return _0x43f27d[_0xf6ea('0x24')](_0x4087c7)[_0xf6ea('0x25')](function(_0x44875b){return _0x44875b;});}return null;};}function removeEntity(_0x55a79a,_0x435563){return function(_0x289380){if(_0x289380){return _0x289380['destroy']()[_0xf6ea('0x25')](function(){_0x55a79a[_0xf6ea('0x1a')](0xcc)['end']();});}};}function handleEntityNotFound(_0x50c9ce,_0x4c56a){return function(_0x541514){if(!_0x541514){_0x50c9ce[_0xf6ea('0x19')](0x194);}return _0x541514;};}function handleError(_0x1fd21a,_0x3c59db){_0x3c59db=_0x3c59db||0x1f4;return function(_0xa058fd){logger['error'](_0xa058fd[_0xf6ea('0x26')]);if(_0xa058fd[_0xf6ea('0x27')]){delete _0xa058fd[_0xf6ea('0x27')];}_0x1fd21a[_0xf6ea('0x1a')](_0x3c59db)['send'](_0xa058fd);};}exports[_0xf6ea('0x28')]=function(_0x681c95,_0x287059){var _0x402f79={},_0x3124ed={},_0xebd4ea={'count':0x0,'rows':[]};var _0x1d23ad=_[_0xf6ea('0x29')](db['VtigerConfiguration']['rawAttributes'],function(_0x17840d){return{'name':_0x17840d[_0xf6ea('0x2a')],'type':_0x17840d[_0xf6ea('0x2b')][_0xf6ea('0x2c')]};});_0x3124ed[_0xf6ea('0x2d')]=_[_0xf6ea('0x29')](_0x1d23ad,_0xf6ea('0x27'));_0x3124ed[_0xf6ea('0x2e')]=_['keys'](_0x681c95[_0xf6ea('0x2e')]);_0x3124ed[_0xf6ea('0x2f')]=_[_0xf6ea('0x30')](_0x3124ed[_0xf6ea('0x2d')],_0x3124ed[_0xf6ea('0x2e')]);_0x402f79[_0xf6ea('0x31')]=_['intersection'](_0x3124ed['model'],qs[_0xf6ea('0x32')](_0x681c95[_0xf6ea('0x2e')][_0xf6ea('0x32')]));_0x402f79[_0xf6ea('0x31')]=_0x402f79[_0xf6ea('0x31')][_0xf6ea('0x33')]?_0x402f79[_0xf6ea('0x31')]:_0x3124ed[_0xf6ea('0x2d')];if(!_0x681c95[_0xf6ea('0x2e')][_0xf6ea('0x34')](_0xf6ea('0x35'))){_0x402f79[_0xf6ea('0x1d')]=qs[_0xf6ea('0x1d')](_0x681c95[_0xf6ea('0x2e')][_0xf6ea('0x1d')]);_0x402f79[_0xf6ea('0x1b')]=qs['offset'](_0x681c95['query'][_0xf6ea('0x1b')]);}_0x402f79['order']=qs[_0xf6ea('0x36')](_0x681c95[_0xf6ea('0x2e')]['sort']);_0x402f79['where']=qs[_0xf6ea('0x2f')](_['pick'](_0x681c95['query'],_0x3124ed[_0xf6ea('0x2f')]),_0x1d23ad);if(_0x681c95[_0xf6ea('0x2e')][_0xf6ea('0x37')]){_0x402f79[_0xf6ea('0x38')]=_[_0xf6ea('0x39')](_0x402f79[_0xf6ea('0x38')],{'$or':_[_0xf6ea('0x29')](_0x1d23ad,function(_0x140d00){if(_0x140d00['type']!=='VIRTUAL'){var _0x244f06={};_0x244f06[_0x140d00['name']]={'$like':'%'+_0x681c95[_0xf6ea('0x2e')][_0xf6ea('0x37')]+'%'};return _0x244f06;}})});}_0x402f79=_['merge']({},_0x402f79,_0x681c95[_0xf6ea('0x3a')]);var _0x10f344={'where':_0x402f79['where']};return db[_0xf6ea('0x3b')]['count'](_0x10f344)[_0xf6ea('0x25')](function(_0x484ff3){_0xebd4ea[_0xf6ea('0x1e')]=_0x484ff3;if(_0x681c95[_0xf6ea('0x2e')][_0xf6ea('0x3c')]){_0x402f79[_0xf6ea('0x3d')]=[{'all':!![]}];}return db['VtigerConfiguration']['findAll'](_0x402f79);})['then'](function(_0x56bec8){_0xebd4ea['rows']=_0x56bec8;return _0xebd4ea;})[_0xf6ea('0x25')](respondWithFilteredResult(_0x287059,_0x402f79))['catch'](handleError(_0x287059,null));};exports['show']=function(_0x6c068d,_0x12eea8){var _0x581a48={'raw':![],'where':{'id':_0x6c068d[_0xf6ea('0x3e')]['id']}},_0x308c14={};_0x308c14[_0xf6ea('0x2d')]=_[_0xf6ea('0x3f')](db['VtigerConfiguration'][_0xf6ea('0x40')]);_0x308c14[_0xf6ea('0x2e')]=_[_0xf6ea('0x3f')](_0x6c068d[_0xf6ea('0x2e')]);_0x308c14[_0xf6ea('0x2f')]=_[_0xf6ea('0x30')](_0x308c14[_0xf6ea('0x2d')],_0x308c14[_0xf6ea('0x2e')]);_0x581a48[_0xf6ea('0x31')]=_['intersection'](_0x308c14[_0xf6ea('0x2d')],qs[_0xf6ea('0x32')](_0x6c068d[_0xf6ea('0x2e')][_0xf6ea('0x32')]));_0x581a48[_0xf6ea('0x31')]=_0x581a48[_0xf6ea('0x31')]['length']?_0x581a48['attributes']:_0x308c14[_0xf6ea('0x2d')];if(_0x6c068d['query'][_0xf6ea('0x3c')]){_0x581a48['include']=[{'all':!![]}];}_0x581a48=_[_0xf6ea('0x39')]({},_0x581a48,_0x6c068d[_0xf6ea('0x3a')]);return db[_0xf6ea('0x3b')][_0xf6ea('0x41')](_0x581a48)[_0xf6ea('0x25')](handleEntityNotFound(_0x12eea8,null))[_0xf6ea('0x25')](respondWithResult(_0x12eea8,null))['catch'](handleError(_0x12eea8,null));};exports[_0xf6ea('0x42')]=function(_0x50d78b,_0xab15a){return db[_0xf6ea('0x3b')][_0xf6ea('0x42')](_0x50d78b[_0xf6ea('0x43')],{})[_0xf6ea('0x25')](respondWithResult(_0xab15a,0xc9))[_0xf6ea('0x44')](handleError(_0xab15a,null));};exports['update']=function(_0x1e183f,_0x3d2964){if(_0x1e183f[_0xf6ea('0x43')]['id']){delete _0x1e183f[_0xf6ea('0x43')]['id'];}return db[_0xf6ea('0x3b')][_0xf6ea('0x41')]({'where':{'id':_0x1e183f[_0xf6ea('0x3e')]['id']}})[_0xf6ea('0x25')](handleEntityNotFound(_0x3d2964,null))[_0xf6ea('0x25')](saveUpdates(_0x1e183f[_0xf6ea('0x43')],null))[_0xf6ea('0x25')](respondWithResult(_0x3d2964,null))['catch'](handleError(_0x3d2964,null));};exports[_0xf6ea('0x45')]=function(_0x5913d3,_0x463e70){return db[_0xf6ea('0x3b')][_0xf6ea('0x41')]({'where':{'id':_0x5913d3[_0xf6ea('0x3e')]['id']}})['then'](handleEntityNotFound(_0x463e70,null))[_0xf6ea('0x25')](removeEntity(_0x463e70,null))['catch'](handleError(_0x463e70,null));};exports[_0xf6ea('0x46')]=function(_0x5141b5,_0x38fea2,_0x2c07eb){var _0x4138d4={};var _0x17a19a={};var _0x17644f;var _0x3308b3;return db['VtigerConfiguration'][_0xf6ea('0x47')]({'where':{'id':_0x5141b5['params']['id']}})[_0xf6ea('0x25')](handleEntityNotFound(_0x38fea2,null))[_0xf6ea('0x25')](function(_0x14f64e){if(_0x14f64e){_0x17644f=_0x14f64e;_0x17a19a[_0xf6ea('0x2d')]=_[_0xf6ea('0x3f')](db[_0xf6ea('0x48')][_0xf6ea('0x40')]);_0x17a19a['query']=_[_0xf6ea('0x3f')](_0x5141b5[_0xf6ea('0x2e')]);_0x17a19a['filters']=_[_0xf6ea('0x30')](_0x17a19a[_0xf6ea('0x2d')],_0x17a19a[_0xf6ea('0x2e')]);_0x4138d4['attributes']=_['intersection'](_0x17a19a[_0xf6ea('0x2d')],qs['fields'](_0x5141b5[_0xf6ea('0x2e')][_0xf6ea('0x32')]));_0x4138d4['attributes']=_0x4138d4[_0xf6ea('0x31')][_0xf6ea('0x33')]?_0x4138d4[_0xf6ea('0x31')]:_0x17a19a['model'];_0x4138d4[_0xf6ea('0x49')]=qs[_0xf6ea('0x36')](_0x5141b5[_0xf6ea('0x2e')][_0xf6ea('0x36')]);_0x4138d4[_0xf6ea('0x38')]=qs['filters'](_[_0xf6ea('0x4a')](_0x5141b5['query'],_0x17a19a[_0xf6ea('0x2f')]));if(_0x5141b5[_0xf6ea('0x2e')][_0xf6ea('0x37')]){_0x4138d4[_0xf6ea('0x38')]=_[_0xf6ea('0x39')](_0x4138d4[_0xf6ea('0x38')],{'$or':_[_0xf6ea('0x29')](_0x4138d4['attributes'],function(_0x12ae5a){var _0x8683da={};_0x8683da[_0x12ae5a]={'$like':'%'+_0x5141b5[_0xf6ea('0x2e')]['filter']+'%'};return _0x8683da;})});}_0x4138d4=_['merge']({},_0x4138d4,_0x5141b5['options']);return _0x17644f[_0xf6ea('0x46')](_0x4138d4);}})[_0xf6ea('0x25')](function(_0x45e3f1){if(_0x45e3f1){_0x3308b3=_0x45e3f1[_0xf6ea('0x33')];if(!_0x5141b5['query'][_0xf6ea('0x34')](_0xf6ea('0x35'))){_0x4138d4[_0xf6ea('0x1d')]=qs[_0xf6ea('0x1d')](_0x5141b5[_0xf6ea('0x2e')]['limit']);_0x4138d4[_0xf6ea('0x1b')]=qs[_0xf6ea('0x1b')](_0x5141b5['query'][_0xf6ea('0x1b')]);}return _0x17644f[_0xf6ea('0x46')](_0x4138d4);}})['then'](function(_0x388643){if(_0x388643){return _0x388643?{'count':_0x3308b3,'rows':_0x388643}:null;}})[_0xf6ea('0x25')](respondWithResult(_0x38fea2,null))[_0xf6ea('0x44')](handleError(_0x38fea2,null));};exports[_0xf6ea('0x4b')]=function(_0x305b23,_0x2b4ac8,_0x29fb12){var _0x3afbc8={};var _0x53c8ca={};var _0x446ea0;var _0x136f2b;return db['VtigerConfiguration']['findOne']({'where':{'id':_0x305b23[_0xf6ea('0x3e')]['id']}})[_0xf6ea('0x25')](handleEntityNotFound(_0x2b4ac8,null))[_0xf6ea('0x25')](function(_0x8853d8){if(_0x8853d8){_0x446ea0=_0x8853d8;_0x53c8ca['model']=_[_0xf6ea('0x3f')](db[_0xf6ea('0x48')][_0xf6ea('0x40')]);_0x53c8ca['query']=_[_0xf6ea('0x3f')](_0x305b23['query']);_0x53c8ca['filters']=_['intersection'](_0x53c8ca['model'],_0x53c8ca[_0xf6ea('0x2e')]);_0x3afbc8['attributes']=_[_0xf6ea('0x30')](_0x53c8ca[_0xf6ea('0x2d')],qs[_0xf6ea('0x32')](_0x305b23[_0xf6ea('0x2e')][_0xf6ea('0x32')]));_0x3afbc8[_0xf6ea('0x31')]=_0x3afbc8[_0xf6ea('0x31')]['length']?_0x3afbc8[_0xf6ea('0x31')]:_0x53c8ca[_0xf6ea('0x2d')];_0x3afbc8[_0xf6ea('0x49')]=qs[_0xf6ea('0x36')](_0x305b23['query'][_0xf6ea('0x36')]);_0x3afbc8[_0xf6ea('0x38')]=qs['filters'](_[_0xf6ea('0x4a')](_0x305b23[_0xf6ea('0x2e')],_0x53c8ca[_0xf6ea('0x2f')]));if(_0x305b23[_0xf6ea('0x2e')]['filter']){_0x3afbc8['where']=_[_0xf6ea('0x39')](_0x3afbc8[_0xf6ea('0x38')],{'$or':_[_0xf6ea('0x29')](_0x3afbc8[_0xf6ea('0x31')],function(_0x3d5c58){var _0x19e833={};_0x19e833[_0x3d5c58]={'$like':'%'+_0x305b23[_0xf6ea('0x2e')][_0xf6ea('0x37')]+'%'};return _0x19e833;})});}_0x3afbc8=_[_0xf6ea('0x39')]({},_0x3afbc8,_0x305b23['options']);return _0x446ea0[_0xf6ea('0x4b')](_0x3afbc8);}})['then'](function(_0x1760a7){if(_0x1760a7){_0x136f2b=_0x1760a7[_0xf6ea('0x33')];if(!_0x305b23[_0xf6ea('0x2e')][_0xf6ea('0x34')](_0xf6ea('0x35'))){_0x3afbc8[_0xf6ea('0x1d')]=qs[_0xf6ea('0x1d')](_0x305b23[_0xf6ea('0x2e')][_0xf6ea('0x1d')]);_0x3afbc8[_0xf6ea('0x1b')]=qs[_0xf6ea('0x1b')](_0x305b23[_0xf6ea('0x2e')][_0xf6ea('0x1b')]);}return _0x446ea0[_0xf6ea('0x4b')](_0x3afbc8);}})['then'](function(_0x103683){if(_0x103683){return _0x103683?{'count':_0x136f2b,'rows':_0x103683}:null;}})[_0xf6ea('0x25')](respondWithResult(_0x2b4ac8,null))['catch'](handleError(_0x2b4ac8,null));};exports[_0xf6ea('0x4c')]=function(_0x5b1ce6,_0x45d494,_0x9902ae){var _0xc05429={};var _0x32ee01={};var _0x3fa292;var _0x370d64;return db[_0xf6ea('0x3b')][_0xf6ea('0x47')]({'where':{'id':_0x5b1ce6[_0xf6ea('0x3e')]['id']}})[_0xf6ea('0x25')](handleEntityNotFound(_0x45d494,null))[_0xf6ea('0x25')](function(_0x2ab4f5){if(_0x2ab4f5){_0x3fa292=_0x2ab4f5;_0x32ee01['model']=_['keys'](db[_0xf6ea('0x48')]['rawAttributes']);_0x32ee01[_0xf6ea('0x2e')]=_[_0xf6ea('0x3f')](_0x5b1ce6[_0xf6ea('0x2e')]);_0x32ee01['filters']=_[_0xf6ea('0x30')](_0x32ee01[_0xf6ea('0x2d')],_0x32ee01['query']);_0xc05429['attributes']=_[_0xf6ea('0x30')](_0x32ee01[_0xf6ea('0x2d')],qs[_0xf6ea('0x32')](_0x5b1ce6[_0xf6ea('0x2e')][_0xf6ea('0x32')]));_0xc05429['attributes']=_0xc05429[_0xf6ea('0x31')]['length']?_0xc05429[_0xf6ea('0x31')]:_0x32ee01[_0xf6ea('0x2d')];_0xc05429[_0xf6ea('0x49')]=qs[_0xf6ea('0x36')](_0x5b1ce6[_0xf6ea('0x2e')][_0xf6ea('0x36')]);_0xc05429[_0xf6ea('0x38')]=qs[_0xf6ea('0x2f')](_[_0xf6ea('0x4a')](_0x5b1ce6[_0xf6ea('0x2e')],_0x32ee01['filters']));if(_0x5b1ce6['query']['filter']){_0xc05429[_0xf6ea('0x38')]=_['merge'](_0xc05429[_0xf6ea('0x38')],{'$or':_[_0xf6ea('0x29')](_0xc05429[_0xf6ea('0x31')],function(_0x24ce7a){var _0x5f9eb6={};_0x5f9eb6[_0x24ce7a]={'$like':'%'+_0x5b1ce6[_0xf6ea('0x2e')]['filter']+'%'};return _0x5f9eb6;})});}_0xc05429=_[_0xf6ea('0x39')]({},_0xc05429,_0x5b1ce6[_0xf6ea('0x3a')]);return _0x3fa292[_0xf6ea('0x4c')](_0xc05429);}})['then'](function(_0xb47935){if(_0xb47935){_0x370d64=_0xb47935['length'];if(!_0x5b1ce6['query']['hasOwnProperty'](_0xf6ea('0x35'))){_0xc05429[_0xf6ea('0x1d')]=qs['limit'](_0x5b1ce6[_0xf6ea('0x2e')][_0xf6ea('0x1d')]);_0xc05429[_0xf6ea('0x1b')]=qs[_0xf6ea('0x1b')](_0x5b1ce6['query'][_0xf6ea('0x1b')]);}return _0x3fa292[_0xf6ea('0x4c')](_0xc05429);}})[_0xf6ea('0x25')](function(_0x1846e4){if(_0x1846e4){return _0x1846e4?{'count':_0x370d64,'rows':_0x1846e4}:null;}})[_0xf6ea('0x25')](respondWithResult(_0x45d494,null))[_0xf6ea('0x44')](handleError(_0x45d494,null));};