Built motion from commit 4d4d9a88.|2.6.26
[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 _0xb48d=['nolimit','order','sort','filter','where','merge','VIRTUAL','includeAll','findAll','rows','catch','show','params','rawAttributes','options','find','create','body','findOne','VtigerField','getFields','getSubjects','getDescriptions','pick','eml-format','zip-dir','request-promise','moment','bluebird','mustache','path','to-csv','ejs','fs-extra','crypto','jsforce','querystring','ioredis','../../components/auth/service','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','sendStatus','status','end','offset','undefined','limit','count','set','json','apply','reject','save','update','then','destroy','error','stack','name','map','VtigerConfiguration','fieldName','type','key','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty'];(function(_0x501510,_0x61caa9){var _0x1e6ee5=function(_0x32845b){while(--_0x32845b){_0x501510['push'](_0x501510['shift']());}};_0x1e6ee5(++_0x61caa9);}(_0xb48d,0x194));var _0xdb48=function(_0x1ccdf7,_0x215d5a){_0x1ccdf7=_0x1ccdf7-0x0;var _0x52a0ae=_0xb48d[_0x1ccdf7];return _0x52a0ae;};'use strict';var emlformat=require(_0xdb48('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xdb48('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0xdb48('0x2'));var moment=require(_0xdb48('0x3'));var BPromise=require(_0xdb48('0x4'));var Mustache=require(_0xdb48('0x5'));var util=require('util');var path=require(_0xdb48('0x6'));var sox=require('sox');var csv=require(_0xdb48('0x7'));var ejs=require(_0xdb48('0x8'));var fs=require('fs');var fs_extra=require(_0xdb48('0x9'));var _=require('lodash');var squel=require('squel');var crypto=require(_0xdb48('0xa'));var jsforce=require(_0xdb48('0xb'));var deskjs=require('desk.js');var toCsv=require(_0xdb48('0x7'));var querystring=require(_0xdb48('0xc'));var Papa=require('papaparse');var Redis=require(_0xdb48('0xd'));var authService=require(_0xdb48('0xe'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xdb48('0xf'));var logger=require(_0xdb48('0x10'))(_0xdb48('0x11'));var utils=require('../../config/utils');var config=require(_0xdb48('0x12'));var licenseUtil=require(_0xdb48('0x13'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0xaa4906,_0x3cbfee){_0x3cbfee=_0x3cbfee||0xcc;return function(_0x41e006){if(_0x41e006){return _0xaa4906[_0xdb48('0x14')](_0x3cbfee);}return _0xaa4906[_0xdb48('0x15')](_0x3cbfee)[_0xdb48('0x16')]();};}function respondWithResult(_0x5ebbdd,_0x43df86){_0x43df86=_0x43df86||0xc8;return function(_0x142eaf){if(_0x142eaf){return _0x5ebbdd[_0xdb48('0x15')](_0x43df86)['json'](_0x142eaf);}};}function respondWithFilteredResult(_0x28412d,_0x518dac){return function(_0x453d6b){if(_0x453d6b){var _0x3180d7=typeof _0x518dac[_0xdb48('0x17')]===_0xdb48('0x18')&&typeof _0x518dac[_0xdb48('0x19')]==='undefined';var _0x488997=_0x453d6b[_0xdb48('0x1a')];var _0x38099a=_0x3180d7?0x0:_0x518dac['offset'];var _0x3f98b0=_0x3180d7?_0x453d6b[_0xdb48('0x1a')]:_0x518dac['offset']+_0x518dac['limit'];var _0x1432a9;if(_0x3f98b0>=_0x488997){_0x3f98b0=_0x488997;_0x1432a9=0xc8;}else{_0x1432a9=0xce;}_0x28412d[_0xdb48('0x15')](_0x1432a9);return _0x28412d[_0xdb48('0x1b')]('Content-Range',_0x38099a+'-'+_0x3f98b0+'/'+_0x488997)[_0xdb48('0x1c')](_0x453d6b);}return null;};}function patchUpdates(_0x3d1b69){return function(_0x58604e){try{jsonpatch[_0xdb48('0x1d')](_0x58604e,_0x3d1b69,!![]);}catch(_0x3fb75a){return BPromise[_0xdb48('0x1e')](_0x3fb75a);}return _0x58604e[_0xdb48('0x1f')]();};}function saveUpdates(_0x3921d8,_0x5e63b3){return function(_0x2746c4){if(_0x2746c4){return _0x2746c4[_0xdb48('0x20')](_0x3921d8)[_0xdb48('0x21')](function(_0x5a33a0){return _0x5a33a0;});}return null;};}function removeEntity(_0x5aedc1,_0x52c046){return function(_0x3ad23a){if(_0x3ad23a){return _0x3ad23a[_0xdb48('0x22')]()[_0xdb48('0x21')](function(){_0x5aedc1['status'](0xcc)[_0xdb48('0x16')]();});}};}function handleEntityNotFound(_0x4d29d1,_0x3b3344){return function(_0x3a5bdd){if(!_0x3a5bdd){_0x4d29d1[_0xdb48('0x14')](0x194);}return _0x3a5bdd;};}function handleError(_0x531a2a,_0x483940){_0x483940=_0x483940||0x1f4;return function(_0x139139){logger[_0xdb48('0x23')](_0x139139[_0xdb48('0x24')]);if(_0x139139['name']){delete _0x139139[_0xdb48('0x25')];}_0x531a2a[_0xdb48('0x15')](_0x483940)['send'](_0x139139);};}exports['index']=function(_0x31edb6,_0x2cdfa4){var _0x2adb1e={},_0x2f55c6={},_0x549b18={'count':0x0,'rows':[]};var _0x58c3d1=_[_0xdb48('0x26')](db[_0xdb48('0x27')]['rawAttributes'],function(_0x43e857){return{'name':_0x43e857[_0xdb48('0x28')],'type':_0x43e857[_0xdb48('0x29')][_0xdb48('0x2a')]};});_0x2f55c6[_0xdb48('0x2b')]=_[_0xdb48('0x26')](_0x58c3d1,'name');_0x2f55c6[_0xdb48('0x2c')]=_[_0xdb48('0x2d')](_0x31edb6[_0xdb48('0x2c')]);_0x2f55c6[_0xdb48('0x2e')]=_[_0xdb48('0x2f')](_0x2f55c6[_0xdb48('0x2b')],_0x2f55c6['query']);_0x2adb1e['attributes']=_[_0xdb48('0x2f')](_0x2f55c6[_0xdb48('0x2b')],qs[_0xdb48('0x30')](_0x31edb6[_0xdb48('0x2c')][_0xdb48('0x30')]));_0x2adb1e[_0xdb48('0x31')]=_0x2adb1e[_0xdb48('0x31')][_0xdb48('0x32')]?_0x2adb1e[_0xdb48('0x31')]:_0x2f55c6['model'];if(!_0x31edb6[_0xdb48('0x2c')][_0xdb48('0x33')](_0xdb48('0x34'))){_0x2adb1e[_0xdb48('0x19')]=qs['limit'](_0x31edb6['query'][_0xdb48('0x19')]);_0x2adb1e[_0xdb48('0x17')]=qs[_0xdb48('0x17')](_0x31edb6[_0xdb48('0x2c')][_0xdb48('0x17')]);}_0x2adb1e[_0xdb48('0x35')]=qs[_0xdb48('0x36')](_0x31edb6[_0xdb48('0x2c')]['sort']);_0x2adb1e['where']=qs[_0xdb48('0x2e')](_['pick'](_0x31edb6[_0xdb48('0x2c')],_0x2f55c6[_0xdb48('0x2e')]),_0x58c3d1);if(_0x31edb6[_0xdb48('0x2c')][_0xdb48('0x37')]){_0x2adb1e[_0xdb48('0x38')]=_[_0xdb48('0x39')](_0x2adb1e[_0xdb48('0x38')],{'$or':_[_0xdb48('0x26')](_0x58c3d1,function(_0x59cf7a){if(_0x59cf7a[_0xdb48('0x29')]!==_0xdb48('0x3a')){var _0x4acc54={};_0x4acc54[_0x59cf7a[_0xdb48('0x25')]]={'$like':'%'+_0x31edb6[_0xdb48('0x2c')][_0xdb48('0x37')]+'%'};return _0x4acc54;}})});}_0x2adb1e=_[_0xdb48('0x39')]({},_0x2adb1e,_0x31edb6['options']);var _0x5661f0={'where':_0x2adb1e[_0xdb48('0x38')]};return db[_0xdb48('0x27')]['count'](_0x5661f0)['then'](function(_0x30edaf){_0x549b18[_0xdb48('0x1a')]=_0x30edaf;if(_0x31edb6[_0xdb48('0x2c')][_0xdb48('0x3b')]){_0x2adb1e['include']=[{'all':!![]}];}return db['VtigerConfiguration'][_0xdb48('0x3c')](_0x2adb1e);})[_0xdb48('0x21')](function(_0x171c9e){_0x549b18[_0xdb48('0x3d')]=_0x171c9e;return _0x549b18;})[_0xdb48('0x21')](respondWithFilteredResult(_0x2cdfa4,_0x2adb1e))[_0xdb48('0x3e')](handleError(_0x2cdfa4,null));};exports[_0xdb48('0x3f')]=function(_0x128d0a,_0x3ad982){var _0x4838b8={'raw':![],'where':{'id':_0x128d0a[_0xdb48('0x40')]['id']}},_0x3accdb={};_0x3accdb['model']=_[_0xdb48('0x2d')](db['VtigerConfiguration'][_0xdb48('0x41')]);_0x3accdb['query']=_[_0xdb48('0x2d')](_0x128d0a[_0xdb48('0x2c')]);_0x3accdb[_0xdb48('0x2e')]=_[_0xdb48('0x2f')](_0x3accdb[_0xdb48('0x2b')],_0x3accdb[_0xdb48('0x2c')]);_0x4838b8[_0xdb48('0x31')]=_[_0xdb48('0x2f')](_0x3accdb[_0xdb48('0x2b')],qs[_0xdb48('0x30')](_0x128d0a[_0xdb48('0x2c')][_0xdb48('0x30')]));_0x4838b8[_0xdb48('0x31')]=_0x4838b8[_0xdb48('0x31')][_0xdb48('0x32')]?_0x4838b8[_0xdb48('0x31')]:_0x3accdb[_0xdb48('0x2b')];if(_0x128d0a[_0xdb48('0x2c')][_0xdb48('0x3b')]){_0x4838b8['include']=[{'all':!![]}];}_0x4838b8=_['merge']({},_0x4838b8,_0x128d0a[_0xdb48('0x42')]);return db[_0xdb48('0x27')][_0xdb48('0x43')](_0x4838b8)['then'](handleEntityNotFound(_0x3ad982,null))[_0xdb48('0x21')](respondWithResult(_0x3ad982,null))[_0xdb48('0x3e')](handleError(_0x3ad982,null));};exports[_0xdb48('0x44')]=function(_0x24e544,_0x31ff09){return db['VtigerConfiguration'][_0xdb48('0x44')](_0x24e544['body'],{})[_0xdb48('0x21')](respondWithResult(_0x31ff09,0xc9))[_0xdb48('0x3e')](handleError(_0x31ff09,null));};exports[_0xdb48('0x20')]=function(_0x3317ca,_0x5d0742){if(_0x3317ca[_0xdb48('0x45')]['id']){delete _0x3317ca['body']['id'];}return db[_0xdb48('0x27')][_0xdb48('0x43')]({'where':{'id':_0x3317ca[_0xdb48('0x40')]['id']}})[_0xdb48('0x21')](handleEntityNotFound(_0x5d0742,null))[_0xdb48('0x21')](saveUpdates(_0x3317ca[_0xdb48('0x45')],null))[_0xdb48('0x21')](respondWithResult(_0x5d0742,null))[_0xdb48('0x3e')](handleError(_0x5d0742,null));};exports[_0xdb48('0x22')]=function(_0x3c1669,_0x4b5cc7){return db['VtigerConfiguration'][_0xdb48('0x43')]({'where':{'id':_0x3c1669[_0xdb48('0x40')]['id']}})[_0xdb48('0x21')](handleEntityNotFound(_0x4b5cc7,null))[_0xdb48('0x21')](removeEntity(_0x4b5cc7,null))['catch'](handleError(_0x4b5cc7,null));};exports['getFields']=function(_0x57e578,_0x3d3500,_0x44296b){var _0x328381={};var _0x57a4e5={};var _0x3b6bb0;var _0x4de923;return db[_0xdb48('0x27')][_0xdb48('0x46')]({'where':{'id':_0x57e578[_0xdb48('0x40')]['id']}})['then'](handleEntityNotFound(_0x3d3500,null))['then'](function(_0x322136){if(_0x322136){_0x3b6bb0=_0x322136;_0x57a4e5[_0xdb48('0x2b')]=_[_0xdb48('0x2d')](db[_0xdb48('0x47')]['rawAttributes']);_0x57a4e5[_0xdb48('0x2c')]=_[_0xdb48('0x2d')](_0x57e578[_0xdb48('0x2c')]);_0x57a4e5[_0xdb48('0x2e')]=_[_0xdb48('0x2f')](_0x57a4e5[_0xdb48('0x2b')],_0x57a4e5[_0xdb48('0x2c')]);_0x328381['attributes']=_['intersection'](_0x57a4e5[_0xdb48('0x2b')],qs[_0xdb48('0x30')](_0x57e578[_0xdb48('0x2c')][_0xdb48('0x30')]));_0x328381['attributes']=_0x328381[_0xdb48('0x31')][_0xdb48('0x32')]?_0x328381['attributes']:_0x57a4e5['model'];_0x328381[_0xdb48('0x35')]=qs[_0xdb48('0x36')](_0x57e578['query']['sort']);_0x328381[_0xdb48('0x38')]=qs[_0xdb48('0x2e')](_['pick'](_0x57e578[_0xdb48('0x2c')],_0x57a4e5[_0xdb48('0x2e')]));if(_0x57e578[_0xdb48('0x2c')][_0xdb48('0x37')]){_0x328381[_0xdb48('0x38')]=_['merge'](_0x328381['where'],{'$or':_['map'](_0x328381[_0xdb48('0x31')],function(_0x3dda78){var _0x281792={};_0x281792[_0x3dda78]={'$like':'%'+_0x57e578['query'][_0xdb48('0x37')]+'%'};return _0x281792;})});}_0x328381=_[_0xdb48('0x39')]({},_0x328381,_0x57e578[_0xdb48('0x42')]);return _0x3b6bb0['getFields'](_0x328381);}})[_0xdb48('0x21')](function(_0x331ac7){if(_0x331ac7){_0x4de923=_0x331ac7[_0xdb48('0x32')];if(!_0x57e578[_0xdb48('0x2c')][_0xdb48('0x33')](_0xdb48('0x34'))){_0x328381[_0xdb48('0x19')]=qs['limit'](_0x57e578['query']['limit']);_0x328381[_0xdb48('0x17')]=qs[_0xdb48('0x17')](_0x57e578[_0xdb48('0x2c')]['offset']);}return _0x3b6bb0[_0xdb48('0x48')](_0x328381);}})['then'](function(_0x3e41cc){if(_0x3e41cc){return _0x3e41cc?{'count':_0x4de923,'rows':_0x3e41cc}:null;}})['then'](respondWithResult(_0x3d3500,null))[_0xdb48('0x3e')](handleError(_0x3d3500,null));};exports[_0xdb48('0x49')]=function(_0x5b804a,_0x4ff7d8,_0xe57330){var _0x4106a1={};var _0x2dc34c={};var _0xe022e1;var _0x9e7643;return db[_0xdb48('0x27')][_0xdb48('0x46')]({'where':{'id':_0x5b804a[_0xdb48('0x40')]['id']}})['then'](handleEntityNotFound(_0x4ff7d8,null))[_0xdb48('0x21')](function(_0x2b9f50){if(_0x2b9f50){_0xe022e1=_0x2b9f50;_0x2dc34c[_0xdb48('0x2b')]=_[_0xdb48('0x2d')](db[_0xdb48('0x47')][_0xdb48('0x41')]);_0x2dc34c[_0xdb48('0x2c')]=_['keys'](_0x5b804a['query']);_0x2dc34c[_0xdb48('0x2e')]=_[_0xdb48('0x2f')](_0x2dc34c[_0xdb48('0x2b')],_0x2dc34c[_0xdb48('0x2c')]);_0x4106a1[_0xdb48('0x31')]=_[_0xdb48('0x2f')](_0x2dc34c[_0xdb48('0x2b')],qs['fields'](_0x5b804a[_0xdb48('0x2c')][_0xdb48('0x30')]));_0x4106a1['attributes']=_0x4106a1[_0xdb48('0x31')][_0xdb48('0x32')]?_0x4106a1[_0xdb48('0x31')]:_0x2dc34c[_0xdb48('0x2b')];_0x4106a1[_0xdb48('0x35')]=qs[_0xdb48('0x36')](_0x5b804a['query'][_0xdb48('0x36')]);_0x4106a1[_0xdb48('0x38')]=qs[_0xdb48('0x2e')](_['pick'](_0x5b804a[_0xdb48('0x2c')],_0x2dc34c[_0xdb48('0x2e')]));if(_0x5b804a[_0xdb48('0x2c')][_0xdb48('0x37')]){_0x4106a1[_0xdb48('0x38')]=_[_0xdb48('0x39')](_0x4106a1[_0xdb48('0x38')],{'$or':_[_0xdb48('0x26')](_0x4106a1[_0xdb48('0x31')],function(_0x43e490){var _0x75638b={};_0x75638b[_0x43e490]={'$like':'%'+_0x5b804a[_0xdb48('0x2c')][_0xdb48('0x37')]+'%'};return _0x75638b;})});}_0x4106a1=_[_0xdb48('0x39')]({},_0x4106a1,_0x5b804a['options']);return _0xe022e1[_0xdb48('0x49')](_0x4106a1);}})['then'](function(_0x4017b3){if(_0x4017b3){_0x9e7643=_0x4017b3[_0xdb48('0x32')];if(!_0x5b804a['query'][_0xdb48('0x33')](_0xdb48('0x34'))){_0x4106a1[_0xdb48('0x19')]=qs[_0xdb48('0x19')](_0x5b804a['query']['limit']);_0x4106a1[_0xdb48('0x17')]=qs['offset'](_0x5b804a[_0xdb48('0x2c')][_0xdb48('0x17')]);}return _0xe022e1[_0xdb48('0x49')](_0x4106a1);}})[_0xdb48('0x21')](function(_0x4d9e43){if(_0x4d9e43){return _0x4d9e43?{'count':_0x9e7643,'rows':_0x4d9e43}:null;}})[_0xdb48('0x21')](respondWithResult(_0x4ff7d8,null))[_0xdb48('0x3e')](handleError(_0x4ff7d8,null));};exports[_0xdb48('0x4a')]=function(_0x57a1e4,_0x199273,_0x1c1822){var _0x5b9c7a={};var _0x485712={};var _0x4287f3;var _0x5aaaca;return db[_0xdb48('0x27')][_0xdb48('0x46')]({'where':{'id':_0x57a1e4[_0xdb48('0x40')]['id']}})[_0xdb48('0x21')](handleEntityNotFound(_0x199273,null))[_0xdb48('0x21')](function(_0x231490){if(_0x231490){_0x4287f3=_0x231490;_0x485712[_0xdb48('0x2b')]=_[_0xdb48('0x2d')](db['VtigerField'][_0xdb48('0x41')]);_0x485712[_0xdb48('0x2c')]=_[_0xdb48('0x2d')](_0x57a1e4[_0xdb48('0x2c')]);_0x485712[_0xdb48('0x2e')]=_[_0xdb48('0x2f')](_0x485712['model'],_0x485712['query']);_0x5b9c7a[_0xdb48('0x31')]=_[_0xdb48('0x2f')](_0x485712[_0xdb48('0x2b')],qs[_0xdb48('0x30')](_0x57a1e4[_0xdb48('0x2c')]['fields']));_0x5b9c7a[_0xdb48('0x31')]=_0x5b9c7a[_0xdb48('0x31')]['length']?_0x5b9c7a['attributes']:_0x485712[_0xdb48('0x2b')];_0x5b9c7a[_0xdb48('0x35')]=qs[_0xdb48('0x36')](_0x57a1e4[_0xdb48('0x2c')][_0xdb48('0x36')]);_0x5b9c7a['where']=qs[_0xdb48('0x2e')](_[_0xdb48('0x4b')](_0x57a1e4[_0xdb48('0x2c')],_0x485712[_0xdb48('0x2e')]));if(_0x57a1e4['query'][_0xdb48('0x37')]){_0x5b9c7a[_0xdb48('0x38')]=_[_0xdb48('0x39')](_0x5b9c7a[_0xdb48('0x38')],{'$or':_[_0xdb48('0x26')](_0x5b9c7a['attributes'],function(_0x4125a0){var _0x1dfb9d={};_0x1dfb9d[_0x4125a0]={'$like':'%'+_0x57a1e4[_0xdb48('0x2c')][_0xdb48('0x37')]+'%'};return _0x1dfb9d;})});}_0x5b9c7a=_[_0xdb48('0x39')]({},_0x5b9c7a,_0x57a1e4[_0xdb48('0x42')]);return _0x4287f3['getDescriptions'](_0x5b9c7a);}})[_0xdb48('0x21')](function(_0x554a90){if(_0x554a90){_0x5aaaca=_0x554a90[_0xdb48('0x32')];if(!_0x57a1e4['query'][_0xdb48('0x33')](_0xdb48('0x34'))){_0x5b9c7a['limit']=qs[_0xdb48('0x19')](_0x57a1e4[_0xdb48('0x2c')][_0xdb48('0x19')]);_0x5b9c7a[_0xdb48('0x17')]=qs['offset'](_0x57a1e4[_0xdb48('0x2c')][_0xdb48('0x17')]);}return _0x4287f3[_0xdb48('0x4a')](_0x5b9c7a);}})[_0xdb48('0x21')](function(_0x3e04a5){if(_0x3e04a5){return _0x3e04a5?{'count':_0x5aaaca,'rows':_0x3e04a5}:null;}})[_0xdb48('0x21')](respondWithResult(_0x199273,null))[_0xdb48('0x3e')](handleError(_0x199273,null));};