fa852aac47d527ec503b30b682e72ecf03bde76f
[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 _0x01d3=['../../config/license/hardware','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','end','offset','undefined','limit','count','apply','reject','save','update','then','destroy','error','stack','name','index','VtigerConfiguration','rawAttributes','fieldName','query','keys','filters','intersection','model','attributes','fields','length','hasOwnProperty','order','sort','pick','filter','where','merge','map','type','VIRTUAL','include','rows','catch','show','params','includeAll','options','create','body','find','getFields','findOne','nolimit','getSubjects','VtigerField','getDescriptions','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','ejs','fs-extra','lodash','squel','crypto','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch'];(function(_0x2ce0fb,_0x5793e9){var _0x1a5f35=function(_0xe59b54){while(--_0xe59b54){_0x2ce0fb['push'](_0x2ce0fb['shift']());}};_0x1a5f35(++_0x5793e9);}(_0x01d3,0xdb));var _0x301d=function(_0x2c6af3,_0x3ce442){_0x2c6af3=_0x2c6af3-0x0;var _0x4895bf=_0x01d3[_0x2c6af3];return _0x4895bf;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x301d('0x0'));var jsonpatch=require(_0x301d('0x1'));var rp=require(_0x301d('0x2'));var moment=require('moment');var BPromise=require(_0x301d('0x3'));var Mustache=require(_0x301d('0x4'));var util=require(_0x301d('0x5'));var path=require(_0x301d('0x6'));var sox=require(_0x301d('0x7'));var csv=require('to-csv');var ejs=require(_0x301d('0x8'));var fs=require('fs');var fs_extra=require(_0x301d('0x9'));var _=require(_0x301d('0xa'));var squel=require(_0x301d('0xb'));var crypto=require(_0x301d('0xc'));var jsforce=require('jsforce');var deskjs=require(_0x301d('0xd'));var toCsv=require(_0x301d('0xe'));var querystring=require(_0x301d('0xf'));var Papa=require(_0x301d('0x10'));var Redis=require(_0x301d('0x11'));var authService=require(_0x301d('0x12'));var qs=require(_0x301d('0x13'));var as=require(_0x301d('0x14'));var hardwareService=require(_0x301d('0x15'));var logger=require('../../config/logger')(_0x301d('0x16'));var utils=require(_0x301d('0x17'));var config=require('../../config/environment');var licenseUtil=require(_0x301d('0x18'));var db=require(_0x301d('0x19'))['db'];function respondWithStatusCode(_0x2eb3af,_0x53bfe2){_0x53bfe2=_0x53bfe2||0xcc;return function(_0x496f0c){if(_0x496f0c){return _0x2eb3af[_0x301d('0x1a')](_0x53bfe2);}return _0x2eb3af[_0x301d('0x1b')](_0x53bfe2)[_0x301d('0x1c')]();};}function respondWithResult(_0x377c7f,_0x11bacf){_0x11bacf=_0x11bacf||0xc8;return function(_0x5bdd8a){if(_0x5bdd8a){return _0x377c7f[_0x301d('0x1b')](_0x11bacf)['json'](_0x5bdd8a);}};}function respondWithFilteredResult(_0x1d4fb4,_0xc35239){return function(_0x4fd833){if(_0x4fd833){var _0x10d277=typeof _0xc35239[_0x301d('0x1d')]===_0x301d('0x1e')&&typeof _0xc35239[_0x301d('0x1f')]===_0x301d('0x1e');var _0x1c409b=_0x4fd833[_0x301d('0x20')];var _0x2c7afb=_0x10d277?0x0:_0xc35239[_0x301d('0x1d')];var _0x3a2ad2=_0x10d277?_0x4fd833[_0x301d('0x20')]:_0xc35239[_0x301d('0x1d')]+_0xc35239[_0x301d('0x1f')];var _0x3d75e5;if(_0x3a2ad2>=_0x1c409b){_0x3a2ad2=_0x1c409b;_0x3d75e5=0xc8;}else{_0x3d75e5=0xce;}_0x1d4fb4[_0x301d('0x1b')](_0x3d75e5);return _0x1d4fb4['set']('Content-Range',_0x2c7afb+'-'+_0x3a2ad2+'/'+_0x1c409b)['json'](_0x4fd833);}return null;};}function patchUpdates(_0x31c94e){return function(_0x17ee2a){try{jsonpatch[_0x301d('0x21')](_0x17ee2a,_0x31c94e,!![]);}catch(_0x4d8006){return BPromise[_0x301d('0x22')](_0x4d8006);}return _0x17ee2a[_0x301d('0x23')]();};}function saveUpdates(_0x5b6631,_0x485f96){return function(_0x292c89){if(_0x292c89){return _0x292c89[_0x301d('0x24')](_0x5b6631)[_0x301d('0x25')](function(_0x3fa47d){return _0x3fa47d;});}return null;};}function removeEntity(_0x549e57,_0x1119da){return function(_0x2491b8){if(_0x2491b8){return _0x2491b8[_0x301d('0x26')]()[_0x301d('0x25')](function(){_0x549e57[_0x301d('0x1b')](0xcc)[_0x301d('0x1c')]();});}};}function handleEntityNotFound(_0x4fae3d,_0x470b7a){return function(_0xb315b6){if(!_0xb315b6){_0x4fae3d[_0x301d('0x1a')](0x194);}return _0xb315b6;};}function handleError(_0x2f7092,_0x31ce2c){_0x31ce2c=_0x31ce2c||0x1f4;return function(_0x23c934){logger[_0x301d('0x27')](_0x23c934[_0x301d('0x28')]);if(_0x23c934['name']){delete _0x23c934[_0x301d('0x29')];}_0x2f7092['status'](_0x31ce2c)['send'](_0x23c934);};}exports[_0x301d('0x2a')]=function(_0x52eb42,_0x326722){var _0x119143={},_0x362c68={},_0x46127a={'count':0x0,'rows':[]};var _0xb6a139=_['map'](db[_0x301d('0x2b')][_0x301d('0x2c')],function(_0x2385ef){return{'name':_0x2385ef[_0x301d('0x2d')],'type':_0x2385ef['type']['key']};});_0x362c68['model']=_['map'](_0xb6a139,_0x301d('0x29'));_0x362c68[_0x301d('0x2e')]=_[_0x301d('0x2f')](_0x52eb42[_0x301d('0x2e')]);_0x362c68[_0x301d('0x30')]=_[_0x301d('0x31')](_0x362c68[_0x301d('0x32')],_0x362c68[_0x301d('0x2e')]);_0x119143[_0x301d('0x33')]=_[_0x301d('0x31')](_0x362c68['model'],qs[_0x301d('0x34')](_0x52eb42[_0x301d('0x2e')][_0x301d('0x34')]));_0x119143[_0x301d('0x33')]=_0x119143[_0x301d('0x33')][_0x301d('0x35')]?_0x119143[_0x301d('0x33')]:_0x362c68[_0x301d('0x32')];if(!_0x52eb42[_0x301d('0x2e')][_0x301d('0x36')]('nolimit')){_0x119143['limit']=qs[_0x301d('0x1f')](_0x52eb42[_0x301d('0x2e')][_0x301d('0x1f')]);_0x119143[_0x301d('0x1d')]=qs[_0x301d('0x1d')](_0x52eb42['query'][_0x301d('0x1d')]);}_0x119143[_0x301d('0x37')]=qs[_0x301d('0x38')](_0x52eb42['query'][_0x301d('0x38')]);_0x119143['where']=qs[_0x301d('0x30')](_[_0x301d('0x39')](_0x52eb42[_0x301d('0x2e')],_0x362c68[_0x301d('0x30')]),_0xb6a139);if(_0x52eb42[_0x301d('0x2e')][_0x301d('0x3a')]){_0x119143[_0x301d('0x3b')]=_[_0x301d('0x3c')](_0x119143['where'],{'$or':_[_0x301d('0x3d')](_0xb6a139,function(_0x2a1459){if(_0x2a1459[_0x301d('0x3e')]!==_0x301d('0x3f')){var _0xc4e7ff={};_0xc4e7ff[_0x2a1459['name']]={'$like':'%'+_0x52eb42['query']['filter']+'%'};return _0xc4e7ff;}})});}_0x119143=_[_0x301d('0x3c')]({},_0x119143,_0x52eb42['options']);var _0x35047e={'where':_0x119143[_0x301d('0x3b')]};return db[_0x301d('0x2b')][_0x301d('0x20')](_0x35047e)[_0x301d('0x25')](function(_0x5ee9cc){_0x46127a[_0x301d('0x20')]=_0x5ee9cc;if(_0x52eb42['query']['includeAll']){_0x119143[_0x301d('0x40')]=[{'all':!![]}];}return db['VtigerConfiguration']['findAll'](_0x119143);})[_0x301d('0x25')](function(_0x168211){_0x46127a[_0x301d('0x41')]=_0x168211;return _0x46127a;})[_0x301d('0x25')](respondWithFilteredResult(_0x326722,_0x119143))[_0x301d('0x42')](handleError(_0x326722,null));};exports[_0x301d('0x43')]=function(_0x499ca8,_0x16a7ca){var _0x29ef1d={'raw':![],'where':{'id':_0x499ca8[_0x301d('0x44')]['id']}},_0x3dd5f5={};_0x3dd5f5[_0x301d('0x32')]=_[_0x301d('0x2f')](db[_0x301d('0x2b')]['rawAttributes']);_0x3dd5f5[_0x301d('0x2e')]=_['keys'](_0x499ca8['query']);_0x3dd5f5[_0x301d('0x30')]=_[_0x301d('0x31')](_0x3dd5f5['model'],_0x3dd5f5[_0x301d('0x2e')]);_0x29ef1d[_0x301d('0x33')]=_['intersection'](_0x3dd5f5['model'],qs[_0x301d('0x34')](_0x499ca8[_0x301d('0x2e')][_0x301d('0x34')]));_0x29ef1d['attributes']=_0x29ef1d['attributes'][_0x301d('0x35')]?_0x29ef1d[_0x301d('0x33')]:_0x3dd5f5[_0x301d('0x32')];if(_0x499ca8[_0x301d('0x2e')][_0x301d('0x45')]){_0x29ef1d['include']=[{'all':!![]}];}_0x29ef1d=_[_0x301d('0x3c')]({},_0x29ef1d,_0x499ca8[_0x301d('0x46')]);return db[_0x301d('0x2b')]['find'](_0x29ef1d)[_0x301d('0x25')](handleEntityNotFound(_0x16a7ca,null))[_0x301d('0x25')](respondWithResult(_0x16a7ca,null))[_0x301d('0x42')](handleError(_0x16a7ca,null));};exports[_0x301d('0x47')]=function(_0x54cce3,_0x2c1fc8){return db['VtigerConfiguration'][_0x301d('0x47')](_0x54cce3['body'],{})[_0x301d('0x25')](respondWithResult(_0x2c1fc8,0xc9))[_0x301d('0x42')](handleError(_0x2c1fc8,null));};exports[_0x301d('0x24')]=function(_0x155912,_0x2ed897){if(_0x155912[_0x301d('0x48')]['id']){delete _0x155912[_0x301d('0x48')]['id'];}return db[_0x301d('0x2b')][_0x301d('0x49')]({'where':{'id':_0x155912['params']['id']}})[_0x301d('0x25')](handleEntityNotFound(_0x2ed897,null))[_0x301d('0x25')](saveUpdates(_0x155912[_0x301d('0x48')],null))[_0x301d('0x25')](respondWithResult(_0x2ed897,null))['catch'](handleError(_0x2ed897,null));};exports[_0x301d('0x26')]=function(_0x5c1d19,_0x59d4f4){return db['VtigerConfiguration'][_0x301d('0x49')]({'where':{'id':_0x5c1d19['params']['id']}})['then'](handleEntityNotFound(_0x59d4f4,null))[_0x301d('0x25')](removeEntity(_0x59d4f4,null))[_0x301d('0x42')](handleError(_0x59d4f4,null));};exports[_0x301d('0x4a')]=function(_0x29cb7b,_0x243cb2,_0x2d4142){var _0x2f2d3b={};var _0x1a6813={};var _0x46c232;var _0x1f2db5;return db[_0x301d('0x2b')][_0x301d('0x4b')]({'where':{'id':_0x29cb7b[_0x301d('0x44')]['id']}})[_0x301d('0x25')](handleEntityNotFound(_0x243cb2,null))[_0x301d('0x25')](function(_0x1aabbc){if(_0x1aabbc){_0x46c232=_0x1aabbc;_0x1a6813[_0x301d('0x32')]=_[_0x301d('0x2f')](db['VtigerField'][_0x301d('0x2c')]);_0x1a6813[_0x301d('0x2e')]=_[_0x301d('0x2f')](_0x29cb7b[_0x301d('0x2e')]);_0x1a6813[_0x301d('0x30')]=_[_0x301d('0x31')](_0x1a6813[_0x301d('0x32')],_0x1a6813['query']);_0x2f2d3b[_0x301d('0x33')]=_[_0x301d('0x31')](_0x1a6813['model'],qs[_0x301d('0x34')](_0x29cb7b['query']['fields']));_0x2f2d3b['attributes']=_0x2f2d3b[_0x301d('0x33')][_0x301d('0x35')]?_0x2f2d3b[_0x301d('0x33')]:_0x1a6813['model'];_0x2f2d3b[_0x301d('0x37')]=qs['sort'](_0x29cb7b[_0x301d('0x2e')][_0x301d('0x38')]);_0x2f2d3b[_0x301d('0x3b')]=qs[_0x301d('0x30')](_[_0x301d('0x39')](_0x29cb7b[_0x301d('0x2e')],_0x1a6813['filters']));if(_0x29cb7b[_0x301d('0x2e')]['filter']){_0x2f2d3b[_0x301d('0x3b')]=_[_0x301d('0x3c')](_0x2f2d3b[_0x301d('0x3b')],{'$or':_['map'](_0x2f2d3b['attributes'],function(_0x48301b){var _0x33d2b4={};_0x33d2b4[_0x48301b]={'$like':'%'+_0x29cb7b[_0x301d('0x2e')][_0x301d('0x3a')]+'%'};return _0x33d2b4;})});}_0x2f2d3b=_['merge']({},_0x2f2d3b,_0x29cb7b[_0x301d('0x46')]);return _0x46c232[_0x301d('0x4a')](_0x2f2d3b);}})[_0x301d('0x25')](function(_0x363f33){if(_0x363f33){_0x1f2db5=_0x363f33['length'];if(!_0x29cb7b[_0x301d('0x2e')]['hasOwnProperty'](_0x301d('0x4c'))){_0x2f2d3b[_0x301d('0x1f')]=qs[_0x301d('0x1f')](_0x29cb7b['query'][_0x301d('0x1f')]);_0x2f2d3b[_0x301d('0x1d')]=qs[_0x301d('0x1d')](_0x29cb7b[_0x301d('0x2e')]['offset']);}return _0x46c232[_0x301d('0x4a')](_0x2f2d3b);}})[_0x301d('0x25')](function(_0x2bc95e){if(_0x2bc95e){return _0x2bc95e?{'count':_0x1f2db5,'rows':_0x2bc95e}:null;}})[_0x301d('0x25')](respondWithResult(_0x243cb2,null))[_0x301d('0x42')](handleError(_0x243cb2,null));};exports[_0x301d('0x4d')]=function(_0x4ca952,_0x26b920,_0x38fcf8){var _0x26fedc={};var _0x57f725={};var _0x567cad;var _0x53a72c;return db[_0x301d('0x2b')][_0x301d('0x4b')]({'where':{'id':_0x4ca952[_0x301d('0x44')]['id']}})[_0x301d('0x25')](handleEntityNotFound(_0x26b920,null))[_0x301d('0x25')](function(_0x2b66f0){if(_0x2b66f0){_0x567cad=_0x2b66f0;_0x57f725['model']=_['keys'](db[_0x301d('0x4e')][_0x301d('0x2c')]);_0x57f725[_0x301d('0x2e')]=_[_0x301d('0x2f')](_0x4ca952[_0x301d('0x2e')]);_0x57f725['filters']=_[_0x301d('0x31')](_0x57f725['model'],_0x57f725[_0x301d('0x2e')]);_0x26fedc['attributes']=_[_0x301d('0x31')](_0x57f725['model'],qs[_0x301d('0x34')](_0x4ca952['query']['fields']));_0x26fedc[_0x301d('0x33')]=_0x26fedc['attributes'][_0x301d('0x35')]?_0x26fedc[_0x301d('0x33')]:_0x57f725[_0x301d('0x32')];_0x26fedc[_0x301d('0x37')]=qs[_0x301d('0x38')](_0x4ca952[_0x301d('0x2e')]['sort']);_0x26fedc[_0x301d('0x3b')]=qs[_0x301d('0x30')](_[_0x301d('0x39')](_0x4ca952[_0x301d('0x2e')],_0x57f725[_0x301d('0x30')]));if(_0x4ca952[_0x301d('0x2e')][_0x301d('0x3a')]){_0x26fedc['where']=_[_0x301d('0x3c')](_0x26fedc[_0x301d('0x3b')],{'$or':_[_0x301d('0x3d')](_0x26fedc[_0x301d('0x33')],function(_0xe9a40){var _0x3bffe9={};_0x3bffe9[_0xe9a40]={'$like':'%'+_0x4ca952[_0x301d('0x2e')]['filter']+'%'};return _0x3bffe9;})});}_0x26fedc=_[_0x301d('0x3c')]({},_0x26fedc,_0x4ca952[_0x301d('0x46')]);return _0x567cad[_0x301d('0x4d')](_0x26fedc);}})[_0x301d('0x25')](function(_0x445cbb){if(_0x445cbb){_0x53a72c=_0x445cbb['length'];if(!_0x4ca952[_0x301d('0x2e')]['hasOwnProperty']('nolimit')){_0x26fedc[_0x301d('0x1f')]=qs['limit'](_0x4ca952[_0x301d('0x2e')][_0x301d('0x1f')]);_0x26fedc['offset']=qs[_0x301d('0x1d')](_0x4ca952[_0x301d('0x2e')][_0x301d('0x1d')]);}return _0x567cad[_0x301d('0x4d')](_0x26fedc);}})['then'](function(_0x44aef0){if(_0x44aef0){return _0x44aef0?{'count':_0x53a72c,'rows':_0x44aef0}:null;}})[_0x301d('0x25')](respondWithResult(_0x26b920,null))['catch'](handleError(_0x26b920,null));};exports[_0x301d('0x4f')]=function(_0x14967c,_0x3e3e15,_0x1a83d5){var _0x136370={};var _0x43e8da={};var _0x1a7735;var _0x584d46;return db[_0x301d('0x2b')][_0x301d('0x4b')]({'where':{'id':_0x14967c['params']['id']}})[_0x301d('0x25')](handleEntityNotFound(_0x3e3e15,null))['then'](function(_0x13222e){if(_0x13222e){_0x1a7735=_0x13222e;_0x43e8da[_0x301d('0x32')]=_[_0x301d('0x2f')](db['VtigerField'][_0x301d('0x2c')]);_0x43e8da[_0x301d('0x2e')]=_[_0x301d('0x2f')](_0x14967c[_0x301d('0x2e')]);_0x43e8da[_0x301d('0x30')]=_[_0x301d('0x31')](_0x43e8da[_0x301d('0x32')],_0x43e8da[_0x301d('0x2e')]);_0x136370[_0x301d('0x33')]=_[_0x301d('0x31')](_0x43e8da[_0x301d('0x32')],qs[_0x301d('0x34')](_0x14967c['query'][_0x301d('0x34')]));_0x136370[_0x301d('0x33')]=_0x136370[_0x301d('0x33')][_0x301d('0x35')]?_0x136370[_0x301d('0x33')]:_0x43e8da[_0x301d('0x32')];_0x136370[_0x301d('0x37')]=qs[_0x301d('0x38')](_0x14967c[_0x301d('0x2e')][_0x301d('0x38')]);_0x136370['where']=qs[_0x301d('0x30')](_['pick'](_0x14967c[_0x301d('0x2e')],_0x43e8da[_0x301d('0x30')]));if(_0x14967c[_0x301d('0x2e')][_0x301d('0x3a')]){_0x136370[_0x301d('0x3b')]=_[_0x301d('0x3c')](_0x136370[_0x301d('0x3b')],{'$or':_[_0x301d('0x3d')](_0x136370[_0x301d('0x33')],function(_0x5a6366){var _0x5e47d6={};_0x5e47d6[_0x5a6366]={'$like':'%'+_0x14967c['query'][_0x301d('0x3a')]+'%'};return _0x5e47d6;})});}_0x136370=_['merge']({},_0x136370,_0x14967c[_0x301d('0x46')]);return _0x1a7735[_0x301d('0x4f')](_0x136370);}})[_0x301d('0x25')](function(_0x25749f){if(_0x25749f){_0x584d46=_0x25749f[_0x301d('0x35')];if(!_0x14967c[_0x301d('0x2e')][_0x301d('0x36')](_0x301d('0x4c'))){_0x136370[_0x301d('0x1f')]=qs[_0x301d('0x1f')](_0x14967c['query']['limit']);_0x136370[_0x301d('0x1d')]=qs[_0x301d('0x1d')](_0x14967c[_0x301d('0x2e')][_0x301d('0x1d')]);}return _0x1a7735[_0x301d('0x4f')](_0x136370);}})[_0x301d('0x25')](function(_0x55bb6e){if(_0x55bb6e){return _0x55bb6e?{'count':_0x584d46,'rows':_0x55bb6e}:null;}})[_0x301d('0x25')](respondWithResult(_0x3e3e15,null))[_0x301d('0x42')](handleError(_0x3e3e15,null));};