bdc7fc49387257fcdae8c52b9fb6f6e596328904
[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 _0xa5f8=['update','params','bulkDestroy','ids','addFields','AnalyticCustomReport','findOne','sequelize','transaction','CustomReportId','rimraf','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','ejs','squel','crypto','jsforce','to-csv','querystring','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','api','../../config/license/util','../../mysqldb','sendStatus','status','end','json','undefined','count','offset','limit','set','Content-Range','apply','reject','then','destroy','error','name','AnalyticFieldReport','type','key','model','map','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','findAll','rows','catch','show','rawAttributes','include','find','create','bulkCreate','body'];(function(_0x565c49,_0x54acd0){var _0x20ca34=function(_0x42f7e1){while(--_0x42f7e1){_0x565c49['push'](_0x565c49['shift']());}};_0x20ca34(++_0x54acd0);}(_0xa5f8,0xf7));var _0x8a5f=function(_0x1fa167,_0x1fc02d){_0x1fa167=_0x1fa167-0x0;var _0x7e512a=_0xa5f8[_0x1fa167];return _0x7e512a;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x8a5f('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0x8a5f('0x1'));var rp=require(_0x8a5f('0x2'));var moment=require('moment');var BPromise=require(_0x8a5f('0x3'));var Mustache=require(_0x8a5f('0x4'));var util=require(_0x8a5f('0x5'));var path=require(_0x8a5f('0x6'));var sox=require(_0x8a5f('0x7'));var csv=require('to-csv');var ejs=require(_0x8a5f('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x8a5f('0x9'));var crypto=require(_0x8a5f('0xa'));var jsforce=require(_0x8a5f('0xb'));var deskjs=require('desk.js');var toCsv=require(_0x8a5f('0xc'));var querystring=require(_0x8a5f('0xd'));var Papa=require(_0x8a5f('0xe'));var Redis=require('ioredis');var authService=require(_0x8a5f('0xf'));var qs=require('../../components/parsers/qs');var as=require(_0x8a5f('0x10'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x8a5f('0x11'))(_0x8a5f('0x12'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x8a5f('0x13'));var db=require(_0x8a5f('0x14'))['db'];function respondWithStatusCode(_0x1bd57f,_0x465f2b){_0x465f2b=_0x465f2b||0xcc;return function(_0x46c30b){if(_0x46c30b){return _0x1bd57f[_0x8a5f('0x15')](_0x465f2b);}return _0x1bd57f[_0x8a5f('0x16')](_0x465f2b)[_0x8a5f('0x17')]();};}function respondWithResult(_0x39fd60,_0x44d9dd){_0x44d9dd=_0x44d9dd||0xc8;return function(_0x547349){if(_0x547349){return _0x39fd60['status'](_0x44d9dd)[_0x8a5f('0x18')](_0x547349);}};}function respondWithFilteredResult(_0x3c31f2,_0x22647d){return function(_0x3cc29c){if(_0x3cc29c){var _0x272cb4=typeof _0x22647d['offset']===_0x8a5f('0x19')&&typeof _0x22647d['limit']===_0x8a5f('0x19');var _0x326a04=_0x3cc29c[_0x8a5f('0x1a')];var _0x4d799b=_0x272cb4?0x0:_0x22647d[_0x8a5f('0x1b')];var _0x40b05c=_0x272cb4?_0x3cc29c['count']:_0x22647d[_0x8a5f('0x1b')]+_0x22647d[_0x8a5f('0x1c')];var _0x2fb752;if(_0x40b05c>=_0x326a04){_0x40b05c=_0x326a04;_0x2fb752=0xc8;}else{_0x2fb752=0xce;}_0x3c31f2[_0x8a5f('0x16')](_0x2fb752);return _0x3c31f2[_0x8a5f('0x1d')](_0x8a5f('0x1e'),_0x4d799b+'-'+_0x40b05c+'/'+_0x326a04)['json'](_0x3cc29c);}return null;};}function patchUpdates(_0x3fdde6){return function(_0x40dfcf){try{jsonpatch[_0x8a5f('0x1f')](_0x40dfcf,_0x3fdde6,!![]);}catch(_0x209dae){return BPromise[_0x8a5f('0x20')](_0x209dae);}return _0x40dfcf['save']();};}function saveUpdates(_0x5758fd,_0x137d4c){return function(_0x5d91b4){if(_0x5d91b4){return _0x5d91b4['update'](_0x5758fd)[_0x8a5f('0x21')](function(_0x2a7fdf){return _0x2a7fdf;});}return null;};}function removeEntity(_0x3b33a0,_0x22fbd7){return function(_0x5c743a){if(_0x5c743a){return _0x5c743a[_0x8a5f('0x22')]()['then'](function(){_0x3b33a0['status'](0xcc)[_0x8a5f('0x17')]();});}};}function handleEntityNotFound(_0x153712,_0x426f33){return function(_0x1d69b7){if(!_0x1d69b7){_0x153712[_0x8a5f('0x15')](0x194);}return _0x1d69b7;};}function handleError(_0x15f13c,_0x1aa316){_0x1aa316=_0x1aa316||0x1f4;return function(_0x5f5373){logger[_0x8a5f('0x23')](_0x5f5373['stack']);if(_0x5f5373['name']){delete _0x5f5373[_0x8a5f('0x24')];}_0x15f13c[_0x8a5f('0x16')](_0x1aa316)['send'](_0x5f5373);};}exports['index']=function(_0x22cf4e,_0x2d48ab){var _0x4d5d27={},_0x4514a6={},_0x514f15={'count':0x0,'rows':[]};var _0x5e2f2c=_['map'](db[_0x8a5f('0x25')]['rawAttributes'],function(_0x5447a9){return{'name':_0x5447a9['fieldName'],'type':_0x5447a9[_0x8a5f('0x26')][_0x8a5f('0x27')]};});_0x4514a6[_0x8a5f('0x28')]=_[_0x8a5f('0x29')](_0x5e2f2c,'name');_0x4514a6[_0x8a5f('0x2a')]=_[_0x8a5f('0x2b')](_0x22cf4e[_0x8a5f('0x2a')]);_0x4514a6[_0x8a5f('0x2c')]=_[_0x8a5f('0x2d')](_0x4514a6[_0x8a5f('0x28')],_0x4514a6[_0x8a5f('0x2a')]);_0x4d5d27[_0x8a5f('0x2e')]=_[_0x8a5f('0x2d')](_0x4514a6['model'],qs[_0x8a5f('0x2f')](_0x22cf4e[_0x8a5f('0x2a')]['fields']));_0x4d5d27[_0x8a5f('0x2e')]=_0x4d5d27[_0x8a5f('0x2e')][_0x8a5f('0x30')]?_0x4d5d27[_0x8a5f('0x2e')]:_0x4514a6[_0x8a5f('0x28')];if(!_0x22cf4e['query'][_0x8a5f('0x31')](_0x8a5f('0x32'))){_0x4d5d27[_0x8a5f('0x1c')]=qs[_0x8a5f('0x1c')](_0x22cf4e[_0x8a5f('0x2a')][_0x8a5f('0x1c')]);_0x4d5d27[_0x8a5f('0x1b')]=qs[_0x8a5f('0x1b')](_0x22cf4e['query']['offset']);}_0x4d5d27['order']=qs[_0x8a5f('0x33')](_0x22cf4e['query']['sort']);_0x4d5d27[_0x8a5f('0x34')]=qs[_0x8a5f('0x2c')](_[_0x8a5f('0x35')](_0x22cf4e[_0x8a5f('0x2a')],_0x4514a6[_0x8a5f('0x2c')]),_0x5e2f2c);if(_0x22cf4e[_0x8a5f('0x2a')][_0x8a5f('0x36')]){_0x4d5d27[_0x8a5f('0x34')]=_[_0x8a5f('0x37')](_0x4d5d27['where'],{'$or':_[_0x8a5f('0x29')](_0x5e2f2c,function(_0x3cb0be){if(_0x3cb0be[_0x8a5f('0x26')]!==_0x8a5f('0x38')){var _0x47b7d2={};_0x47b7d2[_0x3cb0be[_0x8a5f('0x24')]]={'$like':'%'+_0x22cf4e['query'][_0x8a5f('0x36')]+'%'};return _0x47b7d2;}})});}_0x4d5d27=_['merge']({},_0x4d5d27,_0x22cf4e[_0x8a5f('0x39')]);var _0xda74b0={'where':_0x4d5d27[_0x8a5f('0x34')]};return db[_0x8a5f('0x25')][_0x8a5f('0x1a')](_0xda74b0)[_0x8a5f('0x21')](function(_0x14decd){_0x514f15[_0x8a5f('0x1a')]=_0x14decd;if(_0x22cf4e[_0x8a5f('0x2a')][_0x8a5f('0x3a')]){_0x4d5d27['include']=[{'all':!![]}];}return db['AnalyticFieldReport'][_0x8a5f('0x3b')](_0x4d5d27);})[_0x8a5f('0x21')](function(_0x4d39c9){_0x514f15[_0x8a5f('0x3c')]=_0x4d39c9;return _0x514f15;})['then'](respondWithFilteredResult(_0x2d48ab,_0x4d5d27))[_0x8a5f('0x3d')](handleError(_0x2d48ab,null));};exports[_0x8a5f('0x3e')]=function(_0x42213d,_0x5b3191){var _0x28d112={'raw':![],'where':{'id':_0x42213d['params']['id']}},_0x117c92={};_0x117c92['model']=_[_0x8a5f('0x2b')](db['AnalyticFieldReport'][_0x8a5f('0x3f')]);_0x117c92[_0x8a5f('0x2a')]=_[_0x8a5f('0x2b')](_0x42213d[_0x8a5f('0x2a')]);_0x117c92[_0x8a5f('0x2c')]=_['intersection'](_0x117c92[_0x8a5f('0x28')],_0x117c92['query']);_0x28d112['attributes']=_[_0x8a5f('0x2d')](_0x117c92[_0x8a5f('0x28')],qs[_0x8a5f('0x2f')](_0x42213d[_0x8a5f('0x2a')][_0x8a5f('0x2f')]));_0x28d112[_0x8a5f('0x2e')]=_0x28d112['attributes'][_0x8a5f('0x30')]?_0x28d112[_0x8a5f('0x2e')]:_0x117c92[_0x8a5f('0x28')];if(_0x42213d[_0x8a5f('0x2a')][_0x8a5f('0x3a')]){_0x28d112[_0x8a5f('0x40')]=[{'all':!![]}];}_0x28d112=_[_0x8a5f('0x37')]({},_0x28d112,_0x42213d[_0x8a5f('0x39')]);return db[_0x8a5f('0x25')][_0x8a5f('0x41')](_0x28d112)[_0x8a5f('0x21')](handleEntityNotFound(_0x5b3191,null))['then'](respondWithResult(_0x5b3191,null))['catch'](handleError(_0x5b3191,null));};exports['create']=function(_0x4f9a32,_0x6925ee){return db[_0x8a5f('0x25')][_0x8a5f('0x42')](_0x4f9a32['body'],{})[_0x8a5f('0x21')](respondWithResult(_0x6925ee,0xc9))[_0x8a5f('0x3d')](handleError(_0x6925ee,null));};exports['bulkCreate']=function(_0x2c7b9b,_0x13d76a){return db[_0x8a5f('0x25')][_0x8a5f('0x43')](_0x2c7b9b[_0x8a5f('0x44')],{'raw':![],'individualHooks':!![]})[_0x8a5f('0x21')](respondWithResult(_0x13d76a,0xc9))['catch'](handleError(_0x13d76a,null));};exports[_0x8a5f('0x45')]=function(_0x150f21,_0xf6a73a){if(_0x150f21['body']['id']){delete _0x150f21[_0x8a5f('0x44')]['id'];}return db['AnalyticFieldReport']['find']({'where':{'id':_0x150f21['params']['id']}})[_0x8a5f('0x21')](handleEntityNotFound(_0xf6a73a,null))['then'](saveUpdates(_0x150f21[_0x8a5f('0x44')],null))['then'](respondWithResult(_0xf6a73a,null))[_0x8a5f('0x3d')](handleError(_0xf6a73a,null));};exports[_0x8a5f('0x22')]=function(_0x3ce6f7,_0x1883b8){return db[_0x8a5f('0x25')][_0x8a5f('0x41')]({'where':{'id':_0x3ce6f7[_0x8a5f('0x46')]['id']}})[_0x8a5f('0x21')](handleEntityNotFound(_0x1883b8,null))[_0x8a5f('0x21')](removeEntity(_0x1883b8,null))['catch'](handleError(_0x1883b8,null));};exports[_0x8a5f('0x47')]=function(_0x257c1f,_0x1e7679){return db[_0x8a5f('0x25')][_0x8a5f('0x22')]({'where':{'id':_0x257c1f['query'][_0x8a5f('0x48')]||[]},'raw':![],'individualHooks':!![]})[_0x8a5f('0x21')](respondWithResult(_0x1e7679,0xcc))[_0x8a5f('0x3d')](handleError(_0x1e7679,null));};exports[_0x8a5f('0x49')]=function(_0x59e26f,_0x481665,_0x5eef7a){return db[_0x8a5f('0x4a')][_0x8a5f('0x4b')]({'where':{'id':_0x59e26f[_0x8a5f('0x46')]['id']}})[_0x8a5f('0x21')](handleEntityNotFound(_0x481665,null))[_0x8a5f('0x21')](function(_0x190288){if(_0x190288){return db[_0x8a5f('0x4c')][_0x8a5f('0x4d')](function(_0x494359){return db[_0x8a5f('0x25')][_0x8a5f('0x22')]({'where':{'CustomReportId':_0x59e26f[_0x8a5f('0x46')]['id']},'transaction':_0x494359})[_0x8a5f('0x21')](function(_0x106b08){var _0x599c2a=_[_0x8a5f('0x29')](_0x59e26f[_0x8a5f('0x44')],function(_0x2077fa){delete _0x2077fa['id'];_0x2077fa[_0x8a5f('0x4e')]=_0x59e26f[_0x8a5f('0x46')]['id'];return _0x2077fa;});return db['AnalyticFieldReport'][_0x8a5f('0x43')](_0x599c2a,{'transaction':_0x494359});});})[_0x8a5f('0x21')](function(){return db[_0x8a5f('0x25')][_0x8a5f('0x3b')]({'where':{'CustomReportId':_0x59e26f[_0x8a5f('0x46')]['id']}});});}})['then'](respondWithResult(_0x481665,null))[_0x8a5f('0x3d')](handleError(_0x481665,null));};