Built motion from commit dc14b02d.|2.6.27
[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 _0x55f7=['../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','json','undefined','limit','offset','count','set','Content-Range','reject','save','update','then','destroy','stack','index','VtigerConfiguration','rawAttributes','fieldName','type','key','model','map','name','keys','query','filters','attributes','fields','hasOwnProperty','order','sort','where','filter','merge','VIRTUAL','include','findAll','rows','catch','params','intersection','length','options','find','create','body','getFields','findOne','VtigerField','pick','getSubjects','nolimit','getDescriptions','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','to-csv','fs-extra','lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch'];(function(_0x48bcc2,_0x459a71){var _0x240728=function(_0x378f74){while(--_0x378f74){_0x48bcc2['push'](_0x48bcc2['shift']());}};_0x240728(++_0x459a71);}(_0x55f7,0xe1));var _0x755f=function(_0x78c164,_0x559f15){_0x78c164=_0x78c164-0x0;var _0x5c51e9=_0x55f7[_0x78c164];return _0x5c51e9;};'use strict';var emlformat=require(_0x755f('0x0'));var rimraf=require(_0x755f('0x1'));var zipdir=require(_0x755f('0x2'));var jsonpatch=require(_0x755f('0x3'));var rp=require(_0x755f('0x4'));var moment=require(_0x755f('0x5'));var BPromise=require(_0x755f('0x6'));var Mustache=require(_0x755f('0x7'));var util=require(_0x755f('0x8'));var path=require(_0x755f('0x9'));var sox=require('sox');var csv=require(_0x755f('0xa'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x755f('0xb'));var _=require(_0x755f('0xc'));var squel=require(_0x755f('0xd'));var crypto=require(_0x755f('0xe'));var jsforce=require(_0x755f('0xf'));var deskjs=require(_0x755f('0x10'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x755f('0x11'));var Redis=require(_0x755f('0x12'));var authService=require(_0x755f('0x13'));var qs=require('../../components/parsers/qs');var as=require(_0x755f('0x14'));var hardwareService=require(_0x755f('0x15'));var logger=require(_0x755f('0x16'))(_0x755f('0x17'));var utils=require('../../config/utils');var config=require(_0x755f('0x18'));var licenseUtil=require(_0x755f('0x19'));var db=require(_0x755f('0x1a'))['db'];function respondWithStatusCode(_0x41e847,_0x56c300){_0x56c300=_0x56c300||0xcc;return function(_0x46ca6f){if(_0x46ca6f){return _0x41e847[_0x755f('0x1b')](_0x56c300);}return _0x41e847['status'](_0x56c300)[_0x755f('0x1c')]();};}function respondWithResult(_0xe7e3c7,_0x840b5a){_0x840b5a=_0x840b5a||0xc8;return function(_0x1abe66){if(_0x1abe66){return _0xe7e3c7[_0x755f('0x1d')](_0x840b5a)[_0x755f('0x1e')](_0x1abe66);}};}function respondWithFilteredResult(_0x586de3,_0x1e3f35){return function(_0x567479){if(_0x567479){var _0x2cc330=typeof _0x1e3f35['offset']===_0x755f('0x1f')&&typeof _0x1e3f35[_0x755f('0x20')]==='undefined';var _0x3728d0=_0x567479['count'];var _0x45146b=_0x2cc330?0x0:_0x1e3f35[_0x755f('0x21')];var _0x2974c0=_0x2cc330?_0x567479[_0x755f('0x22')]:_0x1e3f35[_0x755f('0x21')]+_0x1e3f35[_0x755f('0x20')];var _0x3af357;if(_0x2974c0>=_0x3728d0){_0x2974c0=_0x3728d0;_0x3af357=0xc8;}else{_0x3af357=0xce;}_0x586de3['status'](_0x3af357);return _0x586de3[_0x755f('0x23')](_0x755f('0x24'),_0x45146b+'-'+_0x2974c0+'/'+_0x3728d0)['json'](_0x567479);}return null;};}function patchUpdates(_0x44ce77){return function(_0x253cc1){try{jsonpatch['apply'](_0x253cc1,_0x44ce77,!![]);}catch(_0x395cbd){return BPromise[_0x755f('0x25')](_0x395cbd);}return _0x253cc1[_0x755f('0x26')]();};}function saveUpdates(_0x48f4cb,_0x3a3440){return function(_0xb2d35a){if(_0xb2d35a){return _0xb2d35a[_0x755f('0x27')](_0x48f4cb)[_0x755f('0x28')](function(_0x22ef4a){return _0x22ef4a;});}return null;};}function removeEntity(_0x11a716,_0x472201){return function(_0x293ea4){if(_0x293ea4){return _0x293ea4[_0x755f('0x29')]()[_0x755f('0x28')](function(){_0x11a716[_0x755f('0x1d')](0xcc)[_0x755f('0x1c')]();});}};}function handleEntityNotFound(_0x5e167e,_0x452983){return function(_0x2c34eb){if(!_0x2c34eb){_0x5e167e[_0x755f('0x1b')](0x194);}return _0x2c34eb;};}function handleError(_0x8788be,_0x1d4100){_0x1d4100=_0x1d4100||0x1f4;return function(_0x356d77){logger['error'](_0x356d77[_0x755f('0x2a')]);if(_0x356d77['name']){delete _0x356d77['name'];}_0x8788be['status'](_0x1d4100)['send'](_0x356d77);};}exports[_0x755f('0x2b')]=function(_0xa39c45,_0x13af0f){var _0x3c8009={},_0x2a6419={},_0x43a283={'count':0x0,'rows':[]};var _0x270e1c=_['map'](db[_0x755f('0x2c')][_0x755f('0x2d')],function(_0x33b784){return{'name':_0x33b784[_0x755f('0x2e')],'type':_0x33b784[_0x755f('0x2f')][_0x755f('0x30')]};});_0x2a6419[_0x755f('0x31')]=_[_0x755f('0x32')](_0x270e1c,_0x755f('0x33'));_0x2a6419['query']=_[_0x755f('0x34')](_0xa39c45[_0x755f('0x35')]);_0x2a6419[_0x755f('0x36')]=_['intersection'](_0x2a6419[_0x755f('0x31')],_0x2a6419[_0x755f('0x35')]);_0x3c8009[_0x755f('0x37')]=_['intersection'](_0x2a6419['model'],qs[_0x755f('0x38')](_0xa39c45[_0x755f('0x35')][_0x755f('0x38')]));_0x3c8009[_0x755f('0x37')]=_0x3c8009[_0x755f('0x37')]['length']?_0x3c8009[_0x755f('0x37')]:_0x2a6419[_0x755f('0x31')];if(!_0xa39c45[_0x755f('0x35')][_0x755f('0x39')]('nolimit')){_0x3c8009[_0x755f('0x20')]=qs['limit'](_0xa39c45['query'][_0x755f('0x20')]);_0x3c8009['offset']=qs[_0x755f('0x21')](_0xa39c45[_0x755f('0x35')][_0x755f('0x21')]);}_0x3c8009[_0x755f('0x3a')]=qs['sort'](_0xa39c45[_0x755f('0x35')][_0x755f('0x3b')]);_0x3c8009[_0x755f('0x3c')]=qs['filters'](_['pick'](_0xa39c45['query'],_0x2a6419['filters']),_0x270e1c);if(_0xa39c45[_0x755f('0x35')][_0x755f('0x3d')]){_0x3c8009[_0x755f('0x3c')]=_[_0x755f('0x3e')](_0x3c8009[_0x755f('0x3c')],{'$or':_[_0x755f('0x32')](_0x270e1c,function(_0x37a9d9){if(_0x37a9d9[_0x755f('0x2f')]!==_0x755f('0x3f')){var _0x3fc50d={};_0x3fc50d[_0x37a9d9[_0x755f('0x33')]]={'$like':'%'+_0xa39c45[_0x755f('0x35')][_0x755f('0x3d')]+'%'};return _0x3fc50d;}})});}_0x3c8009=_[_0x755f('0x3e')]({},_0x3c8009,_0xa39c45['options']);var _0x472795={'where':_0x3c8009[_0x755f('0x3c')]};return db[_0x755f('0x2c')][_0x755f('0x22')](_0x472795)[_0x755f('0x28')](function(_0x4ef488){_0x43a283[_0x755f('0x22')]=_0x4ef488;if(_0xa39c45[_0x755f('0x35')]['includeAll']){_0x3c8009[_0x755f('0x40')]=[{'all':!![]}];}return db['VtigerConfiguration'][_0x755f('0x41')](_0x3c8009);})[_0x755f('0x28')](function(_0x46eb2c){_0x43a283[_0x755f('0x42')]=_0x46eb2c;return _0x43a283;})[_0x755f('0x28')](respondWithFilteredResult(_0x13af0f,_0x3c8009))[_0x755f('0x43')](handleError(_0x13af0f,null));};exports['show']=function(_0x584c41,_0x3f26f0){var _0x73a00d={'raw':![],'where':{'id':_0x584c41[_0x755f('0x44')]['id']}},_0x8bfd4a={};_0x8bfd4a[_0x755f('0x31')]=_[_0x755f('0x34')](db[_0x755f('0x2c')][_0x755f('0x2d')]);_0x8bfd4a[_0x755f('0x35')]=_[_0x755f('0x34')](_0x584c41[_0x755f('0x35')]);_0x8bfd4a['filters']=_[_0x755f('0x45')](_0x8bfd4a[_0x755f('0x31')],_0x8bfd4a['query']);_0x73a00d['attributes']=_[_0x755f('0x45')](_0x8bfd4a[_0x755f('0x31')],qs[_0x755f('0x38')](_0x584c41[_0x755f('0x35')][_0x755f('0x38')]));_0x73a00d[_0x755f('0x37')]=_0x73a00d[_0x755f('0x37')][_0x755f('0x46')]?_0x73a00d[_0x755f('0x37')]:_0x8bfd4a[_0x755f('0x31')];if(_0x584c41[_0x755f('0x35')]['includeAll']){_0x73a00d[_0x755f('0x40')]=[{'all':!![]}];}_0x73a00d=_['merge']({},_0x73a00d,_0x584c41[_0x755f('0x47')]);return db['VtigerConfiguration'][_0x755f('0x48')](_0x73a00d)[_0x755f('0x28')](handleEntityNotFound(_0x3f26f0,null))[_0x755f('0x28')](respondWithResult(_0x3f26f0,null))['catch'](handleError(_0x3f26f0,null));};exports[_0x755f('0x49')]=function(_0x4ca575,_0x311fde){return db[_0x755f('0x2c')][_0x755f('0x49')](_0x4ca575[_0x755f('0x4a')],{})[_0x755f('0x28')](respondWithResult(_0x311fde,0xc9))['catch'](handleError(_0x311fde,null));};exports[_0x755f('0x27')]=function(_0x4f5994,_0x1e0fd8){if(_0x4f5994[_0x755f('0x4a')]['id']){delete _0x4f5994[_0x755f('0x4a')]['id'];}return db['VtigerConfiguration']['find']({'where':{'id':_0x4f5994[_0x755f('0x44')]['id']}})['then'](handleEntityNotFound(_0x1e0fd8,null))[_0x755f('0x28')](saveUpdates(_0x4f5994[_0x755f('0x4a')],null))[_0x755f('0x28')](respondWithResult(_0x1e0fd8,null))[_0x755f('0x43')](handleError(_0x1e0fd8,null));};exports[_0x755f('0x29')]=function(_0x32a60a,_0x471881){return db[_0x755f('0x2c')]['find']({'where':{'id':_0x32a60a['params']['id']}})[_0x755f('0x28')](handleEntityNotFound(_0x471881,null))[_0x755f('0x28')](removeEntity(_0x471881,null))[_0x755f('0x43')](handleError(_0x471881,null));};exports[_0x755f('0x4b')]=function(_0x1e665e,_0x15c9fb,_0x437491){var _0x6ee804={};var _0xf369ce={};var _0x2c67f7;var _0x106478;return db[_0x755f('0x2c')][_0x755f('0x4c')]({'where':{'id':_0x1e665e[_0x755f('0x44')]['id']}})[_0x755f('0x28')](handleEntityNotFound(_0x15c9fb,null))[_0x755f('0x28')](function(_0x3a3c79){if(_0x3a3c79){_0x2c67f7=_0x3a3c79;_0xf369ce[_0x755f('0x31')]=_[_0x755f('0x34')](db[_0x755f('0x4d')][_0x755f('0x2d')]);_0xf369ce[_0x755f('0x35')]=_[_0x755f('0x34')](_0x1e665e[_0x755f('0x35')]);_0xf369ce[_0x755f('0x36')]=_[_0x755f('0x45')](_0xf369ce[_0x755f('0x31')],_0xf369ce[_0x755f('0x35')]);_0x6ee804[_0x755f('0x37')]=_[_0x755f('0x45')](_0xf369ce[_0x755f('0x31')],qs[_0x755f('0x38')](_0x1e665e[_0x755f('0x35')][_0x755f('0x38')]));_0x6ee804[_0x755f('0x37')]=_0x6ee804['attributes'][_0x755f('0x46')]?_0x6ee804['attributes']:_0xf369ce[_0x755f('0x31')];_0x6ee804[_0x755f('0x3a')]=qs[_0x755f('0x3b')](_0x1e665e[_0x755f('0x35')][_0x755f('0x3b')]);_0x6ee804[_0x755f('0x3c')]=qs[_0x755f('0x36')](_[_0x755f('0x4e')](_0x1e665e[_0x755f('0x35')],_0xf369ce[_0x755f('0x36')]));if(_0x1e665e['query'][_0x755f('0x3d')]){_0x6ee804[_0x755f('0x3c')]=_['merge'](_0x6ee804['where'],{'$or':_[_0x755f('0x32')](_0x6ee804[_0x755f('0x37')],function(_0x2f47ef){var _0x4989d5={};_0x4989d5[_0x2f47ef]={'$like':'%'+_0x1e665e[_0x755f('0x35')][_0x755f('0x3d')]+'%'};return _0x4989d5;})});}_0x6ee804=_[_0x755f('0x3e')]({},_0x6ee804,_0x1e665e[_0x755f('0x47')]);return _0x2c67f7[_0x755f('0x4b')](_0x6ee804);}})[_0x755f('0x28')](function(_0x2adfd3){if(_0x2adfd3){_0x106478=_0x2adfd3[_0x755f('0x46')];if(!_0x1e665e['query']['hasOwnProperty']('nolimit')){_0x6ee804[_0x755f('0x20')]=qs['limit'](_0x1e665e['query'][_0x755f('0x20')]);_0x6ee804['offset']=qs[_0x755f('0x21')](_0x1e665e[_0x755f('0x35')][_0x755f('0x21')]);}return _0x2c67f7[_0x755f('0x4b')](_0x6ee804);}})['then'](function(_0x472ae5){if(_0x472ae5){return _0x472ae5?{'count':_0x106478,'rows':_0x472ae5}:null;}})['then'](respondWithResult(_0x15c9fb,null))['catch'](handleError(_0x15c9fb,null));};exports[_0x755f('0x4f')]=function(_0x105ad6,_0x39358c,_0x3dc5f4){var _0x165ca0={};var _0x432d5a={};var _0x15d3a0;var _0x17f04c;return db['VtigerConfiguration']['findOne']({'where':{'id':_0x105ad6['params']['id']}})['then'](handleEntityNotFound(_0x39358c,null))[_0x755f('0x28')](function(_0x1da9ba){if(_0x1da9ba){_0x15d3a0=_0x1da9ba;_0x432d5a[_0x755f('0x31')]=_['keys'](db[_0x755f('0x4d')][_0x755f('0x2d')]);_0x432d5a['query']=_[_0x755f('0x34')](_0x105ad6[_0x755f('0x35')]);_0x432d5a[_0x755f('0x36')]=_[_0x755f('0x45')](_0x432d5a[_0x755f('0x31')],_0x432d5a[_0x755f('0x35')]);_0x165ca0[_0x755f('0x37')]=_[_0x755f('0x45')](_0x432d5a[_0x755f('0x31')],qs['fields'](_0x105ad6[_0x755f('0x35')]['fields']));_0x165ca0['attributes']=_0x165ca0['attributes'][_0x755f('0x46')]?_0x165ca0['attributes']:_0x432d5a['model'];_0x165ca0[_0x755f('0x3a')]=qs['sort'](_0x105ad6[_0x755f('0x35')][_0x755f('0x3b')]);_0x165ca0['where']=qs[_0x755f('0x36')](_['pick'](_0x105ad6[_0x755f('0x35')],_0x432d5a[_0x755f('0x36')]));if(_0x105ad6[_0x755f('0x35')][_0x755f('0x3d')]){_0x165ca0[_0x755f('0x3c')]=_[_0x755f('0x3e')](_0x165ca0[_0x755f('0x3c')],{'$or':_[_0x755f('0x32')](_0x165ca0[_0x755f('0x37')],function(_0x7e6a01){var _0x383ba0={};_0x383ba0[_0x7e6a01]={'$like':'%'+_0x105ad6[_0x755f('0x35')][_0x755f('0x3d')]+'%'};return _0x383ba0;})});}_0x165ca0=_[_0x755f('0x3e')]({},_0x165ca0,_0x105ad6[_0x755f('0x47')]);return _0x15d3a0[_0x755f('0x4f')](_0x165ca0);}})[_0x755f('0x28')](function(_0x593fe3){if(_0x593fe3){_0x17f04c=_0x593fe3['length'];if(!_0x105ad6['query'][_0x755f('0x39')](_0x755f('0x50'))){_0x165ca0[_0x755f('0x20')]=qs[_0x755f('0x20')](_0x105ad6[_0x755f('0x35')][_0x755f('0x20')]);_0x165ca0[_0x755f('0x21')]=qs[_0x755f('0x21')](_0x105ad6['query']['offset']);}return _0x15d3a0[_0x755f('0x4f')](_0x165ca0);}})[_0x755f('0x28')](function(_0x2c3295){if(_0x2c3295){return _0x2c3295?{'count':_0x17f04c,'rows':_0x2c3295}:null;}})[_0x755f('0x28')](respondWithResult(_0x39358c,null))[_0x755f('0x43')](handleError(_0x39358c,null));};exports[_0x755f('0x51')]=function(_0x4b17e2,_0x21f53a,_0x470dd5){var _0x19217f={};var _0x1651c5={};var _0x228767;var _0x22fb3f;return db[_0x755f('0x2c')][_0x755f('0x4c')]({'where':{'id':_0x4b17e2['params']['id']}})[_0x755f('0x28')](handleEntityNotFound(_0x21f53a,null))['then'](function(_0x5b6b6d){if(_0x5b6b6d){_0x228767=_0x5b6b6d;_0x1651c5[_0x755f('0x31')]=_[_0x755f('0x34')](db[_0x755f('0x4d')]['rawAttributes']);_0x1651c5['query']=_['keys'](_0x4b17e2['query']);_0x1651c5[_0x755f('0x36')]=_[_0x755f('0x45')](_0x1651c5['model'],_0x1651c5[_0x755f('0x35')]);_0x19217f[_0x755f('0x37')]=_['intersection'](_0x1651c5[_0x755f('0x31')],qs[_0x755f('0x38')](_0x4b17e2['query'][_0x755f('0x38')]));_0x19217f[_0x755f('0x37')]=_0x19217f[_0x755f('0x37')]['length']?_0x19217f['attributes']:_0x1651c5[_0x755f('0x31')];_0x19217f[_0x755f('0x3a')]=qs[_0x755f('0x3b')](_0x4b17e2['query'][_0x755f('0x3b')]);_0x19217f[_0x755f('0x3c')]=qs[_0x755f('0x36')](_['pick'](_0x4b17e2[_0x755f('0x35')],_0x1651c5[_0x755f('0x36')]));if(_0x4b17e2[_0x755f('0x35')][_0x755f('0x3d')]){_0x19217f['where']=_[_0x755f('0x3e')](_0x19217f['where'],{'$or':_['map'](_0x19217f[_0x755f('0x37')],function(_0x2623fa){var _0x3c4d52={};_0x3c4d52[_0x2623fa]={'$like':'%'+_0x4b17e2['query'][_0x755f('0x3d')]+'%'};return _0x3c4d52;})});}_0x19217f=_[_0x755f('0x3e')]({},_0x19217f,_0x4b17e2[_0x755f('0x47')]);return _0x228767[_0x755f('0x51')](_0x19217f);}})['then'](function(_0x143d99){if(_0x143d99){_0x22fb3f=_0x143d99[_0x755f('0x46')];if(!_0x4b17e2[_0x755f('0x35')][_0x755f('0x39')](_0x755f('0x50'))){_0x19217f[_0x755f('0x20')]=qs['limit'](_0x4b17e2['query'][_0x755f('0x20')]);_0x19217f['offset']=qs[_0x755f('0x21')](_0x4b17e2['query'][_0x755f('0x21')]);}return _0x228767[_0x755f('0x51')](_0x19217f);}})[_0x755f('0x28')](function(_0x5bd33e){if(_0x5bd33e){return _0x5bd33e?{'count':_0x22fb3f,'rows':_0x5bd33e}:null;}})['then'](respondWithResult(_0x21f53a,null))['catch'](handleError(_0x21f53a,null));};