faa189c83a693cde98dafac29a0077deed9a044e
[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 _0x1fa7=['order','sort','where','pick','filter','merge','type','VIRTUAL','options','includeAll','findAll','rows','catch','show','rawAttributes','create','body','update','find','params','getFields','VtigerField','getSubjects','findOne','getDescriptions','rimraf','zip-dir','moment','bluebird','util','sox','to-csv','ejs','lodash','squel','crypto','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','status','end','json','offset','undefined','count','limit','set','Content-Range','apply','reject','save','then','destroy','error','name','send','index','map','VtigerConfiguration','key','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit'];(function(_0x5d30b4,_0x199248){var _0x1acfb8=function(_0x3544b2){while(--_0x3544b2){_0x5d30b4['push'](_0x5d30b4['shift']());}};_0x1acfb8(++_0x199248);}(_0x1fa7,0x151));var _0x71fa=function(_0x2aadee,_0x323412){_0x2aadee=_0x2aadee-0x0;var _0x48a186=_0x1fa7[_0x2aadee];return _0x48a186;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x71fa('0x0'));var zipdir=require(_0x71fa('0x1'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x71fa('0x2'));var BPromise=require(_0x71fa('0x3'));var Mustache=require('mustache');var util=require(_0x71fa('0x4'));var path=require('path');var sox=require(_0x71fa('0x5'));var csv=require(_0x71fa('0x6'));var ejs=require(_0x71fa('0x7'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x71fa('0x8'));var squel=require(_0x71fa('0x9'));var crypto=require(_0x71fa('0xa'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x71fa('0x6'));var querystring=require(_0x71fa('0xb'));var Papa=require(_0x71fa('0xc'));var Redis=require(_0x71fa('0xd'));var authService=require(_0x71fa('0xe'));var qs=require('../../components/parsers/qs');var as=require(_0x71fa('0xf'));var hardwareService=require(_0x71fa('0x10'));var logger=require(_0x71fa('0x11'))(_0x71fa('0x12'));var utils=require(_0x71fa('0x13'));var config=require('../../config/environment');var licenseUtil=require(_0x71fa('0x14'));var db=require(_0x71fa('0x15'))['db'];function respondWithStatusCode(_0x5edc6e,_0x2966d5){_0x2966d5=_0x2966d5||0xcc;return function(_0x23751d){if(_0x23751d){return _0x5edc6e['sendStatus'](_0x2966d5);}return _0x5edc6e[_0x71fa('0x16')](_0x2966d5)[_0x71fa('0x17')]();};}function respondWithResult(_0x262e75,_0x157024){_0x157024=_0x157024||0xc8;return function(_0xc1fc2a){if(_0xc1fc2a){return _0x262e75[_0x71fa('0x16')](_0x157024)[_0x71fa('0x18')](_0xc1fc2a);}};}function respondWithFilteredResult(_0x1b6174,_0x50e6c8){return function(_0x25b825){if(_0x25b825){var _0x29ba6a=typeof _0x50e6c8[_0x71fa('0x19')]===_0x71fa('0x1a')&&typeof _0x50e6c8['limit']==='undefined';var _0x27cbaf=_0x25b825[_0x71fa('0x1b')];var _0x1f88b5=_0x29ba6a?0x0:_0x50e6c8[_0x71fa('0x19')];var _0xa78e6a=_0x29ba6a?_0x25b825[_0x71fa('0x1b')]:_0x50e6c8['offset']+_0x50e6c8[_0x71fa('0x1c')];var _0x5dab42;if(_0xa78e6a>=_0x27cbaf){_0xa78e6a=_0x27cbaf;_0x5dab42=0xc8;}else{_0x5dab42=0xce;}_0x1b6174[_0x71fa('0x16')](_0x5dab42);return _0x1b6174[_0x71fa('0x1d')](_0x71fa('0x1e'),_0x1f88b5+'-'+_0xa78e6a+'/'+_0x27cbaf)[_0x71fa('0x18')](_0x25b825);}return null;};}function patchUpdates(_0x4638f5){return function(_0x54d52d){try{jsonpatch[_0x71fa('0x1f')](_0x54d52d,_0x4638f5,!![]);}catch(_0xda7ff2){return BPromise[_0x71fa('0x20')](_0xda7ff2);}return _0x54d52d[_0x71fa('0x21')]();};}function saveUpdates(_0x5b7f75,_0x472440){return function(_0x51fd35){if(_0x51fd35){return _0x51fd35['update'](_0x5b7f75)[_0x71fa('0x22')](function(_0x120608){return _0x120608;});}return null;};}function removeEntity(_0x408e13,_0x16e0c3){return function(_0x358591){if(_0x358591){return _0x358591[_0x71fa('0x23')]()[_0x71fa('0x22')](function(){_0x408e13[_0x71fa('0x16')](0xcc)[_0x71fa('0x17')]();});}};}function handleEntityNotFound(_0x46bc02,_0x4d3818){return function(_0x16fdfe){if(!_0x16fdfe){_0x46bc02['sendStatus'](0x194);}return _0x16fdfe;};}function handleError(_0x23e988,_0x12457c){_0x12457c=_0x12457c||0x1f4;return function(_0x3d5c60){logger[_0x71fa('0x24')](_0x3d5c60['stack']);if(_0x3d5c60['name']){delete _0x3d5c60[_0x71fa('0x25')];}_0x23e988[_0x71fa('0x16')](_0x12457c)[_0x71fa('0x26')](_0x3d5c60);};}exports[_0x71fa('0x27')]=function(_0x41b50f,_0x3ba2b2){var _0xcb78={},_0x2fa76d={},_0x2773a0={'count':0x0,'rows':[]};var _0x12605b=_[_0x71fa('0x28')](db[_0x71fa('0x29')]['rawAttributes'],function(_0x172eb4){return{'name':_0x172eb4['fieldName'],'type':_0x172eb4['type'][_0x71fa('0x2a')]};});_0x2fa76d[_0x71fa('0x2b')]=_[_0x71fa('0x28')](_0x12605b,_0x71fa('0x25'));_0x2fa76d[_0x71fa('0x2c')]=_[_0x71fa('0x2d')](_0x41b50f[_0x71fa('0x2c')]);_0x2fa76d[_0x71fa('0x2e')]=_[_0x71fa('0x2f')](_0x2fa76d[_0x71fa('0x2b')],_0x2fa76d[_0x71fa('0x2c')]);_0xcb78['attributes']=_[_0x71fa('0x2f')](_0x2fa76d[_0x71fa('0x2b')],qs[_0x71fa('0x30')](_0x41b50f['query']['fields']));_0xcb78['attributes']=_0xcb78[_0x71fa('0x31')][_0x71fa('0x32')]?_0xcb78[_0x71fa('0x31')]:_0x2fa76d[_0x71fa('0x2b')];if(!_0x41b50f[_0x71fa('0x2c')][_0x71fa('0x33')](_0x71fa('0x34'))){_0xcb78['limit']=qs[_0x71fa('0x1c')](_0x41b50f[_0x71fa('0x2c')][_0x71fa('0x1c')]);_0xcb78[_0x71fa('0x19')]=qs[_0x71fa('0x19')](_0x41b50f['query'][_0x71fa('0x19')]);}_0xcb78[_0x71fa('0x35')]=qs[_0x71fa('0x36')](_0x41b50f[_0x71fa('0x2c')][_0x71fa('0x36')]);_0xcb78[_0x71fa('0x37')]=qs[_0x71fa('0x2e')](_[_0x71fa('0x38')](_0x41b50f[_0x71fa('0x2c')],_0x2fa76d[_0x71fa('0x2e')]),_0x12605b);if(_0x41b50f['query'][_0x71fa('0x39')]){_0xcb78[_0x71fa('0x37')]=_[_0x71fa('0x3a')](_0xcb78[_0x71fa('0x37')],{'$or':_[_0x71fa('0x28')](_0x12605b,function(_0xa2b3d9){if(_0xa2b3d9[_0x71fa('0x3b')]!==_0x71fa('0x3c')){var _0x1ffa62={};_0x1ffa62[_0xa2b3d9[_0x71fa('0x25')]]={'$like':'%'+_0x41b50f[_0x71fa('0x2c')][_0x71fa('0x39')]+'%'};return _0x1ffa62;}})});}_0xcb78=_[_0x71fa('0x3a')]({},_0xcb78,_0x41b50f[_0x71fa('0x3d')]);var _0xd7c8b3={'where':_0xcb78['where']};return db['VtigerConfiguration']['count'](_0xd7c8b3)[_0x71fa('0x22')](function(_0x45d35c){_0x2773a0['count']=_0x45d35c;if(_0x41b50f[_0x71fa('0x2c')][_0x71fa('0x3e')]){_0xcb78['include']=[{'all':!![]}];}return db[_0x71fa('0x29')][_0x71fa('0x3f')](_0xcb78);})[_0x71fa('0x22')](function(_0x2702fb){_0x2773a0[_0x71fa('0x40')]=_0x2702fb;return _0x2773a0;})['then'](respondWithFilteredResult(_0x3ba2b2,_0xcb78))[_0x71fa('0x41')](handleError(_0x3ba2b2,null));};exports[_0x71fa('0x42')]=function(_0x1a566a,_0x2df04a){var _0x1bebab={'raw':![],'where':{'id':_0x1a566a['params']['id']}},_0x4793b1={};_0x4793b1['model']=_['keys'](db['VtigerConfiguration'][_0x71fa('0x43')]);_0x4793b1[_0x71fa('0x2c')]=_[_0x71fa('0x2d')](_0x1a566a['query']);_0x4793b1[_0x71fa('0x2e')]=_[_0x71fa('0x2f')](_0x4793b1[_0x71fa('0x2b')],_0x4793b1[_0x71fa('0x2c')]);_0x1bebab[_0x71fa('0x31')]=_[_0x71fa('0x2f')](_0x4793b1[_0x71fa('0x2b')],qs[_0x71fa('0x30')](_0x1a566a[_0x71fa('0x2c')][_0x71fa('0x30')]));_0x1bebab[_0x71fa('0x31')]=_0x1bebab[_0x71fa('0x31')][_0x71fa('0x32')]?_0x1bebab[_0x71fa('0x31')]:_0x4793b1['model'];if(_0x1a566a[_0x71fa('0x2c')][_0x71fa('0x3e')]){_0x1bebab['include']=[{'all':!![]}];}_0x1bebab=_[_0x71fa('0x3a')]({},_0x1bebab,_0x1a566a[_0x71fa('0x3d')]);return db[_0x71fa('0x29')]['find'](_0x1bebab)[_0x71fa('0x22')](handleEntityNotFound(_0x2df04a,null))[_0x71fa('0x22')](respondWithResult(_0x2df04a,null))[_0x71fa('0x41')](handleError(_0x2df04a,null));};exports[_0x71fa('0x44')]=function(_0x28bc29,_0x1b35e5){return db[_0x71fa('0x29')][_0x71fa('0x44')](_0x28bc29[_0x71fa('0x45')],{})['then'](respondWithResult(_0x1b35e5,0xc9))[_0x71fa('0x41')](handleError(_0x1b35e5,null));};exports[_0x71fa('0x46')]=function(_0x3c558d,_0x56433e){if(_0x3c558d['body']['id']){delete _0x3c558d[_0x71fa('0x45')]['id'];}return db['VtigerConfiguration'][_0x71fa('0x47')]({'where':{'id':_0x3c558d['params']['id']}})['then'](handleEntityNotFound(_0x56433e,null))[_0x71fa('0x22')](saveUpdates(_0x3c558d['body'],null))['then'](respondWithResult(_0x56433e,null))['catch'](handleError(_0x56433e,null));};exports['destroy']=function(_0x273d2d,_0x3a94dd){return db[_0x71fa('0x29')]['find']({'where':{'id':_0x273d2d[_0x71fa('0x48')]['id']}})['then'](handleEntityNotFound(_0x3a94dd,null))[_0x71fa('0x22')](removeEntity(_0x3a94dd,null))[_0x71fa('0x41')](handleError(_0x3a94dd,null));};exports[_0x71fa('0x49')]=function(_0x4cdfd2,_0x4921a0,_0x4edbfd){var _0x3f0871={};var _0x52d5a0={};var _0x1a67b6;var _0x27219b;return db['VtigerConfiguration']['findOne']({'where':{'id':_0x4cdfd2[_0x71fa('0x48')]['id']}})['then'](handleEntityNotFound(_0x4921a0,null))[_0x71fa('0x22')](function(_0x30c778){if(_0x30c778){_0x1a67b6=_0x30c778;_0x52d5a0[_0x71fa('0x2b')]=_[_0x71fa('0x2d')](db[_0x71fa('0x4a')][_0x71fa('0x43')]);_0x52d5a0['query']=_['keys'](_0x4cdfd2[_0x71fa('0x2c')]);_0x52d5a0[_0x71fa('0x2e')]=_[_0x71fa('0x2f')](_0x52d5a0[_0x71fa('0x2b')],_0x52d5a0[_0x71fa('0x2c')]);_0x3f0871[_0x71fa('0x31')]=_['intersection'](_0x52d5a0[_0x71fa('0x2b')],qs['fields'](_0x4cdfd2['query'][_0x71fa('0x30')]));_0x3f0871['attributes']=_0x3f0871[_0x71fa('0x31')][_0x71fa('0x32')]?_0x3f0871[_0x71fa('0x31')]:_0x52d5a0[_0x71fa('0x2b')];_0x3f0871[_0x71fa('0x35')]=qs[_0x71fa('0x36')](_0x4cdfd2[_0x71fa('0x2c')][_0x71fa('0x36')]);_0x3f0871['where']=qs[_0x71fa('0x2e')](_['pick'](_0x4cdfd2['query'],_0x52d5a0[_0x71fa('0x2e')]));if(_0x4cdfd2[_0x71fa('0x2c')][_0x71fa('0x39')]){_0x3f0871['where']=_[_0x71fa('0x3a')](_0x3f0871[_0x71fa('0x37')],{'$or':_['map'](_0x3f0871[_0x71fa('0x31')],function(_0x2b94e8){var _0x4afa64={};_0x4afa64[_0x2b94e8]={'$like':'%'+_0x4cdfd2[_0x71fa('0x2c')][_0x71fa('0x39')]+'%'};return _0x4afa64;})});}_0x3f0871=_[_0x71fa('0x3a')]({},_0x3f0871,_0x4cdfd2['options']);return _0x1a67b6['getFields'](_0x3f0871);}})[_0x71fa('0x22')](function(_0x5ed4dd){if(_0x5ed4dd){_0x27219b=_0x5ed4dd['length'];if(!_0x4cdfd2[_0x71fa('0x2c')][_0x71fa('0x33')](_0x71fa('0x34'))){_0x3f0871[_0x71fa('0x1c')]=qs[_0x71fa('0x1c')](_0x4cdfd2[_0x71fa('0x2c')][_0x71fa('0x1c')]);_0x3f0871['offset']=qs[_0x71fa('0x19')](_0x4cdfd2['query']['offset']);}return _0x1a67b6[_0x71fa('0x49')](_0x3f0871);}})[_0x71fa('0x22')](function(_0x57ac9d){if(_0x57ac9d){return _0x57ac9d?{'count':_0x27219b,'rows':_0x57ac9d}:null;}})[_0x71fa('0x22')](respondWithResult(_0x4921a0,null))[_0x71fa('0x41')](handleError(_0x4921a0,null));};exports[_0x71fa('0x4b')]=function(_0x23e6a1,_0x188fbe,_0x660cf){var _0x63a04d={};var _0x170f47={};var _0x3d9d45;var _0x7de2d2;return db[_0x71fa('0x29')][_0x71fa('0x4c')]({'where':{'id':_0x23e6a1['params']['id']}})[_0x71fa('0x22')](handleEntityNotFound(_0x188fbe,null))[_0x71fa('0x22')](function(_0x329982){if(_0x329982){_0x3d9d45=_0x329982;_0x170f47[_0x71fa('0x2b')]=_[_0x71fa('0x2d')](db['VtigerField'][_0x71fa('0x43')]);_0x170f47[_0x71fa('0x2c')]=_[_0x71fa('0x2d')](_0x23e6a1[_0x71fa('0x2c')]);_0x170f47[_0x71fa('0x2e')]=_['intersection'](_0x170f47[_0x71fa('0x2b')],_0x170f47[_0x71fa('0x2c')]);_0x63a04d[_0x71fa('0x31')]=_[_0x71fa('0x2f')](_0x170f47[_0x71fa('0x2b')],qs[_0x71fa('0x30')](_0x23e6a1[_0x71fa('0x2c')][_0x71fa('0x30')]));_0x63a04d[_0x71fa('0x31')]=_0x63a04d[_0x71fa('0x31')]['length']?_0x63a04d[_0x71fa('0x31')]:_0x170f47[_0x71fa('0x2b')];_0x63a04d[_0x71fa('0x35')]=qs[_0x71fa('0x36')](_0x23e6a1[_0x71fa('0x2c')][_0x71fa('0x36')]);_0x63a04d['where']=qs[_0x71fa('0x2e')](_[_0x71fa('0x38')](_0x23e6a1['query'],_0x170f47[_0x71fa('0x2e')]));if(_0x23e6a1[_0x71fa('0x2c')]['filter']){_0x63a04d['where']=_[_0x71fa('0x3a')](_0x63a04d[_0x71fa('0x37')],{'$or':_['map'](_0x63a04d[_0x71fa('0x31')],function(_0x5c1d3e){var _0x295e78={};_0x295e78[_0x5c1d3e]={'$like':'%'+_0x23e6a1[_0x71fa('0x2c')][_0x71fa('0x39')]+'%'};return _0x295e78;})});}_0x63a04d=_[_0x71fa('0x3a')]({},_0x63a04d,_0x23e6a1['options']);return _0x3d9d45['getSubjects'](_0x63a04d);}})[_0x71fa('0x22')](function(_0x477cb9){if(_0x477cb9){_0x7de2d2=_0x477cb9[_0x71fa('0x32')];if(!_0x23e6a1['query'][_0x71fa('0x33')]('nolimit')){_0x63a04d[_0x71fa('0x1c')]=qs[_0x71fa('0x1c')](_0x23e6a1[_0x71fa('0x2c')][_0x71fa('0x1c')]);_0x63a04d[_0x71fa('0x19')]=qs['offset'](_0x23e6a1[_0x71fa('0x2c')][_0x71fa('0x19')]);}return _0x3d9d45[_0x71fa('0x4b')](_0x63a04d);}})[_0x71fa('0x22')](function(_0x25b202){if(_0x25b202){return _0x25b202?{'count':_0x7de2d2,'rows':_0x25b202}:null;}})[_0x71fa('0x22')](respondWithResult(_0x188fbe,null))[_0x71fa('0x41')](handleError(_0x188fbe,null));};exports[_0x71fa('0x4d')]=function(_0x2a0bc0,_0x15a7a3,_0x5e46d4){var _0x6c446={};var _0x184a75={};var _0x4f14f3;var _0x5eb399;return db[_0x71fa('0x29')][_0x71fa('0x4c')]({'where':{'id':_0x2a0bc0[_0x71fa('0x48')]['id']}})['then'](handleEntityNotFound(_0x15a7a3,null))[_0x71fa('0x22')](function(_0xd29b83){if(_0xd29b83){_0x4f14f3=_0xd29b83;_0x184a75[_0x71fa('0x2b')]=_[_0x71fa('0x2d')](db[_0x71fa('0x4a')][_0x71fa('0x43')]);_0x184a75['query']=_['keys'](_0x2a0bc0[_0x71fa('0x2c')]);_0x184a75[_0x71fa('0x2e')]=_[_0x71fa('0x2f')](_0x184a75[_0x71fa('0x2b')],_0x184a75[_0x71fa('0x2c')]);_0x6c446[_0x71fa('0x31')]=_[_0x71fa('0x2f')](_0x184a75['model'],qs[_0x71fa('0x30')](_0x2a0bc0[_0x71fa('0x2c')][_0x71fa('0x30')]));_0x6c446[_0x71fa('0x31')]=_0x6c446[_0x71fa('0x31')][_0x71fa('0x32')]?_0x6c446[_0x71fa('0x31')]:_0x184a75[_0x71fa('0x2b')];_0x6c446[_0x71fa('0x35')]=qs[_0x71fa('0x36')](_0x2a0bc0[_0x71fa('0x2c')][_0x71fa('0x36')]);_0x6c446[_0x71fa('0x37')]=qs[_0x71fa('0x2e')](_[_0x71fa('0x38')](_0x2a0bc0[_0x71fa('0x2c')],_0x184a75[_0x71fa('0x2e')]));if(_0x2a0bc0[_0x71fa('0x2c')]['filter']){_0x6c446[_0x71fa('0x37')]=_[_0x71fa('0x3a')](_0x6c446[_0x71fa('0x37')],{'$or':_[_0x71fa('0x28')](_0x6c446[_0x71fa('0x31')],function(_0x13b645){var _0x1e3484={};_0x1e3484[_0x13b645]={'$like':'%'+_0x2a0bc0[_0x71fa('0x2c')][_0x71fa('0x39')]+'%'};return _0x1e3484;})});}_0x6c446=_[_0x71fa('0x3a')]({},_0x6c446,_0x2a0bc0[_0x71fa('0x3d')]);return _0x4f14f3[_0x71fa('0x4d')](_0x6c446);}})[_0x71fa('0x22')](function(_0x4020fb){if(_0x4020fb){_0x5eb399=_0x4020fb['length'];if(!_0x2a0bc0[_0x71fa('0x2c')]['hasOwnProperty'](_0x71fa('0x34'))){_0x6c446[_0x71fa('0x1c')]=qs['limit'](_0x2a0bc0[_0x71fa('0x2c')][_0x71fa('0x1c')]);_0x6c446[_0x71fa('0x19')]=qs[_0x71fa('0x19')](_0x2a0bc0['query'][_0x71fa('0x19')]);}return _0x4f14f3[_0x71fa('0x4d')](_0x6c446);}})[_0x71fa('0x22')](function(_0x446236){if(_0x446236){return _0x446236?{'count':_0x5eb399,'rows':_0x446236}:null;}})[_0x71fa('0x22')](respondWithResult(_0x15a7a3,null))[_0x71fa('0x41')](handleError(_0x15a7a3,null));};