Built motion from commit bab6f49e.|2.6.17
[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 _0x5789=['rimraf','fast-json-patch','moment','bluebird','mustache','util','path','sox','ejs','fs-extra','lodash','squel','crypto','jsforce','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/license/util','../../mysqldb','sendStatus','status','json','offset','limit','undefined','count','set','Content-Range','apply','reject','save','update','then','stack','name','send','VtigerConfiguration','fieldName','type','key','model','map','query','filters','intersection','fields','attributes','sort','where','filter','merge','VIRTUAL','includeAll','include','findAll','catch','show','params','keys','rawAttributes','length','options','find','create','body','getFields','findOne','VtigerField','order','pick','hasOwnProperty','nolimit','getSubjects','getDescriptions','eml-format'];(function(_0x3826ad,_0x49a30d){var _0x17b900=function(_0x38474f){while(--_0x38474f){_0x3826ad['push'](_0x3826ad['shift']());}};_0x17b900(++_0x49a30d);}(_0x5789,0x137));var _0x9578=function(_0x13d9bf,_0x1f33f6){_0x13d9bf=_0x13d9bf-0x0;var _0xbbb93c=_0x5789[_0x13d9bf];return _0xbbb93c;};'use strict';var emlformat=require(_0x9578('0x0'));var rimraf=require(_0x9578('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x9578('0x2'));var rp=require('request-promise');var moment=require(_0x9578('0x3'));var BPromise=require(_0x9578('0x4'));var Mustache=require(_0x9578('0x5'));var util=require(_0x9578('0x6'));var path=require(_0x9578('0x7'));var sox=require(_0x9578('0x8'));var csv=require('to-csv');var ejs=require(_0x9578('0x9'));var fs=require('fs');var fs_extra=require(_0x9578('0xa'));var _=require(_0x9578('0xb'));var squel=require(_0x9578('0xc'));var crypto=require(_0x9578('0xd'));var jsforce=require(_0x9578('0xe'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x9578('0xf'));var Redis=require(_0x9578('0x10'));var authService=require(_0x9578('0x11'));var qs=require(_0x9578('0x12'));var as=require(_0x9578('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x9578('0x14'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x9578('0x15'));var db=require(_0x9578('0x16'))['db'];function respondWithStatusCode(_0x4e9b72,_0x578221){_0x578221=_0x578221||0xcc;return function(_0xa8f3a7){if(_0xa8f3a7){return _0x4e9b72[_0x9578('0x17')](_0x578221);}return _0x4e9b72[_0x9578('0x18')](_0x578221)['end']();};}function respondWithResult(_0x33ea96,_0x33a29c){_0x33a29c=_0x33a29c||0xc8;return function(_0x5b4f84){if(_0x5b4f84){return _0x33ea96[_0x9578('0x18')](_0x33a29c)[_0x9578('0x19')](_0x5b4f84);}};}function respondWithFilteredResult(_0x161b8,_0x264d6b){return function(_0x4f1198){if(_0x4f1198){var _0x165bd0=typeof _0x264d6b[_0x9578('0x1a')]==='undefined'&&typeof _0x264d6b[_0x9578('0x1b')]===_0x9578('0x1c');var _0xcd4960=_0x4f1198[_0x9578('0x1d')];var _0x241559=_0x165bd0?0x0:_0x264d6b[_0x9578('0x1a')];var _0x220883=_0x165bd0?_0x4f1198[_0x9578('0x1d')]:_0x264d6b[_0x9578('0x1a')]+_0x264d6b[_0x9578('0x1b')];var _0x1de6f5;if(_0x220883>=_0xcd4960){_0x220883=_0xcd4960;_0x1de6f5=0xc8;}else{_0x1de6f5=0xce;}_0x161b8[_0x9578('0x18')](_0x1de6f5);return _0x161b8[_0x9578('0x1e')](_0x9578('0x1f'),_0x241559+'-'+_0x220883+'/'+_0xcd4960)[_0x9578('0x19')](_0x4f1198);}return null;};}function patchUpdates(_0x56690e){return function(_0x5bca82){try{jsonpatch[_0x9578('0x20')](_0x5bca82,_0x56690e,!![]);}catch(_0x2e4910){return BPromise[_0x9578('0x21')](_0x2e4910);}return _0x5bca82[_0x9578('0x22')]();};}function saveUpdates(_0x12eaae,_0xaaf4b4){return function(_0x3afcf6){if(_0x3afcf6){return _0x3afcf6[_0x9578('0x23')](_0x12eaae)[_0x9578('0x24')](function(_0x42d67e){return _0x42d67e;});}return null;};}function removeEntity(_0x213f37,_0x555513){return function(_0x34b864){if(_0x34b864){return _0x34b864['destroy']()[_0x9578('0x24')](function(){_0x213f37[_0x9578('0x18')](0xcc)['end']();});}};}function handleEntityNotFound(_0x45f984,_0x3f1575){return function(_0x12d21e){if(!_0x12d21e){_0x45f984[_0x9578('0x17')](0x194);}return _0x12d21e;};}function handleError(_0x119734,_0x40d163){_0x40d163=_0x40d163||0x1f4;return function(_0x6fcd27){logger['error'](_0x6fcd27[_0x9578('0x25')]);if(_0x6fcd27[_0x9578('0x26')]){delete _0x6fcd27['name'];}_0x119734[_0x9578('0x18')](_0x40d163)[_0x9578('0x27')](_0x6fcd27);};}exports['index']=function(_0x41733c,_0x36635e){var _0x108920={},_0x3818e1={},_0x4d2f68={'count':0x0,'rows':[]};var _0x5da4f9=_['map'](db[_0x9578('0x28')]['rawAttributes'],function(_0x38e0b7){return{'name':_0x38e0b7[_0x9578('0x29')],'type':_0x38e0b7[_0x9578('0x2a')][_0x9578('0x2b')]};});_0x3818e1[_0x9578('0x2c')]=_[_0x9578('0x2d')](_0x5da4f9,_0x9578('0x26'));_0x3818e1[_0x9578('0x2e')]=_['keys'](_0x41733c[_0x9578('0x2e')]);_0x3818e1[_0x9578('0x2f')]=_[_0x9578('0x30')](_0x3818e1[_0x9578('0x2c')],_0x3818e1[_0x9578('0x2e')]);_0x108920['attributes']=_[_0x9578('0x30')](_0x3818e1[_0x9578('0x2c')],qs['fields'](_0x41733c['query'][_0x9578('0x31')]));_0x108920['attributes']=_0x108920['attributes']['length']?_0x108920[_0x9578('0x32')]:_0x3818e1['model'];if(!_0x41733c['query']['hasOwnProperty']('nolimit')){_0x108920[_0x9578('0x1b')]=qs[_0x9578('0x1b')](_0x41733c[_0x9578('0x2e')][_0x9578('0x1b')]);_0x108920[_0x9578('0x1a')]=qs[_0x9578('0x1a')](_0x41733c[_0x9578('0x2e')][_0x9578('0x1a')]);}_0x108920['order']=qs[_0x9578('0x33')](_0x41733c[_0x9578('0x2e')]['sort']);_0x108920[_0x9578('0x34')]=qs['filters'](_['pick'](_0x41733c[_0x9578('0x2e')],_0x3818e1['filters']),_0x5da4f9);if(_0x41733c[_0x9578('0x2e')][_0x9578('0x35')]){_0x108920['where']=_[_0x9578('0x36')](_0x108920[_0x9578('0x34')],{'$or':_[_0x9578('0x2d')](_0x5da4f9,function(_0x3f7fa4){if(_0x3f7fa4[_0x9578('0x2a')]!==_0x9578('0x37')){var _0x3f8d22={};_0x3f8d22[_0x3f7fa4[_0x9578('0x26')]]={'$like':'%'+_0x41733c[_0x9578('0x2e')]['filter']+'%'};return _0x3f8d22;}})});}_0x108920=_[_0x9578('0x36')]({},_0x108920,_0x41733c['options']);var _0x1551c8={'where':_0x108920['where']};return db[_0x9578('0x28')][_0x9578('0x1d')](_0x1551c8)[_0x9578('0x24')](function(_0x146918){_0x4d2f68[_0x9578('0x1d')]=_0x146918;if(_0x41733c['query'][_0x9578('0x38')]){_0x108920[_0x9578('0x39')]=[{'all':!![]}];}return db[_0x9578('0x28')][_0x9578('0x3a')](_0x108920);})['then'](function(_0x3d8ed1){_0x4d2f68['rows']=_0x3d8ed1;return _0x4d2f68;})[_0x9578('0x24')](respondWithFilteredResult(_0x36635e,_0x108920))[_0x9578('0x3b')](handleError(_0x36635e,null));};exports[_0x9578('0x3c')]=function(_0x2252e7,_0x31c529){var _0x408676={'raw':![],'where':{'id':_0x2252e7[_0x9578('0x3d')]['id']}},_0x391022={};_0x391022[_0x9578('0x2c')]=_[_0x9578('0x3e')](db[_0x9578('0x28')][_0x9578('0x3f')]);_0x391022[_0x9578('0x2e')]=_[_0x9578('0x3e')](_0x2252e7[_0x9578('0x2e')]);_0x391022['filters']=_[_0x9578('0x30')](_0x391022[_0x9578('0x2c')],_0x391022[_0x9578('0x2e')]);_0x408676['attributes']=_[_0x9578('0x30')](_0x391022[_0x9578('0x2c')],qs[_0x9578('0x31')](_0x2252e7[_0x9578('0x2e')]['fields']));_0x408676[_0x9578('0x32')]=_0x408676[_0x9578('0x32')][_0x9578('0x40')]?_0x408676[_0x9578('0x32')]:_0x391022[_0x9578('0x2c')];if(_0x2252e7['query'][_0x9578('0x38')]){_0x408676[_0x9578('0x39')]=[{'all':!![]}];}_0x408676=_[_0x9578('0x36')]({},_0x408676,_0x2252e7[_0x9578('0x41')]);return db[_0x9578('0x28')][_0x9578('0x42')](_0x408676)[_0x9578('0x24')](handleEntityNotFound(_0x31c529,null))[_0x9578('0x24')](respondWithResult(_0x31c529,null))[_0x9578('0x3b')](handleError(_0x31c529,null));};exports['create']=function(_0x1ff1df,_0x593f5c){return db[_0x9578('0x28')][_0x9578('0x43')](_0x1ff1df['body'],{})[_0x9578('0x24')](respondWithResult(_0x593f5c,0xc9))['catch'](handleError(_0x593f5c,null));};exports[_0x9578('0x23')]=function(_0x2940ac,_0x588066){if(_0x2940ac[_0x9578('0x44')]['id']){delete _0x2940ac[_0x9578('0x44')]['id'];}return db[_0x9578('0x28')][_0x9578('0x42')]({'where':{'id':_0x2940ac[_0x9578('0x3d')]['id']}})[_0x9578('0x24')](handleEntityNotFound(_0x588066,null))['then'](saveUpdates(_0x2940ac['body'],null))[_0x9578('0x24')](respondWithResult(_0x588066,null))[_0x9578('0x3b')](handleError(_0x588066,null));};exports['destroy']=function(_0x3e7190,_0x264427){return db['VtigerConfiguration'][_0x9578('0x42')]({'where':{'id':_0x3e7190['params']['id']}})[_0x9578('0x24')](handleEntityNotFound(_0x264427,null))[_0x9578('0x24')](removeEntity(_0x264427,null))[_0x9578('0x3b')](handleError(_0x264427,null));};exports[_0x9578('0x45')]=function(_0x3938da,_0xc0b1e6,_0x3e3b3d){var _0x25c1eb={};var _0x1412b4={};var _0x478c8d;var _0x4894eb;return db[_0x9578('0x28')][_0x9578('0x46')]({'where':{'id':_0x3938da[_0x9578('0x3d')]['id']}})[_0x9578('0x24')](handleEntityNotFound(_0xc0b1e6,null))[_0x9578('0x24')](function(_0x44b6aa){if(_0x44b6aa){_0x478c8d=_0x44b6aa;_0x1412b4[_0x9578('0x2c')]=_['keys'](db[_0x9578('0x47')]['rawAttributes']);_0x1412b4['query']=_[_0x9578('0x3e')](_0x3938da[_0x9578('0x2e')]);_0x1412b4['filters']=_['intersection'](_0x1412b4[_0x9578('0x2c')],_0x1412b4[_0x9578('0x2e')]);_0x25c1eb['attributes']=_[_0x9578('0x30')](_0x1412b4[_0x9578('0x2c')],qs['fields'](_0x3938da['query']['fields']));_0x25c1eb[_0x9578('0x32')]=_0x25c1eb[_0x9578('0x32')][_0x9578('0x40')]?_0x25c1eb['attributes']:_0x1412b4['model'];_0x25c1eb[_0x9578('0x48')]=qs[_0x9578('0x33')](_0x3938da['query'][_0x9578('0x33')]);_0x25c1eb[_0x9578('0x34')]=qs[_0x9578('0x2f')](_[_0x9578('0x49')](_0x3938da['query'],_0x1412b4['filters']));if(_0x3938da['query']['filter']){_0x25c1eb['where']=_['merge'](_0x25c1eb[_0x9578('0x34')],{'$or':_['map'](_0x25c1eb['attributes'],function(_0x4d3d50){var _0x49ecf5={};_0x49ecf5[_0x4d3d50]={'$like':'%'+_0x3938da[_0x9578('0x2e')][_0x9578('0x35')]+'%'};return _0x49ecf5;})});}_0x25c1eb=_['merge']({},_0x25c1eb,_0x3938da['options']);return _0x478c8d[_0x9578('0x45')](_0x25c1eb);}})[_0x9578('0x24')](function(_0x436fc3){if(_0x436fc3){_0x4894eb=_0x436fc3[_0x9578('0x40')];if(!_0x3938da[_0x9578('0x2e')][_0x9578('0x4a')](_0x9578('0x4b'))){_0x25c1eb[_0x9578('0x1b')]=qs[_0x9578('0x1b')](_0x3938da[_0x9578('0x2e')][_0x9578('0x1b')]);_0x25c1eb[_0x9578('0x1a')]=qs[_0x9578('0x1a')](_0x3938da['query'][_0x9578('0x1a')]);}return _0x478c8d[_0x9578('0x45')](_0x25c1eb);}})['then'](function(_0x44acdf){if(_0x44acdf){return _0x44acdf?{'count':_0x4894eb,'rows':_0x44acdf}:null;}})[_0x9578('0x24')](respondWithResult(_0xc0b1e6,null))[_0x9578('0x3b')](handleError(_0xc0b1e6,null));};exports[_0x9578('0x4c')]=function(_0x2771f8,_0x4b537b,_0x194a49){var _0x18da2d={};var _0x3ee2d6={};var _0x19e7f9;var _0xb1e69c;return db['VtigerConfiguration'][_0x9578('0x46')]({'where':{'id':_0x2771f8[_0x9578('0x3d')]['id']}})[_0x9578('0x24')](handleEntityNotFound(_0x4b537b,null))[_0x9578('0x24')](function(_0xf921cd){if(_0xf921cd){_0x19e7f9=_0xf921cd;_0x3ee2d6[_0x9578('0x2c')]=_['keys'](db[_0x9578('0x47')][_0x9578('0x3f')]);_0x3ee2d6[_0x9578('0x2e')]=_[_0x9578('0x3e')](_0x2771f8['query']);_0x3ee2d6[_0x9578('0x2f')]=_[_0x9578('0x30')](_0x3ee2d6[_0x9578('0x2c')],_0x3ee2d6[_0x9578('0x2e')]);_0x18da2d[_0x9578('0x32')]=_['intersection'](_0x3ee2d6[_0x9578('0x2c')],qs[_0x9578('0x31')](_0x2771f8[_0x9578('0x2e')][_0x9578('0x31')]));_0x18da2d[_0x9578('0x32')]=_0x18da2d['attributes'][_0x9578('0x40')]?_0x18da2d[_0x9578('0x32')]:_0x3ee2d6[_0x9578('0x2c')];_0x18da2d[_0x9578('0x48')]=qs['sort'](_0x2771f8[_0x9578('0x2e')][_0x9578('0x33')]);_0x18da2d[_0x9578('0x34')]=qs[_0x9578('0x2f')](_[_0x9578('0x49')](_0x2771f8['query'],_0x3ee2d6[_0x9578('0x2f')]));if(_0x2771f8['query'][_0x9578('0x35')]){_0x18da2d[_0x9578('0x34')]=_[_0x9578('0x36')](_0x18da2d[_0x9578('0x34')],{'$or':_[_0x9578('0x2d')](_0x18da2d[_0x9578('0x32')],function(_0x4b26b5){var _0x5a1109={};_0x5a1109[_0x4b26b5]={'$like':'%'+_0x2771f8[_0x9578('0x2e')][_0x9578('0x35')]+'%'};return _0x5a1109;})});}_0x18da2d=_['merge']({},_0x18da2d,_0x2771f8[_0x9578('0x41')]);return _0x19e7f9[_0x9578('0x4c')](_0x18da2d);}})[_0x9578('0x24')](function(_0x24d47b){if(_0x24d47b){_0xb1e69c=_0x24d47b['length'];if(!_0x2771f8[_0x9578('0x2e')][_0x9578('0x4a')]('nolimit')){_0x18da2d['limit']=qs[_0x9578('0x1b')](_0x2771f8['query'][_0x9578('0x1b')]);_0x18da2d[_0x9578('0x1a')]=qs[_0x9578('0x1a')](_0x2771f8['query'][_0x9578('0x1a')]);}return _0x19e7f9[_0x9578('0x4c')](_0x18da2d);}})['then'](function(_0xeda8d7){if(_0xeda8d7){return _0xeda8d7?{'count':_0xb1e69c,'rows':_0xeda8d7}:null;}})[_0x9578('0x24')](respondWithResult(_0x4b537b,null))[_0x9578('0x3b')](handleError(_0x4b537b,null));};exports[_0x9578('0x4d')]=function(_0x2bbcd2,_0x31f1d2,_0x1acb24){var _0x649376={};var _0x26bb9d={};var _0x478314;var _0x58ce10;return db[_0x9578('0x28')][_0x9578('0x46')]({'where':{'id':_0x2bbcd2[_0x9578('0x3d')]['id']}})[_0x9578('0x24')](handleEntityNotFound(_0x31f1d2,null))['then'](function(_0x4eedf2){if(_0x4eedf2){_0x478314=_0x4eedf2;_0x26bb9d['model']=_[_0x9578('0x3e')](db[_0x9578('0x47')][_0x9578('0x3f')]);_0x26bb9d[_0x9578('0x2e')]=_[_0x9578('0x3e')](_0x2bbcd2[_0x9578('0x2e')]);_0x26bb9d['filters']=_['intersection'](_0x26bb9d['model'],_0x26bb9d[_0x9578('0x2e')]);_0x649376[_0x9578('0x32')]=_[_0x9578('0x30')](_0x26bb9d[_0x9578('0x2c')],qs[_0x9578('0x31')](_0x2bbcd2[_0x9578('0x2e')]['fields']));_0x649376[_0x9578('0x32')]=_0x649376[_0x9578('0x32')][_0x9578('0x40')]?_0x649376['attributes']:_0x26bb9d[_0x9578('0x2c')];_0x649376[_0x9578('0x48')]=qs[_0x9578('0x33')](_0x2bbcd2[_0x9578('0x2e')]['sort']);_0x649376[_0x9578('0x34')]=qs[_0x9578('0x2f')](_[_0x9578('0x49')](_0x2bbcd2[_0x9578('0x2e')],_0x26bb9d[_0x9578('0x2f')]));if(_0x2bbcd2[_0x9578('0x2e')][_0x9578('0x35')]){_0x649376[_0x9578('0x34')]=_[_0x9578('0x36')](_0x649376['where'],{'$or':_[_0x9578('0x2d')](_0x649376[_0x9578('0x32')],function(_0x2561d8){var _0xfe5181={};_0xfe5181[_0x2561d8]={'$like':'%'+_0x2bbcd2[_0x9578('0x2e')][_0x9578('0x35')]+'%'};return _0xfe5181;})});}_0x649376=_[_0x9578('0x36')]({},_0x649376,_0x2bbcd2['options']);return _0x478314['getDescriptions'](_0x649376);}})['then'](function(_0x44632d){if(_0x44632d){_0x58ce10=_0x44632d['length'];if(!_0x2bbcd2[_0x9578('0x2e')][_0x9578('0x4a')]('nolimit')){_0x649376[_0x9578('0x1b')]=qs['limit'](_0x2bbcd2['query'][_0x9578('0x1b')]);_0x649376['offset']=qs['offset'](_0x2bbcd2['query'][_0x9578('0x1a')]);}return _0x478314[_0x9578('0x4d')](_0x649376);}})[_0x9578('0x24')](function(_0x296735){if(_0x296735){return _0x296735?{'count':_0x58ce10,'rows':_0x296735}:null;}})[_0x9578('0x24')](respondWithResult(_0x31f1d2,null))[_0x9578('0x3b')](handleError(_0x31f1d2,null));};