dd81796ad54007be85ef67bcb4c633386c220c70
[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 _0x6060=['stack','name','index','map','type','model','query','keys','intersection','fields','attributes','length','hasOwnProperty','nolimit','limit','sort','where','filters','pick','filter','VIRTUAL','merge','options','VtigerConfiguration','includeAll','findAll','rows','params','include','find','create','body','getFields','findOne','VtigerField','rawAttributes','getSubjects','order','html-pdf','eml-format','rimraf','zip-dir','moment','bluebird','mustache','util','lodash','squel','jsforce','desk.js','to-csv','querystring','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','jayson/promise','client','http','request','then','info','VtigerConfiguration,\x20%s,\x20%s','request\x20sent','debug','VtigerConfiguration,\x20%s,\x20%s,\x20%s','stringify','error','message','catch','status','end','count','offset','set','json','save','update','destroy','sendStatus'];(function(_0x1b6842,_0x33a446){var _0x3c1754=function(_0x52a74d){while(--_0x52a74d){_0x1b6842['push'](_0x1b6842['shift']());}};_0x3c1754(++_0x33a446);}(_0x6060,0xd0));var _0x0606=function(_0x44676a,_0x3e7b88){_0x44676a=_0x44676a-0x0;var _0x588695=_0x6060[_0x44676a];return _0x588695;};'use strict';var pdf=require(_0x0606('0x0'));var emlformat=require(_0x0606('0x1'));var rimraf=require(_0x0606('0x2'));var zipdir=require(_0x0606('0x3'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x0606('0x4'));var BPromise=require(_0x0606('0x5'));var Mustache=require(_0x0606('0x6'));var util=require(_0x0606('0x7'));var path=require('path');var sox=require('sox');var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require(_0x0606('0x8'));var squel=require(_0x0606('0x9'));var crypto=require('crypto');var jsforce=require(_0x0606('0xa'));var deskjs=require(_0x0606('0xb'));var toCsv=require(_0x0606('0xc'));var querystring=require(_0x0606('0xd'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x0606('0xe'));var qs=require(_0x0606('0xf'));var as=require(_0x0606('0x10'));var hardwareService=require(_0x0606('0x11'));var logger=require(_0x0606('0x12'))(_0x0606('0x13'));var utils=require('../../config/utils');var config=require(_0x0606('0x14'));var licenseUtil=require(_0x0606('0x15'));var db=require(_0x0606('0x16'))['db'];var jayson=require(_0x0606('0x17'));var client=jayson[_0x0606('0x18')][_0x0606('0x19')]({'port':0x232a});function respondWithRpcPromise(_0x116b4e,_0x50014e,_0xcff9e,_0x534391){return new BPromise(function(_0x30539a,_0x4ac41c){var _0x3ebe0c=_0x534391||client;return _0x3ebe0c[_0x0606('0x1a')](_0x116b4e,_0xcff9e)[_0x0606('0x1b')](function(_0x1f50b1){logger[_0x0606('0x1c')](_0x0606('0x1d'),_0x50014e,_0x0606('0x1e'));logger[_0x0606('0x1f')](_0x0606('0x20'),_0x50014e,_0x0606('0x1e'),JSON[_0x0606('0x21')](_0x1f50b1));if(_0x1f50b1[_0x0606('0x22')]){if(_0x1f50b1[_0x0606('0x22')]['code']===0x1f4){logger[_0x0606('0x22')](_0x0606('0x1d'),_0x50014e,_0x1f50b1['error'][_0x0606('0x23')]);return _0x4ac41c(_0x1f50b1['error'][_0x0606('0x23')]);}logger['error']('VtigerConfiguration,\x20%s,\x20%s',_0x50014e,_0x1f50b1['error'][_0x0606('0x23')]);return _0x30539a(_0x1f50b1[_0x0606('0x22')]['message']);}else{logger[_0x0606('0x1c')](_0x0606('0x1d'),_0x50014e,_0x0606('0x1e'));_0x30539a(_0x1f50b1['result']['message']);}})[_0x0606('0x24')](function(_0x595f4e){logger['error']('VtigerConfiguration,\x20%s,\x20%s',_0x50014e,_0x595f4e);_0x4ac41c(_0x595f4e);});});}function respondWithStatusCode(_0x38f0d0,_0x27d4c9){_0x27d4c9=_0x27d4c9||0xcc;return function(_0x3a255a){if(_0x3a255a){return _0x38f0d0['sendStatus'](_0x27d4c9);}return _0x38f0d0[_0x0606('0x25')](_0x27d4c9)[_0x0606('0x26')]();};}function respondWithResult(_0x3b42fd,_0x1f49a7){_0x1f49a7=_0x1f49a7||0xc8;return function(_0x473a79){if(_0x473a79){return _0x3b42fd[_0x0606('0x25')](_0x1f49a7)['json'](_0x473a79);}};}function respondWithFilteredResult(_0x1774fe,_0x588367){return function(_0x2ef427){if(_0x2ef427){var _0x273413=_0x2ef427[_0x0606('0x27')],_0x5be423=_0x588367[_0x0606('0x28')],_0x12baa2=_0x588367[_0x0606('0x28')]+_0x588367['limit'],_0x33245b;if(_0x12baa2>=_0x273413){_0x12baa2=_0x273413;_0x33245b=0xc8;}else{_0x33245b=0xce;}_0x1774fe[_0x0606('0x25')](_0x33245b);return _0x1774fe[_0x0606('0x29')]('Content-Range',_0x5be423+'-'+_0x12baa2+'/'+_0x273413)[_0x0606('0x2a')](_0x2ef427);}return null;};}function patchUpdates(_0x254388){return function(_0x59788a){try{jsonpatch['apply'](_0x59788a,_0x254388,!![]);}catch(_0x362676){return BPromise['reject'](_0x362676);}return _0x59788a[_0x0606('0x2b')]();};}function saveUpdates(_0x358fc0,_0x250b1a){return function(_0x2261a0){if(_0x2261a0){return _0x2261a0[_0x0606('0x2c')](_0x358fc0)[_0x0606('0x1b')](function(_0x58f744){return _0x58f744;});}return null;};}function removeEntity(_0x339813,_0x33c376){return function(_0x3d7b29){if(_0x3d7b29){return _0x3d7b29[_0x0606('0x2d')]()['then'](function(){_0x339813['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x5f2cf2,_0x3cf3f1){return function(_0x1c9217){if(!_0x1c9217){_0x5f2cf2[_0x0606('0x2e')](0x194);}return _0x1c9217;};}function handleError(_0xe5acd0,_0x38389e){_0x38389e=_0x38389e||0x1f4;return function(_0x2a7841){logger[_0x0606('0x22')](_0x2a7841[_0x0606('0x2f')]);if(_0x2a7841[_0x0606('0x30')]){delete _0x2a7841[_0x0606('0x30')];}_0xe5acd0[_0x0606('0x25')](_0x38389e)['send'](_0x2a7841);};}exports[_0x0606('0x31')]=function(_0x5125d5,_0x5ddbd7){var _0x45d74c={},_0x5e2f68={},_0x2bc3c4={'count':0x0,'rows':[]};var _0xb69286=_[_0x0606('0x32')](db['VtigerConfiguration']['rawAttributes'],function(_0x439861){return{'name':_0x439861['fieldName'],'type':_0x439861[_0x0606('0x33')]['key']};});_0x5e2f68[_0x0606('0x34')]=_['map'](_0xb69286,_0x0606('0x30'));_0x5e2f68[_0x0606('0x35')]=_[_0x0606('0x36')](_0x5125d5['query']);_0x5e2f68['filters']=_[_0x0606('0x37')](_0x5e2f68[_0x0606('0x34')],_0x5e2f68[_0x0606('0x35')]);_0x45d74c['attributes']=_[_0x0606('0x37')](_0x5e2f68['model'],qs[_0x0606('0x38')](_0x5125d5[_0x0606('0x35')]['fields']));_0x45d74c[_0x0606('0x39')]=_0x45d74c[_0x0606('0x39')][_0x0606('0x3a')]?_0x45d74c[_0x0606('0x39')]:_0x5e2f68[_0x0606('0x34')];if(!_0x5125d5[_0x0606('0x35')][_0x0606('0x3b')](_0x0606('0x3c'))){_0x45d74c['limit']=qs['limit'](_0x5125d5[_0x0606('0x35')][_0x0606('0x3d')]);_0x45d74c[_0x0606('0x28')]=qs['offset'](_0x5125d5['query']['offset']);}_0x45d74c['order']=qs[_0x0606('0x3e')](_0x5125d5[_0x0606('0x35')]['sort']);_0x45d74c[_0x0606('0x3f')]=qs[_0x0606('0x40')](_[_0x0606('0x41')](_0x5125d5[_0x0606('0x35')],_0x5e2f68['filters']),_0xb69286);if(_0x5125d5[_0x0606('0x35')][_0x0606('0x42')]){_0x45d74c[_0x0606('0x3f')]=_['merge'](_0x45d74c[_0x0606('0x3f')],{'$or':_[_0x0606('0x32')](_0xb69286,function(_0x5b2c0f){if(_0x5b2c0f[_0x0606('0x33')]!==_0x0606('0x43')){var _0x54cf2d={};_0x54cf2d[_0x5b2c0f[_0x0606('0x30')]]={'$like':'%'+_0x5125d5[_0x0606('0x35')][_0x0606('0x42')]+'%'};return _0x54cf2d;}})});}_0x45d74c=_[_0x0606('0x44')]({},_0x45d74c,_0x5125d5[_0x0606('0x45')]);var _0x4332ba={'where':_0x45d74c[_0x0606('0x3f')]};return db[_0x0606('0x46')][_0x0606('0x27')](_0x4332ba)[_0x0606('0x1b')](function(_0x2cf2b5){_0x2bc3c4[_0x0606('0x27')]=_0x2cf2b5;if(_0x5125d5[_0x0606('0x35')][_0x0606('0x47')]){_0x45d74c['include']=[{'all':!![]}];}return db[_0x0606('0x46')][_0x0606('0x48')](_0x45d74c);})[_0x0606('0x1b')](function(_0x25d6ac){_0x2bc3c4[_0x0606('0x49')]=_0x25d6ac;return _0x2bc3c4;})['then'](respondWithFilteredResult(_0x5ddbd7,_0x45d74c))['catch'](handleError(_0x5ddbd7,null));};exports['show']=function(_0x1a6251,_0x28a853){var _0x5be47d={'raw':![],'where':{'id':_0x1a6251[_0x0606('0x4a')]['id']}},_0x2f8f0c={};_0x2f8f0c[_0x0606('0x34')]=_[_0x0606('0x36')](db[_0x0606('0x46')]['rawAttributes']);_0x2f8f0c[_0x0606('0x35')]=_[_0x0606('0x36')](_0x1a6251['query']);_0x2f8f0c[_0x0606('0x40')]=_['intersection'](_0x2f8f0c[_0x0606('0x34')],_0x2f8f0c[_0x0606('0x35')]);_0x5be47d[_0x0606('0x39')]=_[_0x0606('0x37')](_0x2f8f0c[_0x0606('0x34')],qs[_0x0606('0x38')](_0x1a6251[_0x0606('0x35')][_0x0606('0x38')]));_0x5be47d[_0x0606('0x39')]=_0x5be47d[_0x0606('0x39')][_0x0606('0x3a')]?_0x5be47d[_0x0606('0x39')]:_0x2f8f0c[_0x0606('0x34')];if(_0x1a6251[_0x0606('0x35')][_0x0606('0x47')]){_0x5be47d[_0x0606('0x4b')]=[{'all':!![]}];}_0x5be47d=_[_0x0606('0x44')]({},_0x5be47d,_0x1a6251[_0x0606('0x45')]);return db[_0x0606('0x46')][_0x0606('0x4c')](_0x5be47d)['then'](handleEntityNotFound(_0x28a853,null))['then'](respondWithResult(_0x28a853,null))[_0x0606('0x24')](handleError(_0x28a853,null));};exports[_0x0606('0x4d')]=function(_0x330d53,_0x2232ae){return db[_0x0606('0x46')]['create'](_0x330d53[_0x0606('0x4e')],{})[_0x0606('0x1b')](respondWithResult(_0x2232ae,0xc9))['catch'](handleError(_0x2232ae,null));};exports[_0x0606('0x2c')]=function(_0x9e72d8,_0x550bf9){if(_0x9e72d8[_0x0606('0x4e')]['id']){delete _0x9e72d8[_0x0606('0x4e')]['id'];}return db[_0x0606('0x46')][_0x0606('0x4c')]({'where':{'id':_0x9e72d8['params']['id']}})[_0x0606('0x1b')](handleEntityNotFound(_0x550bf9,null))[_0x0606('0x1b')](saveUpdates(_0x9e72d8[_0x0606('0x4e')],null))['then'](respondWithResult(_0x550bf9,null))[_0x0606('0x24')](handleError(_0x550bf9,null));};exports[_0x0606('0x2d')]=function(_0x411660,_0x47df75){return db[_0x0606('0x46')][_0x0606('0x4c')]({'where':{'id':_0x411660[_0x0606('0x4a')]['id']}})['then'](handleEntityNotFound(_0x47df75,null))[_0x0606('0x1b')](removeEntity(_0x47df75,null))['catch'](handleError(_0x47df75,null));};exports[_0x0606('0x4f')]=function(_0x25aed9,_0x156394,_0x43051a){var _0x443e79={};var _0x2301ab={};var _0x55a053;var _0x2fdecd;return db[_0x0606('0x46')][_0x0606('0x50')]({'where':{'id':_0x25aed9[_0x0606('0x4a')]['id']}})['then'](handleEntityNotFound(_0x156394,null))['then'](function(_0x159c72){if(_0x159c72){_0x55a053=_0x159c72;_0x2301ab['model']=_['keys'](db[_0x0606('0x51')][_0x0606('0x52')]);_0x2301ab[_0x0606('0x35')]=_['keys'](_0x25aed9[_0x0606('0x35')]);_0x2301ab['filters']=_['intersection'](_0x2301ab[_0x0606('0x34')],_0x2301ab[_0x0606('0x35')]);_0x443e79[_0x0606('0x39')]=_['intersection'](_0x2301ab[_0x0606('0x34')],qs['fields'](_0x25aed9[_0x0606('0x35')][_0x0606('0x38')]));_0x443e79[_0x0606('0x39')]=_0x443e79[_0x0606('0x39')][_0x0606('0x3a')]?_0x443e79[_0x0606('0x39')]:_0x2301ab[_0x0606('0x34')];_0x443e79['order']=qs[_0x0606('0x3e')](_0x25aed9[_0x0606('0x35')]['sort']);_0x443e79[_0x0606('0x3f')]=qs[_0x0606('0x40')](_['pick'](_0x25aed9[_0x0606('0x35')],_0x2301ab[_0x0606('0x40')]));if(_0x25aed9['query'][_0x0606('0x42')]){_0x443e79[_0x0606('0x3f')]=_['merge'](_0x443e79[_0x0606('0x3f')],{'$or':_['map'](_0x443e79['attributes'],function(_0xc11a45){var _0x5d5dc3={};_0x5d5dc3[_0xc11a45]={'$like':'%'+_0x25aed9['query'][_0x0606('0x42')]+'%'};return _0x5d5dc3;})});}_0x443e79=_[_0x0606('0x44')]({},_0x443e79,_0x25aed9['options']);return _0x55a053[_0x0606('0x4f')](_0x443e79);}})[_0x0606('0x1b')](function(_0x3affeb){if(_0x3affeb){_0x2fdecd=_0x3affeb['length'];if(!_0x25aed9[_0x0606('0x35')]['hasOwnProperty']('nolimit')){_0x443e79[_0x0606('0x3d')]=qs[_0x0606('0x3d')](_0x25aed9[_0x0606('0x35')]['limit']);_0x443e79['offset']=qs[_0x0606('0x28')](_0x25aed9[_0x0606('0x35')]['offset']);}return _0x55a053['getFields'](_0x443e79);}})[_0x0606('0x1b')](function(_0x310460){if(_0x310460){return _0x310460?{'count':_0x2fdecd,'rows':_0x310460}:null;}})[_0x0606('0x1b')](respondWithResult(_0x156394,null))[_0x0606('0x24')](handleError(_0x156394,null));};exports[_0x0606('0x53')]=function(_0xeb10f0,_0x256252,_0x45a52e){var _0x2816eb={};var _0x1f7d97={};var _0x2bafdc;var _0x1cc21d;return db[_0x0606('0x46')][_0x0606('0x50')]({'where':{'id':_0xeb10f0[_0x0606('0x4a')]['id']}})['then'](handleEntityNotFound(_0x256252,null))[_0x0606('0x1b')](function(_0x3d02b4){if(_0x3d02b4){_0x2bafdc=_0x3d02b4;_0x1f7d97[_0x0606('0x34')]=_[_0x0606('0x36')](db[_0x0606('0x51')]['rawAttributes']);_0x1f7d97[_0x0606('0x35')]=_['keys'](_0xeb10f0[_0x0606('0x35')]);_0x1f7d97[_0x0606('0x40')]=_[_0x0606('0x37')](_0x1f7d97[_0x0606('0x34')],_0x1f7d97[_0x0606('0x35')]);_0x2816eb[_0x0606('0x39')]=_[_0x0606('0x37')](_0x1f7d97[_0x0606('0x34')],qs[_0x0606('0x38')](_0xeb10f0[_0x0606('0x35')][_0x0606('0x38')]));_0x2816eb[_0x0606('0x39')]=_0x2816eb[_0x0606('0x39')]['length']?_0x2816eb[_0x0606('0x39')]:_0x1f7d97[_0x0606('0x34')];_0x2816eb[_0x0606('0x54')]=qs[_0x0606('0x3e')](_0xeb10f0[_0x0606('0x35')]['sort']);_0x2816eb[_0x0606('0x3f')]=qs['filters'](_[_0x0606('0x41')](_0xeb10f0[_0x0606('0x35')],_0x1f7d97[_0x0606('0x40')]));if(_0xeb10f0[_0x0606('0x35')][_0x0606('0x42')]){_0x2816eb[_0x0606('0x3f')]=_[_0x0606('0x44')](_0x2816eb[_0x0606('0x3f')],{'$or':_['map'](_0x2816eb[_0x0606('0x39')],function(_0x49ddf3){var _0x21e1f6={};_0x21e1f6[_0x49ddf3]={'$like':'%'+_0xeb10f0['query']['filter']+'%'};return _0x21e1f6;})});}_0x2816eb=_[_0x0606('0x44')]({},_0x2816eb,_0xeb10f0[_0x0606('0x45')]);return _0x2bafdc[_0x0606('0x53')](_0x2816eb);}})[_0x0606('0x1b')](function(_0x1b847f){if(_0x1b847f){_0x1cc21d=_0x1b847f[_0x0606('0x3a')];if(!_0xeb10f0[_0x0606('0x35')][_0x0606('0x3b')]('nolimit')){_0x2816eb[_0x0606('0x3d')]=qs[_0x0606('0x3d')](_0xeb10f0[_0x0606('0x35')][_0x0606('0x3d')]);_0x2816eb[_0x0606('0x28')]=qs[_0x0606('0x28')](_0xeb10f0[_0x0606('0x35')][_0x0606('0x28')]);}return _0x2bafdc[_0x0606('0x53')](_0x2816eb);}})[_0x0606('0x1b')](function(_0x2b8a5d){if(_0x2b8a5d){return _0x2b8a5d?{'count':_0x1cc21d,'rows':_0x2b8a5d}:null;}})[_0x0606('0x1b')](respondWithResult(_0x256252,null))[_0x0606('0x24')](handleError(_0x256252,null));};exports['getDescriptions']=function(_0x5282b7,_0x45f99a,_0xd34131){var _0x24db5b={};var _0x3f5884={};var _0x575357;var _0xd920c3;return db[_0x0606('0x46')]['findOne']({'where':{'id':_0x5282b7['params']['id']}})[_0x0606('0x1b')](handleEntityNotFound(_0x45f99a,null))['then'](function(_0xf1d4eb){if(_0xf1d4eb){_0x575357=_0xf1d4eb;_0x3f5884['model']=_['keys'](db[_0x0606('0x51')][_0x0606('0x52')]);_0x3f5884[_0x0606('0x35')]=_[_0x0606('0x36')](_0x5282b7[_0x0606('0x35')]);_0x3f5884[_0x0606('0x40')]=_[_0x0606('0x37')](_0x3f5884[_0x0606('0x34')],_0x3f5884['query']);_0x24db5b[_0x0606('0x39')]=_[_0x0606('0x37')](_0x3f5884[_0x0606('0x34')],qs['fields'](_0x5282b7[_0x0606('0x35')][_0x0606('0x38')]));_0x24db5b['attributes']=_0x24db5b[_0x0606('0x39')][_0x0606('0x3a')]?_0x24db5b[_0x0606('0x39')]:_0x3f5884[_0x0606('0x34')];_0x24db5b[_0x0606('0x54')]=qs[_0x0606('0x3e')](_0x5282b7[_0x0606('0x35')]['sort']);_0x24db5b[_0x0606('0x3f')]=qs[_0x0606('0x40')](_['pick'](_0x5282b7[_0x0606('0x35')],_0x3f5884[_0x0606('0x40')]));if(_0x5282b7[_0x0606('0x35')][_0x0606('0x42')]){_0x24db5b[_0x0606('0x3f')]=_[_0x0606('0x44')](_0x24db5b[_0x0606('0x3f')],{'$or':_[_0x0606('0x32')](_0x24db5b[_0x0606('0x39')],function(_0x2aad28){var _0x1c0179={};_0x1c0179[_0x2aad28]={'$like':'%'+_0x5282b7[_0x0606('0x35')][_0x0606('0x42')]+'%'};return _0x1c0179;})});}_0x24db5b=_[_0x0606('0x44')]({},_0x24db5b,_0x5282b7[_0x0606('0x45')]);return _0x575357['getDescriptions'](_0x24db5b);}})[_0x0606('0x1b')](function(_0x4fce4c){if(_0x4fce4c){_0xd920c3=_0x4fce4c[_0x0606('0x3a')];if(!_0x5282b7['query'][_0x0606('0x3b')]('nolimit')){_0x24db5b[_0x0606('0x3d')]=qs[_0x0606('0x3d')](_0x5282b7['query']['limit']);_0x24db5b[_0x0606('0x28')]=qs[_0x0606('0x28')](_0x5282b7[_0x0606('0x35')]['offset']);}return _0x575357['getDescriptions'](_0x24db5b);}})[_0x0606('0x1b')](function(_0x2a36ee){if(_0x2a36ee){return _0x2a36ee?{'count':_0xd920c3,'rows':_0x2a36ee}:null;}})['then'](respondWithResult(_0x45f99a,null))[_0x0606('0x24')](handleError(_0x45f99a,null));};