Built motion from commit 43538d75.|2.5.35
[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 _0x0c4a=['index','map','VtigerConfiguration','rawAttributes','type','key','model','keys','query','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','pick','filters','filter','merge','VIRTUAL','includeAll','include','findAll','rows','catch','show','length','find','body','params','getFields','VtigerField','options','getSubjects','findOne','getDescriptions','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','path','sox','to-csv','fs-extra','squel','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','end','status','json','offset','undefined','count','limit','Content-Range','reject','save','update','then','destroy','stack','name','send'];(function(_0xba8d0c,_0x5d9745){var _0x2a6bbd=function(_0x11072a){while(--_0x11072a){_0xba8d0c['push'](_0xba8d0c['shift']());}};_0x2a6bbd(++_0x5d9745);}(_0x0c4a,0xbc));var _0xa0c4=function(_0x4a765a,_0x2321ae){_0x4a765a=_0x4a765a-0x0;var _0x49a618=_0x0c4a[_0x4a765a];return _0x49a618;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xa0c4('0x0'));var zipdir=require(_0xa0c4('0x1'));var jsonpatch=require(_0xa0c4('0x2'));var rp=require('request-promise');var moment=require(_0xa0c4('0x3'));var BPromise=require(_0xa0c4('0x4'));var Mustache=require(_0xa0c4('0x5'));var util=require('util');var path=require(_0xa0c4('0x6'));var sox=require(_0xa0c4('0x7'));var csv=require(_0xa0c4('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xa0c4('0x9'));var _=require('lodash');var squel=require(_0xa0c4('0xa'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0xa0c4('0xb'));var toCsv=require(_0xa0c4('0x8'));var querystring=require('querystring');var Papa=require(_0xa0c4('0xc'));var Redis=require(_0xa0c4('0xd'));var authService=require(_0xa0c4('0xe'));var qs=require(_0xa0c4('0xf'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0xa0c4('0x10'))(_0xa0c4('0x11'));var utils=require(_0xa0c4('0x12'));var config=require(_0xa0c4('0x13'));var licenseUtil=require(_0xa0c4('0x14'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x329c86,_0x53cfa5){_0x53cfa5=_0x53cfa5||0xcc;return function(_0x183f18){if(_0x183f18){return _0x329c86['sendStatus'](_0x53cfa5);}return _0x329c86['status'](_0x53cfa5)[_0xa0c4('0x15')]();};}function respondWithResult(_0x541e7b,_0x2da2d4){_0x2da2d4=_0x2da2d4||0xc8;return function(_0xafca0a){if(_0xafca0a){return _0x541e7b[_0xa0c4('0x16')](_0x2da2d4)[_0xa0c4('0x17')](_0xafca0a);}};}function respondWithFilteredResult(_0x2e102c,_0x2292b9){return function(_0x6e1146){if(_0x6e1146){var _0x5019d2=typeof _0x2292b9[_0xa0c4('0x18')]==='undefined'&&typeof _0x2292b9['limit']===_0xa0c4('0x19');var _0x3aa9d1=_0x6e1146[_0xa0c4('0x1a')];var _0x3a36eb=_0x5019d2?0x0:_0x2292b9['offset'];var _0x115613=_0x5019d2?_0x6e1146[_0xa0c4('0x1a')]:_0x2292b9[_0xa0c4('0x18')]+_0x2292b9[_0xa0c4('0x1b')];var _0x2f828e;if(_0x115613>=_0x3aa9d1){_0x115613=_0x3aa9d1;_0x2f828e=0xc8;}else{_0x2f828e=0xce;}_0x2e102c[_0xa0c4('0x16')](_0x2f828e);return _0x2e102c['set'](_0xa0c4('0x1c'),_0x3a36eb+'-'+_0x115613+'/'+_0x3aa9d1)[_0xa0c4('0x17')](_0x6e1146);}return null;};}function patchUpdates(_0x2f9985){return function(_0x498ba7){try{jsonpatch['apply'](_0x498ba7,_0x2f9985,!![]);}catch(_0xb80176){return BPromise[_0xa0c4('0x1d')](_0xb80176);}return _0x498ba7[_0xa0c4('0x1e')]();};}function saveUpdates(_0xd732e9,_0x2b230b){return function(_0x88d50f){if(_0x88d50f){return _0x88d50f[_0xa0c4('0x1f')](_0xd732e9)[_0xa0c4('0x20')](function(_0x26949a){return _0x26949a;});}return null;};}function removeEntity(_0x1077d4,_0x35689f){return function(_0x1c8174){if(_0x1c8174){return _0x1c8174[_0xa0c4('0x21')]()[_0xa0c4('0x20')](function(){_0x1077d4[_0xa0c4('0x16')](0xcc)[_0xa0c4('0x15')]();});}};}function handleEntityNotFound(_0x584e46,_0x355131){return function(_0x45933f){if(!_0x45933f){_0x584e46['sendStatus'](0x194);}return _0x45933f;};}function handleError(_0x321dbb,_0x499732){_0x499732=_0x499732||0x1f4;return function(_0x59f636){logger['error'](_0x59f636[_0xa0c4('0x22')]);if(_0x59f636[_0xa0c4('0x23')]){delete _0x59f636['name'];}_0x321dbb[_0xa0c4('0x16')](_0x499732)[_0xa0c4('0x24')](_0x59f636);};}exports[_0xa0c4('0x25')]=function(_0x252447,_0x348b47){var _0x14c2af={},_0xddb558={},_0x240690={'count':0x0,'rows':[]};var _0xe2e1ba=_[_0xa0c4('0x26')](db[_0xa0c4('0x27')][_0xa0c4('0x28')],function(_0x3b8109){return{'name':_0x3b8109['fieldName'],'type':_0x3b8109[_0xa0c4('0x29')][_0xa0c4('0x2a')]};});_0xddb558[_0xa0c4('0x2b')]=_[_0xa0c4('0x26')](_0xe2e1ba,_0xa0c4('0x23'));_0xddb558['query']=_[_0xa0c4('0x2c')](_0x252447[_0xa0c4('0x2d')]);_0xddb558['filters']=_[_0xa0c4('0x2e')](_0xddb558[_0xa0c4('0x2b')],_0xddb558[_0xa0c4('0x2d')]);_0x14c2af[_0xa0c4('0x2f')]=_[_0xa0c4('0x2e')](_0xddb558[_0xa0c4('0x2b')],qs[_0xa0c4('0x30')](_0x252447[_0xa0c4('0x2d')][_0xa0c4('0x30')]));_0x14c2af[_0xa0c4('0x2f')]=_0x14c2af[_0xa0c4('0x2f')]['length']?_0x14c2af[_0xa0c4('0x2f')]:_0xddb558[_0xa0c4('0x2b')];if(!_0x252447[_0xa0c4('0x2d')][_0xa0c4('0x31')](_0xa0c4('0x32'))){_0x14c2af[_0xa0c4('0x1b')]=qs[_0xa0c4('0x1b')](_0x252447[_0xa0c4('0x2d')][_0xa0c4('0x1b')]);_0x14c2af['offset']=qs['offset'](_0x252447[_0xa0c4('0x2d')][_0xa0c4('0x18')]);}_0x14c2af[_0xa0c4('0x33')]=qs[_0xa0c4('0x34')](_0x252447[_0xa0c4('0x2d')][_0xa0c4('0x34')]);_0x14c2af[_0xa0c4('0x35')]=qs['filters'](_[_0xa0c4('0x36')](_0x252447[_0xa0c4('0x2d')],_0xddb558[_0xa0c4('0x37')]),_0xe2e1ba);if(_0x252447[_0xa0c4('0x2d')][_0xa0c4('0x38')]){_0x14c2af['where']=_[_0xa0c4('0x39')](_0x14c2af[_0xa0c4('0x35')],{'$or':_[_0xa0c4('0x26')](_0xe2e1ba,function(_0x2ad5e0){if(_0x2ad5e0[_0xa0c4('0x29')]!==_0xa0c4('0x3a')){var _0x86a610={};_0x86a610[_0x2ad5e0[_0xa0c4('0x23')]]={'$like':'%'+_0x252447[_0xa0c4('0x2d')][_0xa0c4('0x38')]+'%'};return _0x86a610;}})});}_0x14c2af=_[_0xa0c4('0x39')]({},_0x14c2af,_0x252447['options']);var _0x45fb81={'where':_0x14c2af[_0xa0c4('0x35')]};return db[_0xa0c4('0x27')][_0xa0c4('0x1a')](_0x45fb81)['then'](function(_0x9fd8c7){_0x240690['count']=_0x9fd8c7;if(_0x252447['query'][_0xa0c4('0x3b')]){_0x14c2af[_0xa0c4('0x3c')]=[{'all':!![]}];}return db['VtigerConfiguration'][_0xa0c4('0x3d')](_0x14c2af);})[_0xa0c4('0x20')](function(_0xf74b18){_0x240690[_0xa0c4('0x3e')]=_0xf74b18;return _0x240690;})[_0xa0c4('0x20')](respondWithFilteredResult(_0x348b47,_0x14c2af))[_0xa0c4('0x3f')](handleError(_0x348b47,null));};exports[_0xa0c4('0x40')]=function(_0x1336a3,_0xe5cc55){var _0x438915={'raw':![],'where':{'id':_0x1336a3['params']['id']}},_0x29c1da={};_0x29c1da[_0xa0c4('0x2b')]=_[_0xa0c4('0x2c')](db[_0xa0c4('0x27')][_0xa0c4('0x28')]);_0x29c1da[_0xa0c4('0x2d')]=_[_0xa0c4('0x2c')](_0x1336a3[_0xa0c4('0x2d')]);_0x29c1da[_0xa0c4('0x37')]=_['intersection'](_0x29c1da[_0xa0c4('0x2b')],_0x29c1da[_0xa0c4('0x2d')]);_0x438915['attributes']=_[_0xa0c4('0x2e')](_0x29c1da[_0xa0c4('0x2b')],qs['fields'](_0x1336a3['query'][_0xa0c4('0x30')]));_0x438915[_0xa0c4('0x2f')]=_0x438915[_0xa0c4('0x2f')][_0xa0c4('0x41')]?_0x438915[_0xa0c4('0x2f')]:_0x29c1da[_0xa0c4('0x2b')];if(_0x1336a3[_0xa0c4('0x2d')][_0xa0c4('0x3b')]){_0x438915[_0xa0c4('0x3c')]=[{'all':!![]}];}_0x438915=_[_0xa0c4('0x39')]({},_0x438915,_0x1336a3['options']);return db[_0xa0c4('0x27')][_0xa0c4('0x42')](_0x438915)['then'](handleEntityNotFound(_0xe5cc55,null))[_0xa0c4('0x20')](respondWithResult(_0xe5cc55,null))[_0xa0c4('0x3f')](handleError(_0xe5cc55,null));};exports['create']=function(_0x3d01f6,_0xbe6fe2){return db[_0xa0c4('0x27')]['create'](_0x3d01f6[_0xa0c4('0x43')],{})['then'](respondWithResult(_0xbe6fe2,0xc9))[_0xa0c4('0x3f')](handleError(_0xbe6fe2,null));};exports['update']=function(_0x5e41c6,_0x19fb88){if(_0x5e41c6[_0xa0c4('0x43')]['id']){delete _0x5e41c6[_0xa0c4('0x43')]['id'];}return db['VtigerConfiguration'][_0xa0c4('0x42')]({'where':{'id':_0x5e41c6[_0xa0c4('0x44')]['id']}})['then'](handleEntityNotFound(_0x19fb88,null))[_0xa0c4('0x20')](saveUpdates(_0x5e41c6[_0xa0c4('0x43')],null))[_0xa0c4('0x20')](respondWithResult(_0x19fb88,null))['catch'](handleError(_0x19fb88,null));};exports['destroy']=function(_0x29cbc0,_0x26b94a){return db[_0xa0c4('0x27')]['find']({'where':{'id':_0x29cbc0['params']['id']}})[_0xa0c4('0x20')](handleEntityNotFound(_0x26b94a,null))[_0xa0c4('0x20')](removeEntity(_0x26b94a,null))[_0xa0c4('0x3f')](handleError(_0x26b94a,null));};exports[_0xa0c4('0x45')]=function(_0x4c329d,_0x28b390,_0x2826f3){var _0x4bcfd3={};var _0x5acd7e={};var _0x586ed3;var _0x3bf9c4;return db[_0xa0c4('0x27')]['findOne']({'where':{'id':_0x4c329d[_0xa0c4('0x44')]['id']}})['then'](handleEntityNotFound(_0x28b390,null))[_0xa0c4('0x20')](function(_0x17aefd){if(_0x17aefd){_0x586ed3=_0x17aefd;_0x5acd7e['model']=_[_0xa0c4('0x2c')](db[_0xa0c4('0x46')][_0xa0c4('0x28')]);_0x5acd7e[_0xa0c4('0x2d')]=_['keys'](_0x4c329d[_0xa0c4('0x2d')]);_0x5acd7e[_0xa0c4('0x37')]=_[_0xa0c4('0x2e')](_0x5acd7e[_0xa0c4('0x2b')],_0x5acd7e[_0xa0c4('0x2d')]);_0x4bcfd3[_0xa0c4('0x2f')]=_[_0xa0c4('0x2e')](_0x5acd7e['model'],qs[_0xa0c4('0x30')](_0x4c329d[_0xa0c4('0x2d')][_0xa0c4('0x30')]));_0x4bcfd3[_0xa0c4('0x2f')]=_0x4bcfd3[_0xa0c4('0x2f')][_0xa0c4('0x41')]?_0x4bcfd3[_0xa0c4('0x2f')]:_0x5acd7e[_0xa0c4('0x2b')];_0x4bcfd3['order']=qs[_0xa0c4('0x34')](_0x4c329d[_0xa0c4('0x2d')][_0xa0c4('0x34')]);_0x4bcfd3['where']=qs['filters'](_[_0xa0c4('0x36')](_0x4c329d[_0xa0c4('0x2d')],_0x5acd7e[_0xa0c4('0x37')]));if(_0x4c329d[_0xa0c4('0x2d')][_0xa0c4('0x38')]){_0x4bcfd3['where']=_[_0xa0c4('0x39')](_0x4bcfd3[_0xa0c4('0x35')],{'$or':_[_0xa0c4('0x26')](_0x4bcfd3['attributes'],function(_0x3584ae){var _0x48dcd5={};_0x48dcd5[_0x3584ae]={'$like':'%'+_0x4c329d[_0xa0c4('0x2d')]['filter']+'%'};return _0x48dcd5;})});}_0x4bcfd3=_['merge']({},_0x4bcfd3,_0x4c329d[_0xa0c4('0x47')]);return _0x586ed3[_0xa0c4('0x45')](_0x4bcfd3);}})[_0xa0c4('0x20')](function(_0x2dc255){if(_0x2dc255){_0x3bf9c4=_0x2dc255['length'];if(!_0x4c329d['query'][_0xa0c4('0x31')]('nolimit')){_0x4bcfd3[_0xa0c4('0x1b')]=qs[_0xa0c4('0x1b')](_0x4c329d['query'][_0xa0c4('0x1b')]);_0x4bcfd3[_0xa0c4('0x18')]=qs[_0xa0c4('0x18')](_0x4c329d['query']['offset']);}return _0x586ed3[_0xa0c4('0x45')](_0x4bcfd3);}})[_0xa0c4('0x20')](function(_0xaa971e){if(_0xaa971e){return _0xaa971e?{'count':_0x3bf9c4,'rows':_0xaa971e}:null;}})[_0xa0c4('0x20')](respondWithResult(_0x28b390,null))[_0xa0c4('0x3f')](handleError(_0x28b390,null));};exports[_0xa0c4('0x48')]=function(_0x5f510f,_0xf32df,_0x375615){var _0x257975={};var _0x9e1857={};var _0x2f4a53;var _0x5634fc;return db[_0xa0c4('0x27')][_0xa0c4('0x49')]({'where':{'id':_0x5f510f[_0xa0c4('0x44')]['id']}})[_0xa0c4('0x20')](handleEntityNotFound(_0xf32df,null))['then'](function(_0x41ad8f){if(_0x41ad8f){_0x2f4a53=_0x41ad8f;_0x9e1857[_0xa0c4('0x2b')]=_['keys'](db[_0xa0c4('0x46')][_0xa0c4('0x28')]);_0x9e1857[_0xa0c4('0x2d')]=_[_0xa0c4('0x2c')](_0x5f510f[_0xa0c4('0x2d')]);_0x9e1857['filters']=_[_0xa0c4('0x2e')](_0x9e1857[_0xa0c4('0x2b')],_0x9e1857[_0xa0c4('0x2d')]);_0x257975['attributes']=_[_0xa0c4('0x2e')](_0x9e1857[_0xa0c4('0x2b')],qs[_0xa0c4('0x30')](_0x5f510f[_0xa0c4('0x2d')][_0xa0c4('0x30')]));_0x257975[_0xa0c4('0x2f')]=_0x257975[_0xa0c4('0x2f')][_0xa0c4('0x41')]?_0x257975[_0xa0c4('0x2f')]:_0x9e1857[_0xa0c4('0x2b')];_0x257975[_0xa0c4('0x33')]=qs[_0xa0c4('0x34')](_0x5f510f['query']['sort']);_0x257975['where']=qs['filters'](_[_0xa0c4('0x36')](_0x5f510f['query'],_0x9e1857[_0xa0c4('0x37')]));if(_0x5f510f[_0xa0c4('0x2d')][_0xa0c4('0x38')]){_0x257975[_0xa0c4('0x35')]=_[_0xa0c4('0x39')](_0x257975['where'],{'$or':_['map'](_0x257975[_0xa0c4('0x2f')],function(_0x4a21f6){var _0x572e6e={};_0x572e6e[_0x4a21f6]={'$like':'%'+_0x5f510f[_0xa0c4('0x2d')][_0xa0c4('0x38')]+'%'};return _0x572e6e;})});}_0x257975=_[_0xa0c4('0x39')]({},_0x257975,_0x5f510f[_0xa0c4('0x47')]);return _0x2f4a53['getSubjects'](_0x257975);}})[_0xa0c4('0x20')](function(_0x494468){if(_0x494468){_0x5634fc=_0x494468[_0xa0c4('0x41')];if(!_0x5f510f[_0xa0c4('0x2d')][_0xa0c4('0x31')](_0xa0c4('0x32'))){_0x257975[_0xa0c4('0x1b')]=qs[_0xa0c4('0x1b')](_0x5f510f['query'][_0xa0c4('0x1b')]);_0x257975[_0xa0c4('0x18')]=qs[_0xa0c4('0x18')](_0x5f510f[_0xa0c4('0x2d')][_0xa0c4('0x18')]);}return _0x2f4a53[_0xa0c4('0x48')](_0x257975);}})[_0xa0c4('0x20')](function(_0x4a9e0f){if(_0x4a9e0f){return _0x4a9e0f?{'count':_0x5634fc,'rows':_0x4a9e0f}:null;}})[_0xa0c4('0x20')](respondWithResult(_0xf32df,null))['catch'](handleError(_0xf32df,null));};exports['getDescriptions']=function(_0x2c9f0a,_0x177897,_0x5454e8){var _0x4b38af={};var _0x21a392={};var _0x3fb8ec;var _0x63979;return db[_0xa0c4('0x27')][_0xa0c4('0x49')]({'where':{'id':_0x2c9f0a[_0xa0c4('0x44')]['id']}})[_0xa0c4('0x20')](handleEntityNotFound(_0x177897,null))[_0xa0c4('0x20')](function(_0x7bd12d){if(_0x7bd12d){_0x3fb8ec=_0x7bd12d;_0x21a392[_0xa0c4('0x2b')]=_[_0xa0c4('0x2c')](db['VtigerField'][_0xa0c4('0x28')]);_0x21a392[_0xa0c4('0x2d')]=_[_0xa0c4('0x2c')](_0x2c9f0a['query']);_0x21a392[_0xa0c4('0x37')]=_['intersection'](_0x21a392[_0xa0c4('0x2b')],_0x21a392[_0xa0c4('0x2d')]);_0x4b38af[_0xa0c4('0x2f')]=_[_0xa0c4('0x2e')](_0x21a392[_0xa0c4('0x2b')],qs[_0xa0c4('0x30')](_0x2c9f0a[_0xa0c4('0x2d')][_0xa0c4('0x30')]));_0x4b38af[_0xa0c4('0x2f')]=_0x4b38af[_0xa0c4('0x2f')][_0xa0c4('0x41')]?_0x4b38af[_0xa0c4('0x2f')]:_0x21a392[_0xa0c4('0x2b')];_0x4b38af[_0xa0c4('0x33')]=qs[_0xa0c4('0x34')](_0x2c9f0a[_0xa0c4('0x2d')][_0xa0c4('0x34')]);_0x4b38af[_0xa0c4('0x35')]=qs[_0xa0c4('0x37')](_[_0xa0c4('0x36')](_0x2c9f0a[_0xa0c4('0x2d')],_0x21a392['filters']));if(_0x2c9f0a['query'][_0xa0c4('0x38')]){_0x4b38af[_0xa0c4('0x35')]=_[_0xa0c4('0x39')](_0x4b38af['where'],{'$or':_[_0xa0c4('0x26')](_0x4b38af[_0xa0c4('0x2f')],function(_0x3930e6){var _0x229940={};_0x229940[_0x3930e6]={'$like':'%'+_0x2c9f0a[_0xa0c4('0x2d')][_0xa0c4('0x38')]+'%'};return _0x229940;})});}_0x4b38af=_[_0xa0c4('0x39')]({},_0x4b38af,_0x2c9f0a[_0xa0c4('0x47')]);return _0x3fb8ec['getDescriptions'](_0x4b38af);}})[_0xa0c4('0x20')](function(_0x2231b2){if(_0x2231b2){_0x63979=_0x2231b2[_0xa0c4('0x41')];if(!_0x2c9f0a[_0xa0c4('0x2d')][_0xa0c4('0x31')](_0xa0c4('0x32'))){_0x4b38af[_0xa0c4('0x1b')]=qs['limit'](_0x2c9f0a[_0xa0c4('0x2d')][_0xa0c4('0x1b')]);_0x4b38af[_0xa0c4('0x18')]=qs[_0xa0c4('0x18')](_0x2c9f0a[_0xa0c4('0x2d')][_0xa0c4('0x18')]);}return _0x3fb8ec[_0xa0c4('0x4a')](_0x4b38af);}})[_0xa0c4('0x20')](function(_0x12ba51){if(_0x12ba51){return _0x12ba51?{'count':_0x63979,'rows':_0x12ba51}:null;}})[_0xa0c4('0x20')](respondWithResult(_0x177897,null))[_0xa0c4('0x3f')](handleError(_0x177897,null));};