Built motion from commit ffdca78c.|2.6.24
[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 _0x2f76=['map','VtigerConfiguration','fieldName','type','model','keys','filters','intersection','query','attributes','fields','length','nolimit','order','sort','where','pick','merge','filter','options','includeAll','include','rows','show','params','rawAttributes','find','catch','create','body','getFields','findOne','VtigerField','hasOwnProperty','getSubjects','getDescriptions','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','sox','to-csv','ejs','fs-extra','squel','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','offset','undefined','limit','count','set','Content-Range','apply','update','then','destroy','stack','name','send','index'];(function(_0x435044,_0x36ab8e){var _0x33d4c6=function(_0x15efa0){while(--_0x15efa0){_0x435044['push'](_0x435044['shift']());}};_0x33d4c6(++_0x36ab8e);}(_0x2f76,0x1a5));var _0x62f7=function(_0x2a00f7,_0x37159f){_0x2a00f7=_0x2a00f7-0x0;var _0x4ac054=_0x2f76[_0x2a00f7];return _0x4ac054;};'use strict';var emlformat=require(_0x62f7('0x0'));var rimraf=require(_0x62f7('0x1'));var zipdir=require(_0x62f7('0x2'));var jsonpatch=require(_0x62f7('0x3'));var rp=require(_0x62f7('0x4'));var moment=require(_0x62f7('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x62f7('0x6'));var util=require(_0x62f7('0x7'));var path=require('path');var sox=require(_0x62f7('0x8'));var csv=require(_0x62f7('0x9'));var ejs=require(_0x62f7('0xa'));var fs=require('fs');var fs_extra=require(_0x62f7('0xb'));var _=require('lodash');var squel=require(_0x62f7('0xc'));var crypto=require('crypto');var jsforce=require(_0x62f7('0xd'));var deskjs=require(_0x62f7('0xe'));var toCsv=require(_0x62f7('0x9'));var querystring=require(_0x62f7('0xf'));var Papa=require(_0x62f7('0x10'));var Redis=require('ioredis');var authService=require(_0x62f7('0x11'));var qs=require(_0x62f7('0x12'));var as=require(_0x62f7('0x13'));var hardwareService=require(_0x62f7('0x14'));var logger=require('../../config/logger')('api');var utils=require('../../config/utils');var config=require(_0x62f7('0x15'));var licenseUtil=require(_0x62f7('0x16'));var db=require(_0x62f7('0x17'))['db'];function respondWithStatusCode(_0x547677,_0x284d4a){_0x284d4a=_0x284d4a||0xcc;return function(_0x4c5f8f){if(_0x4c5f8f){return _0x547677[_0x62f7('0x18')](_0x284d4a);}return _0x547677[_0x62f7('0x19')](_0x284d4a)[_0x62f7('0x1a')]();};}function respondWithResult(_0x2e8fd3,_0x1b316a){_0x1b316a=_0x1b316a||0xc8;return function(_0x1ef223){if(_0x1ef223){return _0x2e8fd3[_0x62f7('0x19')](_0x1b316a)['json'](_0x1ef223);}};}function respondWithFilteredResult(_0xf1c32a,_0x456a7f){return function(_0x52cd76){if(_0x52cd76){var _0x4f94b9=typeof _0x456a7f[_0x62f7('0x1b')]===_0x62f7('0x1c')&&typeof _0x456a7f[_0x62f7('0x1d')]===_0x62f7('0x1c');var _0x3f38db=_0x52cd76[_0x62f7('0x1e')];var _0x175e53=_0x4f94b9?0x0:_0x456a7f[_0x62f7('0x1b')];var _0x59a9f6=_0x4f94b9?_0x52cd76[_0x62f7('0x1e')]:_0x456a7f['offset']+_0x456a7f[_0x62f7('0x1d')];var _0x115fdb;if(_0x59a9f6>=_0x3f38db){_0x59a9f6=_0x3f38db;_0x115fdb=0xc8;}else{_0x115fdb=0xce;}_0xf1c32a['status'](_0x115fdb);return _0xf1c32a[_0x62f7('0x1f')](_0x62f7('0x20'),_0x175e53+'-'+_0x59a9f6+'/'+_0x3f38db)['json'](_0x52cd76);}return null;};}function patchUpdates(_0x15d0ac){return function(_0x5138f0){try{jsonpatch[_0x62f7('0x21')](_0x5138f0,_0x15d0ac,!![]);}catch(_0x469796){return BPromise['reject'](_0x469796);}return _0x5138f0['save']();};}function saveUpdates(_0x17d31a,_0x2e78b8){return function(_0x5ac0e2){if(_0x5ac0e2){return _0x5ac0e2[_0x62f7('0x22')](_0x17d31a)[_0x62f7('0x23')](function(_0x2694d0){return _0x2694d0;});}return null;};}function removeEntity(_0x230831,_0x47643e){return function(_0x1d4be2){if(_0x1d4be2){return _0x1d4be2[_0x62f7('0x24')]()[_0x62f7('0x23')](function(){_0x230831[_0x62f7('0x19')](0xcc)[_0x62f7('0x1a')]();});}};}function handleEntityNotFound(_0x2d4598,_0x397519){return function(_0x8e29ed){if(!_0x8e29ed){_0x2d4598[_0x62f7('0x18')](0x194);}return _0x8e29ed;};}function handleError(_0x4a4ac2,_0x13e98d){_0x13e98d=_0x13e98d||0x1f4;return function(_0x2515b2){logger['error'](_0x2515b2[_0x62f7('0x25')]);if(_0x2515b2[_0x62f7('0x26')]){delete _0x2515b2[_0x62f7('0x26')];}_0x4a4ac2['status'](_0x13e98d)[_0x62f7('0x27')](_0x2515b2);};}exports[_0x62f7('0x28')]=function(_0xc1f5f,_0x3f70f6){var _0x181431={},_0x486c7f={},_0x479dee={'count':0x0,'rows':[]};var _0x455e2a=_[_0x62f7('0x29')](db[_0x62f7('0x2a')]['rawAttributes'],function(_0x23973a){return{'name':_0x23973a[_0x62f7('0x2b')],'type':_0x23973a[_0x62f7('0x2c')]['key']};});_0x486c7f[_0x62f7('0x2d')]=_[_0x62f7('0x29')](_0x455e2a,_0x62f7('0x26'));_0x486c7f['query']=_[_0x62f7('0x2e')](_0xc1f5f['query']);_0x486c7f[_0x62f7('0x2f')]=_[_0x62f7('0x30')](_0x486c7f['model'],_0x486c7f[_0x62f7('0x31')]);_0x181431[_0x62f7('0x32')]=_[_0x62f7('0x30')](_0x486c7f[_0x62f7('0x2d')],qs[_0x62f7('0x33')](_0xc1f5f[_0x62f7('0x31')]['fields']));_0x181431['attributes']=_0x181431[_0x62f7('0x32')][_0x62f7('0x34')]?_0x181431[_0x62f7('0x32')]:_0x486c7f[_0x62f7('0x2d')];if(!_0xc1f5f['query']['hasOwnProperty'](_0x62f7('0x35'))){_0x181431['limit']=qs[_0x62f7('0x1d')](_0xc1f5f[_0x62f7('0x31')]['limit']);_0x181431[_0x62f7('0x1b')]=qs[_0x62f7('0x1b')](_0xc1f5f['query'][_0x62f7('0x1b')]);}_0x181431[_0x62f7('0x36')]=qs[_0x62f7('0x37')](_0xc1f5f[_0x62f7('0x31')][_0x62f7('0x37')]);_0x181431[_0x62f7('0x38')]=qs[_0x62f7('0x2f')](_[_0x62f7('0x39')](_0xc1f5f['query'],_0x486c7f[_0x62f7('0x2f')]),_0x455e2a);if(_0xc1f5f['query']['filter']){_0x181431[_0x62f7('0x38')]=_[_0x62f7('0x3a')](_0x181431[_0x62f7('0x38')],{'$or':_[_0x62f7('0x29')](_0x455e2a,function(_0x15d4c9){if(_0x15d4c9[_0x62f7('0x2c')]!=='VIRTUAL'){var _0x355ba6={};_0x355ba6[_0x15d4c9[_0x62f7('0x26')]]={'$like':'%'+_0xc1f5f[_0x62f7('0x31')][_0x62f7('0x3b')]+'%'};return _0x355ba6;}})});}_0x181431=_[_0x62f7('0x3a')]({},_0x181431,_0xc1f5f[_0x62f7('0x3c')]);var _0x488d95={'where':_0x181431[_0x62f7('0x38')]};return db[_0x62f7('0x2a')]['count'](_0x488d95)['then'](function(_0x13556d){_0x479dee[_0x62f7('0x1e')]=_0x13556d;if(_0xc1f5f[_0x62f7('0x31')][_0x62f7('0x3d')]){_0x181431[_0x62f7('0x3e')]=[{'all':!![]}];}return db['VtigerConfiguration']['findAll'](_0x181431);})[_0x62f7('0x23')](function(_0x159c82){_0x479dee[_0x62f7('0x3f')]=_0x159c82;return _0x479dee;})[_0x62f7('0x23')](respondWithFilteredResult(_0x3f70f6,_0x181431))['catch'](handleError(_0x3f70f6,null));};exports[_0x62f7('0x40')]=function(_0x3332e3,_0x138db9){var _0x1f8820={'raw':![],'where':{'id':_0x3332e3[_0x62f7('0x41')]['id']}},_0x462595={};_0x462595['model']=_[_0x62f7('0x2e')](db[_0x62f7('0x2a')][_0x62f7('0x42')]);_0x462595[_0x62f7('0x31')]=_[_0x62f7('0x2e')](_0x3332e3[_0x62f7('0x31')]);_0x462595['filters']=_[_0x62f7('0x30')](_0x462595[_0x62f7('0x2d')],_0x462595['query']);_0x1f8820[_0x62f7('0x32')]=_['intersection'](_0x462595[_0x62f7('0x2d')],qs[_0x62f7('0x33')](_0x3332e3[_0x62f7('0x31')]['fields']));_0x1f8820[_0x62f7('0x32')]=_0x1f8820['attributes']['length']?_0x1f8820[_0x62f7('0x32')]:_0x462595[_0x62f7('0x2d')];if(_0x3332e3[_0x62f7('0x31')][_0x62f7('0x3d')]){_0x1f8820[_0x62f7('0x3e')]=[{'all':!![]}];}_0x1f8820=_[_0x62f7('0x3a')]({},_0x1f8820,_0x3332e3[_0x62f7('0x3c')]);return db[_0x62f7('0x2a')][_0x62f7('0x43')](_0x1f8820)['then'](handleEntityNotFound(_0x138db9,null))[_0x62f7('0x23')](respondWithResult(_0x138db9,null))[_0x62f7('0x44')](handleError(_0x138db9,null));};exports[_0x62f7('0x45')]=function(_0x3a3533,_0x3a1b91){return db['VtigerConfiguration'][_0x62f7('0x45')](_0x3a3533['body'],{})[_0x62f7('0x23')](respondWithResult(_0x3a1b91,0xc9))[_0x62f7('0x44')](handleError(_0x3a1b91,null));};exports[_0x62f7('0x22')]=function(_0x553ec7,_0x201acd){if(_0x553ec7[_0x62f7('0x46')]['id']){delete _0x553ec7[_0x62f7('0x46')]['id'];}return db[_0x62f7('0x2a')][_0x62f7('0x43')]({'where':{'id':_0x553ec7[_0x62f7('0x41')]['id']}})[_0x62f7('0x23')](handleEntityNotFound(_0x201acd,null))[_0x62f7('0x23')](saveUpdates(_0x553ec7[_0x62f7('0x46')],null))[_0x62f7('0x23')](respondWithResult(_0x201acd,null))['catch'](handleError(_0x201acd,null));};exports[_0x62f7('0x24')]=function(_0x453d39,_0x3d3a41){return db['VtigerConfiguration'][_0x62f7('0x43')]({'where':{'id':_0x453d39[_0x62f7('0x41')]['id']}})['then'](handleEntityNotFound(_0x3d3a41,null))[_0x62f7('0x23')](removeEntity(_0x3d3a41,null))['catch'](handleError(_0x3d3a41,null));};exports[_0x62f7('0x47')]=function(_0x3e304f,_0x5637d9,_0x5f5376){var _0x3a667b={};var _0x49a28d={};var _0x1e41a4;var _0x13f2bd;return db[_0x62f7('0x2a')][_0x62f7('0x48')]({'where':{'id':_0x3e304f['params']['id']}})['then'](handleEntityNotFound(_0x5637d9,null))[_0x62f7('0x23')](function(_0x205a95){if(_0x205a95){_0x1e41a4=_0x205a95;_0x49a28d[_0x62f7('0x2d')]=_[_0x62f7('0x2e')](db[_0x62f7('0x49')][_0x62f7('0x42')]);_0x49a28d['query']=_['keys'](_0x3e304f[_0x62f7('0x31')]);_0x49a28d[_0x62f7('0x2f')]=_[_0x62f7('0x30')](_0x49a28d[_0x62f7('0x2d')],_0x49a28d[_0x62f7('0x31')]);_0x3a667b[_0x62f7('0x32')]=_[_0x62f7('0x30')](_0x49a28d[_0x62f7('0x2d')],qs[_0x62f7('0x33')](_0x3e304f['query'][_0x62f7('0x33')]));_0x3a667b[_0x62f7('0x32')]=_0x3a667b[_0x62f7('0x32')][_0x62f7('0x34')]?_0x3a667b[_0x62f7('0x32')]:_0x49a28d['model'];_0x3a667b[_0x62f7('0x36')]=qs[_0x62f7('0x37')](_0x3e304f['query'][_0x62f7('0x37')]);_0x3a667b[_0x62f7('0x38')]=qs['filters'](_['pick'](_0x3e304f['query'],_0x49a28d[_0x62f7('0x2f')]));if(_0x3e304f[_0x62f7('0x31')][_0x62f7('0x3b')]){_0x3a667b[_0x62f7('0x38')]=_[_0x62f7('0x3a')](_0x3a667b[_0x62f7('0x38')],{'$or':_['map'](_0x3a667b['attributes'],function(_0x5cf966){var _0x4a97a2={};_0x4a97a2[_0x5cf966]={'$like':'%'+_0x3e304f['query'][_0x62f7('0x3b')]+'%'};return _0x4a97a2;})});}_0x3a667b=_[_0x62f7('0x3a')]({},_0x3a667b,_0x3e304f[_0x62f7('0x3c')]);return _0x1e41a4[_0x62f7('0x47')](_0x3a667b);}})[_0x62f7('0x23')](function(_0x398762){if(_0x398762){_0x13f2bd=_0x398762[_0x62f7('0x34')];if(!_0x3e304f[_0x62f7('0x31')][_0x62f7('0x4a')](_0x62f7('0x35'))){_0x3a667b[_0x62f7('0x1d')]=qs[_0x62f7('0x1d')](_0x3e304f[_0x62f7('0x31')]['limit']);_0x3a667b[_0x62f7('0x1b')]=qs[_0x62f7('0x1b')](_0x3e304f['query']['offset']);}return _0x1e41a4['getFields'](_0x3a667b);}})[_0x62f7('0x23')](function(_0x8a93d1){if(_0x8a93d1){return _0x8a93d1?{'count':_0x13f2bd,'rows':_0x8a93d1}:null;}})['then'](respondWithResult(_0x5637d9,null))[_0x62f7('0x44')](handleError(_0x5637d9,null));};exports[_0x62f7('0x4b')]=function(_0x1cf280,_0x55b116,_0x23b6b8){var _0x9833cd={};var _0x23764f={};var _0x535365;var _0x4a4e28;return db['VtigerConfiguration']['findOne']({'where':{'id':_0x1cf280[_0x62f7('0x41')]['id']}})['then'](handleEntityNotFound(_0x55b116,null))[_0x62f7('0x23')](function(_0x3de0ab){if(_0x3de0ab){_0x535365=_0x3de0ab;_0x23764f['model']=_[_0x62f7('0x2e')](db['VtigerField'][_0x62f7('0x42')]);_0x23764f[_0x62f7('0x31')]=_[_0x62f7('0x2e')](_0x1cf280[_0x62f7('0x31')]);_0x23764f[_0x62f7('0x2f')]=_['intersection'](_0x23764f['model'],_0x23764f[_0x62f7('0x31')]);_0x9833cd['attributes']=_[_0x62f7('0x30')](_0x23764f[_0x62f7('0x2d')],qs[_0x62f7('0x33')](_0x1cf280[_0x62f7('0x31')][_0x62f7('0x33')]));_0x9833cd[_0x62f7('0x32')]=_0x9833cd[_0x62f7('0x32')]['length']?_0x9833cd[_0x62f7('0x32')]:_0x23764f[_0x62f7('0x2d')];_0x9833cd[_0x62f7('0x36')]=qs[_0x62f7('0x37')](_0x1cf280[_0x62f7('0x31')]['sort']);_0x9833cd[_0x62f7('0x38')]=qs[_0x62f7('0x2f')](_[_0x62f7('0x39')](_0x1cf280[_0x62f7('0x31')],_0x23764f['filters']));if(_0x1cf280['query'][_0x62f7('0x3b')]){_0x9833cd['where']=_[_0x62f7('0x3a')](_0x9833cd[_0x62f7('0x38')],{'$or':_[_0x62f7('0x29')](_0x9833cd[_0x62f7('0x32')],function(_0x2af67d){var _0x5af85d={};_0x5af85d[_0x2af67d]={'$like':'%'+_0x1cf280[_0x62f7('0x31')][_0x62f7('0x3b')]+'%'};return _0x5af85d;})});}_0x9833cd=_['merge']({},_0x9833cd,_0x1cf280[_0x62f7('0x3c')]);return _0x535365['getSubjects'](_0x9833cd);}})[_0x62f7('0x23')](function(_0x413878){if(_0x413878){_0x4a4e28=_0x413878[_0x62f7('0x34')];if(!_0x1cf280[_0x62f7('0x31')][_0x62f7('0x4a')](_0x62f7('0x35'))){_0x9833cd[_0x62f7('0x1d')]=qs['limit'](_0x1cf280[_0x62f7('0x31')][_0x62f7('0x1d')]);_0x9833cd[_0x62f7('0x1b')]=qs[_0x62f7('0x1b')](_0x1cf280[_0x62f7('0x31')][_0x62f7('0x1b')]);}return _0x535365[_0x62f7('0x4b')](_0x9833cd);}})[_0x62f7('0x23')](function(_0x46b9a6){if(_0x46b9a6){return _0x46b9a6?{'count':_0x4a4e28,'rows':_0x46b9a6}:null;}})[_0x62f7('0x23')](respondWithResult(_0x55b116,null))['catch'](handleError(_0x55b116,null));};exports[_0x62f7('0x4c')]=function(_0x245318,_0x3245a0,_0x5a336d){var _0x43b36c={};var _0x58b561={};var _0x3ca3c2;var _0x217cb3;return db[_0x62f7('0x2a')][_0x62f7('0x48')]({'where':{'id':_0x245318[_0x62f7('0x41')]['id']}})[_0x62f7('0x23')](handleEntityNotFound(_0x3245a0,null))[_0x62f7('0x23')](function(_0x14c13a){if(_0x14c13a){_0x3ca3c2=_0x14c13a;_0x58b561[_0x62f7('0x2d')]=_[_0x62f7('0x2e')](db[_0x62f7('0x49')][_0x62f7('0x42')]);_0x58b561[_0x62f7('0x31')]=_[_0x62f7('0x2e')](_0x245318[_0x62f7('0x31')]);_0x58b561[_0x62f7('0x2f')]=_[_0x62f7('0x30')](_0x58b561['model'],_0x58b561['query']);_0x43b36c[_0x62f7('0x32')]=_['intersection'](_0x58b561[_0x62f7('0x2d')],qs[_0x62f7('0x33')](_0x245318[_0x62f7('0x31')][_0x62f7('0x33')]));_0x43b36c[_0x62f7('0x32')]=_0x43b36c['attributes']['length']?_0x43b36c['attributes']:_0x58b561[_0x62f7('0x2d')];_0x43b36c[_0x62f7('0x36')]=qs[_0x62f7('0x37')](_0x245318['query'][_0x62f7('0x37')]);_0x43b36c[_0x62f7('0x38')]=qs['filters'](_[_0x62f7('0x39')](_0x245318[_0x62f7('0x31')],_0x58b561[_0x62f7('0x2f')]));if(_0x245318[_0x62f7('0x31')][_0x62f7('0x3b')]){_0x43b36c[_0x62f7('0x38')]=_[_0x62f7('0x3a')](_0x43b36c[_0x62f7('0x38')],{'$or':_['map'](_0x43b36c[_0x62f7('0x32')],function(_0x457fa5){var _0x290a1f={};_0x290a1f[_0x457fa5]={'$like':'%'+_0x245318[_0x62f7('0x31')][_0x62f7('0x3b')]+'%'};return _0x290a1f;})});}_0x43b36c=_[_0x62f7('0x3a')]({},_0x43b36c,_0x245318[_0x62f7('0x3c')]);return _0x3ca3c2[_0x62f7('0x4c')](_0x43b36c);}})[_0x62f7('0x23')](function(_0x2aa763){if(_0x2aa763){_0x217cb3=_0x2aa763[_0x62f7('0x34')];if(!_0x245318[_0x62f7('0x31')]['hasOwnProperty']('nolimit')){_0x43b36c[_0x62f7('0x1d')]=qs[_0x62f7('0x1d')](_0x245318['query']['limit']);_0x43b36c['offset']=qs[_0x62f7('0x1b')](_0x245318[_0x62f7('0x31')][_0x62f7('0x1b')]);}return _0x3ca3c2[_0x62f7('0x4c')](_0x43b36c);}})[_0x62f7('0x23')](function(_0xc54204){if(_0xc54204){return _0xc54204?{'count':_0x217cb3,'rows':_0xc54204}:null;}})[_0x62f7('0x23')](respondWithResult(_0x3245a0,null))['catch'](handleError(_0x3245a0,null));};