89e93f3520c654c7a77856e36c7f73afce8b8fd0
[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 _0x35a9=['model','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filters','filter','VIRTUAL','merge','options','includeAll','findAll','rows','catch','show','include','find','create','body','params','getFields','VtigerField','findOne','getSubjects','getDescriptions','rimraf','zip-dir','fast-json-patch','request-promise','mustache','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','count','limit','set','apply','reject','save','update','then','destroy','error','stack','name','send','index','map','VtigerConfiguration','rawAttributes','fieldName','type','key'];(function(_0x2e261d,_0x29f447){var _0x247240=function(_0x1f7e9f){while(--_0x1f7e9f){_0x2e261d['push'](_0x2e261d['shift']());}};_0x247240(++_0x29f447);}(_0x35a9,0x73));var _0x935a=function(_0x57096d,_0x1a8245){_0x57096d=_0x57096d-0x0;var _0x2e10ef=_0x35a9[_0x57096d];return _0x2e10ef;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x935a('0x0'));var zipdir=require(_0x935a('0x1'));var jsonpatch=require(_0x935a('0x2'));var rp=require(_0x935a('0x3'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x935a('0x4'));var util=require('util');var path=require(_0x935a('0x5'));var sox=require(_0x935a('0x6'));var csv=require(_0x935a('0x7'));var ejs=require(_0x935a('0x8'));var fs=require('fs');var fs_extra=require(_0x935a('0x9'));var _=require(_0x935a('0xa'));var squel=require(_0x935a('0xb'));var crypto=require(_0x935a('0xc'));var jsforce=require('jsforce');var deskjs=require(_0x935a('0xd'));var toCsv=require(_0x935a('0x7'));var querystring=require(_0x935a('0xe'));var Papa=require(_0x935a('0xf'));var Redis=require(_0x935a('0x10'));var authService=require('../../components/auth/service');var qs=require(_0x935a('0x11'));var as=require(_0x935a('0x12'));var hardwareService=require(_0x935a('0x13'));var logger=require('../../config/logger')(_0x935a('0x14'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x935a('0x15'));var db=require(_0x935a('0x16'))['db'];function respondWithStatusCode(_0x1e5152,_0x441f98){_0x441f98=_0x441f98||0xcc;return function(_0x3ed7e0){if(_0x3ed7e0){return _0x1e5152[_0x935a('0x17')](_0x441f98);}return _0x1e5152[_0x935a('0x18')](_0x441f98)[_0x935a('0x19')]();};}function respondWithResult(_0x5e1131,_0x109a98){_0x109a98=_0x109a98||0xc8;return function(_0x304c38){if(_0x304c38){return _0x5e1131[_0x935a('0x18')](_0x109a98)[_0x935a('0x1a')](_0x304c38);}};}function respondWithFilteredResult(_0xeebc0c,_0x22ab95){return function(_0xf881d6){if(_0xf881d6){var _0x463db1=typeof _0x22ab95[_0x935a('0x1b')]===_0x935a('0x1c')&&typeof _0x22ab95['limit']===_0x935a('0x1c');var _0x2aab94=_0xf881d6[_0x935a('0x1d')];var _0x446232=_0x463db1?0x0:_0x22ab95[_0x935a('0x1b')];var _0x3bac3e=_0x463db1?_0xf881d6[_0x935a('0x1d')]:_0x22ab95['offset']+_0x22ab95[_0x935a('0x1e')];var _0x90ef4;if(_0x3bac3e>=_0x2aab94){_0x3bac3e=_0x2aab94;_0x90ef4=0xc8;}else{_0x90ef4=0xce;}_0xeebc0c[_0x935a('0x18')](_0x90ef4);return _0xeebc0c[_0x935a('0x1f')]('Content-Range',_0x446232+'-'+_0x3bac3e+'/'+_0x2aab94)[_0x935a('0x1a')](_0xf881d6);}return null;};}function patchUpdates(_0x2c6873){return function(_0x53267b){try{jsonpatch[_0x935a('0x20')](_0x53267b,_0x2c6873,!![]);}catch(_0x257eb9){return BPromise[_0x935a('0x21')](_0x257eb9);}return _0x53267b[_0x935a('0x22')]();};}function saveUpdates(_0xe04139,_0x490627){return function(_0x267c48){if(_0x267c48){return _0x267c48[_0x935a('0x23')](_0xe04139)[_0x935a('0x24')](function(_0x4dd7aa){return _0x4dd7aa;});}return null;};}function removeEntity(_0x13e62a,_0x413787){return function(_0x326246){if(_0x326246){return _0x326246[_0x935a('0x25')]()['then'](function(){_0x13e62a['status'](0xcc)[_0x935a('0x19')]();});}};}function handleEntityNotFound(_0x46b6b8,_0x5a29df){return function(_0xa2c3f5){if(!_0xa2c3f5){_0x46b6b8[_0x935a('0x17')](0x194);}return _0xa2c3f5;};}function handleError(_0x34fb6f,_0x33f8c3){_0x33f8c3=_0x33f8c3||0x1f4;return function(_0x45ffc1){logger[_0x935a('0x26')](_0x45ffc1[_0x935a('0x27')]);if(_0x45ffc1[_0x935a('0x28')]){delete _0x45ffc1[_0x935a('0x28')];}_0x34fb6f[_0x935a('0x18')](_0x33f8c3)[_0x935a('0x29')](_0x45ffc1);};}exports[_0x935a('0x2a')]=function(_0x595b1c,_0x39c72c){var _0x43d93b={},_0x18a9dc={},_0x4f53af={'count':0x0,'rows':[]};var _0x261a8a=_[_0x935a('0x2b')](db[_0x935a('0x2c')][_0x935a('0x2d')],function(_0x48c9b5){return{'name':_0x48c9b5[_0x935a('0x2e')],'type':_0x48c9b5[_0x935a('0x2f')][_0x935a('0x30')]};});_0x18a9dc[_0x935a('0x31')]=_['map'](_0x261a8a,'name');_0x18a9dc[_0x935a('0x32')]=_[_0x935a('0x33')](_0x595b1c['query']);_0x18a9dc['filters']=_[_0x935a('0x34')](_0x18a9dc[_0x935a('0x31')],_0x18a9dc['query']);_0x43d93b[_0x935a('0x35')]=_['intersection'](_0x18a9dc[_0x935a('0x31')],qs['fields'](_0x595b1c[_0x935a('0x32')][_0x935a('0x36')]));_0x43d93b['attributes']=_0x43d93b['attributes'][_0x935a('0x37')]?_0x43d93b[_0x935a('0x35')]:_0x18a9dc[_0x935a('0x31')];if(!_0x595b1c[_0x935a('0x32')][_0x935a('0x38')](_0x935a('0x39'))){_0x43d93b[_0x935a('0x1e')]=qs[_0x935a('0x1e')](_0x595b1c[_0x935a('0x32')][_0x935a('0x1e')]);_0x43d93b['offset']=qs['offset'](_0x595b1c['query'][_0x935a('0x1b')]);}_0x43d93b[_0x935a('0x3a')]=qs[_0x935a('0x3b')](_0x595b1c[_0x935a('0x32')][_0x935a('0x3b')]);_0x43d93b[_0x935a('0x3c')]=qs['filters'](_[_0x935a('0x3d')](_0x595b1c['query'],_0x18a9dc[_0x935a('0x3e')]),_0x261a8a);if(_0x595b1c[_0x935a('0x32')][_0x935a('0x3f')]){_0x43d93b[_0x935a('0x3c')]=_['merge'](_0x43d93b[_0x935a('0x3c')],{'$or':_[_0x935a('0x2b')](_0x261a8a,function(_0x319642){if(_0x319642[_0x935a('0x2f')]!==_0x935a('0x40')){var _0x4dc91c={};_0x4dc91c[_0x319642['name']]={'$like':'%'+_0x595b1c[_0x935a('0x32')][_0x935a('0x3f')]+'%'};return _0x4dc91c;}})});}_0x43d93b=_[_0x935a('0x41')]({},_0x43d93b,_0x595b1c[_0x935a('0x42')]);var _0x1a2ae6={'where':_0x43d93b[_0x935a('0x3c')]};return db[_0x935a('0x2c')][_0x935a('0x1d')](_0x1a2ae6)[_0x935a('0x24')](function(_0x20584f){_0x4f53af[_0x935a('0x1d')]=_0x20584f;if(_0x595b1c['query'][_0x935a('0x43')]){_0x43d93b['include']=[{'all':!![]}];}return db['VtigerConfiguration'][_0x935a('0x44')](_0x43d93b);})['then'](function(_0x3f5653){_0x4f53af[_0x935a('0x45')]=_0x3f5653;return _0x4f53af;})[_0x935a('0x24')](respondWithFilteredResult(_0x39c72c,_0x43d93b))[_0x935a('0x46')](handleError(_0x39c72c,null));};exports[_0x935a('0x47')]=function(_0x43ea46,_0x329719){var _0x57f870={'raw':![],'where':{'id':_0x43ea46['params']['id']}},_0x2d734d={};_0x2d734d[_0x935a('0x31')]=_[_0x935a('0x33')](db[_0x935a('0x2c')][_0x935a('0x2d')]);_0x2d734d[_0x935a('0x32')]=_[_0x935a('0x33')](_0x43ea46['query']);_0x2d734d[_0x935a('0x3e')]=_['intersection'](_0x2d734d[_0x935a('0x31')],_0x2d734d['query']);_0x57f870[_0x935a('0x35')]=_[_0x935a('0x34')](_0x2d734d['model'],qs[_0x935a('0x36')](_0x43ea46[_0x935a('0x32')][_0x935a('0x36')]));_0x57f870[_0x935a('0x35')]=_0x57f870[_0x935a('0x35')][_0x935a('0x37')]?_0x57f870['attributes']:_0x2d734d['model'];if(_0x43ea46[_0x935a('0x32')]['includeAll']){_0x57f870[_0x935a('0x48')]=[{'all':!![]}];}_0x57f870=_[_0x935a('0x41')]({},_0x57f870,_0x43ea46[_0x935a('0x42')]);return db[_0x935a('0x2c')][_0x935a('0x49')](_0x57f870)[_0x935a('0x24')](handleEntityNotFound(_0x329719,null))[_0x935a('0x24')](respondWithResult(_0x329719,null))[_0x935a('0x46')](handleError(_0x329719,null));};exports['create']=function(_0x27aa52,_0x21e2c3){return db[_0x935a('0x2c')][_0x935a('0x4a')](_0x27aa52[_0x935a('0x4b')],{})[_0x935a('0x24')](respondWithResult(_0x21e2c3,0xc9))[_0x935a('0x46')](handleError(_0x21e2c3,null));};exports[_0x935a('0x23')]=function(_0x479124,_0x23e85f){if(_0x479124['body']['id']){delete _0x479124['body']['id'];}return db['VtigerConfiguration'][_0x935a('0x49')]({'where':{'id':_0x479124[_0x935a('0x4c')]['id']}})[_0x935a('0x24')](handleEntityNotFound(_0x23e85f,null))[_0x935a('0x24')](saveUpdates(_0x479124['body'],null))[_0x935a('0x24')](respondWithResult(_0x23e85f,null))['catch'](handleError(_0x23e85f,null));};exports['destroy']=function(_0x41c5dc,_0x17d5ef){return db[_0x935a('0x2c')][_0x935a('0x49')]({'where':{'id':_0x41c5dc[_0x935a('0x4c')]['id']}})[_0x935a('0x24')](handleEntityNotFound(_0x17d5ef,null))[_0x935a('0x24')](removeEntity(_0x17d5ef,null))['catch'](handleError(_0x17d5ef,null));};exports[_0x935a('0x4d')]=function(_0x209cd8,_0x5bde42,_0x114e54){var _0x5c777b={};var _0x57118f={};var _0x5151e6;var _0x33eb76;return db[_0x935a('0x2c')]['findOne']({'where':{'id':_0x209cd8[_0x935a('0x4c')]['id']}})[_0x935a('0x24')](handleEntityNotFound(_0x5bde42,null))[_0x935a('0x24')](function(_0x2108cf){if(_0x2108cf){_0x5151e6=_0x2108cf;_0x57118f[_0x935a('0x31')]=_[_0x935a('0x33')](db[_0x935a('0x4e')][_0x935a('0x2d')]);_0x57118f[_0x935a('0x32')]=_[_0x935a('0x33')](_0x209cd8[_0x935a('0x32')]);_0x57118f['filters']=_[_0x935a('0x34')](_0x57118f[_0x935a('0x31')],_0x57118f[_0x935a('0x32')]);_0x5c777b[_0x935a('0x35')]=_[_0x935a('0x34')](_0x57118f['model'],qs['fields'](_0x209cd8[_0x935a('0x32')]['fields']));_0x5c777b[_0x935a('0x35')]=_0x5c777b[_0x935a('0x35')]['length']?_0x5c777b[_0x935a('0x35')]:_0x57118f[_0x935a('0x31')];_0x5c777b[_0x935a('0x3a')]=qs[_0x935a('0x3b')](_0x209cd8[_0x935a('0x32')][_0x935a('0x3b')]);_0x5c777b['where']=qs['filters'](_[_0x935a('0x3d')](_0x209cd8['query'],_0x57118f[_0x935a('0x3e')]));if(_0x209cd8[_0x935a('0x32')][_0x935a('0x3f')]){_0x5c777b['where']=_['merge'](_0x5c777b[_0x935a('0x3c')],{'$or':_[_0x935a('0x2b')](_0x5c777b[_0x935a('0x35')],function(_0x438107){var _0x14d018={};_0x14d018[_0x438107]={'$like':'%'+_0x209cd8[_0x935a('0x32')][_0x935a('0x3f')]+'%'};return _0x14d018;})});}_0x5c777b=_['merge']({},_0x5c777b,_0x209cd8[_0x935a('0x42')]);return _0x5151e6[_0x935a('0x4d')](_0x5c777b);}})[_0x935a('0x24')](function(_0x434942){if(_0x434942){_0x33eb76=_0x434942[_0x935a('0x37')];if(!_0x209cd8[_0x935a('0x32')][_0x935a('0x38')](_0x935a('0x39'))){_0x5c777b[_0x935a('0x1e')]=qs[_0x935a('0x1e')](_0x209cd8[_0x935a('0x32')][_0x935a('0x1e')]);_0x5c777b[_0x935a('0x1b')]=qs[_0x935a('0x1b')](_0x209cd8[_0x935a('0x32')]['offset']);}return _0x5151e6[_0x935a('0x4d')](_0x5c777b);}})[_0x935a('0x24')](function(_0x5983f9){if(_0x5983f9){return _0x5983f9?{'count':_0x33eb76,'rows':_0x5983f9}:null;}})[_0x935a('0x24')](respondWithResult(_0x5bde42,null))[_0x935a('0x46')](handleError(_0x5bde42,null));};exports['getSubjects']=function(_0x180bc4,_0x20d4c7,_0x38a5d5){var _0x1ecf4f={};var _0x177334={};var _0x1e384e;var _0x359878;return db[_0x935a('0x2c')][_0x935a('0x4f')]({'where':{'id':_0x180bc4[_0x935a('0x4c')]['id']}})[_0x935a('0x24')](handleEntityNotFound(_0x20d4c7,null))['then'](function(_0x5f5077){if(_0x5f5077){_0x1e384e=_0x5f5077;_0x177334[_0x935a('0x31')]=_[_0x935a('0x33')](db[_0x935a('0x4e')][_0x935a('0x2d')]);_0x177334[_0x935a('0x32')]=_['keys'](_0x180bc4[_0x935a('0x32')]);_0x177334[_0x935a('0x3e')]=_['intersection'](_0x177334[_0x935a('0x31')],_0x177334['query']);_0x1ecf4f[_0x935a('0x35')]=_['intersection'](_0x177334[_0x935a('0x31')],qs[_0x935a('0x36')](_0x180bc4['query'][_0x935a('0x36')]));_0x1ecf4f[_0x935a('0x35')]=_0x1ecf4f[_0x935a('0x35')][_0x935a('0x37')]?_0x1ecf4f[_0x935a('0x35')]:_0x177334[_0x935a('0x31')];_0x1ecf4f[_0x935a('0x3a')]=qs[_0x935a('0x3b')](_0x180bc4['query'][_0x935a('0x3b')]);_0x1ecf4f['where']=qs[_0x935a('0x3e')](_[_0x935a('0x3d')](_0x180bc4[_0x935a('0x32')],_0x177334[_0x935a('0x3e')]));if(_0x180bc4[_0x935a('0x32')][_0x935a('0x3f')]){_0x1ecf4f[_0x935a('0x3c')]=_[_0x935a('0x41')](_0x1ecf4f[_0x935a('0x3c')],{'$or':_[_0x935a('0x2b')](_0x1ecf4f[_0x935a('0x35')],function(_0x1ab2e2){var _0x221cfe={};_0x221cfe[_0x1ab2e2]={'$like':'%'+_0x180bc4['query'][_0x935a('0x3f')]+'%'};return _0x221cfe;})});}_0x1ecf4f=_[_0x935a('0x41')]({},_0x1ecf4f,_0x180bc4[_0x935a('0x42')]);return _0x1e384e[_0x935a('0x50')](_0x1ecf4f);}})[_0x935a('0x24')](function(_0x5f28b2){if(_0x5f28b2){_0x359878=_0x5f28b2[_0x935a('0x37')];if(!_0x180bc4[_0x935a('0x32')][_0x935a('0x38')]('nolimit')){_0x1ecf4f[_0x935a('0x1e')]=qs[_0x935a('0x1e')](_0x180bc4[_0x935a('0x32')][_0x935a('0x1e')]);_0x1ecf4f['offset']=qs[_0x935a('0x1b')](_0x180bc4[_0x935a('0x32')][_0x935a('0x1b')]);}return _0x1e384e[_0x935a('0x50')](_0x1ecf4f);}})[_0x935a('0x24')](function(_0x368173){if(_0x368173){return _0x368173?{'count':_0x359878,'rows':_0x368173}:null;}})[_0x935a('0x24')](respondWithResult(_0x20d4c7,null))[_0x935a('0x46')](handleError(_0x20d4c7,null));};exports['getDescriptions']=function(_0x53bc43,_0x3e2712,_0x1b172e){var _0x2d87b1={};var _0xa7dece={};var _0x3f82ee;var _0x484035;return db[_0x935a('0x2c')][_0x935a('0x4f')]({'where':{'id':_0x53bc43[_0x935a('0x4c')]['id']}})['then'](handleEntityNotFound(_0x3e2712,null))['then'](function(_0x3f8800){if(_0x3f8800){_0x3f82ee=_0x3f8800;_0xa7dece[_0x935a('0x31')]=_[_0x935a('0x33')](db[_0x935a('0x4e')]['rawAttributes']);_0xa7dece[_0x935a('0x32')]=_[_0x935a('0x33')](_0x53bc43[_0x935a('0x32')]);_0xa7dece['filters']=_[_0x935a('0x34')](_0xa7dece[_0x935a('0x31')],_0xa7dece[_0x935a('0x32')]);_0x2d87b1[_0x935a('0x35')]=_[_0x935a('0x34')](_0xa7dece[_0x935a('0x31')],qs[_0x935a('0x36')](_0x53bc43[_0x935a('0x32')][_0x935a('0x36')]));_0x2d87b1['attributes']=_0x2d87b1[_0x935a('0x35')][_0x935a('0x37')]?_0x2d87b1[_0x935a('0x35')]:_0xa7dece['model'];_0x2d87b1[_0x935a('0x3a')]=qs[_0x935a('0x3b')](_0x53bc43['query']['sort']);_0x2d87b1[_0x935a('0x3c')]=qs[_0x935a('0x3e')](_[_0x935a('0x3d')](_0x53bc43[_0x935a('0x32')],_0xa7dece[_0x935a('0x3e')]));if(_0x53bc43[_0x935a('0x32')]['filter']){_0x2d87b1[_0x935a('0x3c')]=_['merge'](_0x2d87b1[_0x935a('0x3c')],{'$or':_['map'](_0x2d87b1[_0x935a('0x35')],function(_0x4d4c0a){var _0x55826f={};_0x55826f[_0x4d4c0a]={'$like':'%'+_0x53bc43[_0x935a('0x32')][_0x935a('0x3f')]+'%'};return _0x55826f;})});}_0x2d87b1=_[_0x935a('0x41')]({},_0x2d87b1,_0x53bc43[_0x935a('0x42')]);return _0x3f82ee['getDescriptions'](_0x2d87b1);}})[_0x935a('0x24')](function(_0x44cc08){if(_0x44cc08){_0x484035=_0x44cc08[_0x935a('0x37')];if(!_0x53bc43[_0x935a('0x32')][_0x935a('0x38')](_0x935a('0x39'))){_0x2d87b1[_0x935a('0x1e')]=qs[_0x935a('0x1e')](_0x53bc43[_0x935a('0x32')]['limit']);_0x2d87b1[_0x935a('0x1b')]=qs[_0x935a('0x1b')](_0x53bc43[_0x935a('0x32')][_0x935a('0x1b')]);}return _0x3f82ee[_0x935a('0x51')](_0x2d87b1);}})[_0x935a('0x24')](function(_0x1bd053){if(_0x1bd053){return _0x1bd053?{'count':_0x484035,'rows':_0x1bd053}:null;}})[_0x935a('0x24')](respondWithResult(_0x3e2712,null))[_0x935a('0x46')](handleError(_0x3e2712,null));};