Built motion from commit ddca4d0d.|2.5.47
[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 _0xecac=['index','map','VtigerConfiguration','rawAttributes','fieldName','type','key','query','keys','filters','intersection','attributes','model','fields','order','sort','where','pick','VIRTUAL','filter','merge','options','includeAll','rows','catch','params','length','include','find','create','body','destroy','getFields','findOne','hasOwnProperty','getSubjects','getDescriptions','VtigerField','nolimit','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','ejs','fs-extra','lodash','squel','jsforce','desk.js','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/utils','../../config/license/util','status','end','json','offset','undefined','count','limit','set','update','then','error','stack','name','send'];(function(_0x1facfa,_0x1acf7d){var _0x9ec701=function(_0x115e37){while(--_0x115e37){_0x1facfa['push'](_0x1facfa['shift']());}};_0x9ec701(++_0x1acf7d);}(_0xecac,0x71));var _0xceca=function(_0x2d82cf,_0x2d7399){_0x2d82cf=_0x2d82cf-0x0;var _0x1d36cc=_0xecac[_0x2d82cf];return _0x1d36cc;};'use strict';var emlformat=require(_0xceca('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xceca('0x1'));var jsonpatch=require(_0xceca('0x2'));var rp=require(_0xceca('0x3'));var moment=require(_0xceca('0x4'));var BPromise=require(_0xceca('0x5'));var Mustache=require(_0xceca('0x6'));var util=require(_0xceca('0x7'));var path=require('path');var sox=require(_0xceca('0x8'));var csv=require('to-csv');var ejs=require(_0xceca('0x9'));var fs=require('fs');var fs_extra=require(_0xceca('0xa'));var _=require(_0xceca('0xb'));var squel=require(_0xceca('0xc'));var crypto=require('crypto');var jsforce=require(_0xceca('0xd'));var deskjs=require(_0xceca('0xe'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0xceca('0xf'));var qs=require(_0xceca('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xceca('0x11'));var logger=require('../../config/logger')(_0xceca('0x12'));var utils=require(_0xceca('0x13'));var config=require('../../config/environment');var licenseUtil=require(_0xceca('0x14'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0xd71a1f,_0x2ce9fa){_0x2ce9fa=_0x2ce9fa||0xcc;return function(_0x18dee2){if(_0x18dee2){return _0xd71a1f['sendStatus'](_0x2ce9fa);}return _0xd71a1f[_0xceca('0x15')](_0x2ce9fa)[_0xceca('0x16')]();};}function respondWithResult(_0xa1da9c,_0x254e4b){_0x254e4b=_0x254e4b||0xc8;return function(_0x4fbc55){if(_0x4fbc55){return _0xa1da9c[_0xceca('0x15')](_0x254e4b)[_0xceca('0x17')](_0x4fbc55);}};}function respondWithFilteredResult(_0x342ff2,_0x2a0c42){return function(_0x26eaa6){if(_0x26eaa6){var _0x380ab9=typeof _0x2a0c42[_0xceca('0x18')]===_0xceca('0x19')&&typeof _0x2a0c42['limit']===_0xceca('0x19');var _0x184120=_0x26eaa6[_0xceca('0x1a')];var _0x1c9fa7=_0x380ab9?0x0:_0x2a0c42['offset'];var _0x134be9=_0x380ab9?_0x26eaa6[_0xceca('0x1a')]:_0x2a0c42[_0xceca('0x18')]+_0x2a0c42[_0xceca('0x1b')];var _0x4dc152;if(_0x134be9>=_0x184120){_0x134be9=_0x184120;_0x4dc152=0xc8;}else{_0x4dc152=0xce;}_0x342ff2[_0xceca('0x15')](_0x4dc152);return _0x342ff2[_0xceca('0x1c')]('Content-Range',_0x1c9fa7+'-'+_0x134be9+'/'+_0x184120)[_0xceca('0x17')](_0x26eaa6);}return null;};}function patchUpdates(_0x7f8f6){return function(_0x8d8009){try{jsonpatch['apply'](_0x8d8009,_0x7f8f6,!![]);}catch(_0x110c5d){return BPromise['reject'](_0x110c5d);}return _0x8d8009['save']();};}function saveUpdates(_0x15403a,_0x4e3714){return function(_0x2f831c){if(_0x2f831c){return _0x2f831c[_0xceca('0x1d')](_0x15403a)['then'](function(_0x589e4d){return _0x589e4d;});}return null;};}function removeEntity(_0x24835b,_0x1b16ed){return function(_0x3e00ad){if(_0x3e00ad){return _0x3e00ad['destroy']()[_0xceca('0x1e')](function(){_0x24835b['status'](0xcc)[_0xceca('0x16')]();});}};}function handleEntityNotFound(_0x197d52,_0x3d6494){return function(_0x2b3036){if(!_0x2b3036){_0x197d52['sendStatus'](0x194);}return _0x2b3036;};}function handleError(_0x1073ef,_0x424be5){_0x424be5=_0x424be5||0x1f4;return function(_0x48f794){logger[_0xceca('0x1f')](_0x48f794[_0xceca('0x20')]);if(_0x48f794[_0xceca('0x21')]){delete _0x48f794[_0xceca('0x21')];}_0x1073ef['status'](_0x424be5)[_0xceca('0x22')](_0x48f794);};}exports[_0xceca('0x23')]=function(_0x49296a,_0x5715ec){var _0x4080f1={},_0x422352={},_0x55ba5c={'count':0x0,'rows':[]};var _0x9ae27d=_[_0xceca('0x24')](db[_0xceca('0x25')][_0xceca('0x26')],function(_0x493e21){return{'name':_0x493e21[_0xceca('0x27')],'type':_0x493e21[_0xceca('0x28')][_0xceca('0x29')]};});_0x422352['model']=_['map'](_0x9ae27d,_0xceca('0x21'));_0x422352[_0xceca('0x2a')]=_[_0xceca('0x2b')](_0x49296a['query']);_0x422352[_0xceca('0x2c')]=_[_0xceca('0x2d')](_0x422352['model'],_0x422352['query']);_0x4080f1[_0xceca('0x2e')]=_['intersection'](_0x422352[_0xceca('0x2f')],qs[_0xceca('0x30')](_0x49296a['query'][_0xceca('0x30')]));_0x4080f1[_0xceca('0x2e')]=_0x4080f1[_0xceca('0x2e')]['length']?_0x4080f1[_0xceca('0x2e')]:_0x422352[_0xceca('0x2f')];if(!_0x49296a[_0xceca('0x2a')]['hasOwnProperty']('nolimit')){_0x4080f1['limit']=qs['limit'](_0x49296a['query'][_0xceca('0x1b')]);_0x4080f1[_0xceca('0x18')]=qs[_0xceca('0x18')](_0x49296a[_0xceca('0x2a')]['offset']);}_0x4080f1[_0xceca('0x31')]=qs[_0xceca('0x32')](_0x49296a[_0xceca('0x2a')][_0xceca('0x32')]);_0x4080f1[_0xceca('0x33')]=qs[_0xceca('0x2c')](_[_0xceca('0x34')](_0x49296a['query'],_0x422352[_0xceca('0x2c')]),_0x9ae27d);if(_0x49296a[_0xceca('0x2a')]['filter']){_0x4080f1[_0xceca('0x33')]=_['merge'](_0x4080f1[_0xceca('0x33')],{'$or':_['map'](_0x9ae27d,function(_0x5e59ed){if(_0x5e59ed[_0xceca('0x28')]!==_0xceca('0x35')){var _0x4f5a9e={};_0x4f5a9e[_0x5e59ed['name']]={'$like':'%'+_0x49296a[_0xceca('0x2a')][_0xceca('0x36')]+'%'};return _0x4f5a9e;}})});}_0x4080f1=_[_0xceca('0x37')]({},_0x4080f1,_0x49296a[_0xceca('0x38')]);var _0x5dd6da={'where':_0x4080f1[_0xceca('0x33')]};return db[_0xceca('0x25')][_0xceca('0x1a')](_0x5dd6da)[_0xceca('0x1e')](function(_0x56978c){_0x55ba5c[_0xceca('0x1a')]=_0x56978c;if(_0x49296a['query'][_0xceca('0x39')]){_0x4080f1['include']=[{'all':!![]}];}return db[_0xceca('0x25')]['findAll'](_0x4080f1);})[_0xceca('0x1e')](function(_0x2ea961){_0x55ba5c[_0xceca('0x3a')]=_0x2ea961;return _0x55ba5c;})[_0xceca('0x1e')](respondWithFilteredResult(_0x5715ec,_0x4080f1))[_0xceca('0x3b')](handleError(_0x5715ec,null));};exports['show']=function(_0x4374d3,_0x54214a){var _0x3a361e={'raw':![],'where':{'id':_0x4374d3[_0xceca('0x3c')]['id']}},_0x5eb8fd={};_0x5eb8fd[_0xceca('0x2f')]=_['keys'](db[_0xceca('0x25')][_0xceca('0x26')]);_0x5eb8fd[_0xceca('0x2a')]=_['keys'](_0x4374d3[_0xceca('0x2a')]);_0x5eb8fd[_0xceca('0x2c')]=_[_0xceca('0x2d')](_0x5eb8fd[_0xceca('0x2f')],_0x5eb8fd[_0xceca('0x2a')]);_0x3a361e[_0xceca('0x2e')]=_[_0xceca('0x2d')](_0x5eb8fd['model'],qs[_0xceca('0x30')](_0x4374d3['query']['fields']));_0x3a361e[_0xceca('0x2e')]=_0x3a361e[_0xceca('0x2e')][_0xceca('0x3d')]?_0x3a361e[_0xceca('0x2e')]:_0x5eb8fd['model'];if(_0x4374d3[_0xceca('0x2a')][_0xceca('0x39')]){_0x3a361e[_0xceca('0x3e')]=[{'all':!![]}];}_0x3a361e=_['merge']({},_0x3a361e,_0x4374d3[_0xceca('0x38')]);return db[_0xceca('0x25')][_0xceca('0x3f')](_0x3a361e)[_0xceca('0x1e')](handleEntityNotFound(_0x54214a,null))[_0xceca('0x1e')](respondWithResult(_0x54214a,null))[_0xceca('0x3b')](handleError(_0x54214a,null));};exports[_0xceca('0x40')]=function(_0x17d173,_0x29838f){return db['VtigerConfiguration'][_0xceca('0x40')](_0x17d173[_0xceca('0x41')],{})[_0xceca('0x1e')](respondWithResult(_0x29838f,0xc9))['catch'](handleError(_0x29838f,null));};exports['update']=function(_0x1b1c5a,_0x36de49){if(_0x1b1c5a[_0xceca('0x41')]['id']){delete _0x1b1c5a[_0xceca('0x41')]['id'];}return db[_0xceca('0x25')][_0xceca('0x3f')]({'where':{'id':_0x1b1c5a[_0xceca('0x3c')]['id']}})[_0xceca('0x1e')](handleEntityNotFound(_0x36de49,null))['then'](saveUpdates(_0x1b1c5a[_0xceca('0x41')],null))[_0xceca('0x1e')](respondWithResult(_0x36de49,null))['catch'](handleError(_0x36de49,null));};exports[_0xceca('0x42')]=function(_0x17b3ad,_0x2e7254){return db[_0xceca('0x25')][_0xceca('0x3f')]({'where':{'id':_0x17b3ad[_0xceca('0x3c')]['id']}})['then'](handleEntityNotFound(_0x2e7254,null))[_0xceca('0x1e')](removeEntity(_0x2e7254,null))['catch'](handleError(_0x2e7254,null));};exports[_0xceca('0x43')]=function(_0x2cfd7f,_0x3d9cc0,_0x3358be){var _0xd30069={};var _0x4edc4e={};var _0x2e5e67;var _0x187129;return db[_0xceca('0x25')][_0xceca('0x44')]({'where':{'id':_0x2cfd7f[_0xceca('0x3c')]['id']}})[_0xceca('0x1e')](handleEntityNotFound(_0x3d9cc0,null))[_0xceca('0x1e')](function(_0x2df59b){if(_0x2df59b){_0x2e5e67=_0x2df59b;_0x4edc4e[_0xceca('0x2f')]=_['keys'](db['VtigerField']['rawAttributes']);_0x4edc4e['query']=_[_0xceca('0x2b')](_0x2cfd7f['query']);_0x4edc4e[_0xceca('0x2c')]=_[_0xceca('0x2d')](_0x4edc4e[_0xceca('0x2f')],_0x4edc4e[_0xceca('0x2a')]);_0xd30069[_0xceca('0x2e')]=_['intersection'](_0x4edc4e[_0xceca('0x2f')],qs[_0xceca('0x30')](_0x2cfd7f['query'][_0xceca('0x30')]));_0xd30069[_0xceca('0x2e')]=_0xd30069[_0xceca('0x2e')][_0xceca('0x3d')]?_0xd30069[_0xceca('0x2e')]:_0x4edc4e[_0xceca('0x2f')];_0xd30069[_0xceca('0x31')]=qs[_0xceca('0x32')](_0x2cfd7f[_0xceca('0x2a')][_0xceca('0x32')]);_0xd30069[_0xceca('0x33')]=qs['filters'](_[_0xceca('0x34')](_0x2cfd7f[_0xceca('0x2a')],_0x4edc4e[_0xceca('0x2c')]));if(_0x2cfd7f[_0xceca('0x2a')][_0xceca('0x36')]){_0xd30069[_0xceca('0x33')]=_[_0xceca('0x37')](_0xd30069[_0xceca('0x33')],{'$or':_[_0xceca('0x24')](_0xd30069[_0xceca('0x2e')],function(_0x4e9a8b){var _0x572fe5={};_0x572fe5[_0x4e9a8b]={'$like':'%'+_0x2cfd7f[_0xceca('0x2a')]['filter']+'%'};return _0x572fe5;})});}_0xd30069=_[_0xceca('0x37')]({},_0xd30069,_0x2cfd7f['options']);return _0x2e5e67[_0xceca('0x43')](_0xd30069);}})['then'](function(_0x43491d){if(_0x43491d){_0x187129=_0x43491d[_0xceca('0x3d')];if(!_0x2cfd7f[_0xceca('0x2a')][_0xceca('0x45')]('nolimit')){_0xd30069[_0xceca('0x1b')]=qs['limit'](_0x2cfd7f['query'][_0xceca('0x1b')]);_0xd30069[_0xceca('0x18')]=qs[_0xceca('0x18')](_0x2cfd7f[_0xceca('0x2a')]['offset']);}return _0x2e5e67[_0xceca('0x43')](_0xd30069);}})[_0xceca('0x1e')](function(_0x5aa3cb){if(_0x5aa3cb){return _0x5aa3cb?{'count':_0x187129,'rows':_0x5aa3cb}:null;}})[_0xceca('0x1e')](respondWithResult(_0x3d9cc0,null))[_0xceca('0x3b')](handleError(_0x3d9cc0,null));};exports['getSubjects']=function(_0x351167,_0x324d59,_0x12076c){var _0x1c0d6a={};var _0x2bb282={};var _0x36710b;var _0xcadf71;return db['VtigerConfiguration'][_0xceca('0x44')]({'where':{'id':_0x351167[_0xceca('0x3c')]['id']}})[_0xceca('0x1e')](handleEntityNotFound(_0x324d59,null))['then'](function(_0xf9a271){if(_0xf9a271){_0x36710b=_0xf9a271;_0x2bb282[_0xceca('0x2f')]=_['keys'](db['VtigerField'][_0xceca('0x26')]);_0x2bb282[_0xceca('0x2a')]=_[_0xceca('0x2b')](_0x351167[_0xceca('0x2a')]);_0x2bb282[_0xceca('0x2c')]=_[_0xceca('0x2d')](_0x2bb282['model'],_0x2bb282[_0xceca('0x2a')]);_0x1c0d6a[_0xceca('0x2e')]=_[_0xceca('0x2d')](_0x2bb282['model'],qs['fields'](_0x351167[_0xceca('0x2a')][_0xceca('0x30')]));_0x1c0d6a[_0xceca('0x2e')]=_0x1c0d6a[_0xceca('0x2e')]['length']?_0x1c0d6a[_0xceca('0x2e')]:_0x2bb282['model'];_0x1c0d6a['order']=qs[_0xceca('0x32')](_0x351167[_0xceca('0x2a')][_0xceca('0x32')]);_0x1c0d6a[_0xceca('0x33')]=qs['filters'](_[_0xceca('0x34')](_0x351167[_0xceca('0x2a')],_0x2bb282['filters']));if(_0x351167['query'][_0xceca('0x36')]){_0x1c0d6a[_0xceca('0x33')]=_[_0xceca('0x37')](_0x1c0d6a[_0xceca('0x33')],{'$or':_[_0xceca('0x24')](_0x1c0d6a[_0xceca('0x2e')],function(_0xe35d3b){var _0x2ba45b={};_0x2ba45b[_0xe35d3b]={'$like':'%'+_0x351167[_0xceca('0x2a')][_0xceca('0x36')]+'%'};return _0x2ba45b;})});}_0x1c0d6a=_['merge']({},_0x1c0d6a,_0x351167['options']);return _0x36710b[_0xceca('0x46')](_0x1c0d6a);}})[_0xceca('0x1e')](function(_0x29f1fd){if(_0x29f1fd){_0xcadf71=_0x29f1fd[_0xceca('0x3d')];if(!_0x351167[_0xceca('0x2a')][_0xceca('0x45')]('nolimit')){_0x1c0d6a[_0xceca('0x1b')]=qs[_0xceca('0x1b')](_0x351167[_0xceca('0x2a')][_0xceca('0x1b')]);_0x1c0d6a[_0xceca('0x18')]=qs[_0xceca('0x18')](_0x351167[_0xceca('0x2a')][_0xceca('0x18')]);}return _0x36710b[_0xceca('0x46')](_0x1c0d6a);}})['then'](function(_0x1c0b9a){if(_0x1c0b9a){return _0x1c0b9a?{'count':_0xcadf71,'rows':_0x1c0b9a}:null;}})[_0xceca('0x1e')](respondWithResult(_0x324d59,null))[_0xceca('0x3b')](handleError(_0x324d59,null));};exports[_0xceca('0x47')]=function(_0x539092,_0x238a2d,_0x2db439){var _0x325f0f={};var _0x4bdadd={};var _0x44c379;var _0x827251;return db['VtigerConfiguration']['findOne']({'where':{'id':_0x539092[_0xceca('0x3c')]['id']}})[_0xceca('0x1e')](handleEntityNotFound(_0x238a2d,null))['then'](function(_0xf1f3aa){if(_0xf1f3aa){_0x44c379=_0xf1f3aa;_0x4bdadd[_0xceca('0x2f')]=_[_0xceca('0x2b')](db[_0xceca('0x48')][_0xceca('0x26')]);_0x4bdadd[_0xceca('0x2a')]=_[_0xceca('0x2b')](_0x539092[_0xceca('0x2a')]);_0x4bdadd[_0xceca('0x2c')]=_[_0xceca('0x2d')](_0x4bdadd[_0xceca('0x2f')],_0x4bdadd[_0xceca('0x2a')]);_0x325f0f['attributes']=_[_0xceca('0x2d')](_0x4bdadd[_0xceca('0x2f')],qs['fields'](_0x539092[_0xceca('0x2a')]['fields']));_0x325f0f[_0xceca('0x2e')]=_0x325f0f[_0xceca('0x2e')][_0xceca('0x3d')]?_0x325f0f[_0xceca('0x2e')]:_0x4bdadd[_0xceca('0x2f')];_0x325f0f[_0xceca('0x31')]=qs[_0xceca('0x32')](_0x539092[_0xceca('0x2a')][_0xceca('0x32')]);_0x325f0f[_0xceca('0x33')]=qs['filters'](_[_0xceca('0x34')](_0x539092[_0xceca('0x2a')],_0x4bdadd['filters']));if(_0x539092[_0xceca('0x2a')][_0xceca('0x36')]){_0x325f0f[_0xceca('0x33')]=_[_0xceca('0x37')](_0x325f0f[_0xceca('0x33')],{'$or':_[_0xceca('0x24')](_0x325f0f[_0xceca('0x2e')],function(_0x5da2f7){var _0x31fb51={};_0x31fb51[_0x5da2f7]={'$like':'%'+_0x539092['query']['filter']+'%'};return _0x31fb51;})});}_0x325f0f=_['merge']({},_0x325f0f,_0x539092['options']);return _0x44c379['getDescriptions'](_0x325f0f);}})['then'](function(_0x2036a0){if(_0x2036a0){_0x827251=_0x2036a0[_0xceca('0x3d')];if(!_0x539092['query']['hasOwnProperty'](_0xceca('0x49'))){_0x325f0f['limit']=qs[_0xceca('0x1b')](_0x539092[_0xceca('0x2a')][_0xceca('0x1b')]);_0x325f0f[_0xceca('0x18')]=qs[_0xceca('0x18')](_0x539092[_0xceca('0x2a')]['offset']);}return _0x44c379['getDescriptions'](_0x325f0f);}})[_0xceca('0x1e')](function(_0x2ada29){if(_0x2ada29){return _0x2ada29?{'count':_0x827251,'rows':_0x2ada29}:null;}})[_0xceca('0x1e')](respondWithResult(_0x238a2d,null))['catch'](handleError(_0x238a2d,null));};