Built motion from commit f0b1811d.|2.6.6
[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 _0x1e90=['../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','end','json','offset','undefined','count','limit','set','Content-Range','apply','reject','update','then','destroy','error','stack','name','send','map','VtigerConfiguration','rawAttributes','fieldName','model','keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','order','sort','where','pick','filter','merge','type','VIRTUAL','options','includeAll','include','findAll','catch','params','create','body','find','getFields','findOne','nolimit','VtigerField','getSubjects','getDescriptions','eml-format','rimraf','zip-dir','fast-json-patch','bluebird','mustache','util','path','sox','to-csv','fs-extra','squel','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api'];(function(_0x3947c9,_0x4d6c97){var _0x2e7871=function(_0x1236cc){while(--_0x1236cc){_0x3947c9['push'](_0x3947c9['shift']());}};_0x2e7871(++_0x4d6c97);}(_0x1e90,0x1c5));var _0x01e9=function(_0x2ef243,_0x497018){_0x2ef243=_0x2ef243-0x0;var _0x3f0995=_0x1e90[_0x2ef243];return _0x3f0995;};'use strict';var emlformat=require(_0x01e9('0x0'));var rimraf=require(_0x01e9('0x1'));var zipdir=require(_0x01e9('0x2'));var jsonpatch=require(_0x01e9('0x3'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x01e9('0x4'));var Mustache=require(_0x01e9('0x5'));var util=require(_0x01e9('0x6'));var path=require(_0x01e9('0x7'));var sox=require(_0x01e9('0x8'));var csv=require(_0x01e9('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x01e9('0xa'));var _=require('lodash');var squel=require(_0x01e9('0xb'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x01e9('0xc'));var toCsv=require(_0x01e9('0x9'));var querystring=require(_0x01e9('0xd'));var Papa=require(_0x01e9('0xe'));var Redis=require(_0x01e9('0xf'));var authService=require(_0x01e9('0x10'));var qs=require(_0x01e9('0x11'));var as=require(_0x01e9('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x01e9('0x13'))(_0x01e9('0x14'));var utils=require(_0x01e9('0x15'));var config=require(_0x01e9('0x16'));var licenseUtil=require(_0x01e9('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x3d93c5,_0x2e0eeb){_0x2e0eeb=_0x2e0eeb||0xcc;return function(_0x17a5a8){if(_0x17a5a8){return _0x3d93c5[_0x01e9('0x18')](_0x2e0eeb);}return _0x3d93c5[_0x01e9('0x19')](_0x2e0eeb)[_0x01e9('0x1a')]();};}function respondWithResult(_0x551d04,_0x526e39){_0x526e39=_0x526e39||0xc8;return function(_0x1ff9d9){if(_0x1ff9d9){return _0x551d04['status'](_0x526e39)[_0x01e9('0x1b')](_0x1ff9d9);}};}function respondWithFilteredResult(_0x2a5eb0,_0x4ef1b7){return function(_0x4bacba){if(_0x4bacba){var _0x198025=typeof _0x4ef1b7[_0x01e9('0x1c')]==='undefined'&&typeof _0x4ef1b7['limit']===_0x01e9('0x1d');var _0x104769=_0x4bacba[_0x01e9('0x1e')];var _0x29339f=_0x198025?0x0:_0x4ef1b7[_0x01e9('0x1c')];var _0x135757=_0x198025?_0x4bacba['count']:_0x4ef1b7[_0x01e9('0x1c')]+_0x4ef1b7[_0x01e9('0x1f')];var _0x3c2c70;if(_0x135757>=_0x104769){_0x135757=_0x104769;_0x3c2c70=0xc8;}else{_0x3c2c70=0xce;}_0x2a5eb0[_0x01e9('0x19')](_0x3c2c70);return _0x2a5eb0[_0x01e9('0x20')](_0x01e9('0x21'),_0x29339f+'-'+_0x135757+'/'+_0x104769)[_0x01e9('0x1b')](_0x4bacba);}return null;};}function patchUpdates(_0x5d02f0){return function(_0x482fbc){try{jsonpatch[_0x01e9('0x22')](_0x482fbc,_0x5d02f0,!![]);}catch(_0x32b410){return BPromise[_0x01e9('0x23')](_0x32b410);}return _0x482fbc['save']();};}function saveUpdates(_0x510cfb,_0x3f1036){return function(_0x2f3d2b){if(_0x2f3d2b){return _0x2f3d2b[_0x01e9('0x24')](_0x510cfb)[_0x01e9('0x25')](function(_0x59b288){return _0x59b288;});}return null;};}function removeEntity(_0x517ce3,_0x133126){return function(_0x20e5c3){if(_0x20e5c3){return _0x20e5c3[_0x01e9('0x26')]()[_0x01e9('0x25')](function(){_0x517ce3[_0x01e9('0x19')](0xcc)[_0x01e9('0x1a')]();});}};}function handleEntityNotFound(_0x1b1c27,_0x395851){return function(_0x3d80f8){if(!_0x3d80f8){_0x1b1c27[_0x01e9('0x18')](0x194);}return _0x3d80f8;};}function handleError(_0x130a65,_0x2e7f12){_0x2e7f12=_0x2e7f12||0x1f4;return function(_0x27b7bc){logger[_0x01e9('0x27')](_0x27b7bc[_0x01e9('0x28')]);if(_0x27b7bc['name']){delete _0x27b7bc[_0x01e9('0x29')];}_0x130a65['status'](_0x2e7f12)[_0x01e9('0x2a')](_0x27b7bc);};}exports['index']=function(_0x4169f3,_0x1caad){var _0x22a403={},_0x345b95={},_0x3276f4={'count':0x0,'rows':[]};var _0x59cc10=_[_0x01e9('0x2b')](db[_0x01e9('0x2c')][_0x01e9('0x2d')],function(_0x5e0e52){return{'name':_0x5e0e52[_0x01e9('0x2e')],'type':_0x5e0e52['type']['key']};});_0x345b95[_0x01e9('0x2f')]=_[_0x01e9('0x2b')](_0x59cc10,_0x01e9('0x29'));_0x345b95['query']=_[_0x01e9('0x30')](_0x4169f3[_0x01e9('0x31')]);_0x345b95[_0x01e9('0x32')]=_[_0x01e9('0x33')](_0x345b95['model'],_0x345b95[_0x01e9('0x31')]);_0x22a403[_0x01e9('0x34')]=_[_0x01e9('0x33')](_0x345b95[_0x01e9('0x2f')],qs[_0x01e9('0x35')](_0x4169f3[_0x01e9('0x31')][_0x01e9('0x35')]));_0x22a403['attributes']=_0x22a403[_0x01e9('0x34')][_0x01e9('0x36')]?_0x22a403[_0x01e9('0x34')]:_0x345b95[_0x01e9('0x2f')];if(!_0x4169f3['query'][_0x01e9('0x37')]('nolimit')){_0x22a403[_0x01e9('0x1f')]=qs[_0x01e9('0x1f')](_0x4169f3[_0x01e9('0x31')][_0x01e9('0x1f')]);_0x22a403[_0x01e9('0x1c')]=qs[_0x01e9('0x1c')](_0x4169f3[_0x01e9('0x31')][_0x01e9('0x1c')]);}_0x22a403[_0x01e9('0x38')]=qs[_0x01e9('0x39')](_0x4169f3[_0x01e9('0x31')]['sort']);_0x22a403[_0x01e9('0x3a')]=qs[_0x01e9('0x32')](_[_0x01e9('0x3b')](_0x4169f3[_0x01e9('0x31')],_0x345b95['filters']),_0x59cc10);if(_0x4169f3[_0x01e9('0x31')][_0x01e9('0x3c')]){_0x22a403[_0x01e9('0x3a')]=_[_0x01e9('0x3d')](_0x22a403['where'],{'$or':_[_0x01e9('0x2b')](_0x59cc10,function(_0x3413d1){if(_0x3413d1[_0x01e9('0x3e')]!==_0x01e9('0x3f')){var _0x43db23={};_0x43db23[_0x3413d1[_0x01e9('0x29')]]={'$like':'%'+_0x4169f3[_0x01e9('0x31')][_0x01e9('0x3c')]+'%'};return _0x43db23;}})});}_0x22a403=_[_0x01e9('0x3d')]({},_0x22a403,_0x4169f3[_0x01e9('0x40')]);var _0x374473={'where':_0x22a403[_0x01e9('0x3a')]};return db[_0x01e9('0x2c')]['count'](_0x374473)['then'](function(_0x13953e){_0x3276f4[_0x01e9('0x1e')]=_0x13953e;if(_0x4169f3['query'][_0x01e9('0x41')]){_0x22a403[_0x01e9('0x42')]=[{'all':!![]}];}return db['VtigerConfiguration'][_0x01e9('0x43')](_0x22a403);})[_0x01e9('0x25')](function(_0xbfc55a){_0x3276f4['rows']=_0xbfc55a;return _0x3276f4;})['then'](respondWithFilteredResult(_0x1caad,_0x22a403))[_0x01e9('0x44')](handleError(_0x1caad,null));};exports['show']=function(_0xdd5b90,_0x165469){var _0x5419b8={'raw':![],'where':{'id':_0xdd5b90[_0x01e9('0x45')]['id']}},_0x137522={};_0x137522['model']=_[_0x01e9('0x30')](db['VtigerConfiguration'][_0x01e9('0x2d')]);_0x137522[_0x01e9('0x31')]=_[_0x01e9('0x30')](_0xdd5b90[_0x01e9('0x31')]);_0x137522[_0x01e9('0x32')]=_[_0x01e9('0x33')](_0x137522[_0x01e9('0x2f')],_0x137522[_0x01e9('0x31')]);_0x5419b8[_0x01e9('0x34')]=_[_0x01e9('0x33')](_0x137522[_0x01e9('0x2f')],qs[_0x01e9('0x35')](_0xdd5b90[_0x01e9('0x31')][_0x01e9('0x35')]));_0x5419b8[_0x01e9('0x34')]=_0x5419b8[_0x01e9('0x34')]['length']?_0x5419b8[_0x01e9('0x34')]:_0x137522[_0x01e9('0x2f')];if(_0xdd5b90[_0x01e9('0x31')][_0x01e9('0x41')]){_0x5419b8['include']=[{'all':!![]}];}_0x5419b8=_[_0x01e9('0x3d')]({},_0x5419b8,_0xdd5b90[_0x01e9('0x40')]);return db[_0x01e9('0x2c')]['find'](_0x5419b8)[_0x01e9('0x25')](handleEntityNotFound(_0x165469,null))['then'](respondWithResult(_0x165469,null))[_0x01e9('0x44')](handleError(_0x165469,null));};exports[_0x01e9('0x46')]=function(_0x3b743d,_0x34f6cb){return db[_0x01e9('0x2c')][_0x01e9('0x46')](_0x3b743d[_0x01e9('0x47')],{})[_0x01e9('0x25')](respondWithResult(_0x34f6cb,0xc9))['catch'](handleError(_0x34f6cb,null));};exports[_0x01e9('0x24')]=function(_0x3f0762,_0x2a4d2a){if(_0x3f0762[_0x01e9('0x47')]['id']){delete _0x3f0762['body']['id'];}return db[_0x01e9('0x2c')][_0x01e9('0x48')]({'where':{'id':_0x3f0762['params']['id']}})[_0x01e9('0x25')](handleEntityNotFound(_0x2a4d2a,null))[_0x01e9('0x25')](saveUpdates(_0x3f0762['body'],null))[_0x01e9('0x25')](respondWithResult(_0x2a4d2a,null))[_0x01e9('0x44')](handleError(_0x2a4d2a,null));};exports['destroy']=function(_0xae1299,_0x29095e){return db['VtigerConfiguration'][_0x01e9('0x48')]({'where':{'id':_0xae1299['params']['id']}})[_0x01e9('0x25')](handleEntityNotFound(_0x29095e,null))[_0x01e9('0x25')](removeEntity(_0x29095e,null))[_0x01e9('0x44')](handleError(_0x29095e,null));};exports[_0x01e9('0x49')]=function(_0x4c9c20,_0x33baa8,_0x3bd604){var _0x46839a={};var _0x2526b4={};var _0x4db610;var _0x1ba09d;return db[_0x01e9('0x2c')][_0x01e9('0x4a')]({'where':{'id':_0x4c9c20['params']['id']}})[_0x01e9('0x25')](handleEntityNotFound(_0x33baa8,null))[_0x01e9('0x25')](function(_0x512bec){if(_0x512bec){_0x4db610=_0x512bec;_0x2526b4[_0x01e9('0x2f')]=_[_0x01e9('0x30')](db['VtigerField'][_0x01e9('0x2d')]);_0x2526b4[_0x01e9('0x31')]=_['keys'](_0x4c9c20[_0x01e9('0x31')]);_0x2526b4[_0x01e9('0x32')]=_['intersection'](_0x2526b4['model'],_0x2526b4[_0x01e9('0x31')]);_0x46839a[_0x01e9('0x34')]=_[_0x01e9('0x33')](_0x2526b4[_0x01e9('0x2f')],qs['fields'](_0x4c9c20[_0x01e9('0x31')]['fields']));_0x46839a[_0x01e9('0x34')]=_0x46839a['attributes'][_0x01e9('0x36')]?_0x46839a['attributes']:_0x2526b4[_0x01e9('0x2f')];_0x46839a[_0x01e9('0x38')]=qs['sort'](_0x4c9c20[_0x01e9('0x31')][_0x01e9('0x39')]);_0x46839a[_0x01e9('0x3a')]=qs[_0x01e9('0x32')](_[_0x01e9('0x3b')](_0x4c9c20['query'],_0x2526b4[_0x01e9('0x32')]));if(_0x4c9c20[_0x01e9('0x31')][_0x01e9('0x3c')]){_0x46839a['where']=_[_0x01e9('0x3d')](_0x46839a[_0x01e9('0x3a')],{'$or':_[_0x01e9('0x2b')](_0x46839a[_0x01e9('0x34')],function(_0x339ae6){var _0x573308={};_0x573308[_0x339ae6]={'$like':'%'+_0x4c9c20[_0x01e9('0x31')][_0x01e9('0x3c')]+'%'};return _0x573308;})});}_0x46839a=_[_0x01e9('0x3d')]({},_0x46839a,_0x4c9c20[_0x01e9('0x40')]);return _0x4db610['getFields'](_0x46839a);}})[_0x01e9('0x25')](function(_0x133fe0){if(_0x133fe0){_0x1ba09d=_0x133fe0[_0x01e9('0x36')];if(!_0x4c9c20[_0x01e9('0x31')]['hasOwnProperty'](_0x01e9('0x4b'))){_0x46839a[_0x01e9('0x1f')]=qs['limit'](_0x4c9c20[_0x01e9('0x31')][_0x01e9('0x1f')]);_0x46839a[_0x01e9('0x1c')]=qs[_0x01e9('0x1c')](_0x4c9c20['query'][_0x01e9('0x1c')]);}return _0x4db610[_0x01e9('0x49')](_0x46839a);}})[_0x01e9('0x25')](function(_0x29970b){if(_0x29970b){return _0x29970b?{'count':_0x1ba09d,'rows':_0x29970b}:null;}})[_0x01e9('0x25')](respondWithResult(_0x33baa8,null))[_0x01e9('0x44')](handleError(_0x33baa8,null));};exports['getSubjects']=function(_0x19f50f,_0x2ce75e,_0x1906da){var _0x55fdc9={};var _0x1dea18={};var _0x2a3824;var _0x18a037;return db[_0x01e9('0x2c')]['findOne']({'where':{'id':_0x19f50f[_0x01e9('0x45')]['id']}})['then'](handleEntityNotFound(_0x2ce75e,null))[_0x01e9('0x25')](function(_0x554f6f){if(_0x554f6f){_0x2a3824=_0x554f6f;_0x1dea18[_0x01e9('0x2f')]=_[_0x01e9('0x30')](db[_0x01e9('0x4c')][_0x01e9('0x2d')]);_0x1dea18[_0x01e9('0x31')]=_[_0x01e9('0x30')](_0x19f50f[_0x01e9('0x31')]);_0x1dea18['filters']=_[_0x01e9('0x33')](_0x1dea18['model'],_0x1dea18['query']);_0x55fdc9['attributes']=_['intersection'](_0x1dea18[_0x01e9('0x2f')],qs[_0x01e9('0x35')](_0x19f50f[_0x01e9('0x31')][_0x01e9('0x35')]));_0x55fdc9['attributes']=_0x55fdc9[_0x01e9('0x34')][_0x01e9('0x36')]?_0x55fdc9['attributes']:_0x1dea18[_0x01e9('0x2f')];_0x55fdc9[_0x01e9('0x38')]=qs['sort'](_0x19f50f['query'][_0x01e9('0x39')]);_0x55fdc9[_0x01e9('0x3a')]=qs[_0x01e9('0x32')](_[_0x01e9('0x3b')](_0x19f50f['query'],_0x1dea18['filters']));if(_0x19f50f[_0x01e9('0x31')][_0x01e9('0x3c')]){_0x55fdc9[_0x01e9('0x3a')]=_[_0x01e9('0x3d')](_0x55fdc9['where'],{'$or':_[_0x01e9('0x2b')](_0x55fdc9[_0x01e9('0x34')],function(_0x3cf0d6){var _0xcff315={};_0xcff315[_0x3cf0d6]={'$like':'%'+_0x19f50f['query'][_0x01e9('0x3c')]+'%'};return _0xcff315;})});}_0x55fdc9=_[_0x01e9('0x3d')]({},_0x55fdc9,_0x19f50f[_0x01e9('0x40')]);return _0x2a3824[_0x01e9('0x4d')](_0x55fdc9);}})[_0x01e9('0x25')](function(_0xb0896c){if(_0xb0896c){_0x18a037=_0xb0896c[_0x01e9('0x36')];if(!_0x19f50f[_0x01e9('0x31')][_0x01e9('0x37')](_0x01e9('0x4b'))){_0x55fdc9['limit']=qs[_0x01e9('0x1f')](_0x19f50f[_0x01e9('0x31')][_0x01e9('0x1f')]);_0x55fdc9[_0x01e9('0x1c')]=qs['offset'](_0x19f50f['query'][_0x01e9('0x1c')]);}return _0x2a3824['getSubjects'](_0x55fdc9);}})[_0x01e9('0x25')](function(_0x74e63c){if(_0x74e63c){return _0x74e63c?{'count':_0x18a037,'rows':_0x74e63c}:null;}})['then'](respondWithResult(_0x2ce75e,null))[_0x01e9('0x44')](handleError(_0x2ce75e,null));};exports['getDescriptions']=function(_0x3ccf2a,_0x41bf63,_0x23f859){var _0x106c4c={};var _0x25557b={};var _0x3ff630;var _0x2d9864;return db[_0x01e9('0x2c')][_0x01e9('0x4a')]({'where':{'id':_0x3ccf2a[_0x01e9('0x45')]['id']}})['then'](handleEntityNotFound(_0x41bf63,null))[_0x01e9('0x25')](function(_0xef87b2){if(_0xef87b2){_0x3ff630=_0xef87b2;_0x25557b[_0x01e9('0x2f')]=_[_0x01e9('0x30')](db[_0x01e9('0x4c')]['rawAttributes']);_0x25557b[_0x01e9('0x31')]=_[_0x01e9('0x30')](_0x3ccf2a[_0x01e9('0x31')]);_0x25557b[_0x01e9('0x32')]=_[_0x01e9('0x33')](_0x25557b[_0x01e9('0x2f')],_0x25557b[_0x01e9('0x31')]);_0x106c4c[_0x01e9('0x34')]=_[_0x01e9('0x33')](_0x25557b[_0x01e9('0x2f')],qs[_0x01e9('0x35')](_0x3ccf2a['query'][_0x01e9('0x35')]));_0x106c4c[_0x01e9('0x34')]=_0x106c4c[_0x01e9('0x34')]['length']?_0x106c4c[_0x01e9('0x34')]:_0x25557b[_0x01e9('0x2f')];_0x106c4c[_0x01e9('0x38')]=qs[_0x01e9('0x39')](_0x3ccf2a[_0x01e9('0x31')][_0x01e9('0x39')]);_0x106c4c[_0x01e9('0x3a')]=qs[_0x01e9('0x32')](_[_0x01e9('0x3b')](_0x3ccf2a[_0x01e9('0x31')],_0x25557b['filters']));if(_0x3ccf2a['query']['filter']){_0x106c4c[_0x01e9('0x3a')]=_[_0x01e9('0x3d')](_0x106c4c[_0x01e9('0x3a')],{'$or':_[_0x01e9('0x2b')](_0x106c4c[_0x01e9('0x34')],function(_0x4ecd48){var _0x17e0c2={};_0x17e0c2[_0x4ecd48]={'$like':'%'+_0x3ccf2a['query'][_0x01e9('0x3c')]+'%'};return _0x17e0c2;})});}_0x106c4c=_[_0x01e9('0x3d')]({},_0x106c4c,_0x3ccf2a['options']);return _0x3ff630[_0x01e9('0x4e')](_0x106c4c);}})[_0x01e9('0x25')](function(_0xe55375){if(_0xe55375){_0x2d9864=_0xe55375[_0x01e9('0x36')];if(!_0x3ccf2a[_0x01e9('0x31')]['hasOwnProperty'](_0x01e9('0x4b'))){_0x106c4c[_0x01e9('0x1f')]=qs[_0x01e9('0x1f')](_0x3ccf2a[_0x01e9('0x31')][_0x01e9('0x1f')]);_0x106c4c[_0x01e9('0x1c')]=qs['offset'](_0x3ccf2a[_0x01e9('0x31')][_0x01e9('0x1c')]);}return _0x3ff630[_0x01e9('0x4e')](_0x106c4c);}})[_0x01e9('0x25')](function(_0x529df8){if(_0x529df8){return _0x529df8?{'count':_0x2d9864,'rows':_0x529df8}:null;}})[_0x01e9('0x25')](respondWithResult(_0x41bf63,null))[_0x01e9('0x44')](handleError(_0x41bf63,null));};