Built motion from commit 775e2a94.|2.6.3
[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 _0x98d9=['../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','count','limit','set','apply','save','update','destroy','then','stack','name','send','index','map','type','model','query','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','filters','pick','merge','includeAll','include','findAll','rows','show','params','keys','VtigerConfiguration','options','catch','create','body','getFields','findOne','VtigerField','rawAttributes','filter','getSubjects','getDescriptions','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','sox','ejs','fs-extra','squel','crypto','jsforce','to-csv','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware'];(function(_0x573b40,_0x4efa0c){var _0x4d410d=function(_0x28a01e){while(--_0x28a01e){_0x573b40['push'](_0x573b40['shift']());}};_0x4d410d(++_0x4efa0c);}(_0x98d9,0x12b));var _0x998d=function(_0xf2dca1,_0x312dba){_0xf2dca1=_0xf2dca1-0x0;var _0x1deaf5=_0x98d9[_0xf2dca1];return _0x1deaf5;};'use strict';var emlformat=require(_0x998d('0x0'));var rimraf=require(_0x998d('0x1'));var zipdir=require(_0x998d('0x2'));var jsonpatch=require(_0x998d('0x3'));var rp=require(_0x998d('0x4'));var moment=require(_0x998d('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x998d('0x6'));var util=require(_0x998d('0x7'));var path=require(_0x998d('0x8'));var sox=require(_0x998d('0x9'));var csv=require('to-csv');var ejs=require(_0x998d('0xa'));var fs=require('fs');var fs_extra=require(_0x998d('0xb'));var _=require('lodash');var squel=require(_0x998d('0xc'));var crypto=require(_0x998d('0xd'));var jsforce=require(_0x998d('0xe'));var deskjs=require('desk.js');var toCsv=require(_0x998d('0xf'));var querystring=require(_0x998d('0x10'));var Papa=require(_0x998d('0x11'));var Redis=require('ioredis');var authService=require(_0x998d('0x12'));var qs=require(_0x998d('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x998d('0x14'));var logger=require(_0x998d('0x15'))(_0x998d('0x16'));var utils=require(_0x998d('0x17'));var config=require(_0x998d('0x18'));var licenseUtil=require(_0x998d('0x19'));var db=require(_0x998d('0x1a'))['db'];function respondWithStatusCode(_0x31f7f8,_0x303478){_0x303478=_0x303478||0xcc;return function(_0x47ed10){if(_0x47ed10){return _0x31f7f8[_0x998d('0x1b')](_0x303478);}return _0x31f7f8[_0x998d('0x1c')](_0x303478)[_0x998d('0x1d')]();};}function respondWithResult(_0x5d075f,_0x2ed159){_0x2ed159=_0x2ed159||0xc8;return function(_0x555ba1){if(_0x555ba1){return _0x5d075f[_0x998d('0x1c')](_0x2ed159)[_0x998d('0x1e')](_0x555ba1);}};}function respondWithFilteredResult(_0x4b92e7,_0x53c8ac){return function(_0x3a14e5){if(_0x3a14e5){var _0xb11b89=typeof _0x53c8ac[_0x998d('0x1f')]===_0x998d('0x20')&&typeof _0x53c8ac['limit']===_0x998d('0x20');var _0x2222d3=_0x3a14e5['count'];var _0x5e455b=_0xb11b89?0x0:_0x53c8ac[_0x998d('0x1f')];var _0x84498d=_0xb11b89?_0x3a14e5[_0x998d('0x21')]:_0x53c8ac['offset']+_0x53c8ac[_0x998d('0x22')];var _0x28f28e;if(_0x84498d>=_0x2222d3){_0x84498d=_0x2222d3;_0x28f28e=0xc8;}else{_0x28f28e=0xce;}_0x4b92e7['status'](_0x28f28e);return _0x4b92e7[_0x998d('0x23')]('Content-Range',_0x5e455b+'-'+_0x84498d+'/'+_0x2222d3)[_0x998d('0x1e')](_0x3a14e5);}return null;};}function patchUpdates(_0x39fc8e){return function(_0x5d7010){try{jsonpatch[_0x998d('0x24')](_0x5d7010,_0x39fc8e,!![]);}catch(_0x821c7){return BPromise['reject'](_0x821c7);}return _0x5d7010[_0x998d('0x25')]();};}function saveUpdates(_0x44456c,_0x196a1c){return function(_0x4d427d){if(_0x4d427d){return _0x4d427d[_0x998d('0x26')](_0x44456c)['then'](function(_0x2f1bf5){return _0x2f1bf5;});}return null;};}function removeEntity(_0x50e013,_0x52a879){return function(_0x527c37){if(_0x527c37){return _0x527c37[_0x998d('0x27')]()[_0x998d('0x28')](function(){_0x50e013[_0x998d('0x1c')](0xcc)[_0x998d('0x1d')]();});}};}function handleEntityNotFound(_0x1c3b02,_0x5bd63e){return function(_0x37b159){if(!_0x37b159){_0x1c3b02[_0x998d('0x1b')](0x194);}return _0x37b159;};}function handleError(_0x2784c3,_0x5e7f84){_0x5e7f84=_0x5e7f84||0x1f4;return function(_0x74fa70){logger['error'](_0x74fa70[_0x998d('0x29')]);if(_0x74fa70[_0x998d('0x2a')]){delete _0x74fa70[_0x998d('0x2a')];}_0x2784c3['status'](_0x5e7f84)[_0x998d('0x2b')](_0x74fa70);};}exports[_0x998d('0x2c')]=function(_0xd6fdec,_0x2a9d9e){var _0x3d1e77={},_0x109e6a={},_0x278bae={'count':0x0,'rows':[]};var _0x405094=_[_0x998d('0x2d')](db['VtigerConfiguration']['rawAttributes'],function(_0x2028fd){return{'name':_0x2028fd['fieldName'],'type':_0x2028fd[_0x998d('0x2e')]['key']};});_0x109e6a[_0x998d('0x2f')]=_[_0x998d('0x2d')](_0x405094,'name');_0x109e6a[_0x998d('0x30')]=_['keys'](_0xd6fdec[_0x998d('0x30')]);_0x109e6a['filters']=_['intersection'](_0x109e6a[_0x998d('0x2f')],_0x109e6a[_0x998d('0x30')]);_0x3d1e77[_0x998d('0x31')]=_[_0x998d('0x32')](_0x109e6a['model'],qs[_0x998d('0x33')](_0xd6fdec['query'][_0x998d('0x33')]));_0x3d1e77[_0x998d('0x31')]=_0x3d1e77[_0x998d('0x31')][_0x998d('0x34')]?_0x3d1e77[_0x998d('0x31')]:_0x109e6a[_0x998d('0x2f')];if(!_0xd6fdec[_0x998d('0x30')][_0x998d('0x35')](_0x998d('0x36'))){_0x3d1e77['limit']=qs['limit'](_0xd6fdec[_0x998d('0x30')][_0x998d('0x22')]);_0x3d1e77['offset']=qs[_0x998d('0x1f')](_0xd6fdec[_0x998d('0x30')][_0x998d('0x1f')]);}_0x3d1e77[_0x998d('0x37')]=qs[_0x998d('0x38')](_0xd6fdec[_0x998d('0x30')][_0x998d('0x38')]);_0x3d1e77[_0x998d('0x39')]=qs[_0x998d('0x3a')](_[_0x998d('0x3b')](_0xd6fdec[_0x998d('0x30')],_0x109e6a[_0x998d('0x3a')]),_0x405094);if(_0xd6fdec[_0x998d('0x30')]['filter']){_0x3d1e77['where']=_[_0x998d('0x3c')](_0x3d1e77[_0x998d('0x39')],{'$or':_['map'](_0x405094,function(_0x477297){if(_0x477297[_0x998d('0x2e')]!=='VIRTUAL'){var _0x32a575={};_0x32a575[_0x477297['name']]={'$like':'%'+_0xd6fdec['query']['filter']+'%'};return _0x32a575;}})});}_0x3d1e77=_['merge']({},_0x3d1e77,_0xd6fdec['options']);var _0xd431cd={'where':_0x3d1e77['where']};return db['VtigerConfiguration'][_0x998d('0x21')](_0xd431cd)['then'](function(_0x49b8ad){_0x278bae[_0x998d('0x21')]=_0x49b8ad;if(_0xd6fdec[_0x998d('0x30')][_0x998d('0x3d')]){_0x3d1e77[_0x998d('0x3e')]=[{'all':!![]}];}return db['VtigerConfiguration'][_0x998d('0x3f')](_0x3d1e77);})[_0x998d('0x28')](function(_0x40d489){_0x278bae[_0x998d('0x40')]=_0x40d489;return _0x278bae;})[_0x998d('0x28')](respondWithFilteredResult(_0x2a9d9e,_0x3d1e77))['catch'](handleError(_0x2a9d9e,null));};exports[_0x998d('0x41')]=function(_0x24eb5a,_0x573ef1){var _0x5ecff3={'raw':![],'where':{'id':_0x24eb5a[_0x998d('0x42')]['id']}},_0x28fb41={};_0x28fb41[_0x998d('0x2f')]=_[_0x998d('0x43')](db[_0x998d('0x44')]['rawAttributes']);_0x28fb41[_0x998d('0x30')]=_[_0x998d('0x43')](_0x24eb5a[_0x998d('0x30')]);_0x28fb41[_0x998d('0x3a')]=_[_0x998d('0x32')](_0x28fb41[_0x998d('0x2f')],_0x28fb41['query']);_0x5ecff3[_0x998d('0x31')]=_[_0x998d('0x32')](_0x28fb41[_0x998d('0x2f')],qs[_0x998d('0x33')](_0x24eb5a[_0x998d('0x30')][_0x998d('0x33')]));_0x5ecff3[_0x998d('0x31')]=_0x5ecff3['attributes']['length']?_0x5ecff3[_0x998d('0x31')]:_0x28fb41[_0x998d('0x2f')];if(_0x24eb5a[_0x998d('0x30')][_0x998d('0x3d')]){_0x5ecff3[_0x998d('0x3e')]=[{'all':!![]}];}_0x5ecff3=_['merge']({},_0x5ecff3,_0x24eb5a[_0x998d('0x45')]);return db[_0x998d('0x44')]['find'](_0x5ecff3)['then'](handleEntityNotFound(_0x573ef1,null))[_0x998d('0x28')](respondWithResult(_0x573ef1,null))[_0x998d('0x46')](handleError(_0x573ef1,null));};exports[_0x998d('0x47')]=function(_0x52bd73,_0x6efdbd){return db[_0x998d('0x44')][_0x998d('0x47')](_0x52bd73['body'],{})['then'](respondWithResult(_0x6efdbd,0xc9))['catch'](handleError(_0x6efdbd,null));};exports['update']=function(_0x2b4398,_0x43aea1){if(_0x2b4398[_0x998d('0x48')]['id']){delete _0x2b4398[_0x998d('0x48')]['id'];}return db[_0x998d('0x44')]['find']({'where':{'id':_0x2b4398[_0x998d('0x42')]['id']}})[_0x998d('0x28')](handleEntityNotFound(_0x43aea1,null))[_0x998d('0x28')](saveUpdates(_0x2b4398[_0x998d('0x48')],null))['then'](respondWithResult(_0x43aea1,null))[_0x998d('0x46')](handleError(_0x43aea1,null));};exports[_0x998d('0x27')]=function(_0x517684,_0x1bfdba){return db['VtigerConfiguration']['find']({'where':{'id':_0x517684['params']['id']}})['then'](handleEntityNotFound(_0x1bfdba,null))[_0x998d('0x28')](removeEntity(_0x1bfdba,null))[_0x998d('0x46')](handleError(_0x1bfdba,null));};exports[_0x998d('0x49')]=function(_0x4cddbb,_0x467e0a,_0x2df447){var _0x17ca72={};var _0x54546d={};var _0x235ee0;var _0x527be1;return db[_0x998d('0x44')][_0x998d('0x4a')]({'where':{'id':_0x4cddbb[_0x998d('0x42')]['id']}})[_0x998d('0x28')](handleEntityNotFound(_0x467e0a,null))['then'](function(_0x4c6910){if(_0x4c6910){_0x235ee0=_0x4c6910;_0x54546d[_0x998d('0x2f')]=_[_0x998d('0x43')](db[_0x998d('0x4b')][_0x998d('0x4c')]);_0x54546d[_0x998d('0x30')]=_[_0x998d('0x43')](_0x4cddbb[_0x998d('0x30')]);_0x54546d['filters']=_[_0x998d('0x32')](_0x54546d[_0x998d('0x2f')],_0x54546d[_0x998d('0x30')]);_0x17ca72[_0x998d('0x31')]=_['intersection'](_0x54546d['model'],qs[_0x998d('0x33')](_0x4cddbb[_0x998d('0x30')][_0x998d('0x33')]));_0x17ca72['attributes']=_0x17ca72[_0x998d('0x31')]['length']?_0x17ca72['attributes']:_0x54546d[_0x998d('0x2f')];_0x17ca72[_0x998d('0x37')]=qs[_0x998d('0x38')](_0x4cddbb[_0x998d('0x30')][_0x998d('0x38')]);_0x17ca72['where']=qs[_0x998d('0x3a')](_[_0x998d('0x3b')](_0x4cddbb[_0x998d('0x30')],_0x54546d[_0x998d('0x3a')]));if(_0x4cddbb[_0x998d('0x30')]['filter']){_0x17ca72[_0x998d('0x39')]=_['merge'](_0x17ca72['where'],{'$or':_['map'](_0x17ca72[_0x998d('0x31')],function(_0x40a1b1){var _0x1b73a9={};_0x1b73a9[_0x40a1b1]={'$like':'%'+_0x4cddbb[_0x998d('0x30')][_0x998d('0x4d')]+'%'};return _0x1b73a9;})});}_0x17ca72=_[_0x998d('0x3c')]({},_0x17ca72,_0x4cddbb[_0x998d('0x45')]);return _0x235ee0[_0x998d('0x49')](_0x17ca72);}})[_0x998d('0x28')](function(_0x32f9dc){if(_0x32f9dc){_0x527be1=_0x32f9dc[_0x998d('0x34')];if(!_0x4cddbb[_0x998d('0x30')]['hasOwnProperty'](_0x998d('0x36'))){_0x17ca72[_0x998d('0x22')]=qs['limit'](_0x4cddbb['query'][_0x998d('0x22')]);_0x17ca72[_0x998d('0x1f')]=qs[_0x998d('0x1f')](_0x4cddbb['query']['offset']);}return _0x235ee0[_0x998d('0x49')](_0x17ca72);}})[_0x998d('0x28')](function(_0x4583e6){if(_0x4583e6){return _0x4583e6?{'count':_0x527be1,'rows':_0x4583e6}:null;}})[_0x998d('0x28')](respondWithResult(_0x467e0a,null))['catch'](handleError(_0x467e0a,null));};exports['getSubjects']=function(_0x387fb9,_0x4c79ea,_0x1ad193){var _0x4b0514={};var _0x1b31f2={};var _0x72873b;var _0x3362fd;return db['VtigerConfiguration'][_0x998d('0x4a')]({'where':{'id':_0x387fb9[_0x998d('0x42')]['id']}})[_0x998d('0x28')](handleEntityNotFound(_0x4c79ea,null))[_0x998d('0x28')](function(_0xc9be2b){if(_0xc9be2b){_0x72873b=_0xc9be2b;_0x1b31f2[_0x998d('0x2f')]=_[_0x998d('0x43')](db['VtigerField'][_0x998d('0x4c')]);_0x1b31f2['query']=_[_0x998d('0x43')](_0x387fb9[_0x998d('0x30')]);_0x1b31f2[_0x998d('0x3a')]=_[_0x998d('0x32')](_0x1b31f2[_0x998d('0x2f')],_0x1b31f2[_0x998d('0x30')]);_0x4b0514[_0x998d('0x31')]=_['intersection'](_0x1b31f2[_0x998d('0x2f')],qs[_0x998d('0x33')](_0x387fb9['query'][_0x998d('0x33')]));_0x4b0514['attributes']=_0x4b0514[_0x998d('0x31')]['length']?_0x4b0514[_0x998d('0x31')]:_0x1b31f2[_0x998d('0x2f')];_0x4b0514[_0x998d('0x37')]=qs[_0x998d('0x38')](_0x387fb9[_0x998d('0x30')][_0x998d('0x38')]);_0x4b0514[_0x998d('0x39')]=qs[_0x998d('0x3a')](_['pick'](_0x387fb9[_0x998d('0x30')],_0x1b31f2[_0x998d('0x3a')]));if(_0x387fb9[_0x998d('0x30')][_0x998d('0x4d')]){_0x4b0514[_0x998d('0x39')]=_[_0x998d('0x3c')](_0x4b0514[_0x998d('0x39')],{'$or':_[_0x998d('0x2d')](_0x4b0514[_0x998d('0x31')],function(_0x54a2a3){var _0x367f79={};_0x367f79[_0x54a2a3]={'$like':'%'+_0x387fb9[_0x998d('0x30')][_0x998d('0x4d')]+'%'};return _0x367f79;})});}_0x4b0514=_[_0x998d('0x3c')]({},_0x4b0514,_0x387fb9[_0x998d('0x45')]);return _0x72873b['getSubjects'](_0x4b0514);}})[_0x998d('0x28')](function(_0x3c9288){if(_0x3c9288){_0x3362fd=_0x3c9288[_0x998d('0x34')];if(!_0x387fb9[_0x998d('0x30')][_0x998d('0x35')]('nolimit')){_0x4b0514[_0x998d('0x22')]=qs[_0x998d('0x22')](_0x387fb9[_0x998d('0x30')][_0x998d('0x22')]);_0x4b0514['offset']=qs['offset'](_0x387fb9[_0x998d('0x30')][_0x998d('0x1f')]);}return _0x72873b[_0x998d('0x4e')](_0x4b0514);}})[_0x998d('0x28')](function(_0x2092c1){if(_0x2092c1){return _0x2092c1?{'count':_0x3362fd,'rows':_0x2092c1}:null;}})[_0x998d('0x28')](respondWithResult(_0x4c79ea,null))['catch'](handleError(_0x4c79ea,null));};exports[_0x998d('0x4f')]=function(_0x480726,_0x3af409,_0x17c1cc){var _0x3f4050={};var _0x23e4b1={};var _0x2c5d64;var _0x395c0d;return db['VtigerConfiguration'][_0x998d('0x4a')]({'where':{'id':_0x480726[_0x998d('0x42')]['id']}})[_0x998d('0x28')](handleEntityNotFound(_0x3af409,null))[_0x998d('0x28')](function(_0x31d9d5){if(_0x31d9d5){_0x2c5d64=_0x31d9d5;_0x23e4b1[_0x998d('0x2f')]=_['keys'](db[_0x998d('0x4b')][_0x998d('0x4c')]);_0x23e4b1[_0x998d('0x30')]=_[_0x998d('0x43')](_0x480726[_0x998d('0x30')]);_0x23e4b1[_0x998d('0x3a')]=_[_0x998d('0x32')](_0x23e4b1[_0x998d('0x2f')],_0x23e4b1['query']);_0x3f4050[_0x998d('0x31')]=_[_0x998d('0x32')](_0x23e4b1[_0x998d('0x2f')],qs[_0x998d('0x33')](_0x480726[_0x998d('0x30')][_0x998d('0x33')]));_0x3f4050[_0x998d('0x31')]=_0x3f4050[_0x998d('0x31')][_0x998d('0x34')]?_0x3f4050[_0x998d('0x31')]:_0x23e4b1[_0x998d('0x2f')];_0x3f4050['order']=qs[_0x998d('0x38')](_0x480726['query'][_0x998d('0x38')]);_0x3f4050[_0x998d('0x39')]=qs[_0x998d('0x3a')](_['pick'](_0x480726[_0x998d('0x30')],_0x23e4b1[_0x998d('0x3a')]));if(_0x480726[_0x998d('0x30')][_0x998d('0x4d')]){_0x3f4050[_0x998d('0x39')]=_[_0x998d('0x3c')](_0x3f4050[_0x998d('0x39')],{'$or':_[_0x998d('0x2d')](_0x3f4050['attributes'],function(_0x4a45aa){var _0x2f5ca5={};_0x2f5ca5[_0x4a45aa]={'$like':'%'+_0x480726[_0x998d('0x30')][_0x998d('0x4d')]+'%'};return _0x2f5ca5;})});}_0x3f4050=_['merge']({},_0x3f4050,_0x480726[_0x998d('0x45')]);return _0x2c5d64['getDescriptions'](_0x3f4050);}})[_0x998d('0x28')](function(_0x408f5b){if(_0x408f5b){_0x395c0d=_0x408f5b[_0x998d('0x34')];if(!_0x480726[_0x998d('0x30')][_0x998d('0x35')](_0x998d('0x36'))){_0x3f4050[_0x998d('0x22')]=qs[_0x998d('0x22')](_0x480726[_0x998d('0x30')]['limit']);_0x3f4050[_0x998d('0x1f')]=qs[_0x998d('0x1f')](_0x480726[_0x998d('0x30')][_0x998d('0x1f')]);}return _0x2c5d64[_0x998d('0x4f')](_0x3f4050);}})[_0x998d('0x28')](function(_0x1cea13){if(_0x1cea13){return _0x1cea13?{'count':_0x395c0d,'rows':_0x1cea13}:null;}})[_0x998d('0x28')](respondWithResult(_0x3af409,null))['catch'](handleError(_0x3af409,null));};