Built motion from commit a61a4a20.|2.5.46
[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 _0xd98a=['rows','catch','show','params','options','find','create','body','findOne','VtigerField','getFields','hasOwnProperty','getSubjects','getDescriptions','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../config/environment','../../mysqldb','status','end','json','offset','undefined','limit','set','apply','reject','save','update','destroy','then','sendStatus','error','stack','name','send','map','VtigerConfiguration','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','fields','attributes','length','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','count','includeAll','include','findAll'];(function(_0x36820a,_0x1c99b5){var _0x56e7ab=function(_0x46393d){while(--_0x46393d){_0x36820a['push'](_0x36820a['shift']());}};_0x56e7ab(++_0x1c99b5);}(_0xd98a,0x156));var _0xad98=function(_0x2187ea,_0x37fd5d){_0x2187ea=_0x2187ea-0x0;var _0x41bc5d=_0xd98a[_0x2187ea];return _0x41bc5d;};'use strict';var emlformat=require(_0xad98('0x0'));var rimraf=require(_0xad98('0x1'));var zipdir=require(_0xad98('0x2'));var jsonpatch=require(_0xad98('0x3'));var rp=require(_0xad98('0x4'));var moment=require('moment');var BPromise=require(_0xad98('0x5'));var Mustache=require(_0xad98('0x6'));var util=require('util');var path=require(_0xad98('0x7'));var sox=require(_0xad98('0x8'));var csv=require(_0xad98('0x9'));var ejs=require(_0xad98('0xa'));var fs=require('fs');var fs_extra=require(_0xad98('0xb'));var _=require(_0xad98('0xc'));var squel=require(_0xad98('0xd'));var crypto=require(_0xad98('0xe'));var jsforce=require('jsforce');var deskjs=require(_0xad98('0xf'));var toCsv=require(_0xad98('0x9'));var querystring=require(_0xad98('0x10'));var Papa=require(_0xad98('0x11'));var Redis=require('ioredis');var authService=require(_0xad98('0x12'));var qs=require('../../components/parsers/qs');var as=require(_0xad98('0x13'));var hardwareService=require(_0xad98('0x14'));var logger=require('../../config/logger')('api');var utils=require(_0xad98('0x15'));var config=require(_0xad98('0x16'));var licenseUtil=require('../../config/license/util');var db=require(_0xad98('0x17'))['db'];function respondWithStatusCode(_0x43fcd8,_0x16683c){_0x16683c=_0x16683c||0xcc;return function(_0xcfb0da){if(_0xcfb0da){return _0x43fcd8['sendStatus'](_0x16683c);}return _0x43fcd8[_0xad98('0x18')](_0x16683c)[_0xad98('0x19')]();};}function respondWithResult(_0x2369d9,_0x2dd974){_0x2dd974=_0x2dd974||0xc8;return function(_0x1e7c7c){if(_0x1e7c7c){return _0x2369d9[_0xad98('0x18')](_0x2dd974)[_0xad98('0x1a')](_0x1e7c7c);}};}function respondWithFilteredResult(_0x1054e4,_0x3ce613){return function(_0x13b39d){if(_0x13b39d){var _0xd13936=typeof _0x3ce613[_0xad98('0x1b')]===_0xad98('0x1c')&&typeof _0x3ce613[_0xad98('0x1d')]===_0xad98('0x1c');var _0x4f8ec7=_0x13b39d['count'];var _0x42f3ea=_0xd13936?0x0:_0x3ce613['offset'];var _0x24d344=_0xd13936?_0x13b39d['count']:_0x3ce613[_0xad98('0x1b')]+_0x3ce613['limit'];var _0x20bf21;if(_0x24d344>=_0x4f8ec7){_0x24d344=_0x4f8ec7;_0x20bf21=0xc8;}else{_0x20bf21=0xce;}_0x1054e4[_0xad98('0x18')](_0x20bf21);return _0x1054e4[_0xad98('0x1e')]('Content-Range',_0x42f3ea+'-'+_0x24d344+'/'+_0x4f8ec7)['json'](_0x13b39d);}return null;};}function patchUpdates(_0x35a252){return function(_0x173d16){try{jsonpatch[_0xad98('0x1f')](_0x173d16,_0x35a252,!![]);}catch(_0x25d531){return BPromise[_0xad98('0x20')](_0x25d531);}return _0x173d16[_0xad98('0x21')]();};}function saveUpdates(_0x344a5b,_0x49f72f){return function(_0x430564){if(_0x430564){return _0x430564[_0xad98('0x22')](_0x344a5b)['then'](function(_0x544e5a){return _0x544e5a;});}return null;};}function removeEntity(_0x52d7c7,_0x69bfeb){return function(_0x4ffb89){if(_0x4ffb89){return _0x4ffb89[_0xad98('0x23')]()[_0xad98('0x24')](function(){_0x52d7c7[_0xad98('0x18')](0xcc)[_0xad98('0x19')]();});}};}function handleEntityNotFound(_0x83cbf7,_0xcaf7dc){return function(_0x455aa1){if(!_0x455aa1){_0x83cbf7[_0xad98('0x25')](0x194);}return _0x455aa1;};}function handleError(_0x22bcd9,_0xf3e45f){_0xf3e45f=_0xf3e45f||0x1f4;return function(_0x437545){logger[_0xad98('0x26')](_0x437545[_0xad98('0x27')]);if(_0x437545['name']){delete _0x437545[_0xad98('0x28')];}_0x22bcd9[_0xad98('0x18')](_0xf3e45f)[_0xad98('0x29')](_0x437545);};}exports['index']=function(_0x2bb3a2,_0x3c0a0d){var _0x46b0fb={},_0x8e022c={},_0x24bd1a={'count':0x0,'rows':[]};var _0x1c200c=_[_0xad98('0x2a')](db[_0xad98('0x2b')][_0xad98('0x2c')],function(_0x9fbff3){return{'name':_0x9fbff3[_0xad98('0x2d')],'type':_0x9fbff3[_0xad98('0x2e')][_0xad98('0x2f')]};});_0x8e022c[_0xad98('0x30')]=_['map'](_0x1c200c,_0xad98('0x28'));_0x8e022c[_0xad98('0x31')]=_[_0xad98('0x32')](_0x2bb3a2[_0xad98('0x31')]);_0x8e022c[_0xad98('0x33')]=_[_0xad98('0x34')](_0x8e022c[_0xad98('0x30')],_0x8e022c['query']);_0x46b0fb['attributes']=_[_0xad98('0x34')](_0x8e022c[_0xad98('0x30')],qs[_0xad98('0x35')](_0x2bb3a2[_0xad98('0x31')][_0xad98('0x35')]));_0x46b0fb['attributes']=_0x46b0fb[_0xad98('0x36')][_0xad98('0x37')]?_0x46b0fb[_0xad98('0x36')]:_0x8e022c['model'];if(!_0x2bb3a2[_0xad98('0x31')]['hasOwnProperty'](_0xad98('0x38'))){_0x46b0fb[_0xad98('0x1d')]=qs[_0xad98('0x1d')](_0x2bb3a2[_0xad98('0x31')][_0xad98('0x1d')]);_0x46b0fb[_0xad98('0x1b')]=qs['offset'](_0x2bb3a2[_0xad98('0x31')]['offset']);}_0x46b0fb[_0xad98('0x39')]=qs[_0xad98('0x3a')](_0x2bb3a2['query']['sort']);_0x46b0fb[_0xad98('0x3b')]=qs['filters'](_[_0xad98('0x3c')](_0x2bb3a2['query'],_0x8e022c[_0xad98('0x33')]),_0x1c200c);if(_0x2bb3a2[_0xad98('0x31')][_0xad98('0x3d')]){_0x46b0fb['where']=_[_0xad98('0x3e')](_0x46b0fb[_0xad98('0x3b')],{'$or':_['map'](_0x1c200c,function(_0x1df07b){if(_0x1df07b[_0xad98('0x2e')]!==_0xad98('0x3f')){var _0xc1304a={};_0xc1304a[_0x1df07b['name']]={'$like':'%'+_0x2bb3a2['query']['filter']+'%'};return _0xc1304a;}})});}_0x46b0fb=_[_0xad98('0x3e')]({},_0x46b0fb,_0x2bb3a2['options']);var _0x322a68={'where':_0x46b0fb['where']};return db[_0xad98('0x2b')][_0xad98('0x40')](_0x322a68)[_0xad98('0x24')](function(_0x315d16){_0x24bd1a[_0xad98('0x40')]=_0x315d16;if(_0x2bb3a2[_0xad98('0x31')][_0xad98('0x41')]){_0x46b0fb[_0xad98('0x42')]=[{'all':!![]}];}return db['VtigerConfiguration'][_0xad98('0x43')](_0x46b0fb);})['then'](function(_0xb8f8f1){_0x24bd1a[_0xad98('0x44')]=_0xb8f8f1;return _0x24bd1a;})[_0xad98('0x24')](respondWithFilteredResult(_0x3c0a0d,_0x46b0fb))[_0xad98('0x45')](handleError(_0x3c0a0d,null));};exports[_0xad98('0x46')]=function(_0x45cbf7,_0x3ac1d2){var _0x180b88={'raw':![],'where':{'id':_0x45cbf7[_0xad98('0x47')]['id']}},_0x25793e={};_0x25793e['model']=_['keys'](db[_0xad98('0x2b')]['rawAttributes']);_0x25793e[_0xad98('0x31')]=_[_0xad98('0x32')](_0x45cbf7['query']);_0x25793e['filters']=_[_0xad98('0x34')](_0x25793e[_0xad98('0x30')],_0x25793e[_0xad98('0x31')]);_0x180b88[_0xad98('0x36')]=_[_0xad98('0x34')](_0x25793e[_0xad98('0x30')],qs[_0xad98('0x35')](_0x45cbf7[_0xad98('0x31')]['fields']));_0x180b88[_0xad98('0x36')]=_0x180b88['attributes'][_0xad98('0x37')]?_0x180b88[_0xad98('0x36')]:_0x25793e[_0xad98('0x30')];if(_0x45cbf7[_0xad98('0x31')][_0xad98('0x41')]){_0x180b88['include']=[{'all':!![]}];}_0x180b88=_[_0xad98('0x3e')]({},_0x180b88,_0x45cbf7[_0xad98('0x48')]);return db[_0xad98('0x2b')][_0xad98('0x49')](_0x180b88)['then'](handleEntityNotFound(_0x3ac1d2,null))[_0xad98('0x24')](respondWithResult(_0x3ac1d2,null))[_0xad98('0x45')](handleError(_0x3ac1d2,null));};exports['create']=function(_0x5107ae,_0x4961ee){return db['VtigerConfiguration'][_0xad98('0x4a')](_0x5107ae[_0xad98('0x4b')],{})[_0xad98('0x24')](respondWithResult(_0x4961ee,0xc9))[_0xad98('0x45')](handleError(_0x4961ee,null));};exports['update']=function(_0x55dcc4,_0x297cec){if(_0x55dcc4[_0xad98('0x4b')]['id']){delete _0x55dcc4['body']['id'];}return db[_0xad98('0x2b')][_0xad98('0x49')]({'where':{'id':_0x55dcc4['params']['id']}})['then'](handleEntityNotFound(_0x297cec,null))[_0xad98('0x24')](saveUpdates(_0x55dcc4['body'],null))[_0xad98('0x24')](respondWithResult(_0x297cec,null))[_0xad98('0x45')](handleError(_0x297cec,null));};exports[_0xad98('0x23')]=function(_0x38c81f,_0xbe35b6){return db[_0xad98('0x2b')][_0xad98('0x49')]({'where':{'id':_0x38c81f['params']['id']}})['then'](handleEntityNotFound(_0xbe35b6,null))[_0xad98('0x24')](removeEntity(_0xbe35b6,null))[_0xad98('0x45')](handleError(_0xbe35b6,null));};exports['getFields']=function(_0x36d2f4,_0x1626ac,_0x160015){var _0x31359c={};var _0x5803e6={};var _0xd6fc3d;var _0x436150;return db['VtigerConfiguration'][_0xad98('0x4c')]({'where':{'id':_0x36d2f4[_0xad98('0x47')]['id']}})[_0xad98('0x24')](handleEntityNotFound(_0x1626ac,null))['then'](function(_0xbe2fe8){if(_0xbe2fe8){_0xd6fc3d=_0xbe2fe8;_0x5803e6[_0xad98('0x30')]=_[_0xad98('0x32')](db[_0xad98('0x4d')][_0xad98('0x2c')]);_0x5803e6['query']=_['keys'](_0x36d2f4['query']);_0x5803e6[_0xad98('0x33')]=_[_0xad98('0x34')](_0x5803e6['model'],_0x5803e6[_0xad98('0x31')]);_0x31359c[_0xad98('0x36')]=_[_0xad98('0x34')](_0x5803e6[_0xad98('0x30')],qs['fields'](_0x36d2f4[_0xad98('0x31')][_0xad98('0x35')]));_0x31359c['attributes']=_0x31359c['attributes']['length']?_0x31359c[_0xad98('0x36')]:_0x5803e6['model'];_0x31359c[_0xad98('0x39')]=qs[_0xad98('0x3a')](_0x36d2f4[_0xad98('0x31')]['sort']);_0x31359c[_0xad98('0x3b')]=qs['filters'](_['pick'](_0x36d2f4[_0xad98('0x31')],_0x5803e6[_0xad98('0x33')]));if(_0x36d2f4['query']['filter']){_0x31359c[_0xad98('0x3b')]=_[_0xad98('0x3e')](_0x31359c['where'],{'$or':_[_0xad98('0x2a')](_0x31359c['attributes'],function(_0x5dff84){var _0xed49d2={};_0xed49d2[_0x5dff84]={'$like':'%'+_0x36d2f4[_0xad98('0x31')][_0xad98('0x3d')]+'%'};return _0xed49d2;})});}_0x31359c=_['merge']({},_0x31359c,_0x36d2f4['options']);return _0xd6fc3d[_0xad98('0x4e')](_0x31359c);}})['then'](function(_0x23d0f7){if(_0x23d0f7){_0x436150=_0x23d0f7[_0xad98('0x37')];if(!_0x36d2f4[_0xad98('0x31')][_0xad98('0x4f')]('nolimit')){_0x31359c[_0xad98('0x1d')]=qs[_0xad98('0x1d')](_0x36d2f4[_0xad98('0x31')][_0xad98('0x1d')]);_0x31359c[_0xad98('0x1b')]=qs[_0xad98('0x1b')](_0x36d2f4[_0xad98('0x31')][_0xad98('0x1b')]);}return _0xd6fc3d[_0xad98('0x4e')](_0x31359c);}})['then'](function(_0x39a45e){if(_0x39a45e){return _0x39a45e?{'count':_0x436150,'rows':_0x39a45e}:null;}})[_0xad98('0x24')](respondWithResult(_0x1626ac,null))[_0xad98('0x45')](handleError(_0x1626ac,null));};exports[_0xad98('0x50')]=function(_0x358057,_0x1bdad6,_0x41e00d){var _0x7a7ea5={};var _0x29a249={};var _0x49c205;var _0x1fff64;return db['VtigerConfiguration'][_0xad98('0x4c')]({'where':{'id':_0x358057[_0xad98('0x47')]['id']}})[_0xad98('0x24')](handleEntityNotFound(_0x1bdad6,null))[_0xad98('0x24')](function(_0x23f22f){if(_0x23f22f){_0x49c205=_0x23f22f;_0x29a249['model']=_[_0xad98('0x32')](db['VtigerField'][_0xad98('0x2c')]);_0x29a249['query']=_[_0xad98('0x32')](_0x358057['query']);_0x29a249['filters']=_['intersection'](_0x29a249[_0xad98('0x30')],_0x29a249[_0xad98('0x31')]);_0x7a7ea5[_0xad98('0x36')]=_[_0xad98('0x34')](_0x29a249['model'],qs[_0xad98('0x35')](_0x358057['query'][_0xad98('0x35')]));_0x7a7ea5[_0xad98('0x36')]=_0x7a7ea5[_0xad98('0x36')]['length']?_0x7a7ea5[_0xad98('0x36')]:_0x29a249['model'];_0x7a7ea5[_0xad98('0x39')]=qs['sort'](_0x358057[_0xad98('0x31')][_0xad98('0x3a')]);_0x7a7ea5[_0xad98('0x3b')]=qs[_0xad98('0x33')](_[_0xad98('0x3c')](_0x358057[_0xad98('0x31')],_0x29a249[_0xad98('0x33')]));if(_0x358057['query']['filter']){_0x7a7ea5[_0xad98('0x3b')]=_[_0xad98('0x3e')](_0x7a7ea5[_0xad98('0x3b')],{'$or':_['map'](_0x7a7ea5[_0xad98('0x36')],function(_0x128695){var _0x646ef5={};_0x646ef5[_0x128695]={'$like':'%'+_0x358057[_0xad98('0x31')]['filter']+'%'};return _0x646ef5;})});}_0x7a7ea5=_['merge']({},_0x7a7ea5,_0x358057[_0xad98('0x48')]);return _0x49c205[_0xad98('0x50')](_0x7a7ea5);}})[_0xad98('0x24')](function(_0x470cb8){if(_0x470cb8){_0x1fff64=_0x470cb8['length'];if(!_0x358057[_0xad98('0x31')][_0xad98('0x4f')](_0xad98('0x38'))){_0x7a7ea5[_0xad98('0x1d')]=qs[_0xad98('0x1d')](_0x358057[_0xad98('0x31')][_0xad98('0x1d')]);_0x7a7ea5[_0xad98('0x1b')]=qs[_0xad98('0x1b')](_0x358057[_0xad98('0x31')][_0xad98('0x1b')]);}return _0x49c205[_0xad98('0x50')](_0x7a7ea5);}})[_0xad98('0x24')](function(_0x7f2645){if(_0x7f2645){return _0x7f2645?{'count':_0x1fff64,'rows':_0x7f2645}:null;}})[_0xad98('0x24')](respondWithResult(_0x1bdad6,null))[_0xad98('0x45')](handleError(_0x1bdad6,null));};exports[_0xad98('0x51')]=function(_0x2b6667,_0x555bec,_0x1c632e){var _0x15785f={};var _0x4ed88c={};var _0x4d3a56;var _0x2f46c2;return db[_0xad98('0x2b')][_0xad98('0x4c')]({'where':{'id':_0x2b6667[_0xad98('0x47')]['id']}})[_0xad98('0x24')](handleEntityNotFound(_0x555bec,null))[_0xad98('0x24')](function(_0x5e6926){if(_0x5e6926){_0x4d3a56=_0x5e6926;_0x4ed88c[_0xad98('0x30')]=_[_0xad98('0x32')](db[_0xad98('0x4d')][_0xad98('0x2c')]);_0x4ed88c[_0xad98('0x31')]=_[_0xad98('0x32')](_0x2b6667[_0xad98('0x31')]);_0x4ed88c[_0xad98('0x33')]=_['intersection'](_0x4ed88c[_0xad98('0x30')],_0x4ed88c[_0xad98('0x31')]);_0x15785f['attributes']=_['intersection'](_0x4ed88c[_0xad98('0x30')],qs[_0xad98('0x35')](_0x2b6667[_0xad98('0x31')][_0xad98('0x35')]));_0x15785f[_0xad98('0x36')]=_0x15785f['attributes'][_0xad98('0x37')]?_0x15785f[_0xad98('0x36')]:_0x4ed88c[_0xad98('0x30')];_0x15785f[_0xad98('0x39')]=qs[_0xad98('0x3a')](_0x2b6667['query'][_0xad98('0x3a')]);_0x15785f[_0xad98('0x3b')]=qs[_0xad98('0x33')](_[_0xad98('0x3c')](_0x2b6667['query'],_0x4ed88c[_0xad98('0x33')]));if(_0x2b6667[_0xad98('0x31')][_0xad98('0x3d')]){_0x15785f[_0xad98('0x3b')]=_[_0xad98('0x3e')](_0x15785f[_0xad98('0x3b')],{'$or':_[_0xad98('0x2a')](_0x15785f['attributes'],function(_0x10df2a){var _0x2d58ed={};_0x2d58ed[_0x10df2a]={'$like':'%'+_0x2b6667['query'][_0xad98('0x3d')]+'%'};return _0x2d58ed;})});}_0x15785f=_[_0xad98('0x3e')]({},_0x15785f,_0x2b6667['options']);return _0x4d3a56[_0xad98('0x51')](_0x15785f);}})[_0xad98('0x24')](function(_0x1e0aef){if(_0x1e0aef){_0x2f46c2=_0x1e0aef[_0xad98('0x37')];if(!_0x2b6667[_0xad98('0x31')][_0xad98('0x4f')](_0xad98('0x38'))){_0x15785f[_0xad98('0x1d')]=qs[_0xad98('0x1d')](_0x2b6667[_0xad98('0x31')][_0xad98('0x1d')]);_0x15785f[_0xad98('0x1b')]=qs[_0xad98('0x1b')](_0x2b6667['query'][_0xad98('0x1b')]);}return _0x4d3a56[_0xad98('0x51')](_0x15785f);}})[_0xad98('0x24')](function(_0x4037ad){if(_0x4037ad){return _0x4037ad?{'count':_0x2f46c2,'rows':_0x4037ad}:null;}})['then'](respondWithResult(_0x555bec,null))[_0xad98('0x45')](handleError(_0x555bec,null));};