c7dfa421580c080210fa2bf12b0e05812876d806
[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 _0x63eb=['model','query','keys','filters','intersection','fields','attributes','hasOwnProperty','order','sort','where','merge','VIRTUAL','filter','options','VtigerConfiguration','include','findAll','rows','catch','show','params','length','includeAll','create','body','update','find','getFields','VtigerField','getSubjects','findOne','pick','nolimit','getDescriptions','eml-format','zip-dir','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','end','offset','undefined','limit','count','status','Content-Range','json','apply','then','destroy','sendStatus','error','name','send','map','rawAttributes','fieldName','type','key'];(function(_0x46215c,_0xc59ffb){var _0x9f54d2=function(_0x24c5ec){while(--_0x24c5ec){_0x46215c['push'](_0x46215c['shift']());}};_0x9f54d2(++_0xc59ffb);}(_0x63eb,0x10d));var _0xb63e=function(_0x443fc9,_0x24fc48){_0x443fc9=_0x443fc9-0x0;var _0x13fdb4=_0x63eb[_0x443fc9];return _0x13fdb4;};'use strict';var emlformat=require(_0xb63e('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xb63e('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0xb63e('0x2'));var moment=require(_0xb63e('0x3'));var BPromise=require(_0xb63e('0x4'));var Mustache=require(_0xb63e('0x5'));var util=require(_0xb63e('0x6'));var path=require(_0xb63e('0x7'));var sox=require(_0xb63e('0x8'));var csv=require(_0xb63e('0x9'));var ejs=require(_0xb63e('0xa'));var fs=require('fs');var fs_extra=require(_0xb63e('0xb'));var _=require('lodash');var squel=require('squel');var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0xb63e('0xc'));var toCsv=require(_0xb63e('0x9'));var querystring=require('querystring');var Papa=require(_0xb63e('0xd'));var Redis=require(_0xb63e('0xe'));var authService=require(_0xb63e('0xf'));var qs=require('../../components/parsers/qs');var as=require(_0xb63e('0x10'));var hardwareService=require(_0xb63e('0x11'));var logger=require(_0xb63e('0x12'))(_0xb63e('0x13'));var utils=require(_0xb63e('0x14'));var config=require('../../config/environment');var licenseUtil=require(_0xb63e('0x15'));var db=require(_0xb63e('0x16'))['db'];function respondWithStatusCode(_0x54b891,_0x43f6cb){_0x43f6cb=_0x43f6cb||0xcc;return function(_0x97f8ad){if(_0x97f8ad){return _0x54b891['sendStatus'](_0x43f6cb);}return _0x54b891['status'](_0x43f6cb)[_0xb63e('0x17')]();};}function respondWithResult(_0x186f79,_0x1719bb){_0x1719bb=_0x1719bb||0xc8;return function(_0xc3dc2b){if(_0xc3dc2b){return _0x186f79['status'](_0x1719bb)['json'](_0xc3dc2b);}};}function respondWithFilteredResult(_0x3a65f3,_0x569952){return function(_0x8c6d1f){if(_0x8c6d1f){var _0x965ebc=typeof _0x569952[_0xb63e('0x18')]===_0xb63e('0x19')&&typeof _0x569952[_0xb63e('0x1a')]==='undefined';var _0x2e0bea=_0x8c6d1f[_0xb63e('0x1b')];var _0x5c9c54=_0x965ebc?0x0:_0x569952[_0xb63e('0x18')];var _0x3ffa41=_0x965ebc?_0x8c6d1f[_0xb63e('0x1b')]:_0x569952['offset']+_0x569952['limit'];var _0x271aea;if(_0x3ffa41>=_0x2e0bea){_0x3ffa41=_0x2e0bea;_0x271aea=0xc8;}else{_0x271aea=0xce;}_0x3a65f3[_0xb63e('0x1c')](_0x271aea);return _0x3a65f3['set'](_0xb63e('0x1d'),_0x5c9c54+'-'+_0x3ffa41+'/'+_0x2e0bea)[_0xb63e('0x1e')](_0x8c6d1f);}return null;};}function patchUpdates(_0x4daa02){return function(_0x5f2fd3){try{jsonpatch[_0xb63e('0x1f')](_0x5f2fd3,_0x4daa02,!![]);}catch(_0x18ed9c){return BPromise['reject'](_0x18ed9c);}return _0x5f2fd3['save']();};}function saveUpdates(_0x4cafb1,_0x12ff05){return function(_0x21e036){if(_0x21e036){return _0x21e036['update'](_0x4cafb1)[_0xb63e('0x20')](function(_0x5913e9){return _0x5913e9;});}return null;};}function removeEntity(_0x5f2d91,_0x114fb5){return function(_0x189d6a){if(_0x189d6a){return _0x189d6a[_0xb63e('0x21')]()[_0xb63e('0x20')](function(){_0x5f2d91[_0xb63e('0x1c')](0xcc)[_0xb63e('0x17')]();});}};}function handleEntityNotFound(_0x644624,_0x14af95){return function(_0x1cb297){if(!_0x1cb297){_0x644624[_0xb63e('0x22')](0x194);}return _0x1cb297;};}function handleError(_0x4e95e5,_0x36c99a){_0x36c99a=_0x36c99a||0x1f4;return function(_0x1d44c7){logger[_0xb63e('0x23')](_0x1d44c7['stack']);if(_0x1d44c7[_0xb63e('0x24')]){delete _0x1d44c7[_0xb63e('0x24')];}_0x4e95e5['status'](_0x36c99a)[_0xb63e('0x25')](_0x1d44c7);};}exports['index']=function(_0x44be2f,_0x8d039c){var _0x51c1ef={},_0xc3c0f2={},_0x2ec459={'count':0x0,'rows':[]};var _0x20b408=_[_0xb63e('0x26')](db['VtigerConfiguration'][_0xb63e('0x27')],function(_0x52b879){return{'name':_0x52b879[_0xb63e('0x28')],'type':_0x52b879[_0xb63e('0x29')][_0xb63e('0x2a')]};});_0xc3c0f2[_0xb63e('0x2b')]=_[_0xb63e('0x26')](_0x20b408,'name');_0xc3c0f2[_0xb63e('0x2c')]=_[_0xb63e('0x2d')](_0x44be2f[_0xb63e('0x2c')]);_0xc3c0f2[_0xb63e('0x2e')]=_[_0xb63e('0x2f')](_0xc3c0f2[_0xb63e('0x2b')],_0xc3c0f2[_0xb63e('0x2c')]);_0x51c1ef['attributes']=_[_0xb63e('0x2f')](_0xc3c0f2[_0xb63e('0x2b')],qs[_0xb63e('0x30')](_0x44be2f[_0xb63e('0x2c')]['fields']));_0x51c1ef[_0xb63e('0x31')]=_0x51c1ef['attributes']['length']?_0x51c1ef[_0xb63e('0x31')]:_0xc3c0f2[_0xb63e('0x2b')];if(!_0x44be2f[_0xb63e('0x2c')][_0xb63e('0x32')]('nolimit')){_0x51c1ef[_0xb63e('0x1a')]=qs['limit'](_0x44be2f[_0xb63e('0x2c')][_0xb63e('0x1a')]);_0x51c1ef[_0xb63e('0x18')]=qs[_0xb63e('0x18')](_0x44be2f[_0xb63e('0x2c')]['offset']);}_0x51c1ef[_0xb63e('0x33')]=qs[_0xb63e('0x34')](_0x44be2f[_0xb63e('0x2c')][_0xb63e('0x34')]);_0x51c1ef[_0xb63e('0x35')]=qs[_0xb63e('0x2e')](_['pick'](_0x44be2f['query'],_0xc3c0f2['filters']),_0x20b408);if(_0x44be2f[_0xb63e('0x2c')]['filter']){_0x51c1ef[_0xb63e('0x35')]=_[_0xb63e('0x36')](_0x51c1ef[_0xb63e('0x35')],{'$or':_['map'](_0x20b408,function(_0x416c63){if(_0x416c63['type']!==_0xb63e('0x37')){var _0x26ed6e={};_0x26ed6e[_0x416c63['name']]={'$like':'%'+_0x44be2f['query'][_0xb63e('0x38')]+'%'};return _0x26ed6e;}})});}_0x51c1ef=_[_0xb63e('0x36')]({},_0x51c1ef,_0x44be2f[_0xb63e('0x39')]);var _0x274272={'where':_0x51c1ef['where']};return db[_0xb63e('0x3a')][_0xb63e('0x1b')](_0x274272)['then'](function(_0xbe01e2){_0x2ec459[_0xb63e('0x1b')]=_0xbe01e2;if(_0x44be2f[_0xb63e('0x2c')]['includeAll']){_0x51c1ef[_0xb63e('0x3b')]=[{'all':!![]}];}return db[_0xb63e('0x3a')][_0xb63e('0x3c')](_0x51c1ef);})[_0xb63e('0x20')](function(_0x49f853){_0x2ec459[_0xb63e('0x3d')]=_0x49f853;return _0x2ec459;})[_0xb63e('0x20')](respondWithFilteredResult(_0x8d039c,_0x51c1ef))[_0xb63e('0x3e')](handleError(_0x8d039c,null));};exports[_0xb63e('0x3f')]=function(_0x3ff7dd,_0x2e5620){var _0xba3521={'raw':![],'where':{'id':_0x3ff7dd[_0xb63e('0x40')]['id']}},_0x45a520={};_0x45a520[_0xb63e('0x2b')]=_[_0xb63e('0x2d')](db[_0xb63e('0x3a')][_0xb63e('0x27')]);_0x45a520[_0xb63e('0x2c')]=_[_0xb63e('0x2d')](_0x3ff7dd[_0xb63e('0x2c')]);_0x45a520[_0xb63e('0x2e')]=_[_0xb63e('0x2f')](_0x45a520['model'],_0x45a520[_0xb63e('0x2c')]);_0xba3521['attributes']=_['intersection'](_0x45a520['model'],qs[_0xb63e('0x30')](_0x3ff7dd[_0xb63e('0x2c')][_0xb63e('0x30')]));_0xba3521[_0xb63e('0x31')]=_0xba3521[_0xb63e('0x31')][_0xb63e('0x41')]?_0xba3521[_0xb63e('0x31')]:_0x45a520[_0xb63e('0x2b')];if(_0x3ff7dd[_0xb63e('0x2c')][_0xb63e('0x42')]){_0xba3521['include']=[{'all':!![]}];}_0xba3521=_[_0xb63e('0x36')]({},_0xba3521,_0x3ff7dd[_0xb63e('0x39')]);return db[_0xb63e('0x3a')]['find'](_0xba3521)[_0xb63e('0x20')](handleEntityNotFound(_0x2e5620,null))[_0xb63e('0x20')](respondWithResult(_0x2e5620,null))[_0xb63e('0x3e')](handleError(_0x2e5620,null));};exports['create']=function(_0x30f84b,_0x1f09fd){return db[_0xb63e('0x3a')][_0xb63e('0x43')](_0x30f84b[_0xb63e('0x44')],{})[_0xb63e('0x20')](respondWithResult(_0x1f09fd,0xc9))[_0xb63e('0x3e')](handleError(_0x1f09fd,null));};exports[_0xb63e('0x45')]=function(_0x503d5e,_0x576886){if(_0x503d5e[_0xb63e('0x44')]['id']){delete _0x503d5e['body']['id'];}return db[_0xb63e('0x3a')]['find']({'where':{'id':_0x503d5e['params']['id']}})['then'](handleEntityNotFound(_0x576886,null))[_0xb63e('0x20')](saveUpdates(_0x503d5e[_0xb63e('0x44')],null))[_0xb63e('0x20')](respondWithResult(_0x576886,null))['catch'](handleError(_0x576886,null));};exports['destroy']=function(_0x137b54,_0x4c7a6f){return db[_0xb63e('0x3a')][_0xb63e('0x46')]({'where':{'id':_0x137b54[_0xb63e('0x40')]['id']}})[_0xb63e('0x20')](handleEntityNotFound(_0x4c7a6f,null))[_0xb63e('0x20')](removeEntity(_0x4c7a6f,null))[_0xb63e('0x3e')](handleError(_0x4c7a6f,null));};exports[_0xb63e('0x47')]=function(_0x3b05c6,_0xa6a634,_0x24b411){var _0x173172={};var _0x5b593f={};var _0x28792f;var _0x310cc7;return db['VtigerConfiguration']['findOne']({'where':{'id':_0x3b05c6[_0xb63e('0x40')]['id']}})['then'](handleEntityNotFound(_0xa6a634,null))['then'](function(_0x3b9f1d){if(_0x3b9f1d){_0x28792f=_0x3b9f1d;_0x5b593f['model']=_[_0xb63e('0x2d')](db[_0xb63e('0x48')][_0xb63e('0x27')]);_0x5b593f[_0xb63e('0x2c')]=_[_0xb63e('0x2d')](_0x3b05c6['query']);_0x5b593f[_0xb63e('0x2e')]=_['intersection'](_0x5b593f[_0xb63e('0x2b')],_0x5b593f[_0xb63e('0x2c')]);_0x173172[_0xb63e('0x31')]=_[_0xb63e('0x2f')](_0x5b593f[_0xb63e('0x2b')],qs[_0xb63e('0x30')](_0x3b05c6['query'][_0xb63e('0x30')]));_0x173172[_0xb63e('0x31')]=_0x173172[_0xb63e('0x31')]['length']?_0x173172[_0xb63e('0x31')]:_0x5b593f[_0xb63e('0x2b')];_0x173172['order']=qs['sort'](_0x3b05c6[_0xb63e('0x2c')]['sort']);_0x173172[_0xb63e('0x35')]=qs[_0xb63e('0x2e')](_['pick'](_0x3b05c6[_0xb63e('0x2c')],_0x5b593f[_0xb63e('0x2e')]));if(_0x3b05c6[_0xb63e('0x2c')]['filter']){_0x173172[_0xb63e('0x35')]=_['merge'](_0x173172[_0xb63e('0x35')],{'$or':_[_0xb63e('0x26')](_0x173172[_0xb63e('0x31')],function(_0x1946e8){var _0x1a9cd1={};_0x1a9cd1[_0x1946e8]={'$like':'%'+_0x3b05c6[_0xb63e('0x2c')][_0xb63e('0x38')]+'%'};return _0x1a9cd1;})});}_0x173172=_[_0xb63e('0x36')]({},_0x173172,_0x3b05c6['options']);return _0x28792f[_0xb63e('0x47')](_0x173172);}})[_0xb63e('0x20')](function(_0x950e05){if(_0x950e05){_0x310cc7=_0x950e05[_0xb63e('0x41')];if(!_0x3b05c6[_0xb63e('0x2c')][_0xb63e('0x32')]('nolimit')){_0x173172['limit']=qs[_0xb63e('0x1a')](_0x3b05c6['query'][_0xb63e('0x1a')]);_0x173172[_0xb63e('0x18')]=qs[_0xb63e('0x18')](_0x3b05c6[_0xb63e('0x2c')][_0xb63e('0x18')]);}return _0x28792f[_0xb63e('0x47')](_0x173172);}})[_0xb63e('0x20')](function(_0x3e0f49){if(_0x3e0f49){return _0x3e0f49?{'count':_0x310cc7,'rows':_0x3e0f49}:null;}})[_0xb63e('0x20')](respondWithResult(_0xa6a634,null))['catch'](handleError(_0xa6a634,null));};exports[_0xb63e('0x49')]=function(_0x2cae1c,_0x17c590,_0x203a24){var _0x5cf082={};var _0x148bd4={};var _0x4f51a6;var _0x27021c;return db['VtigerConfiguration'][_0xb63e('0x4a')]({'where':{'id':_0x2cae1c['params']['id']}})['then'](handleEntityNotFound(_0x17c590,null))[_0xb63e('0x20')](function(_0x1ac350){if(_0x1ac350){_0x4f51a6=_0x1ac350;_0x148bd4[_0xb63e('0x2b')]=_['keys'](db[_0xb63e('0x48')][_0xb63e('0x27')]);_0x148bd4['query']=_[_0xb63e('0x2d')](_0x2cae1c[_0xb63e('0x2c')]);_0x148bd4[_0xb63e('0x2e')]=_[_0xb63e('0x2f')](_0x148bd4['model'],_0x148bd4[_0xb63e('0x2c')]);_0x5cf082[_0xb63e('0x31')]=_[_0xb63e('0x2f')](_0x148bd4[_0xb63e('0x2b')],qs[_0xb63e('0x30')](_0x2cae1c[_0xb63e('0x2c')][_0xb63e('0x30')]));_0x5cf082[_0xb63e('0x31')]=_0x5cf082[_0xb63e('0x31')][_0xb63e('0x41')]?_0x5cf082[_0xb63e('0x31')]:_0x148bd4[_0xb63e('0x2b')];_0x5cf082[_0xb63e('0x33')]=qs[_0xb63e('0x34')](_0x2cae1c['query'][_0xb63e('0x34')]);_0x5cf082[_0xb63e('0x35')]=qs[_0xb63e('0x2e')](_[_0xb63e('0x4b')](_0x2cae1c['query'],_0x148bd4[_0xb63e('0x2e')]));if(_0x2cae1c[_0xb63e('0x2c')]['filter']){_0x5cf082[_0xb63e('0x35')]=_[_0xb63e('0x36')](_0x5cf082[_0xb63e('0x35')],{'$or':_[_0xb63e('0x26')](_0x5cf082[_0xb63e('0x31')],function(_0x3c2202){var _0x17d163={};_0x17d163[_0x3c2202]={'$like':'%'+_0x2cae1c[_0xb63e('0x2c')][_0xb63e('0x38')]+'%'};return _0x17d163;})});}_0x5cf082=_[_0xb63e('0x36')]({},_0x5cf082,_0x2cae1c[_0xb63e('0x39')]);return _0x4f51a6[_0xb63e('0x49')](_0x5cf082);}})[_0xb63e('0x20')](function(_0x40639f){if(_0x40639f){_0x27021c=_0x40639f[_0xb63e('0x41')];if(!_0x2cae1c[_0xb63e('0x2c')][_0xb63e('0x32')](_0xb63e('0x4c'))){_0x5cf082['limit']=qs[_0xb63e('0x1a')](_0x2cae1c['query'][_0xb63e('0x1a')]);_0x5cf082[_0xb63e('0x18')]=qs[_0xb63e('0x18')](_0x2cae1c[_0xb63e('0x2c')][_0xb63e('0x18')]);}return _0x4f51a6[_0xb63e('0x49')](_0x5cf082);}})['then'](function(_0x3b96e2){if(_0x3b96e2){return _0x3b96e2?{'count':_0x27021c,'rows':_0x3b96e2}:null;}})[_0xb63e('0x20')](respondWithResult(_0x17c590,null))[_0xb63e('0x3e')](handleError(_0x17c590,null));};exports[_0xb63e('0x4d')]=function(_0x4cc498,_0x3fa697,_0x32e744){var _0x34c680={};var _0x27a69a={};var _0x34e5ff;var _0x2e0279;return db[_0xb63e('0x3a')][_0xb63e('0x4a')]({'where':{'id':_0x4cc498[_0xb63e('0x40')]['id']}})[_0xb63e('0x20')](handleEntityNotFound(_0x3fa697,null))[_0xb63e('0x20')](function(_0x370069){if(_0x370069){_0x34e5ff=_0x370069;_0x27a69a[_0xb63e('0x2b')]=_[_0xb63e('0x2d')](db['VtigerField'][_0xb63e('0x27')]);_0x27a69a[_0xb63e('0x2c')]=_['keys'](_0x4cc498[_0xb63e('0x2c')]);_0x27a69a['filters']=_[_0xb63e('0x2f')](_0x27a69a[_0xb63e('0x2b')],_0x27a69a[_0xb63e('0x2c')]);_0x34c680[_0xb63e('0x31')]=_['intersection'](_0x27a69a[_0xb63e('0x2b')],qs[_0xb63e('0x30')](_0x4cc498[_0xb63e('0x2c')][_0xb63e('0x30')]));_0x34c680['attributes']=_0x34c680[_0xb63e('0x31')][_0xb63e('0x41')]?_0x34c680[_0xb63e('0x31')]:_0x27a69a['model'];_0x34c680[_0xb63e('0x33')]=qs['sort'](_0x4cc498[_0xb63e('0x2c')]['sort']);_0x34c680[_0xb63e('0x35')]=qs[_0xb63e('0x2e')](_[_0xb63e('0x4b')](_0x4cc498['query'],_0x27a69a[_0xb63e('0x2e')]));if(_0x4cc498[_0xb63e('0x2c')][_0xb63e('0x38')]){_0x34c680[_0xb63e('0x35')]=_[_0xb63e('0x36')](_0x34c680[_0xb63e('0x35')],{'$or':_['map'](_0x34c680[_0xb63e('0x31')],function(_0x2a3399){var _0x1d746d={};_0x1d746d[_0x2a3399]={'$like':'%'+_0x4cc498[_0xb63e('0x2c')][_0xb63e('0x38')]+'%'};return _0x1d746d;})});}_0x34c680=_[_0xb63e('0x36')]({},_0x34c680,_0x4cc498['options']);return _0x34e5ff[_0xb63e('0x4d')](_0x34c680);}})[_0xb63e('0x20')](function(_0x5ed090){if(_0x5ed090){_0x2e0279=_0x5ed090[_0xb63e('0x41')];if(!_0x4cc498[_0xb63e('0x2c')][_0xb63e('0x32')](_0xb63e('0x4c'))){_0x34c680[_0xb63e('0x1a')]=qs['limit'](_0x4cc498[_0xb63e('0x2c')][_0xb63e('0x1a')]);_0x34c680[_0xb63e('0x18')]=qs[_0xb63e('0x18')](_0x4cc498['query']['offset']);}return _0x34e5ff['getDescriptions'](_0x34c680);}})[_0xb63e('0x20')](function(_0x1d3a09){if(_0x1d3a09){return _0x1d3a09?{'count':_0x2e0279,'rows':_0x1d3a09}:null;}})[_0xb63e('0x20')](respondWithResult(_0x3fa697,null))[_0xb63e('0x3e')](handleError(_0x3fa697,null));};