6eeee10ffba79b64d45ad5918188191c8b22143a
[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 _0xbc61=['../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','apply','save','update','destroy','then','stack','name','send','map','VtigerConfiguration','rawAttributes','fieldName','type','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','VIRTUAL','merge','options','includeAll','include','findAll','rows','catch','create','body','find','params','findOne','getFields','VtigerField','getSubjects','getDescriptions','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service'];(function(_0x2b7764,_0x2606f1){var _0x848dcb=function(_0x1ae85b){while(--_0x1ae85b){_0x2b7764['push'](_0x2b7764['shift']());}};_0x848dcb(++_0x2606f1);}(_0xbc61,0xdc));var _0x1bc6=function(_0x2b8f6c,_0x5de00b){_0x2b8f6c=_0x2b8f6c-0x0;var _0x3e6131=_0xbc61[_0x2b8f6c];return _0x3e6131;};'use strict';var emlformat=require(_0x1bc6('0x0'));var rimraf=require(_0x1bc6('0x1'));var zipdir=require(_0x1bc6('0x2'));var jsonpatch=require(_0x1bc6('0x3'));var rp=require(_0x1bc6('0x4'));var moment=require(_0x1bc6('0x5'));var BPromise=require(_0x1bc6('0x6'));var Mustache=require('mustache');var util=require(_0x1bc6('0x7'));var path=require(_0x1bc6('0x8'));var sox=require(_0x1bc6('0x9'));var csv=require(_0x1bc6('0xa'));var ejs=require(_0x1bc6('0xb'));var fs=require('fs');var fs_extra=require(_0x1bc6('0xc'));var _=require(_0x1bc6('0xd'));var squel=require('squel');var crypto=require(_0x1bc6('0xe'));var jsforce=require(_0x1bc6('0xf'));var deskjs=require('desk.js');var toCsv=require(_0x1bc6('0xa'));var querystring=require(_0x1bc6('0x10'));var Papa=require(_0x1bc6('0x11'));var Redis=require(_0x1bc6('0x12'));var authService=require(_0x1bc6('0x13'));var qs=require('../../components/parsers/qs');var as=require(_0x1bc6('0x14'));var hardwareService=require(_0x1bc6('0x15'));var logger=require('../../config/logger')(_0x1bc6('0x16'));var utils=require(_0x1bc6('0x17'));var config=require(_0x1bc6('0x18'));var licenseUtil=require('../../config/license/util');var db=require(_0x1bc6('0x19'))['db'];function respondWithStatusCode(_0x4676b0,_0x4c4c75){_0x4c4c75=_0x4c4c75||0xcc;return function(_0x3aac2b){if(_0x3aac2b){return _0x4676b0[_0x1bc6('0x1a')](_0x4c4c75);}return _0x4676b0[_0x1bc6('0x1b')](_0x4c4c75)[_0x1bc6('0x1c')]();};}function respondWithResult(_0x1911ff,_0x1dceba){_0x1dceba=_0x1dceba||0xc8;return function(_0x674b30){if(_0x674b30){return _0x1911ff[_0x1bc6('0x1b')](_0x1dceba)[_0x1bc6('0x1d')](_0x674b30);}};}function respondWithFilteredResult(_0x179749,_0x1f7dc8){return function(_0x1d642c){if(_0x1d642c){var _0x2f4427=typeof _0x1f7dc8[_0x1bc6('0x1e')]===_0x1bc6('0x1f')&&typeof _0x1f7dc8[_0x1bc6('0x20')]===_0x1bc6('0x1f');var _0x267c40=_0x1d642c[_0x1bc6('0x21')];var _0x44515d=_0x2f4427?0x0:_0x1f7dc8['offset'];var _0xaddddc=_0x2f4427?_0x1d642c[_0x1bc6('0x21')]:_0x1f7dc8[_0x1bc6('0x1e')]+_0x1f7dc8[_0x1bc6('0x20')];var _0x38e267;if(_0xaddddc>=_0x267c40){_0xaddddc=_0x267c40;_0x38e267=0xc8;}else{_0x38e267=0xce;}_0x179749[_0x1bc6('0x1b')](_0x38e267);return _0x179749[_0x1bc6('0x22')]('Content-Range',_0x44515d+'-'+_0xaddddc+'/'+_0x267c40)['json'](_0x1d642c);}return null;};}function patchUpdates(_0x347eb7){return function(_0x21950e){try{jsonpatch[_0x1bc6('0x23')](_0x21950e,_0x347eb7,!![]);}catch(_0x380ce5){return BPromise['reject'](_0x380ce5);}return _0x21950e[_0x1bc6('0x24')]();};}function saveUpdates(_0x238ae4,_0x33d30f){return function(_0x1f0134){if(_0x1f0134){return _0x1f0134[_0x1bc6('0x25')](_0x238ae4)['then'](function(_0x508921){return _0x508921;});}return null;};}function removeEntity(_0x5d4735,_0xd1314f){return function(_0x3abc23){if(_0x3abc23){return _0x3abc23[_0x1bc6('0x26')]()[_0x1bc6('0x27')](function(){_0x5d4735['status'](0xcc)[_0x1bc6('0x1c')]();});}};}function handleEntityNotFound(_0xe63215,_0x123d20){return function(_0x4e8bd4){if(!_0x4e8bd4){_0xe63215[_0x1bc6('0x1a')](0x194);}return _0x4e8bd4;};}function handleError(_0x129cf7,_0x2683a9){_0x2683a9=_0x2683a9||0x1f4;return function(_0x45b140){logger['error'](_0x45b140[_0x1bc6('0x28')]);if(_0x45b140['name']){delete _0x45b140[_0x1bc6('0x29')];}_0x129cf7['status'](_0x2683a9)[_0x1bc6('0x2a')](_0x45b140);};}exports['index']=function(_0x2474d0,_0x1f2560){var _0x2fa280={},_0x3a8885={},_0x39a1a0={'count':0x0,'rows':[]};var _0x1c7159=_[_0x1bc6('0x2b')](db[_0x1bc6('0x2c')][_0x1bc6('0x2d')],function(_0x116152){return{'name':_0x116152[_0x1bc6('0x2e')],'type':_0x116152[_0x1bc6('0x2f')]['key']};});_0x3a8885[_0x1bc6('0x30')]=_[_0x1bc6('0x2b')](_0x1c7159,_0x1bc6('0x29'));_0x3a8885[_0x1bc6('0x31')]=_[_0x1bc6('0x32')](_0x2474d0[_0x1bc6('0x31')]);_0x3a8885[_0x1bc6('0x33')]=_[_0x1bc6('0x34')](_0x3a8885[_0x1bc6('0x30')],_0x3a8885[_0x1bc6('0x31')]);_0x2fa280[_0x1bc6('0x35')]=_['intersection'](_0x3a8885[_0x1bc6('0x30')],qs[_0x1bc6('0x36')](_0x2474d0[_0x1bc6('0x31')][_0x1bc6('0x36')]));_0x2fa280[_0x1bc6('0x35')]=_0x2fa280['attributes'][_0x1bc6('0x37')]?_0x2fa280['attributes']:_0x3a8885['model'];if(!_0x2474d0[_0x1bc6('0x31')][_0x1bc6('0x38')](_0x1bc6('0x39'))){_0x2fa280[_0x1bc6('0x20')]=qs['limit'](_0x2474d0[_0x1bc6('0x31')][_0x1bc6('0x20')]);_0x2fa280['offset']=qs[_0x1bc6('0x1e')](_0x2474d0[_0x1bc6('0x31')][_0x1bc6('0x1e')]);}_0x2fa280[_0x1bc6('0x3a')]=qs[_0x1bc6('0x3b')](_0x2474d0[_0x1bc6('0x31')][_0x1bc6('0x3b')]);_0x2fa280[_0x1bc6('0x3c')]=qs[_0x1bc6('0x33')](_[_0x1bc6('0x3d')](_0x2474d0[_0x1bc6('0x31')],_0x3a8885[_0x1bc6('0x33')]),_0x1c7159);if(_0x2474d0[_0x1bc6('0x31')][_0x1bc6('0x3e')]){_0x2fa280[_0x1bc6('0x3c')]=_['merge'](_0x2fa280[_0x1bc6('0x3c')],{'$or':_[_0x1bc6('0x2b')](_0x1c7159,function(_0x4e39c4){if(_0x4e39c4[_0x1bc6('0x2f')]!==_0x1bc6('0x3f')){var _0x4f6961={};_0x4f6961[_0x4e39c4[_0x1bc6('0x29')]]={'$like':'%'+_0x2474d0[_0x1bc6('0x31')][_0x1bc6('0x3e')]+'%'};return _0x4f6961;}})});}_0x2fa280=_[_0x1bc6('0x40')]({},_0x2fa280,_0x2474d0[_0x1bc6('0x41')]);var _0x212169={'where':_0x2fa280[_0x1bc6('0x3c')]};return db['VtigerConfiguration'][_0x1bc6('0x21')](_0x212169)['then'](function(_0x9de660){_0x39a1a0['count']=_0x9de660;if(_0x2474d0[_0x1bc6('0x31')][_0x1bc6('0x42')]){_0x2fa280[_0x1bc6('0x43')]=[{'all':!![]}];}return db[_0x1bc6('0x2c')][_0x1bc6('0x44')](_0x2fa280);})[_0x1bc6('0x27')](function(_0x1b96c7){_0x39a1a0[_0x1bc6('0x45')]=_0x1b96c7;return _0x39a1a0;})['then'](respondWithFilteredResult(_0x1f2560,_0x2fa280))[_0x1bc6('0x46')](handleError(_0x1f2560,null));};exports['show']=function(_0x18cea4,_0x5ce7af){var _0x243514={'raw':![],'where':{'id':_0x18cea4['params']['id']}},_0x2a8bb9={};_0x2a8bb9['model']=_[_0x1bc6('0x32')](db[_0x1bc6('0x2c')][_0x1bc6('0x2d')]);_0x2a8bb9[_0x1bc6('0x31')]=_[_0x1bc6('0x32')](_0x18cea4['query']);_0x2a8bb9[_0x1bc6('0x33')]=_[_0x1bc6('0x34')](_0x2a8bb9[_0x1bc6('0x30')],_0x2a8bb9[_0x1bc6('0x31')]);_0x243514[_0x1bc6('0x35')]=_['intersection'](_0x2a8bb9[_0x1bc6('0x30')],qs[_0x1bc6('0x36')](_0x18cea4[_0x1bc6('0x31')]['fields']));_0x243514['attributes']=_0x243514[_0x1bc6('0x35')]['length']?_0x243514[_0x1bc6('0x35')]:_0x2a8bb9[_0x1bc6('0x30')];if(_0x18cea4[_0x1bc6('0x31')][_0x1bc6('0x42')]){_0x243514['include']=[{'all':!![]}];}_0x243514=_[_0x1bc6('0x40')]({},_0x243514,_0x18cea4[_0x1bc6('0x41')]);return db['VtigerConfiguration']['find'](_0x243514)[_0x1bc6('0x27')](handleEntityNotFound(_0x5ce7af,null))['then'](respondWithResult(_0x5ce7af,null))[_0x1bc6('0x46')](handleError(_0x5ce7af,null));};exports[_0x1bc6('0x47')]=function(_0x5c120a,_0x313ebf){return db[_0x1bc6('0x2c')][_0x1bc6('0x47')](_0x5c120a[_0x1bc6('0x48')],{})[_0x1bc6('0x27')](respondWithResult(_0x313ebf,0xc9))[_0x1bc6('0x46')](handleError(_0x313ebf,null));};exports['update']=function(_0x48b0de,_0x1d36d6){if(_0x48b0de[_0x1bc6('0x48')]['id']){delete _0x48b0de[_0x1bc6('0x48')]['id'];}return db[_0x1bc6('0x2c')][_0x1bc6('0x49')]({'where':{'id':_0x48b0de[_0x1bc6('0x4a')]['id']}})[_0x1bc6('0x27')](handleEntityNotFound(_0x1d36d6,null))[_0x1bc6('0x27')](saveUpdates(_0x48b0de[_0x1bc6('0x48')],null))[_0x1bc6('0x27')](respondWithResult(_0x1d36d6,null))[_0x1bc6('0x46')](handleError(_0x1d36d6,null));};exports[_0x1bc6('0x26')]=function(_0x3994c9,_0x433af7){return db['VtigerConfiguration']['find']({'where':{'id':_0x3994c9[_0x1bc6('0x4a')]['id']}})[_0x1bc6('0x27')](handleEntityNotFound(_0x433af7,null))[_0x1bc6('0x27')](removeEntity(_0x433af7,null))[_0x1bc6('0x46')](handleError(_0x433af7,null));};exports['getFields']=function(_0x4ccfc1,_0x3f4216,_0x4bf62e){var _0xd6415={};var _0x1146bd={};var _0x4d580e;var _0x48682d;return db[_0x1bc6('0x2c')][_0x1bc6('0x4b')]({'where':{'id':_0x4ccfc1[_0x1bc6('0x4a')]['id']}})[_0x1bc6('0x27')](handleEntityNotFound(_0x3f4216,null))[_0x1bc6('0x27')](function(_0x322473){if(_0x322473){_0x4d580e=_0x322473;_0x1146bd['model']=_[_0x1bc6('0x32')](db['VtigerField'][_0x1bc6('0x2d')]);_0x1146bd[_0x1bc6('0x31')]=_[_0x1bc6('0x32')](_0x4ccfc1[_0x1bc6('0x31')]);_0x1146bd['filters']=_[_0x1bc6('0x34')](_0x1146bd[_0x1bc6('0x30')],_0x1146bd['query']);_0xd6415['attributes']=_[_0x1bc6('0x34')](_0x1146bd[_0x1bc6('0x30')],qs['fields'](_0x4ccfc1['query'][_0x1bc6('0x36')]));_0xd6415[_0x1bc6('0x35')]=_0xd6415[_0x1bc6('0x35')]['length']?_0xd6415[_0x1bc6('0x35')]:_0x1146bd[_0x1bc6('0x30')];_0xd6415['order']=qs[_0x1bc6('0x3b')](_0x4ccfc1[_0x1bc6('0x31')][_0x1bc6('0x3b')]);_0xd6415[_0x1bc6('0x3c')]=qs[_0x1bc6('0x33')](_[_0x1bc6('0x3d')](_0x4ccfc1[_0x1bc6('0x31')],_0x1146bd[_0x1bc6('0x33')]));if(_0x4ccfc1[_0x1bc6('0x31')][_0x1bc6('0x3e')]){_0xd6415[_0x1bc6('0x3c')]=_[_0x1bc6('0x40')](_0xd6415[_0x1bc6('0x3c')],{'$or':_[_0x1bc6('0x2b')](_0xd6415[_0x1bc6('0x35')],function(_0x5cefd8){var _0x134cd4={};_0x134cd4[_0x5cefd8]={'$like':'%'+_0x4ccfc1['query']['filter']+'%'};return _0x134cd4;})});}_0xd6415=_[_0x1bc6('0x40')]({},_0xd6415,_0x4ccfc1[_0x1bc6('0x41')]);return _0x4d580e[_0x1bc6('0x4c')](_0xd6415);}})[_0x1bc6('0x27')](function(_0x2a895f){if(_0x2a895f){_0x48682d=_0x2a895f[_0x1bc6('0x37')];if(!_0x4ccfc1[_0x1bc6('0x31')][_0x1bc6('0x38')](_0x1bc6('0x39'))){_0xd6415[_0x1bc6('0x20')]=qs[_0x1bc6('0x20')](_0x4ccfc1[_0x1bc6('0x31')][_0x1bc6('0x20')]);_0xd6415[_0x1bc6('0x1e')]=qs[_0x1bc6('0x1e')](_0x4ccfc1[_0x1bc6('0x31')][_0x1bc6('0x1e')]);}return _0x4d580e[_0x1bc6('0x4c')](_0xd6415);}})['then'](function(_0x1f5cde){if(_0x1f5cde){return _0x1f5cde?{'count':_0x48682d,'rows':_0x1f5cde}:null;}})[_0x1bc6('0x27')](respondWithResult(_0x3f4216,null))[_0x1bc6('0x46')](handleError(_0x3f4216,null));};exports['getSubjects']=function(_0x33d1d5,_0x20c35e,_0x7ee97f){var _0x4756ec={};var _0x4bde3b={};var _0x1bc8f2;var _0x9489c9;return db[_0x1bc6('0x2c')]['findOne']({'where':{'id':_0x33d1d5[_0x1bc6('0x4a')]['id']}})['then'](handleEntityNotFound(_0x20c35e,null))[_0x1bc6('0x27')](function(_0x530685){if(_0x530685){_0x1bc8f2=_0x530685;_0x4bde3b[_0x1bc6('0x30')]=_[_0x1bc6('0x32')](db[_0x1bc6('0x4d')][_0x1bc6('0x2d')]);_0x4bde3b[_0x1bc6('0x31')]=_[_0x1bc6('0x32')](_0x33d1d5[_0x1bc6('0x31')]);_0x4bde3b['filters']=_[_0x1bc6('0x34')](_0x4bde3b['model'],_0x4bde3b[_0x1bc6('0x31')]);_0x4756ec[_0x1bc6('0x35')]=_[_0x1bc6('0x34')](_0x4bde3b[_0x1bc6('0x30')],qs['fields'](_0x33d1d5[_0x1bc6('0x31')][_0x1bc6('0x36')]));_0x4756ec[_0x1bc6('0x35')]=_0x4756ec[_0x1bc6('0x35')]['length']?_0x4756ec['attributes']:_0x4bde3b[_0x1bc6('0x30')];_0x4756ec[_0x1bc6('0x3a')]=qs[_0x1bc6('0x3b')](_0x33d1d5['query'][_0x1bc6('0x3b')]);_0x4756ec[_0x1bc6('0x3c')]=qs[_0x1bc6('0x33')](_[_0x1bc6('0x3d')](_0x33d1d5[_0x1bc6('0x31')],_0x4bde3b[_0x1bc6('0x33')]));if(_0x33d1d5['query'][_0x1bc6('0x3e')]){_0x4756ec[_0x1bc6('0x3c')]=_[_0x1bc6('0x40')](_0x4756ec[_0x1bc6('0x3c')],{'$or':_[_0x1bc6('0x2b')](_0x4756ec[_0x1bc6('0x35')],function(_0x4f86e0){var _0x1828cf={};_0x1828cf[_0x4f86e0]={'$like':'%'+_0x33d1d5[_0x1bc6('0x31')][_0x1bc6('0x3e')]+'%'};return _0x1828cf;})});}_0x4756ec=_['merge']({},_0x4756ec,_0x33d1d5['options']);return _0x1bc8f2[_0x1bc6('0x4e')](_0x4756ec);}})[_0x1bc6('0x27')](function(_0x45cbd8){if(_0x45cbd8){_0x9489c9=_0x45cbd8['length'];if(!_0x33d1d5[_0x1bc6('0x31')][_0x1bc6('0x38')](_0x1bc6('0x39'))){_0x4756ec[_0x1bc6('0x20')]=qs[_0x1bc6('0x20')](_0x33d1d5[_0x1bc6('0x31')][_0x1bc6('0x20')]);_0x4756ec['offset']=qs['offset'](_0x33d1d5[_0x1bc6('0x31')]['offset']);}return _0x1bc8f2[_0x1bc6('0x4e')](_0x4756ec);}})[_0x1bc6('0x27')](function(_0x87e08){if(_0x87e08){return _0x87e08?{'count':_0x9489c9,'rows':_0x87e08}:null;}})[_0x1bc6('0x27')](respondWithResult(_0x20c35e,null))['catch'](handleError(_0x20c35e,null));};exports[_0x1bc6('0x4f')]=function(_0x2997ed,_0x53f284,_0x441c9b){var _0x96ff77={};var _0x2c5350={};var _0x3fd14f;var _0x584b20;return db[_0x1bc6('0x2c')][_0x1bc6('0x4b')]({'where':{'id':_0x2997ed[_0x1bc6('0x4a')]['id']}})[_0x1bc6('0x27')](handleEntityNotFound(_0x53f284,null))[_0x1bc6('0x27')](function(_0x47357c){if(_0x47357c){_0x3fd14f=_0x47357c;_0x2c5350[_0x1bc6('0x30')]=_[_0x1bc6('0x32')](db[_0x1bc6('0x4d')][_0x1bc6('0x2d')]);_0x2c5350[_0x1bc6('0x31')]=_[_0x1bc6('0x32')](_0x2997ed[_0x1bc6('0x31')]);_0x2c5350['filters']=_[_0x1bc6('0x34')](_0x2c5350[_0x1bc6('0x30')],_0x2c5350[_0x1bc6('0x31')]);_0x96ff77[_0x1bc6('0x35')]=_[_0x1bc6('0x34')](_0x2c5350[_0x1bc6('0x30')],qs[_0x1bc6('0x36')](_0x2997ed[_0x1bc6('0x31')][_0x1bc6('0x36')]));_0x96ff77[_0x1bc6('0x35')]=_0x96ff77[_0x1bc6('0x35')]['length']?_0x96ff77[_0x1bc6('0x35')]:_0x2c5350[_0x1bc6('0x30')];_0x96ff77[_0x1bc6('0x3a')]=qs[_0x1bc6('0x3b')](_0x2997ed[_0x1bc6('0x31')][_0x1bc6('0x3b')]);_0x96ff77[_0x1bc6('0x3c')]=qs['filters'](_[_0x1bc6('0x3d')](_0x2997ed['query'],_0x2c5350[_0x1bc6('0x33')]));if(_0x2997ed[_0x1bc6('0x31')][_0x1bc6('0x3e')]){_0x96ff77[_0x1bc6('0x3c')]=_['merge'](_0x96ff77[_0x1bc6('0x3c')],{'$or':_['map'](_0x96ff77[_0x1bc6('0x35')],function(_0x188942){var _0xbaf4fb={};_0xbaf4fb[_0x188942]={'$like':'%'+_0x2997ed[_0x1bc6('0x31')]['filter']+'%'};return _0xbaf4fb;})});}_0x96ff77=_['merge']({},_0x96ff77,_0x2997ed[_0x1bc6('0x41')]);return _0x3fd14f['getDescriptions'](_0x96ff77);}})[_0x1bc6('0x27')](function(_0xaac010){if(_0xaac010){_0x584b20=_0xaac010[_0x1bc6('0x37')];if(!_0x2997ed['query']['hasOwnProperty'](_0x1bc6('0x39'))){_0x96ff77[_0x1bc6('0x20')]=qs[_0x1bc6('0x20')](_0x2997ed[_0x1bc6('0x31')][_0x1bc6('0x20')]);_0x96ff77[_0x1bc6('0x1e')]=qs[_0x1bc6('0x1e')](_0x2997ed[_0x1bc6('0x31')][_0x1bc6('0x1e')]);}return _0x3fd14f[_0x1bc6('0x4f')](_0x96ff77);}})['then'](function(_0x1800ab){if(_0x1800ab){return _0x1800ab?{'count':_0x584b20,'rows':_0x1800ab}:null;}})['then'](respondWithResult(_0x53f284,null))[_0x1bc6('0x46')](handleError(_0x53f284,null));};