Built motion from commit 092f8824.|2.5.49
[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 _0x38db=['hasOwnProperty','order','sort','where','filters','pick','filter','VIRTUAL','options','include','catch','includeAll','merge','find','create','body','update','params','getFields','VtigerField','nolimit','getSubjects','getDescriptions','findOne','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','offset','undefined','count','limit','json','apply','reject','save','then','destroy','stack','name','send','index','map','VtigerConfiguration','rawAttributes','fieldName','type','model','query','keys','intersection','fields','attributes','length'];(function(_0x694743,_0x217076){var _0x4dd9e0=function(_0x51e1d8){while(--_0x51e1d8){_0x694743['push'](_0x694743['shift']());}};_0x4dd9e0(++_0x217076);}(_0x38db,0x6a));var _0xb38d=function(_0x47712f,_0x4e3fb7){_0x47712f=_0x47712f-0x0;var _0x51e3fd=_0x38db[_0x47712f];return _0x51e3fd;};'use strict';var emlformat=require(_0xb38d('0x0'));var rimraf=require(_0xb38d('0x1'));var zipdir=require(_0xb38d('0x2'));var jsonpatch=require(_0xb38d('0x3'));var rp=require(_0xb38d('0x4'));var moment=require(_0xb38d('0x5'));var BPromise=require(_0xb38d('0x6'));var Mustache=require(_0xb38d('0x7'));var util=require(_0xb38d('0x8'));var path=require(_0xb38d('0x9'));var sox=require(_0xb38d('0xa'));var csv=require(_0xb38d('0xb'));var ejs=require(_0xb38d('0xc'));var fs=require('fs');var fs_extra=require(_0xb38d('0xd'));var _=require(_0xb38d('0xe'));var squel=require(_0xb38d('0xf'));var crypto=require(_0xb38d('0x10'));var jsforce=require(_0xb38d('0x11'));var deskjs=require('desk.js');var toCsv=require(_0xb38d('0xb'));var querystring=require(_0xb38d('0x12'));var Papa=require(_0xb38d('0x13'));var Redis=require(_0xb38d('0x14'));var authService=require(_0xb38d('0x15'));var qs=require(_0xb38d('0x16'));var as=require(_0xb38d('0x17'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xb38d('0x18'))(_0xb38d('0x19'));var utils=require('../../config/utils');var config=require(_0xb38d('0x1a'));var licenseUtil=require(_0xb38d('0x1b'));var db=require(_0xb38d('0x1c'))['db'];function respondWithStatusCode(_0x2790ff,_0x61ffd){_0x61ffd=_0x61ffd||0xcc;return function(_0x19acd9){if(_0x19acd9){return _0x2790ff[_0xb38d('0x1d')](_0x61ffd);}return _0x2790ff['status'](_0x61ffd)[_0xb38d('0x1e')]();};}function respondWithResult(_0x1b2def,_0x4958e7){_0x4958e7=_0x4958e7||0xc8;return function(_0x2621fc){if(_0x2621fc){return _0x1b2def[_0xb38d('0x1f')](_0x4958e7)['json'](_0x2621fc);}};}function respondWithFilteredResult(_0x2d588d,_0x5ba733){return function(_0x1166bb){if(_0x1166bb){var _0x523057=typeof _0x5ba733[_0xb38d('0x20')]==='undefined'&&typeof _0x5ba733['limit']===_0xb38d('0x21');var _0x2dd3b6=_0x1166bb[_0xb38d('0x22')];var _0x8354f5=_0x523057?0x0:_0x5ba733['offset'];var _0x59ac85=_0x523057?_0x1166bb[_0xb38d('0x22')]:_0x5ba733[_0xb38d('0x20')]+_0x5ba733[_0xb38d('0x23')];var _0x255d4f;if(_0x59ac85>=_0x2dd3b6){_0x59ac85=_0x2dd3b6;_0x255d4f=0xc8;}else{_0x255d4f=0xce;}_0x2d588d[_0xb38d('0x1f')](_0x255d4f);return _0x2d588d['set']('Content-Range',_0x8354f5+'-'+_0x59ac85+'/'+_0x2dd3b6)[_0xb38d('0x24')](_0x1166bb);}return null;};}function patchUpdates(_0x5e86ad){return function(_0x4123de){try{jsonpatch[_0xb38d('0x25')](_0x4123de,_0x5e86ad,!![]);}catch(_0xd01e92){return BPromise[_0xb38d('0x26')](_0xd01e92);}return _0x4123de[_0xb38d('0x27')]();};}function saveUpdates(_0x4ff3df,_0xbcdd76){return function(_0x22c2f5){if(_0x22c2f5){return _0x22c2f5['update'](_0x4ff3df)[_0xb38d('0x28')](function(_0x3ef9e7){return _0x3ef9e7;});}return null;};}function removeEntity(_0x543063,_0x156a87){return function(_0x1e0607){if(_0x1e0607){return _0x1e0607[_0xb38d('0x29')]()[_0xb38d('0x28')](function(){_0x543063[_0xb38d('0x1f')](0xcc)[_0xb38d('0x1e')]();});}};}function handleEntityNotFound(_0x2745ed,_0x543037){return function(_0x5f360b){if(!_0x5f360b){_0x2745ed[_0xb38d('0x1d')](0x194);}return _0x5f360b;};}function handleError(_0x579c5e,_0xbb9701){_0xbb9701=_0xbb9701||0x1f4;return function(_0x55fe47){logger['error'](_0x55fe47[_0xb38d('0x2a')]);if(_0x55fe47['name']){delete _0x55fe47[_0xb38d('0x2b')];}_0x579c5e[_0xb38d('0x1f')](_0xbb9701)[_0xb38d('0x2c')](_0x55fe47);};}exports[_0xb38d('0x2d')]=function(_0x113997,_0x34a800){var _0x2ee77d={},_0x1db844={},_0x18dc79={'count':0x0,'rows':[]};var _0x390066=_[_0xb38d('0x2e')](db[_0xb38d('0x2f')][_0xb38d('0x30')],function(_0x25aad7){return{'name':_0x25aad7[_0xb38d('0x31')],'type':_0x25aad7[_0xb38d('0x32')]['key']};});_0x1db844[_0xb38d('0x33')]=_[_0xb38d('0x2e')](_0x390066,'name');_0x1db844[_0xb38d('0x34')]=_[_0xb38d('0x35')](_0x113997[_0xb38d('0x34')]);_0x1db844['filters']=_['intersection'](_0x1db844[_0xb38d('0x33')],_0x1db844['query']);_0x2ee77d['attributes']=_[_0xb38d('0x36')](_0x1db844['model'],qs[_0xb38d('0x37')](_0x113997['query'][_0xb38d('0x37')]));_0x2ee77d[_0xb38d('0x38')]=_0x2ee77d[_0xb38d('0x38')][_0xb38d('0x39')]?_0x2ee77d['attributes']:_0x1db844['model'];if(!_0x113997[_0xb38d('0x34')][_0xb38d('0x3a')]('nolimit')){_0x2ee77d[_0xb38d('0x23')]=qs[_0xb38d('0x23')](_0x113997[_0xb38d('0x34')][_0xb38d('0x23')]);_0x2ee77d[_0xb38d('0x20')]=qs[_0xb38d('0x20')](_0x113997[_0xb38d('0x34')]['offset']);}_0x2ee77d[_0xb38d('0x3b')]=qs[_0xb38d('0x3c')](_0x113997[_0xb38d('0x34')]['sort']);_0x2ee77d[_0xb38d('0x3d')]=qs[_0xb38d('0x3e')](_[_0xb38d('0x3f')](_0x113997['query'],_0x1db844['filters']),_0x390066);if(_0x113997[_0xb38d('0x34')][_0xb38d('0x40')]){_0x2ee77d[_0xb38d('0x3d')]=_['merge'](_0x2ee77d[_0xb38d('0x3d')],{'$or':_['map'](_0x390066,function(_0x58e6b6){if(_0x58e6b6[_0xb38d('0x32')]!==_0xb38d('0x41')){var _0x31fbde={};_0x31fbde[_0x58e6b6[_0xb38d('0x2b')]]={'$like':'%'+_0x113997[_0xb38d('0x34')]['filter']+'%'};return _0x31fbde;}})});}_0x2ee77d=_['merge']({},_0x2ee77d,_0x113997[_0xb38d('0x42')]);var _0x211f4d={'where':_0x2ee77d[_0xb38d('0x3d')]};return db[_0xb38d('0x2f')][_0xb38d('0x22')](_0x211f4d)[_0xb38d('0x28')](function(_0x3c8690){_0x18dc79[_0xb38d('0x22')]=_0x3c8690;if(_0x113997[_0xb38d('0x34')]['includeAll']){_0x2ee77d[_0xb38d('0x43')]=[{'all':!![]}];}return db[_0xb38d('0x2f')]['findAll'](_0x2ee77d);})[_0xb38d('0x28')](function(_0x335dfa){_0x18dc79['rows']=_0x335dfa;return _0x18dc79;})['then'](respondWithFilteredResult(_0x34a800,_0x2ee77d))[_0xb38d('0x44')](handleError(_0x34a800,null));};exports['show']=function(_0x16478f,_0x439653){var _0x3b08c5={'raw':![],'where':{'id':_0x16478f['params']['id']}},_0x3a6478={};_0x3a6478[_0xb38d('0x33')]=_['keys'](db[_0xb38d('0x2f')][_0xb38d('0x30')]);_0x3a6478[_0xb38d('0x34')]=_['keys'](_0x16478f[_0xb38d('0x34')]);_0x3a6478['filters']=_[_0xb38d('0x36')](_0x3a6478[_0xb38d('0x33')],_0x3a6478[_0xb38d('0x34')]);_0x3b08c5[_0xb38d('0x38')]=_[_0xb38d('0x36')](_0x3a6478[_0xb38d('0x33')],qs['fields'](_0x16478f[_0xb38d('0x34')][_0xb38d('0x37')]));_0x3b08c5['attributes']=_0x3b08c5[_0xb38d('0x38')]['length']?_0x3b08c5[_0xb38d('0x38')]:_0x3a6478[_0xb38d('0x33')];if(_0x16478f[_0xb38d('0x34')][_0xb38d('0x45')]){_0x3b08c5[_0xb38d('0x43')]=[{'all':!![]}];}_0x3b08c5=_[_0xb38d('0x46')]({},_0x3b08c5,_0x16478f[_0xb38d('0x42')]);return db[_0xb38d('0x2f')][_0xb38d('0x47')](_0x3b08c5)[_0xb38d('0x28')](handleEntityNotFound(_0x439653,null))['then'](respondWithResult(_0x439653,null))[_0xb38d('0x44')](handleError(_0x439653,null));};exports[_0xb38d('0x48')]=function(_0x185a53,_0xd06ff){return db[_0xb38d('0x2f')][_0xb38d('0x48')](_0x185a53[_0xb38d('0x49')],{})[_0xb38d('0x28')](respondWithResult(_0xd06ff,0xc9))[_0xb38d('0x44')](handleError(_0xd06ff,null));};exports[_0xb38d('0x4a')]=function(_0x85bdb2,_0x35ee5b){if(_0x85bdb2[_0xb38d('0x49')]['id']){delete _0x85bdb2['body']['id'];}return db['VtigerConfiguration'][_0xb38d('0x47')]({'where':{'id':_0x85bdb2[_0xb38d('0x4b')]['id']}})[_0xb38d('0x28')](handleEntityNotFound(_0x35ee5b,null))['then'](saveUpdates(_0x85bdb2[_0xb38d('0x49')],null))[_0xb38d('0x28')](respondWithResult(_0x35ee5b,null))[_0xb38d('0x44')](handleError(_0x35ee5b,null));};exports[_0xb38d('0x29')]=function(_0x413a27,_0x4cb574){return db[_0xb38d('0x2f')][_0xb38d('0x47')]({'where':{'id':_0x413a27[_0xb38d('0x4b')]['id']}})[_0xb38d('0x28')](handleEntityNotFound(_0x4cb574,null))[_0xb38d('0x28')](removeEntity(_0x4cb574,null))[_0xb38d('0x44')](handleError(_0x4cb574,null));};exports[_0xb38d('0x4c')]=function(_0x3d3f5d,_0x3fda06,_0x303432){var _0x391c9f={};var _0x483701={};var _0x1de1fc;var _0x41ae51;return db[_0xb38d('0x2f')]['findOne']({'where':{'id':_0x3d3f5d[_0xb38d('0x4b')]['id']}})[_0xb38d('0x28')](handleEntityNotFound(_0x3fda06,null))[_0xb38d('0x28')](function(_0x2e818a){if(_0x2e818a){_0x1de1fc=_0x2e818a;_0x483701[_0xb38d('0x33')]=_[_0xb38d('0x35')](db[_0xb38d('0x4d')][_0xb38d('0x30')]);_0x483701[_0xb38d('0x34')]=_[_0xb38d('0x35')](_0x3d3f5d[_0xb38d('0x34')]);_0x483701[_0xb38d('0x3e')]=_[_0xb38d('0x36')](_0x483701['model'],_0x483701[_0xb38d('0x34')]);_0x391c9f[_0xb38d('0x38')]=_[_0xb38d('0x36')](_0x483701[_0xb38d('0x33')],qs['fields'](_0x3d3f5d['query'][_0xb38d('0x37')]));_0x391c9f['attributes']=_0x391c9f[_0xb38d('0x38')][_0xb38d('0x39')]?_0x391c9f[_0xb38d('0x38')]:_0x483701['model'];_0x391c9f[_0xb38d('0x3b')]=qs[_0xb38d('0x3c')](_0x3d3f5d['query']['sort']);_0x391c9f[_0xb38d('0x3d')]=qs[_0xb38d('0x3e')](_[_0xb38d('0x3f')](_0x3d3f5d[_0xb38d('0x34')],_0x483701['filters']));if(_0x3d3f5d[_0xb38d('0x34')][_0xb38d('0x40')]){_0x391c9f['where']=_[_0xb38d('0x46')](_0x391c9f['where'],{'$or':_[_0xb38d('0x2e')](_0x391c9f[_0xb38d('0x38')],function(_0x3d5922){var _0xd996a6={};_0xd996a6[_0x3d5922]={'$like':'%'+_0x3d3f5d[_0xb38d('0x34')][_0xb38d('0x40')]+'%'};return _0xd996a6;})});}_0x391c9f=_[_0xb38d('0x46')]({},_0x391c9f,_0x3d3f5d[_0xb38d('0x42')]);return _0x1de1fc[_0xb38d('0x4c')](_0x391c9f);}})[_0xb38d('0x28')](function(_0x3f2ab2){if(_0x3f2ab2){_0x41ae51=_0x3f2ab2[_0xb38d('0x39')];if(!_0x3d3f5d[_0xb38d('0x34')][_0xb38d('0x3a')](_0xb38d('0x4e'))){_0x391c9f[_0xb38d('0x23')]=qs[_0xb38d('0x23')](_0x3d3f5d[_0xb38d('0x34')][_0xb38d('0x23')]);_0x391c9f[_0xb38d('0x20')]=qs[_0xb38d('0x20')](_0x3d3f5d[_0xb38d('0x34')]['offset']);}return _0x1de1fc[_0xb38d('0x4c')](_0x391c9f);}})[_0xb38d('0x28')](function(_0x387f1e){if(_0x387f1e){return _0x387f1e?{'count':_0x41ae51,'rows':_0x387f1e}:null;}})[_0xb38d('0x28')](respondWithResult(_0x3fda06,null))[_0xb38d('0x44')](handleError(_0x3fda06,null));};exports[_0xb38d('0x4f')]=function(_0xee762c,_0x10d078,_0x18a15c){var _0x432d2e={};var _0x431e8e={};var _0x13e7fc;var _0x4bfe6f;return db[_0xb38d('0x2f')]['findOne']({'where':{'id':_0xee762c['params']['id']}})[_0xb38d('0x28')](handleEntityNotFound(_0x10d078,null))['then'](function(_0xe3235e){if(_0xe3235e){_0x13e7fc=_0xe3235e;_0x431e8e[_0xb38d('0x33')]=_['keys'](db[_0xb38d('0x4d')][_0xb38d('0x30')]);_0x431e8e[_0xb38d('0x34')]=_[_0xb38d('0x35')](_0xee762c[_0xb38d('0x34')]);_0x431e8e['filters']=_['intersection'](_0x431e8e[_0xb38d('0x33')],_0x431e8e[_0xb38d('0x34')]);_0x432d2e[_0xb38d('0x38')]=_[_0xb38d('0x36')](_0x431e8e[_0xb38d('0x33')],qs['fields'](_0xee762c['query'][_0xb38d('0x37')]));_0x432d2e[_0xb38d('0x38')]=_0x432d2e[_0xb38d('0x38')][_0xb38d('0x39')]?_0x432d2e['attributes']:_0x431e8e[_0xb38d('0x33')];_0x432d2e['order']=qs[_0xb38d('0x3c')](_0xee762c[_0xb38d('0x34')][_0xb38d('0x3c')]);_0x432d2e[_0xb38d('0x3d')]=qs[_0xb38d('0x3e')](_[_0xb38d('0x3f')](_0xee762c[_0xb38d('0x34')],_0x431e8e['filters']));if(_0xee762c[_0xb38d('0x34')]['filter']){_0x432d2e[_0xb38d('0x3d')]=_[_0xb38d('0x46')](_0x432d2e[_0xb38d('0x3d')],{'$or':_[_0xb38d('0x2e')](_0x432d2e[_0xb38d('0x38')],function(_0x58b69d){var _0x37fc5d={};_0x37fc5d[_0x58b69d]={'$like':'%'+_0xee762c[_0xb38d('0x34')][_0xb38d('0x40')]+'%'};return _0x37fc5d;})});}_0x432d2e=_['merge']({},_0x432d2e,_0xee762c[_0xb38d('0x42')]);return _0x13e7fc[_0xb38d('0x4f')](_0x432d2e);}})['then'](function(_0x30e5c7){if(_0x30e5c7){_0x4bfe6f=_0x30e5c7['length'];if(!_0xee762c[_0xb38d('0x34')][_0xb38d('0x3a')](_0xb38d('0x4e'))){_0x432d2e[_0xb38d('0x23')]=qs[_0xb38d('0x23')](_0xee762c[_0xb38d('0x34')][_0xb38d('0x23')]);_0x432d2e[_0xb38d('0x20')]=qs[_0xb38d('0x20')](_0xee762c[_0xb38d('0x34')][_0xb38d('0x20')]);}return _0x13e7fc[_0xb38d('0x4f')](_0x432d2e);}})[_0xb38d('0x28')](function(_0x55155b){if(_0x55155b){return _0x55155b?{'count':_0x4bfe6f,'rows':_0x55155b}:null;}})[_0xb38d('0x28')](respondWithResult(_0x10d078,null))[_0xb38d('0x44')](handleError(_0x10d078,null));};exports[_0xb38d('0x50')]=function(_0x509d15,_0x4451f3,_0xa6ae4d){var _0xd3f9a5={};var _0xb67cc4={};var _0x1155c6;var _0x262c48;return db['VtigerConfiguration'][_0xb38d('0x51')]({'where':{'id':_0x509d15[_0xb38d('0x4b')]['id']}})[_0xb38d('0x28')](handleEntityNotFound(_0x4451f3,null))[_0xb38d('0x28')](function(_0xd874b3){if(_0xd874b3){_0x1155c6=_0xd874b3;_0xb67cc4[_0xb38d('0x33')]=_['keys'](db[_0xb38d('0x4d')][_0xb38d('0x30')]);_0xb67cc4['query']=_[_0xb38d('0x35')](_0x509d15[_0xb38d('0x34')]);_0xb67cc4[_0xb38d('0x3e')]=_[_0xb38d('0x36')](_0xb67cc4['model'],_0xb67cc4[_0xb38d('0x34')]);_0xd3f9a5[_0xb38d('0x38')]=_[_0xb38d('0x36')](_0xb67cc4[_0xb38d('0x33')],qs[_0xb38d('0x37')](_0x509d15['query']['fields']));_0xd3f9a5['attributes']=_0xd3f9a5[_0xb38d('0x38')][_0xb38d('0x39')]?_0xd3f9a5['attributes']:_0xb67cc4[_0xb38d('0x33')];_0xd3f9a5['order']=qs[_0xb38d('0x3c')](_0x509d15[_0xb38d('0x34')]['sort']);_0xd3f9a5[_0xb38d('0x3d')]=qs['filters'](_[_0xb38d('0x3f')](_0x509d15[_0xb38d('0x34')],_0xb67cc4[_0xb38d('0x3e')]));if(_0x509d15[_0xb38d('0x34')][_0xb38d('0x40')]){_0xd3f9a5[_0xb38d('0x3d')]=_['merge'](_0xd3f9a5['where'],{'$or':_[_0xb38d('0x2e')](_0xd3f9a5['attributes'],function(_0xa3b963){var _0x58c2da={};_0x58c2da[_0xa3b963]={'$like':'%'+_0x509d15['query'][_0xb38d('0x40')]+'%'};return _0x58c2da;})});}_0xd3f9a5=_[_0xb38d('0x46')]({},_0xd3f9a5,_0x509d15[_0xb38d('0x42')]);return _0x1155c6[_0xb38d('0x50')](_0xd3f9a5);}})[_0xb38d('0x28')](function(_0x510690){if(_0x510690){_0x262c48=_0x510690['length'];if(!_0x509d15[_0xb38d('0x34')][_0xb38d('0x3a')](_0xb38d('0x4e'))){_0xd3f9a5[_0xb38d('0x23')]=qs['limit'](_0x509d15['query'][_0xb38d('0x23')]);_0xd3f9a5[_0xb38d('0x20')]=qs[_0xb38d('0x20')](_0x509d15[_0xb38d('0x34')][_0xb38d('0x20')]);}return _0x1155c6[_0xb38d('0x50')](_0xd3f9a5);}})[_0xb38d('0x28')](function(_0x6c7e20){if(_0x6c7e20){return _0x6c7e20?{'count':_0x262c48,'rows':_0x6c7e20}:null;}})[_0xb38d('0x28')](respondWithResult(_0x4451f3,null))[_0xb38d('0x44')](handleError(_0x4451f3,null));};