Built motion from commit e02f907f.|2.6.14
[motion2.git] / server / api / analyticFieldReport / analyticFieldReport.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 _0xef7b=['catch','show','fields','find','create','body','bulkCreate','params','bulkDestroy','addFields','AnalyticCustomReport','findOne','sequelize','transaction','CustomReportId','findAll','zip-dir','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','fs-extra','lodash','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','json','offset','limit','count','set','apply','reject','save','update','destroy','then','stack','name','map','AnalyticFieldReport','rawAttributes','type','key','query','keys','filters','intersection','model','attributes','length','hasOwnProperty','order','pick','merge','where','VIRTUAL','filter','options','include'];(function(_0x18afca,_0x4219d9){var _0x11603f=function(_0x21d5d1){while(--_0x21d5d1){_0x18afca['push'](_0x18afca['shift']());}};_0x11603f(++_0x4219d9);}(_0xef7b,0xf4));var _0xbef7=function(_0x49ca18,_0x5e6d05){_0x49ca18=_0x49ca18-0x0;var _0x145d54=_0xef7b[_0x49ca18];return _0x145d54;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0xbef7('0x0'));var jsonpatch=require('fast-json-patch');var rp=require(_0xbef7('0x1'));var moment=require(_0xbef7('0x2'));var BPromise=require(_0xbef7('0x3'));var Mustache=require(_0xbef7('0x4'));var util=require('util');var path=require(_0xbef7('0x5'));var sox=require(_0xbef7('0x6'));var csv=require(_0xbef7('0x7'));var ejs=require(_0xbef7('0x8'));var fs=require('fs');var fs_extra=require(_0xbef7('0x9'));var _=require(_0xbef7('0xa'));var squel=require('squel');var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0xbef7('0xb'));var toCsv=require(_0xbef7('0x7'));var querystring=require('querystring');var Papa=require(_0xbef7('0xc'));var Redis=require(_0xbef7('0xd'));var authService=require(_0xbef7('0xe'));var qs=require(_0xbef7('0xf'));var as=require(_0xbef7('0x10'));var hardwareService=require(_0xbef7('0x11'));var logger=require(_0xbef7('0x12'))('api');var utils=require(_0xbef7('0x13'));var config=require(_0xbef7('0x14'));var licenseUtil=require(_0xbef7('0x15'));var db=require(_0xbef7('0x16'))['db'];function respondWithStatusCode(_0x5e018a,_0x5572be){_0x5572be=_0x5572be||0xcc;return function(_0x3072a1){if(_0x3072a1){return _0x5e018a[_0xbef7('0x17')](_0x5572be);}return _0x5e018a['status'](_0x5572be)[_0xbef7('0x18')]();};}function respondWithResult(_0x40ce14,_0x484f2b){_0x484f2b=_0x484f2b||0xc8;return function(_0x143c71){if(_0x143c71){return _0x40ce14[_0xbef7('0x19')](_0x484f2b)[_0xbef7('0x1a')](_0x143c71);}};}function respondWithFilteredResult(_0x356955,_0x3f4f29){return function(_0x49750a){if(_0x49750a){var _0x2178ad=typeof _0x3f4f29[_0xbef7('0x1b')]==='undefined'&&typeof _0x3f4f29[_0xbef7('0x1c')]==='undefined';var _0x214e32=_0x49750a[_0xbef7('0x1d')];var _0x101c68=_0x2178ad?0x0:_0x3f4f29[_0xbef7('0x1b')];var _0x22515d=_0x2178ad?_0x49750a[_0xbef7('0x1d')]:_0x3f4f29[_0xbef7('0x1b')]+_0x3f4f29['limit'];var _0x22c8ce;if(_0x22515d>=_0x214e32){_0x22515d=_0x214e32;_0x22c8ce=0xc8;}else{_0x22c8ce=0xce;}_0x356955[_0xbef7('0x19')](_0x22c8ce);return _0x356955[_0xbef7('0x1e')]('Content-Range',_0x101c68+'-'+_0x22515d+'/'+_0x214e32)[_0xbef7('0x1a')](_0x49750a);}return null;};}function patchUpdates(_0x45d23b){return function(_0x3b49ce){try{jsonpatch[_0xbef7('0x1f')](_0x3b49ce,_0x45d23b,!![]);}catch(_0x58260f){return BPromise[_0xbef7('0x20')](_0x58260f);}return _0x3b49ce[_0xbef7('0x21')]();};}function saveUpdates(_0x2a2b71,_0x20ac06){return function(_0x50ad0b){if(_0x50ad0b){return _0x50ad0b[_0xbef7('0x22')](_0x2a2b71)['then'](function(_0x20d829){return _0x20d829;});}return null;};}function removeEntity(_0x5bf011,_0x48338d){return function(_0x5f4540){if(_0x5f4540){return _0x5f4540[_0xbef7('0x23')]()[_0xbef7('0x24')](function(){_0x5bf011['status'](0xcc)[_0xbef7('0x18')]();});}};}function handleEntityNotFound(_0x1e212b,_0x234332){return function(_0x464cea){if(!_0x464cea){_0x1e212b['sendStatus'](0x194);}return _0x464cea;};}function handleError(_0x562a3e,_0x893ae1){_0x893ae1=_0x893ae1||0x1f4;return function(_0x546282){logger['error'](_0x546282[_0xbef7('0x25')]);if(_0x546282[_0xbef7('0x26')]){delete _0x546282[_0xbef7('0x26')];}_0x562a3e['status'](_0x893ae1)['send'](_0x546282);};}exports['index']=function(_0x2799f6,_0x4357fb){var _0x1c8a90={},_0x51535c={},_0x3ddded={'count':0x0,'rows':[]};var _0x3d1457=_[_0xbef7('0x27')](db[_0xbef7('0x28')][_0xbef7('0x29')],function(_0x36347f){return{'name':_0x36347f['fieldName'],'type':_0x36347f[_0xbef7('0x2a')][_0xbef7('0x2b')]};});_0x51535c['model']=_[_0xbef7('0x27')](_0x3d1457,_0xbef7('0x26'));_0x51535c[_0xbef7('0x2c')]=_[_0xbef7('0x2d')](_0x2799f6[_0xbef7('0x2c')]);_0x51535c[_0xbef7('0x2e')]=_[_0xbef7('0x2f')](_0x51535c[_0xbef7('0x30')],_0x51535c[_0xbef7('0x2c')]);_0x1c8a90['attributes']=_[_0xbef7('0x2f')](_0x51535c[_0xbef7('0x30')],qs['fields'](_0x2799f6[_0xbef7('0x2c')]['fields']));_0x1c8a90[_0xbef7('0x31')]=_0x1c8a90[_0xbef7('0x31')][_0xbef7('0x32')]?_0x1c8a90[_0xbef7('0x31')]:_0x51535c[_0xbef7('0x30')];if(!_0x2799f6[_0xbef7('0x2c')][_0xbef7('0x33')]('nolimit')){_0x1c8a90[_0xbef7('0x1c')]=qs[_0xbef7('0x1c')](_0x2799f6[_0xbef7('0x2c')]['limit']);_0x1c8a90['offset']=qs['offset'](_0x2799f6[_0xbef7('0x2c')][_0xbef7('0x1b')]);}_0x1c8a90[_0xbef7('0x34')]=qs['sort'](_0x2799f6[_0xbef7('0x2c')]['sort']);_0x1c8a90['where']=qs[_0xbef7('0x2e')](_[_0xbef7('0x35')](_0x2799f6[_0xbef7('0x2c')],_0x51535c[_0xbef7('0x2e')]),_0x3d1457);if(_0x2799f6[_0xbef7('0x2c')]['filter']){_0x1c8a90['where']=_[_0xbef7('0x36')](_0x1c8a90[_0xbef7('0x37')],{'$or':_[_0xbef7('0x27')](_0x3d1457,function(_0x97570){if(_0x97570[_0xbef7('0x2a')]!==_0xbef7('0x38')){var _0x25d1d4={};_0x25d1d4[_0x97570['name']]={'$like':'%'+_0x2799f6[_0xbef7('0x2c')][_0xbef7('0x39')]+'%'};return _0x25d1d4;}})});}_0x1c8a90=_['merge']({},_0x1c8a90,_0x2799f6[_0xbef7('0x3a')]);var _0x51aaa6={'where':_0x1c8a90[_0xbef7('0x37')]};return db[_0xbef7('0x28')]['count'](_0x51aaa6)['then'](function(_0x21477f){_0x3ddded[_0xbef7('0x1d')]=_0x21477f;if(_0x2799f6[_0xbef7('0x2c')]['includeAll']){_0x1c8a90[_0xbef7('0x3b')]=[{'all':!![]}];}return db['AnalyticFieldReport']['findAll'](_0x1c8a90);})[_0xbef7('0x24')](function(_0x455fb0){_0x3ddded['rows']=_0x455fb0;return _0x3ddded;})[_0xbef7('0x24')](respondWithFilteredResult(_0x4357fb,_0x1c8a90))[_0xbef7('0x3c')](handleError(_0x4357fb,null));};exports[_0xbef7('0x3d')]=function(_0x57d9c9,_0x55bf15){var _0x399be9={'raw':![],'where':{'id':_0x57d9c9['params']['id']}},_0xa198f8={};_0xa198f8[_0xbef7('0x30')]=_[_0xbef7('0x2d')](db[_0xbef7('0x28')]['rawAttributes']);_0xa198f8[_0xbef7('0x2c')]=_['keys'](_0x57d9c9[_0xbef7('0x2c')]);_0xa198f8[_0xbef7('0x2e')]=_['intersection'](_0xa198f8['model'],_0xa198f8[_0xbef7('0x2c')]);_0x399be9[_0xbef7('0x31')]=_[_0xbef7('0x2f')](_0xa198f8['model'],qs[_0xbef7('0x3e')](_0x57d9c9[_0xbef7('0x2c')]['fields']));_0x399be9[_0xbef7('0x31')]=_0x399be9[_0xbef7('0x31')][_0xbef7('0x32')]?_0x399be9[_0xbef7('0x31')]:_0xa198f8[_0xbef7('0x30')];if(_0x57d9c9['query']['includeAll']){_0x399be9['include']=[{'all':!![]}];}_0x399be9=_['merge']({},_0x399be9,_0x57d9c9[_0xbef7('0x3a')]);return db['AnalyticFieldReport'][_0xbef7('0x3f')](_0x399be9)['then'](handleEntityNotFound(_0x55bf15,null))[_0xbef7('0x24')](respondWithResult(_0x55bf15,null))[_0xbef7('0x3c')](handleError(_0x55bf15,null));};exports[_0xbef7('0x40')]=function(_0x50bd39,_0x502e29){return db['AnalyticFieldReport'][_0xbef7('0x40')](_0x50bd39[_0xbef7('0x41')],{})[_0xbef7('0x24')](respondWithResult(_0x502e29,0xc9))[_0xbef7('0x3c')](handleError(_0x502e29,null));};exports[_0xbef7('0x42')]=function(_0x4f8b0b,_0x1b9ad2){return db[_0xbef7('0x28')]['bulkCreate'](_0x4f8b0b[_0xbef7('0x41')],{'raw':![],'individualHooks':!![]})[_0xbef7('0x24')](respondWithResult(_0x1b9ad2,0xc9))[_0xbef7('0x3c')](handleError(_0x1b9ad2,null));};exports['update']=function(_0x5cc361,_0x326a6a){if(_0x5cc361[_0xbef7('0x41')]['id']){delete _0x5cc361[_0xbef7('0x41')]['id'];}return db['AnalyticFieldReport'][_0xbef7('0x3f')]({'where':{'id':_0x5cc361[_0xbef7('0x43')]['id']}})['then'](handleEntityNotFound(_0x326a6a,null))[_0xbef7('0x24')](saveUpdates(_0x5cc361['body'],null))[_0xbef7('0x24')](respondWithResult(_0x326a6a,null))[_0xbef7('0x3c')](handleError(_0x326a6a,null));};exports['destroy']=function(_0x425553,_0x4ed906){return db['AnalyticFieldReport']['find']({'where':{'id':_0x425553[_0xbef7('0x43')]['id']}})[_0xbef7('0x24')](handleEntityNotFound(_0x4ed906,null))['then'](removeEntity(_0x4ed906,null))[_0xbef7('0x3c')](handleError(_0x4ed906,null));};exports[_0xbef7('0x44')]=function(_0x1e4dce,_0x481807){return db[_0xbef7('0x28')][_0xbef7('0x23')]({'where':{'id':_0x1e4dce[_0xbef7('0x2c')]['ids']||[]},'raw':![],'individualHooks':!![]})[_0xbef7('0x24')](respondWithResult(_0x481807,0xcc))[_0xbef7('0x3c')](handleError(_0x481807,null));};exports[_0xbef7('0x45')]=function(_0x574dbc,_0x56e8c9,_0x461322){return db[_0xbef7('0x46')][_0xbef7('0x47')]({'where':{'id':_0x574dbc[_0xbef7('0x43')]['id']}})['then'](handleEntityNotFound(_0x56e8c9,null))['then'](function(_0x499c8f){if(_0x499c8f){return db[_0xbef7('0x48')][_0xbef7('0x49')](function(_0x589b0e){return db[_0xbef7('0x28')][_0xbef7('0x23')]({'where':{'CustomReportId':_0x574dbc[_0xbef7('0x43')]['id']},'transaction':_0x589b0e})['then'](function(_0xbda630){var _0x474396=_[_0xbef7('0x27')](_0x574dbc[_0xbef7('0x41')],function(_0x33f306){delete _0x33f306['id'];_0x33f306[_0xbef7('0x4a')]=_0x574dbc['params']['id'];return _0x33f306;});return db[_0xbef7('0x28')][_0xbef7('0x42')](_0x474396,{'transaction':_0x589b0e});});})[_0xbef7('0x24')](function(){return db[_0xbef7('0x28')][_0xbef7('0x4b')]({'where':{'CustomReportId':_0x574dbc[_0xbef7('0x43')]['id']}});});}})[_0xbef7('0x24')](respondWithResult(_0x56e8c9,null))[_0xbef7('0x3c')](handleError(_0x56e8c9,null));};