23693168ca8dcb8a9d691c3c4c2a89090d262ba2
[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 _0x51b9=['send','index','map','VtigerConfiguration','fieldName','type','key','model','query','keys','intersection','attributes','fields','length','nolimit','order','sort','where','filters','pick','merge','VIRTUAL','filter','options','includeAll','include','findAll','catch','show','params','rawAttributes','find','create','body','getFields','findOne','VtigerField','hasOwnProperty','getSubjects','getDescriptions','eml-format','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','desk.js','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','json','offset','undefined','count','limit','set','Content-Range','apply','save','update','then','destroy','error','stack','name'];(function(_0x3ab9ee,_0x4a74b8){var _0x82ee88=function(_0x6ccc7e){while(--_0x6ccc7e){_0x3ab9ee['push'](_0x3ab9ee['shift']());}};_0x82ee88(++_0x4a74b8);}(_0x51b9,0x11b));var _0x951b=function(_0x4abfcd,_0x346eb7){_0x4abfcd=_0x4abfcd-0x0;var _0xb01833=_0x51b9[_0x4abfcd];return _0xb01833;};'use strict';var emlformat=require(_0x951b('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x951b('0x1'));var rp=require(_0x951b('0x2'));var moment=require(_0x951b('0x3'));var BPromise=require(_0x951b('0x4'));var Mustache=require(_0x951b('0x5'));var util=require(_0x951b('0x6'));var path=require(_0x951b('0x7'));var sox=require(_0x951b('0x8'));var csv=require(_0x951b('0x9'));var ejs=require(_0x951b('0xa'));var fs=require('fs');var fs_extra=require(_0x951b('0xb'));var _=require(_0x951b('0xc'));var squel=require(_0x951b('0xd'));var crypto=require(_0x951b('0xe'));var jsforce=require('jsforce');var deskjs=require(_0x951b('0xf'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x951b('0x10'));var qs=require('../../components/parsers/qs');var as=require(_0x951b('0x11'));var hardwareService=require(_0x951b('0x12'));var logger=require('../../config/logger')(_0x951b('0x13'));var utils=require('../../config/utils');var config=require(_0x951b('0x14'));var licenseUtil=require(_0x951b('0x15'));var db=require(_0x951b('0x16'))['db'];function respondWithStatusCode(_0x4dddc9,_0x15c7ad){_0x15c7ad=_0x15c7ad||0xcc;return function(_0x49ffb0){if(_0x49ffb0){return _0x4dddc9[_0x951b('0x17')](_0x15c7ad);}return _0x4dddc9['status'](_0x15c7ad)[_0x951b('0x18')]();};}function respondWithResult(_0x53c07e,_0x286c11){_0x286c11=_0x286c11||0xc8;return function(_0x11f2c){if(_0x11f2c){return _0x53c07e[_0x951b('0x19')](_0x286c11)[_0x951b('0x1a')](_0x11f2c);}};}function respondWithFilteredResult(_0x5cc55a,_0x53ff4e){return function(_0x1e262f){if(_0x1e262f){var _0x4f77bd=typeof _0x53ff4e[_0x951b('0x1b')]===_0x951b('0x1c')&&typeof _0x53ff4e['limit']===_0x951b('0x1c');var _0x3fc620=_0x1e262f[_0x951b('0x1d')];var _0x49f5af=_0x4f77bd?0x0:_0x53ff4e[_0x951b('0x1b')];var _0x7f4d9e=_0x4f77bd?_0x1e262f['count']:_0x53ff4e['offset']+_0x53ff4e[_0x951b('0x1e')];var _0x48e869;if(_0x7f4d9e>=_0x3fc620){_0x7f4d9e=_0x3fc620;_0x48e869=0xc8;}else{_0x48e869=0xce;}_0x5cc55a['status'](_0x48e869);return _0x5cc55a[_0x951b('0x1f')](_0x951b('0x20'),_0x49f5af+'-'+_0x7f4d9e+'/'+_0x3fc620)[_0x951b('0x1a')](_0x1e262f);}return null;};}function patchUpdates(_0xde8ede){return function(_0xb66652){try{jsonpatch[_0x951b('0x21')](_0xb66652,_0xde8ede,!![]);}catch(_0x4a4e30){return BPromise['reject'](_0x4a4e30);}return _0xb66652[_0x951b('0x22')]();};}function saveUpdates(_0x134e6c,_0x4ebd8c){return function(_0x362d2c){if(_0x362d2c){return _0x362d2c[_0x951b('0x23')](_0x134e6c)[_0x951b('0x24')](function(_0x5e9397){return _0x5e9397;});}return null;};}function removeEntity(_0x118834,_0x50a0d5){return function(_0x5cd3aa){if(_0x5cd3aa){return _0x5cd3aa[_0x951b('0x25')]()['then'](function(){_0x118834[_0x951b('0x19')](0xcc)[_0x951b('0x18')]();});}};}function handleEntityNotFound(_0x37b1ad,_0x28ac29){return function(_0x1a1b51){if(!_0x1a1b51){_0x37b1ad[_0x951b('0x17')](0x194);}return _0x1a1b51;};}function handleError(_0x8791d3,_0x4c611d){_0x4c611d=_0x4c611d||0x1f4;return function(_0x2d3022){logger[_0x951b('0x26')](_0x2d3022[_0x951b('0x27')]);if(_0x2d3022['name']){delete _0x2d3022[_0x951b('0x28')];}_0x8791d3[_0x951b('0x19')](_0x4c611d)[_0x951b('0x29')](_0x2d3022);};}exports[_0x951b('0x2a')]=function(_0x70d32d,_0x704b14){var _0x174f1d={},_0x3b199d={},_0x376299={'count':0x0,'rows':[]};var _0x2d8087=_[_0x951b('0x2b')](db[_0x951b('0x2c')]['rawAttributes'],function(_0x3668cd){return{'name':_0x3668cd[_0x951b('0x2d')],'type':_0x3668cd[_0x951b('0x2e')][_0x951b('0x2f')]};});_0x3b199d[_0x951b('0x30')]=_['map'](_0x2d8087,'name');_0x3b199d[_0x951b('0x31')]=_[_0x951b('0x32')](_0x70d32d['query']);_0x3b199d['filters']=_[_0x951b('0x33')](_0x3b199d['model'],_0x3b199d[_0x951b('0x31')]);_0x174f1d[_0x951b('0x34')]=_['intersection'](_0x3b199d[_0x951b('0x30')],qs[_0x951b('0x35')](_0x70d32d[_0x951b('0x31')][_0x951b('0x35')]));_0x174f1d['attributes']=_0x174f1d[_0x951b('0x34')][_0x951b('0x36')]?_0x174f1d[_0x951b('0x34')]:_0x3b199d[_0x951b('0x30')];if(!_0x70d32d[_0x951b('0x31')]['hasOwnProperty'](_0x951b('0x37'))){_0x174f1d[_0x951b('0x1e')]=qs[_0x951b('0x1e')](_0x70d32d[_0x951b('0x31')]['limit']);_0x174f1d[_0x951b('0x1b')]=qs[_0x951b('0x1b')](_0x70d32d[_0x951b('0x31')]['offset']);}_0x174f1d[_0x951b('0x38')]=qs[_0x951b('0x39')](_0x70d32d[_0x951b('0x31')][_0x951b('0x39')]);_0x174f1d[_0x951b('0x3a')]=qs[_0x951b('0x3b')](_[_0x951b('0x3c')](_0x70d32d['query'],_0x3b199d[_0x951b('0x3b')]),_0x2d8087);if(_0x70d32d[_0x951b('0x31')]['filter']){_0x174f1d[_0x951b('0x3a')]=_[_0x951b('0x3d')](_0x174f1d[_0x951b('0x3a')],{'$or':_[_0x951b('0x2b')](_0x2d8087,function(_0x4b4327){if(_0x4b4327[_0x951b('0x2e')]!==_0x951b('0x3e')){var _0x3ea89c={};_0x3ea89c[_0x4b4327[_0x951b('0x28')]]={'$like':'%'+_0x70d32d[_0x951b('0x31')][_0x951b('0x3f')]+'%'};return _0x3ea89c;}})});}_0x174f1d=_['merge']({},_0x174f1d,_0x70d32d[_0x951b('0x40')]);var _0x5e887d={'where':_0x174f1d[_0x951b('0x3a')]};return db[_0x951b('0x2c')][_0x951b('0x1d')](_0x5e887d)[_0x951b('0x24')](function(_0xa6c9d5){_0x376299['count']=_0xa6c9d5;if(_0x70d32d['query'][_0x951b('0x41')]){_0x174f1d[_0x951b('0x42')]=[{'all':!![]}];}return db['VtigerConfiguration'][_0x951b('0x43')](_0x174f1d);})[_0x951b('0x24')](function(_0x5f3455){_0x376299['rows']=_0x5f3455;return _0x376299;})[_0x951b('0x24')](respondWithFilteredResult(_0x704b14,_0x174f1d))[_0x951b('0x44')](handleError(_0x704b14,null));};exports[_0x951b('0x45')]=function(_0x4c004a,_0x45f102){var _0x2dafcf={'raw':![],'where':{'id':_0x4c004a[_0x951b('0x46')]['id']}},_0x2c4f4b={};_0x2c4f4b[_0x951b('0x30')]=_[_0x951b('0x32')](db[_0x951b('0x2c')][_0x951b('0x47')]);_0x2c4f4b[_0x951b('0x31')]=_[_0x951b('0x32')](_0x4c004a[_0x951b('0x31')]);_0x2c4f4b[_0x951b('0x3b')]=_['intersection'](_0x2c4f4b['model'],_0x2c4f4b[_0x951b('0x31')]);_0x2dafcf['attributes']=_['intersection'](_0x2c4f4b['model'],qs[_0x951b('0x35')](_0x4c004a[_0x951b('0x31')]['fields']));_0x2dafcf[_0x951b('0x34')]=_0x2dafcf['attributes']['length']?_0x2dafcf[_0x951b('0x34')]:_0x2c4f4b[_0x951b('0x30')];if(_0x4c004a['query']['includeAll']){_0x2dafcf['include']=[{'all':!![]}];}_0x2dafcf=_[_0x951b('0x3d')]({},_0x2dafcf,_0x4c004a[_0x951b('0x40')]);return db[_0x951b('0x2c')][_0x951b('0x48')](_0x2dafcf)[_0x951b('0x24')](handleEntityNotFound(_0x45f102,null))[_0x951b('0x24')](respondWithResult(_0x45f102,null))[_0x951b('0x44')](handleError(_0x45f102,null));};exports[_0x951b('0x49')]=function(_0x12258f,_0x5eb99f){return db['VtigerConfiguration'][_0x951b('0x49')](_0x12258f[_0x951b('0x4a')],{})[_0x951b('0x24')](respondWithResult(_0x5eb99f,0xc9))[_0x951b('0x44')](handleError(_0x5eb99f,null));};exports[_0x951b('0x23')]=function(_0x4829de,_0xaaa2f8){if(_0x4829de[_0x951b('0x4a')]['id']){delete _0x4829de['body']['id'];}return db[_0x951b('0x2c')]['find']({'where':{'id':_0x4829de[_0x951b('0x46')]['id']}})['then'](handleEntityNotFound(_0xaaa2f8,null))[_0x951b('0x24')](saveUpdates(_0x4829de[_0x951b('0x4a')],null))[_0x951b('0x24')](respondWithResult(_0xaaa2f8,null))[_0x951b('0x44')](handleError(_0xaaa2f8,null));};exports[_0x951b('0x25')]=function(_0x3eb2a4,_0x3c8b90){return db[_0x951b('0x2c')][_0x951b('0x48')]({'where':{'id':_0x3eb2a4['params']['id']}})[_0x951b('0x24')](handleEntityNotFound(_0x3c8b90,null))[_0x951b('0x24')](removeEntity(_0x3c8b90,null))[_0x951b('0x44')](handleError(_0x3c8b90,null));};exports[_0x951b('0x4b')]=function(_0x2eeb88,_0x165fcc,_0x333352){var _0x20225d={};var _0x4738fc={};var _0x4599a1;var _0x4bacec;return db['VtigerConfiguration'][_0x951b('0x4c')]({'where':{'id':_0x2eeb88['params']['id']}})[_0x951b('0x24')](handleEntityNotFound(_0x165fcc,null))[_0x951b('0x24')](function(_0x57b765){if(_0x57b765){_0x4599a1=_0x57b765;_0x4738fc[_0x951b('0x30')]=_[_0x951b('0x32')](db[_0x951b('0x4d')][_0x951b('0x47')]);_0x4738fc[_0x951b('0x31')]=_['keys'](_0x2eeb88[_0x951b('0x31')]);_0x4738fc[_0x951b('0x3b')]=_[_0x951b('0x33')](_0x4738fc[_0x951b('0x30')],_0x4738fc[_0x951b('0x31')]);_0x20225d['attributes']=_[_0x951b('0x33')](_0x4738fc['model'],qs[_0x951b('0x35')](_0x2eeb88[_0x951b('0x31')][_0x951b('0x35')]));_0x20225d[_0x951b('0x34')]=_0x20225d[_0x951b('0x34')]['length']?_0x20225d[_0x951b('0x34')]:_0x4738fc[_0x951b('0x30')];_0x20225d[_0x951b('0x38')]=qs[_0x951b('0x39')](_0x2eeb88[_0x951b('0x31')][_0x951b('0x39')]);_0x20225d[_0x951b('0x3a')]=qs[_0x951b('0x3b')](_[_0x951b('0x3c')](_0x2eeb88[_0x951b('0x31')],_0x4738fc['filters']));if(_0x2eeb88[_0x951b('0x31')][_0x951b('0x3f')]){_0x20225d[_0x951b('0x3a')]=_['merge'](_0x20225d[_0x951b('0x3a')],{'$or':_['map'](_0x20225d[_0x951b('0x34')],function(_0x2b1440){var _0x2f75d5={};_0x2f75d5[_0x2b1440]={'$like':'%'+_0x2eeb88[_0x951b('0x31')]['filter']+'%'};return _0x2f75d5;})});}_0x20225d=_['merge']({},_0x20225d,_0x2eeb88[_0x951b('0x40')]);return _0x4599a1[_0x951b('0x4b')](_0x20225d);}})[_0x951b('0x24')](function(_0x350fdc){if(_0x350fdc){_0x4bacec=_0x350fdc[_0x951b('0x36')];if(!_0x2eeb88[_0x951b('0x31')][_0x951b('0x4e')](_0x951b('0x37'))){_0x20225d[_0x951b('0x1e')]=qs['limit'](_0x2eeb88[_0x951b('0x31')][_0x951b('0x1e')]);_0x20225d[_0x951b('0x1b')]=qs[_0x951b('0x1b')](_0x2eeb88['query'][_0x951b('0x1b')]);}return _0x4599a1[_0x951b('0x4b')](_0x20225d);}})['then'](function(_0x23c927){if(_0x23c927){return _0x23c927?{'count':_0x4bacec,'rows':_0x23c927}:null;}})['then'](respondWithResult(_0x165fcc,null))[_0x951b('0x44')](handleError(_0x165fcc,null));};exports[_0x951b('0x4f')]=function(_0x32bf38,_0x2c0ebf,_0x31c657){var _0x4c492b={};var _0x57e4bf={};var _0x2a117b;var _0x1595d4;return db[_0x951b('0x2c')]['findOne']({'where':{'id':_0x32bf38[_0x951b('0x46')]['id']}})[_0x951b('0x24')](handleEntityNotFound(_0x2c0ebf,null))[_0x951b('0x24')](function(_0x5299a1){if(_0x5299a1){_0x2a117b=_0x5299a1;_0x57e4bf[_0x951b('0x30')]=_[_0x951b('0x32')](db[_0x951b('0x4d')][_0x951b('0x47')]);_0x57e4bf[_0x951b('0x31')]=_['keys'](_0x32bf38[_0x951b('0x31')]);_0x57e4bf[_0x951b('0x3b')]=_[_0x951b('0x33')](_0x57e4bf['model'],_0x57e4bf[_0x951b('0x31')]);_0x4c492b[_0x951b('0x34')]=_[_0x951b('0x33')](_0x57e4bf[_0x951b('0x30')],qs[_0x951b('0x35')](_0x32bf38[_0x951b('0x31')][_0x951b('0x35')]));_0x4c492b[_0x951b('0x34')]=_0x4c492b[_0x951b('0x34')][_0x951b('0x36')]?_0x4c492b[_0x951b('0x34')]:_0x57e4bf[_0x951b('0x30')];_0x4c492b[_0x951b('0x38')]=qs['sort'](_0x32bf38[_0x951b('0x31')]['sort']);_0x4c492b['where']=qs[_0x951b('0x3b')](_['pick'](_0x32bf38[_0x951b('0x31')],_0x57e4bf[_0x951b('0x3b')]));if(_0x32bf38[_0x951b('0x31')]['filter']){_0x4c492b['where']=_[_0x951b('0x3d')](_0x4c492b[_0x951b('0x3a')],{'$or':_['map'](_0x4c492b['attributes'],function(_0x3184e1){var _0x4b7f64={};_0x4b7f64[_0x3184e1]={'$like':'%'+_0x32bf38[_0x951b('0x31')]['filter']+'%'};return _0x4b7f64;})});}_0x4c492b=_[_0x951b('0x3d')]({},_0x4c492b,_0x32bf38[_0x951b('0x40')]);return _0x2a117b[_0x951b('0x4f')](_0x4c492b);}})[_0x951b('0x24')](function(_0x4249b9){if(_0x4249b9){_0x1595d4=_0x4249b9[_0x951b('0x36')];if(!_0x32bf38['query']['hasOwnProperty']('nolimit')){_0x4c492b[_0x951b('0x1e')]=qs[_0x951b('0x1e')](_0x32bf38[_0x951b('0x31')]['limit']);_0x4c492b[_0x951b('0x1b')]=qs['offset'](_0x32bf38['query'][_0x951b('0x1b')]);}return _0x2a117b[_0x951b('0x4f')](_0x4c492b);}})[_0x951b('0x24')](function(_0xaa65f9){if(_0xaa65f9){return _0xaa65f9?{'count':_0x1595d4,'rows':_0xaa65f9}:null;}})[_0x951b('0x24')](respondWithResult(_0x2c0ebf,null))['catch'](handleError(_0x2c0ebf,null));};exports[_0x951b('0x50')]=function(_0x3955fc,_0x84b263,_0x554775){var _0x5f138b={};var _0x46dcf8={};var _0x49e7a7;var _0x5255a4;return db[_0x951b('0x2c')]['findOne']({'where':{'id':_0x3955fc['params']['id']}})[_0x951b('0x24')](handleEntityNotFound(_0x84b263,null))[_0x951b('0x24')](function(_0x333fe7){if(_0x333fe7){_0x49e7a7=_0x333fe7;_0x46dcf8[_0x951b('0x30')]=_[_0x951b('0x32')](db[_0x951b('0x4d')]['rawAttributes']);_0x46dcf8[_0x951b('0x31')]=_[_0x951b('0x32')](_0x3955fc['query']);_0x46dcf8[_0x951b('0x3b')]=_['intersection'](_0x46dcf8[_0x951b('0x30')],_0x46dcf8[_0x951b('0x31')]);_0x5f138b['attributes']=_[_0x951b('0x33')](_0x46dcf8['model'],qs[_0x951b('0x35')](_0x3955fc[_0x951b('0x31')][_0x951b('0x35')]));_0x5f138b['attributes']=_0x5f138b['attributes'][_0x951b('0x36')]?_0x5f138b[_0x951b('0x34')]:_0x46dcf8[_0x951b('0x30')];_0x5f138b[_0x951b('0x38')]=qs[_0x951b('0x39')](_0x3955fc[_0x951b('0x31')]['sort']);_0x5f138b[_0x951b('0x3a')]=qs[_0x951b('0x3b')](_[_0x951b('0x3c')](_0x3955fc[_0x951b('0x31')],_0x46dcf8[_0x951b('0x3b')]));if(_0x3955fc[_0x951b('0x31')][_0x951b('0x3f')]){_0x5f138b[_0x951b('0x3a')]=_['merge'](_0x5f138b['where'],{'$or':_[_0x951b('0x2b')](_0x5f138b['attributes'],function(_0x3f338d){var _0x5ada01={};_0x5ada01[_0x3f338d]={'$like':'%'+_0x3955fc['query'][_0x951b('0x3f')]+'%'};return _0x5ada01;})});}_0x5f138b=_[_0x951b('0x3d')]({},_0x5f138b,_0x3955fc['options']);return _0x49e7a7[_0x951b('0x50')](_0x5f138b);}})['then'](function(_0xf416c4){if(_0xf416c4){_0x5255a4=_0xf416c4['length'];if(!_0x3955fc['query'][_0x951b('0x4e')](_0x951b('0x37'))){_0x5f138b['limit']=qs['limit'](_0x3955fc[_0x951b('0x31')][_0x951b('0x1e')]);_0x5f138b[_0x951b('0x1b')]=qs[_0x951b('0x1b')](_0x3955fc['query'][_0x951b('0x1b')]);}return _0x49e7a7[_0x951b('0x50')](_0x5f138b);}})[_0x951b('0x24')](function(_0x4afd74){if(_0x4afd74){return _0x4afd74?{'count':_0x5255a4,'rows':_0x4afd74}:null;}})['then'](respondWithResult(_0x84b263,null))['catch'](handleError(_0x84b263,null));};