Built motion from commit (unavailable).|2.4.17
[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 _0xd959=['squel','crypto','jsforce','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','../../mysqldb','sendStatus','status','json','offset','limit','set','Content-Range','reject','save','update','then','destroy','end','stack','name','send','index','map','AnalyticFieldReport','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','length','nolimit','order','sort','where','pick','filter','VIRTUAL','merge','options','includeAll','findAll','show','params','fields','include','find','catch','create','body','bulkCreate','bulkDestroy','addFields','AnalyticCustomReport','findOne','transaction','CustomReportId','html-pdf','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs'];(function(_0x21ab42,_0x8ab09a){var _0x4f6351=function(_0x50a316){while(--_0x50a316){_0x21ab42['push'](_0x21ab42['shift']());}};_0x4f6351(++_0x8ab09a);}(_0xd959,0x94));var _0x9d95=function(_0x405856,_0x3f8dbe){_0x405856=_0x405856-0x0;var _0x55c901=_0xd959[_0x405856];return _0x55c901;};'use strict';var pdf=require(_0x9d95('0x0'));var emlformat=require(_0x9d95('0x1'));var rimraf=require(_0x9d95('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0x9d95('0x3'));var rp=require(_0x9d95('0x4'));var moment=require(_0x9d95('0x5'));var BPromise=require(_0x9d95('0x6'));var Mustache=require(_0x9d95('0x7'));var util=require('util');var path=require(_0x9d95('0x8'));var sox=require(_0x9d95('0x9'));var csv=require(_0x9d95('0xa'));var ejs=require(_0x9d95('0xb'));var fs=require('fs');var _=require('lodash');var squel=require(_0x9d95('0xc'));var crypto=require(_0x9d95('0xd'));var jsforce=require(_0x9d95('0xe'));var deskjs=require('desk.js');var toCsv=require(_0x9d95('0xa'));var querystring=require('querystring');var Papa=require(_0x9d95('0xf'));var Redis=require(_0x9d95('0x10'));var authService=require(_0x9d95('0x11'));var qs=require(_0x9d95('0x12'));var as=require(_0x9d95('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x9d95('0x14'))(_0x9d95('0x15'));var utils=require('../../config/utils');var config=require(_0x9d95('0x16'));var db=require(_0x9d95('0x17'))['db'];function respondWithStatusCode(_0x510b67,_0x53d59c){_0x53d59c=_0x53d59c||0xcc;return function(_0x10f862){if(_0x10f862){return _0x510b67[_0x9d95('0x18')](_0x53d59c);}return _0x510b67[_0x9d95('0x19')](_0x53d59c)['end']();};}function respondWithResult(_0x1ff6a9,_0x430bfe){_0x430bfe=_0x430bfe||0xc8;return function(_0x4a8a60){if(_0x4a8a60){return _0x1ff6a9[_0x9d95('0x19')](_0x430bfe)[_0x9d95('0x1a')](_0x4a8a60);}};}function respondWithFilteredResult(_0xcd7ba8,_0x4b4f1b){return function(_0x2d5ab2){if(_0x2d5ab2){var _0x4bae6f=_0x2d5ab2['count'],_0x4cabfd=_0x4b4f1b[_0x9d95('0x1b')],_0x3e3471=_0x4b4f1b['offset']+_0x4b4f1b[_0x9d95('0x1c')],_0x46650b;if(_0x3e3471>=_0x4bae6f){_0x3e3471=_0x4bae6f;_0x46650b=0xc8;}else{_0x46650b=0xce;}_0xcd7ba8[_0x9d95('0x19')](_0x46650b);return _0xcd7ba8[_0x9d95('0x1d')](_0x9d95('0x1e'),_0x4cabfd+'-'+_0x3e3471+'/'+_0x4bae6f)[_0x9d95('0x1a')](_0x2d5ab2);}return null;};}function patchUpdates(_0x5a2a22){return function(_0x2f76db){try{jsonpatch['apply'](_0x2f76db,_0x5a2a22,!![]);}catch(_0x40d5ff){return BPromise[_0x9d95('0x1f')](_0x40d5ff);}return _0x2f76db[_0x9d95('0x20')]();};}function saveUpdates(_0x19cfc7,_0x281c3a){return function(_0x33d3e8){if(_0x33d3e8){return _0x33d3e8[_0x9d95('0x21')](_0x19cfc7)[_0x9d95('0x22')](function(_0x4a6a8e){return _0x4a6a8e;});}return null;};}function removeEntity(_0x31e950,_0x5c8095){return function(_0x5d0a9a){if(_0x5d0a9a){return _0x5d0a9a[_0x9d95('0x23')]()[_0x9d95('0x22')](function(){_0x31e950['status'](0xcc)[_0x9d95('0x24')]();});}};}function handleEntityNotFound(_0x29a832,_0x4fcf09){return function(_0x4840f5){if(!_0x4840f5){_0x29a832[_0x9d95('0x18')](0x194);}return _0x4840f5;};}function handleError(_0x2f4684,_0x41abf6){_0x41abf6=_0x41abf6||0x1f4;return function(_0x43c94e){logger['error'](_0x43c94e[_0x9d95('0x25')]);if(_0x43c94e[_0x9d95('0x26')]){delete _0x43c94e[_0x9d95('0x26')];}_0x2f4684[_0x9d95('0x19')](_0x41abf6)[_0x9d95('0x27')](_0x43c94e);};}exports[_0x9d95('0x28')]=function(_0x295f58,_0x32067a){var _0x154834={},_0xb69ff8={},_0x4eb5de={'count':0x0,'rows':[]};var _0x3049db=_[_0x9d95('0x29')](db[_0x9d95('0x2a')][_0x9d95('0x2b')],function(_0x3510f9){return{'name':_0x3510f9[_0x9d95('0x2c')],'type':_0x3510f9[_0x9d95('0x2d')][_0x9d95('0x2e')]};});_0xb69ff8[_0x9d95('0x2f')]=_[_0x9d95('0x29')](_0x3049db,'name');_0xb69ff8[_0x9d95('0x30')]=_[_0x9d95('0x31')](_0x295f58[_0x9d95('0x30')]);_0xb69ff8[_0x9d95('0x32')]=_[_0x9d95('0x33')](_0xb69ff8['model'],_0xb69ff8[_0x9d95('0x30')]);_0x154834[_0x9d95('0x34')]=_[_0x9d95('0x33')](_0xb69ff8[_0x9d95('0x2f')],qs['fields'](_0x295f58[_0x9d95('0x30')]['fields']));_0x154834[_0x9d95('0x34')]=_0x154834[_0x9d95('0x34')][_0x9d95('0x35')]?_0x154834['attributes']:_0xb69ff8[_0x9d95('0x2f')];if(!_0x295f58['query']['hasOwnProperty'](_0x9d95('0x36'))){_0x154834['limit']=qs['limit'](_0x295f58[_0x9d95('0x30')]['limit']);_0x154834['offset']=qs[_0x9d95('0x1b')](_0x295f58[_0x9d95('0x30')][_0x9d95('0x1b')]);}_0x154834[_0x9d95('0x37')]=qs['sort'](_0x295f58[_0x9d95('0x30')][_0x9d95('0x38')]);_0x154834[_0x9d95('0x39')]=qs[_0x9d95('0x32')](_[_0x9d95('0x3a')](_0x295f58[_0x9d95('0x30')],_0xb69ff8[_0x9d95('0x32')]));if(_0x295f58[_0x9d95('0x30')][_0x9d95('0x3b')]){_0x154834['where']=_['merge'](_0x154834[_0x9d95('0x39')],{'$or':_[_0x9d95('0x29')](_0x3049db,function(_0x27e700){if(_0x27e700['type']!==_0x9d95('0x3c')){var _0x1d21ca={};_0x1d21ca[_0x27e700[_0x9d95('0x26')]]={'$like':'%'+_0x295f58[_0x9d95('0x30')]['filter']+'%'};return _0x1d21ca;}})});}_0x154834=_[_0x9d95('0x3d')]({},_0x154834,_0x295f58[_0x9d95('0x3e')]);var _0x3e6f00={'where':_0x154834['where']};return db[_0x9d95('0x2a')]['count'](_0x3e6f00)[_0x9d95('0x22')](function(_0x380475){_0x4eb5de['count']=_0x380475;if(_0x295f58['query'][_0x9d95('0x3f')]){_0x154834['include']=[{'all':!![]}];}return db[_0x9d95('0x2a')][_0x9d95('0x40')](_0x154834);})[_0x9d95('0x22')](function(_0xce036f){_0x4eb5de['rows']=_0xce036f;return _0x4eb5de;})[_0x9d95('0x22')](respondWithFilteredResult(_0x32067a,_0x154834))['catch'](handleError(_0x32067a,null));};exports[_0x9d95('0x41')]=function(_0x3b4dff,_0x10b755){var _0x3c677e={'raw':![],'where':{'id':_0x3b4dff[_0x9d95('0x42')]['id']}},_0x582aa5={};_0x582aa5[_0x9d95('0x2f')]=_[_0x9d95('0x31')](db['AnalyticFieldReport'][_0x9d95('0x2b')]);_0x582aa5[_0x9d95('0x30')]=_[_0x9d95('0x31')](_0x3b4dff[_0x9d95('0x30')]);_0x582aa5[_0x9d95('0x32')]=_[_0x9d95('0x33')](_0x582aa5[_0x9d95('0x2f')],_0x582aa5[_0x9d95('0x30')]);_0x3c677e[_0x9d95('0x34')]=_[_0x9d95('0x33')](_0x582aa5[_0x9d95('0x2f')],qs[_0x9d95('0x43')](_0x3b4dff[_0x9d95('0x30')][_0x9d95('0x43')]));_0x3c677e[_0x9d95('0x34')]=_0x3c677e[_0x9d95('0x34')][_0x9d95('0x35')]?_0x3c677e[_0x9d95('0x34')]:_0x582aa5[_0x9d95('0x2f')];if(_0x3b4dff['query']['includeAll']){_0x3c677e[_0x9d95('0x44')]=[{'all':!![]}];}_0x3c677e=_[_0x9d95('0x3d')]({},_0x3c677e,_0x3b4dff[_0x9d95('0x3e')]);return db[_0x9d95('0x2a')][_0x9d95('0x45')](_0x3c677e)[_0x9d95('0x22')](handleEntityNotFound(_0x10b755,null))[_0x9d95('0x22')](respondWithResult(_0x10b755,null))[_0x9d95('0x46')](handleError(_0x10b755,null));};exports['create']=function(_0x5f3fe3,_0x882089){return db['AnalyticFieldReport'][_0x9d95('0x47')](_0x5f3fe3[_0x9d95('0x48')],{})[_0x9d95('0x22')](respondWithResult(_0x882089,0xc9))[_0x9d95('0x46')](handleError(_0x882089,null));};exports[_0x9d95('0x49')]=function(_0x4e439d,_0x3961ab){return db[_0x9d95('0x2a')][_0x9d95('0x49')](_0x4e439d['body'],{'raw':![],'individualHooks':!![]})[_0x9d95('0x22')](respondWithResult(_0x3961ab,0xc9))[_0x9d95('0x46')](handleError(_0x3961ab,null));};exports[_0x9d95('0x21')]=function(_0x32f1dd,_0x3ae9d7){if(_0x32f1dd['body']['id']){delete _0x32f1dd[_0x9d95('0x48')]['id'];}return db['AnalyticFieldReport'][_0x9d95('0x45')]({'where':{'id':_0x32f1dd[_0x9d95('0x42')]['id']}})[_0x9d95('0x22')](handleEntityNotFound(_0x3ae9d7,null))[_0x9d95('0x22')](saveUpdates(_0x32f1dd[_0x9d95('0x48')],null))['then'](respondWithResult(_0x3ae9d7,null))[_0x9d95('0x46')](handleError(_0x3ae9d7,null));};exports['destroy']=function(_0x303e77,_0x4a6746){return db[_0x9d95('0x2a')][_0x9d95('0x45')]({'where':{'id':_0x303e77[_0x9d95('0x42')]['id']}})[_0x9d95('0x22')](handleEntityNotFound(_0x4a6746,null))[_0x9d95('0x22')](removeEntity(_0x4a6746,null))[_0x9d95('0x46')](handleError(_0x4a6746,null));};exports[_0x9d95('0x4a')]=function(_0x1ba6e5,_0x563605){return db['AnalyticFieldReport'][_0x9d95('0x23')]({'where':{'id':_0x1ba6e5[_0x9d95('0x30')]['ids']||[]},'raw':![],'individualHooks':!![]})[_0x9d95('0x22')](respondWithResult(_0x563605,0xcc))[_0x9d95('0x46')](handleError(_0x563605,null));};exports[_0x9d95('0x4b')]=function(_0x25b32a,_0x272e14,_0x4089ad){return db[_0x9d95('0x4c')][_0x9d95('0x4d')]({'where':{'id':_0x25b32a[_0x9d95('0x42')]['id']}})['then'](handleEntityNotFound(_0x272e14,null))[_0x9d95('0x22')](function(_0x41beaf){if(_0x41beaf){return db['sequelize'][_0x9d95('0x4e')](function(_0x12510d){return db[_0x9d95('0x2a')][_0x9d95('0x23')]({'where':{'CustomReportId':_0x25b32a[_0x9d95('0x42')]['id']},'transaction':_0x12510d})[_0x9d95('0x22')](function(_0x3ec082){var _0x2b90f5=_[_0x9d95('0x29')](_0x25b32a[_0x9d95('0x48')],function(_0x2e5adf){delete _0x2e5adf['id'];_0x2e5adf[_0x9d95('0x4f')]=_0x25b32a[_0x9d95('0x42')]['id'];return _0x2e5adf;});return db['AnalyticFieldReport'][_0x9d95('0x49')](_0x2b90f5,{'transaction':_0x12510d});});})[_0x9d95('0x22')](function(){return db[_0x9d95('0x2a')]['findAll']({'where':{'CustomReportId':_0x25b32a[_0x9d95('0x42')]['id']}});});}})[_0x9d95('0x22')](respondWithResult(_0x272e14,null))[_0x9d95('0x46')](handleError(_0x272e14,null));};