2214beaebb782d92973d207af8cc7f32aa37928a
[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 _0xb7aa=['sort','where','filter','type','VIRTUAL','merge','options','includeAll','include','findAll','rows','catch','show','filtears','find','create','bulkCreate','body','params','ids','addFields','findOne','sequelize','transaction','html-pdf','eml-format','rimraf','fast-json-patch','request-promise','bluebird','mustache','path','sox','ejs','lodash','squel','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','json','count','offset','status','set','Content-Range','apply','save','update','then','destroy','end','stack','name','index','map','AnalyticFieldReport','rawAttributes','fieldName','key','model','keys','query','filters','intersection','attributes','fields','length','limit','order'];(function(_0xf82f83,_0x5a9045){var _0x202583=function(_0x68cf55){while(--_0x68cf55){_0xf82f83['push'](_0xf82f83['shift']());}};_0x202583(++_0x5a9045);}(_0xb7aa,0x160));var _0xab7a=function(_0x28af3c,_0x2d6abf){_0x28af3c=_0x28af3c-0x0;var _0x2fcdc8=_0xb7aa[_0x28af3c];return _0x2fcdc8;};'use strict';var pdf=require(_0xab7a('0x0'));var emlformat=require(_0xab7a('0x1'));var rimraf=require(_0xab7a('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0xab7a('0x3'));var rp=require(_0xab7a('0x4'));var moment=require('moment');var BPromise=require(_0xab7a('0x5'));var Mustache=require(_0xab7a('0x6'));var util=require('util');var path=require(_0xab7a('0x7'));var sox=require(_0xab7a('0x8'));var csv=require('to-csv');var ejs=require(_0xab7a('0x9'));var fs=require('fs');var _=require(_0xab7a('0xa'));var squel=require(_0xab7a('0xb'));var crypto=require('crypto');var jsforce=require(_0xab7a('0xc'));var deskjs=require(_0xab7a('0xd'));var toCsv=require(_0xab7a('0xe'));var querystring=require(_0xab7a('0xf'));var Papa=require(_0xab7a('0x10'));var Redis=require(_0xab7a('0x11'));var authService=require(_0xab7a('0x12'));var qs=require(_0xab7a('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xab7a('0x14'));var logger=require(_0xab7a('0x15'))(_0xab7a('0x16'));var utils=require(_0xab7a('0x17'));var config=require(_0xab7a('0x18'));var licenseUtil=require(_0xab7a('0x19'));var db=require(_0xab7a('0x1a'))['db'];function respondWithStatusCode(_0x11bee1,_0x43205f){_0x43205f=_0x43205f||0xcc;return function(_0x16da25){if(_0x16da25){return _0x11bee1[_0xab7a('0x1b')](_0x43205f);}return _0x11bee1['status'](_0x43205f)['end']();};}function respondWithResult(_0x3c01a8,_0x1c10d4){_0x1c10d4=_0x1c10d4||0xc8;return function(_0x1a6b68){if(_0x1a6b68){return _0x3c01a8['status'](_0x1c10d4)[_0xab7a('0x1c')](_0x1a6b68);}};}function respondWithFilteredResult(_0x5c34fb,_0x99b985){return function(_0x54704f){if(_0x54704f){var _0x28aa0d=_0x54704f[_0xab7a('0x1d')],_0x55dc0c=_0x99b985[_0xab7a('0x1e')],_0x463d31=_0x99b985[_0xab7a('0x1e')]+_0x99b985['limit'],_0x1298d9;if(_0x463d31>=_0x28aa0d){_0x463d31=_0x28aa0d;_0x1298d9=0xc8;}else{_0x1298d9=0xce;}_0x5c34fb[_0xab7a('0x1f')](_0x1298d9);return _0x5c34fb[_0xab7a('0x20')](_0xab7a('0x21'),_0x55dc0c+'-'+_0x463d31+'/'+_0x28aa0d)[_0xab7a('0x1c')](_0x54704f);}return null;};}function patchUpdates(_0x43d817){return function(_0x1250b0){try{jsonpatch[_0xab7a('0x22')](_0x1250b0,_0x43d817,!![]);}catch(_0x2921f2){return BPromise['reject'](_0x2921f2);}return _0x1250b0[_0xab7a('0x23')]();};}function saveUpdates(_0x361b39,_0x350428){return function(_0x41b207){if(_0x41b207){return _0x41b207[_0xab7a('0x24')](_0x361b39)[_0xab7a('0x25')](function(_0x3b69d6){return _0x3b69d6;});}return null;};}function removeEntity(_0x47d8f4,_0x3d9548){return function(_0x57eee4){if(_0x57eee4){return _0x57eee4[_0xab7a('0x26')]()[_0xab7a('0x25')](function(){_0x47d8f4[_0xab7a('0x1f')](0xcc)[_0xab7a('0x27')]();});}};}function handleEntityNotFound(_0x5cfba7,_0x2a1bce){return function(_0x2d8d33){if(!_0x2d8d33){_0x5cfba7[_0xab7a('0x1b')](0x194);}return _0x2d8d33;};}function handleError(_0x286332,_0x3d9d1c){_0x3d9d1c=_0x3d9d1c||0x1f4;return function(_0x136adc){logger['error'](_0x136adc[_0xab7a('0x28')]);if(_0x136adc[_0xab7a('0x29')]){delete _0x136adc['name'];}_0x286332[_0xab7a('0x1f')](_0x3d9d1c)['send'](_0x136adc);};}exports[_0xab7a('0x2a')]=function(_0x3115dc,_0x49fc71){var _0x6e756a={},_0x1da8bc={},_0x57e6b1={'count':0x0,'rows':[]};var _0x45e338=_[_0xab7a('0x2b')](db[_0xab7a('0x2c')][_0xab7a('0x2d')],function(_0x2116b0){return{'name':_0x2116b0[_0xab7a('0x2e')],'type':_0x2116b0['type'][_0xab7a('0x2f')]};});_0x1da8bc[_0xab7a('0x30')]=_[_0xab7a('0x2b')](_0x45e338,_0xab7a('0x29'));_0x1da8bc['query']=_[_0xab7a('0x31')](_0x3115dc[_0xab7a('0x32')]);_0x1da8bc[_0xab7a('0x33')]=_[_0xab7a('0x34')](_0x1da8bc[_0xab7a('0x30')],_0x1da8bc[_0xab7a('0x32')]);_0x6e756a[_0xab7a('0x35')]=_['intersection'](_0x1da8bc['model'],qs[_0xab7a('0x36')](_0x3115dc[_0xab7a('0x32')][_0xab7a('0x36')]));_0x6e756a[_0xab7a('0x35')]=_0x6e756a['attributes'][_0xab7a('0x37')]?_0x6e756a[_0xab7a('0x35')]:_0x1da8bc[_0xab7a('0x30')];if(!_0x3115dc[_0xab7a('0x32')]['hasOwnProperty']('nolimit')){_0x6e756a[_0xab7a('0x38')]=qs[_0xab7a('0x38')](_0x3115dc[_0xab7a('0x32')]['limit']);_0x6e756a[_0xab7a('0x1e')]=qs['offset'](_0x3115dc[_0xab7a('0x32')]['offset']);}_0x6e756a[_0xab7a('0x39')]=qs[_0xab7a('0x3a')](_0x3115dc[_0xab7a('0x32')][_0xab7a('0x3a')]);_0x6e756a[_0xab7a('0x3b')]=qs[_0xab7a('0x33')](_['pick'](_0x3115dc['query'],_0x1da8bc['filters']),_0x45e338);if(_0x3115dc[_0xab7a('0x32')][_0xab7a('0x3c')]){_0x6e756a['where']=_['merge'](_0x6e756a[_0xab7a('0x3b')],{'$or':_[_0xab7a('0x2b')](_0x45e338,function(_0x204391){if(_0x204391[_0xab7a('0x3d')]!==_0xab7a('0x3e')){var _0x588a3b={};_0x588a3b[_0x204391[_0xab7a('0x29')]]={'$like':'%'+_0x3115dc[_0xab7a('0x32')]['filter']+'%'};return _0x588a3b;}})});}_0x6e756a=_[_0xab7a('0x3f')]({},_0x6e756a,_0x3115dc[_0xab7a('0x40')]);var _0x59ea6c={'where':_0x6e756a[_0xab7a('0x3b')]};return db['AnalyticFieldReport'][_0xab7a('0x1d')](_0x59ea6c)['then'](function(_0x449aa1){_0x57e6b1['count']=_0x449aa1;if(_0x3115dc[_0xab7a('0x32')][_0xab7a('0x41')]){_0x6e756a[_0xab7a('0x42')]=[{'all':!![]}];}return db[_0xab7a('0x2c')][_0xab7a('0x43')](_0x6e756a);})[_0xab7a('0x25')](function(_0x389344){_0x57e6b1[_0xab7a('0x44')]=_0x389344;return _0x57e6b1;})[_0xab7a('0x25')](respondWithFilteredResult(_0x49fc71,_0x6e756a))[_0xab7a('0x45')](handleError(_0x49fc71,null));};exports[_0xab7a('0x46')]=function(_0x4ca0e9,_0x276c0a){var _0x2c7f02={'raw':![],'where':{'id':_0x4ca0e9['params']['id']}},_0x1623f0={};_0x1623f0[_0xab7a('0x30')]=_[_0xab7a('0x31')](db[_0xab7a('0x2c')][_0xab7a('0x2d')]);_0x1623f0[_0xab7a('0x32')]=_['keys'](_0x4ca0e9['query']);_0x1623f0[_0xab7a('0x47')]=_[_0xab7a('0x34')](_0x1623f0[_0xab7a('0x30')],_0x1623f0[_0xab7a('0x32')]);_0x2c7f02[_0xab7a('0x35')]=_[_0xab7a('0x34')](_0x1623f0['model'],qs[_0xab7a('0x36')](_0x4ca0e9[_0xab7a('0x32')][_0xab7a('0x36')]));_0x2c7f02['attributes']=_0x2c7f02['attributes'][_0xab7a('0x37')]?_0x2c7f02['attributes']:_0x1623f0[_0xab7a('0x30')];if(_0x4ca0e9['query'][_0xab7a('0x41')]){_0x2c7f02[_0xab7a('0x42')]=[{'all':!![]}];}_0x2c7f02=_[_0xab7a('0x3f')]({},_0x2c7f02,_0x4ca0e9[_0xab7a('0x40')]);return db[_0xab7a('0x2c')][_0xab7a('0x48')](_0x2c7f02)[_0xab7a('0x25')](handleEntityNotFound(_0x276c0a,null))[_0xab7a('0x25')](respondWithResult(_0x276c0a,null))['catch'](handleError(_0x276c0a,null));};exports['create']=function(_0x584960,_0x411ad0){return db[_0xab7a('0x2c')][_0xab7a('0x49')](_0x584960['body'],{})[_0xab7a('0x25')](respondWithResult(_0x411ad0,0xc9))[_0xab7a('0x45')](handleError(_0x411ad0,null));};exports[_0xab7a('0x4a')]=function(_0x5ae616,_0x3abc63){return db['AnalyticFieldReport'][_0xab7a('0x4a')](_0x5ae616[_0xab7a('0x4b')],{'raw':![],'individualHooks':!![]})[_0xab7a('0x25')](respondWithResult(_0x3abc63,0xc9))['catch'](handleError(_0x3abc63,null));};exports[_0xab7a('0x24')]=function(_0x50f13f,_0xa37f25){if(_0x50f13f[_0xab7a('0x4b')]['id']){delete _0x50f13f['body']['id'];}return db[_0xab7a('0x2c')][_0xab7a('0x48')]({'where':{'id':_0x50f13f['params']['id']}})[_0xab7a('0x25')](handleEntityNotFound(_0xa37f25,null))[_0xab7a('0x25')](saveUpdates(_0x50f13f[_0xab7a('0x4b')],null))['then'](respondWithResult(_0xa37f25,null))[_0xab7a('0x45')](handleError(_0xa37f25,null));};exports[_0xab7a('0x26')]=function(_0x421fe6,_0x41319a){return db[_0xab7a('0x2c')][_0xab7a('0x48')]({'where':{'id':_0x421fe6[_0xab7a('0x4c')]['id']}})[_0xab7a('0x25')](handleEntityNotFound(_0x41319a,null))[_0xab7a('0x25')](removeEntity(_0x41319a,null))[_0xab7a('0x45')](handleError(_0x41319a,null));};exports['bulkDestroy']=function(_0x73e2ec,_0x424a11){return db[_0xab7a('0x2c')]['destroy']({'where':{'id':_0x73e2ec[_0xab7a('0x32')][_0xab7a('0x4d')]||[]},'raw':![],'individualHooks':!![]})[_0xab7a('0x25')](respondWithResult(_0x424a11,0xcc))[_0xab7a('0x45')](handleError(_0x424a11,null));};exports[_0xab7a('0x4e')]=function(_0x1874bd,_0x5d0a92,_0x22f3f3){return db['AnalyticCustomReport'][_0xab7a('0x4f')]({'where':{'id':_0x1874bd['params']['id']}})[_0xab7a('0x25')](handleEntityNotFound(_0x5d0a92,null))[_0xab7a('0x25')](function(_0x3fa1f9){if(_0x3fa1f9){return db[_0xab7a('0x50')][_0xab7a('0x51')](function(_0x26f20c){return db['AnalyticFieldReport'][_0xab7a('0x26')]({'where':{'CustomReportId':_0x1874bd['params']['id']},'transaction':_0x26f20c})[_0xab7a('0x25')](function(_0x48b0ed){var _0x17083d=_[_0xab7a('0x2b')](_0x1874bd[_0xab7a('0x4b')],function(_0x1008e2){delete _0x1008e2['id'];_0x1008e2['CustomReportId']=_0x1874bd['params']['id'];return _0x1008e2;});return db['AnalyticFieldReport'][_0xab7a('0x4a')](_0x17083d,{'transaction':_0x26f20c});});})[_0xab7a('0x25')](function(){return db[_0xab7a('0x2c')][_0xab7a('0x43')]({'where':{'CustomReportId':_0x1874bd['params']['id']}});});}})[_0xab7a('0x25')](respondWithResult(_0x5d0a92,null))['catch'](handleError(_0x5d0a92,null));};