058e689cd0973f1d182904b51bc72170f5666a8f
[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 _0x3a6d=['crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','sendStatus','status','end','json','count','limit','set','Content-Range','save','update','then','error','stack','name','send','index','map','AnalyticFieldReport','rawAttributes','type','key','model','query','keys','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','offset','order','sort','filter','where','VIRTUAL','merge','options','includeAll','include','findAll','rows','show','find','create','body','catch','bulkCreate','params','destroy','bulkDestroy','addFields','AnalyticCustomReport','findOne','sequelize','transaction','CustomReportId','html-pdf','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','lodash'];(function(_0x4f6d08,_0x1b3dd0){var _0x53a9c6=function(_0x2e0e0f){while(--_0x2e0e0f){_0x4f6d08['push'](_0x4f6d08['shift']());}};_0x53a9c6(++_0x1b3dd0);}(_0x3a6d,0x143));var _0xd3a6=function(_0xa148b7,_0x2f3eb2){_0xa148b7=_0xa148b7-0x0;var _0x51efd3=_0x3a6d[_0xa148b7];return _0x51efd3;};'use strict';var pdf=require(_0xd3a6('0x0'));var emlformat=require(_0xd3a6('0x1'));var rimraf=require('rimraf');var zipdir=require(_0xd3a6('0x2'));var jsonpatch=require(_0xd3a6('0x3'));var rp=require(_0xd3a6('0x4'));var moment=require(_0xd3a6('0x5'));var BPromise=require(_0xd3a6('0x6'));var Mustache=require('mustache');var util=require(_0xd3a6('0x7'));var path=require(_0xd3a6('0x8'));var sox=require(_0xd3a6('0x9'));var csv=require(_0xd3a6('0xa'));var ejs=require(_0xd3a6('0xb'));var fs=require('fs');var _=require(_0xd3a6('0xc'));var squel=require('squel');var crypto=require(_0xd3a6('0xd'));var jsforce=require(_0xd3a6('0xe'));var deskjs=require(_0xd3a6('0xf'));var toCsv=require(_0xd3a6('0xa'));var querystring=require(_0xd3a6('0x10'));var Papa=require(_0xd3a6('0x11'));var Redis=require(_0xd3a6('0x12'));var authService=require(_0xd3a6('0x13'));var qs=require(_0xd3a6('0x14'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xd3a6('0x15'));var logger=require(_0xd3a6('0x16'))(_0xd3a6('0x17'));var utils=require(_0xd3a6('0x18'));var config=require(_0xd3a6('0x19'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x5430c0,_0x4b0467){_0x4b0467=_0x4b0467||0xcc;return function(_0x1c6ad7){if(_0x1c6ad7){return _0x5430c0[_0xd3a6('0x1a')](_0x4b0467);}return _0x5430c0[_0xd3a6('0x1b')](_0x4b0467)[_0xd3a6('0x1c')]();};}function respondWithResult(_0x3ef56f,_0x2911a0){_0x2911a0=_0x2911a0||0xc8;return function(_0xa56452){if(_0xa56452){return _0x3ef56f['status'](_0x2911a0)[_0xd3a6('0x1d')](_0xa56452);}};}function respondWithFilteredResult(_0xf5ace5,_0x171a8f){return function(_0x500a37){if(_0x500a37){var _0x3c2399=_0x500a37[_0xd3a6('0x1e')],_0x305b61=_0x171a8f['offset'],_0x1781f6=_0x171a8f['offset']+_0x171a8f[_0xd3a6('0x1f')],_0x57d826;if(_0x1781f6>=_0x3c2399){_0x1781f6=_0x3c2399;_0x57d826=0xc8;}else{_0x57d826=0xce;}_0xf5ace5[_0xd3a6('0x1b')](_0x57d826);return _0xf5ace5[_0xd3a6('0x20')](_0xd3a6('0x21'),_0x305b61+'-'+_0x1781f6+'/'+_0x3c2399)[_0xd3a6('0x1d')](_0x500a37);}return null;};}function patchUpdates(_0x2e64d0){return function(_0x3c48bc){try{jsonpatch['apply'](_0x3c48bc,_0x2e64d0,!![]);}catch(_0x348ae9){return BPromise['reject'](_0x348ae9);}return _0x3c48bc[_0xd3a6('0x22')]();};}function saveUpdates(_0x7fa2c0,_0x12f2c1){return function(_0x20a34e){if(_0x20a34e){return _0x20a34e[_0xd3a6('0x23')](_0x7fa2c0)[_0xd3a6('0x24')](function(_0x54c193){return _0x54c193;});}return null;};}function removeEntity(_0xe7d595,_0x422f5c){return function(_0x57cf15){if(_0x57cf15){return _0x57cf15['destroy']()['then'](function(){_0xe7d595['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x98a12a,_0x400982){return function(_0x3d0b28){if(!_0x3d0b28){_0x98a12a['sendStatus'](0x194);}return _0x3d0b28;};}function handleError(_0x456541,_0x58e53a){_0x58e53a=_0x58e53a||0x1f4;return function(_0x350a11){logger[_0xd3a6('0x25')](_0x350a11[_0xd3a6('0x26')]);if(_0x350a11['name']){delete _0x350a11[_0xd3a6('0x27')];}_0x456541[_0xd3a6('0x1b')](_0x58e53a)[_0xd3a6('0x28')](_0x350a11);};}exports[_0xd3a6('0x29')]=function(_0x169d11,_0x3106f1){var _0x5650d1={},_0x30df90={},_0x2b5448={'count':0x0,'rows':[]};var _0x24ff6d=_[_0xd3a6('0x2a')](db[_0xd3a6('0x2b')][_0xd3a6('0x2c')],function(_0x5c2186){return{'name':_0x5c2186['fieldName'],'type':_0x5c2186[_0xd3a6('0x2d')][_0xd3a6('0x2e')]};});_0x30df90[_0xd3a6('0x2f')]=_[_0xd3a6('0x2a')](_0x24ff6d,'name');_0x30df90[_0xd3a6('0x30')]=_[_0xd3a6('0x31')](_0x169d11['query']);_0x30df90[_0xd3a6('0x32')]=_['intersection'](_0x30df90[_0xd3a6('0x2f')],_0x30df90[_0xd3a6('0x30')]);_0x5650d1[_0xd3a6('0x33')]=_[_0xd3a6('0x34')](_0x30df90[_0xd3a6('0x2f')],qs[_0xd3a6('0x35')](_0x169d11[_0xd3a6('0x30')]['fields']));_0x5650d1['attributes']=_0x5650d1[_0xd3a6('0x33')][_0xd3a6('0x36')]?_0x5650d1[_0xd3a6('0x33')]:_0x30df90['model'];if(!_0x169d11[_0xd3a6('0x30')][_0xd3a6('0x37')](_0xd3a6('0x38'))){_0x5650d1[_0xd3a6('0x1f')]=qs[_0xd3a6('0x1f')](_0x169d11[_0xd3a6('0x30')][_0xd3a6('0x1f')]);_0x5650d1[_0xd3a6('0x39')]=qs['offset'](_0x169d11[_0xd3a6('0x30')][_0xd3a6('0x39')]);}_0x5650d1[_0xd3a6('0x3a')]=qs[_0xd3a6('0x3b')](_0x169d11[_0xd3a6('0x30')][_0xd3a6('0x3b')]);_0x5650d1['where']=qs[_0xd3a6('0x32')](_['pick'](_0x169d11[_0xd3a6('0x30')],_0x30df90[_0xd3a6('0x32')]));if(_0x169d11[_0xd3a6('0x30')][_0xd3a6('0x3c')]){_0x5650d1['where']=_['merge'](_0x5650d1[_0xd3a6('0x3d')],{'$or':_[_0xd3a6('0x2a')](_0x24ff6d,function(_0x2e7940){if(_0x2e7940['type']!==_0xd3a6('0x3e')){var _0x114784={};_0x114784[_0x2e7940['name']]={'$like':'%'+_0x169d11[_0xd3a6('0x30')]['filter']+'%'};return _0x114784;}})});}_0x5650d1=_[_0xd3a6('0x3f')]({},_0x5650d1,_0x169d11[_0xd3a6('0x40')]);var _0x54251d={'where':_0x5650d1[_0xd3a6('0x3d')]};return db['AnalyticFieldReport'][_0xd3a6('0x1e')](_0x54251d)[_0xd3a6('0x24')](function(_0x51af61){_0x2b5448[_0xd3a6('0x1e')]=_0x51af61;if(_0x169d11[_0xd3a6('0x30')][_0xd3a6('0x41')]){_0x5650d1[_0xd3a6('0x42')]=[{'all':!![]}];}return db['AnalyticFieldReport'][_0xd3a6('0x43')](_0x5650d1);})[_0xd3a6('0x24')](function(_0x23537a){_0x2b5448[_0xd3a6('0x44')]=_0x23537a;return _0x2b5448;})[_0xd3a6('0x24')](respondWithFilteredResult(_0x3106f1,_0x5650d1))['catch'](handleError(_0x3106f1,null));};exports[_0xd3a6('0x45')]=function(_0x5bd74a,_0x108282){var _0x1bc18a={'raw':![],'where':{'id':_0x5bd74a['params']['id']}},_0x16764c={};_0x16764c[_0xd3a6('0x2f')]=_['keys'](db[_0xd3a6('0x2b')]['rawAttributes']);_0x16764c[_0xd3a6('0x30')]=_[_0xd3a6('0x31')](_0x5bd74a[_0xd3a6('0x30')]);_0x16764c[_0xd3a6('0x32')]=_[_0xd3a6('0x34')](_0x16764c[_0xd3a6('0x2f')],_0x16764c[_0xd3a6('0x30')]);_0x1bc18a['attributes']=_[_0xd3a6('0x34')](_0x16764c[_0xd3a6('0x2f')],qs[_0xd3a6('0x35')](_0x5bd74a[_0xd3a6('0x30')]['fields']));_0x1bc18a[_0xd3a6('0x33')]=_0x1bc18a[_0xd3a6('0x33')][_0xd3a6('0x36')]?_0x1bc18a[_0xd3a6('0x33')]:_0x16764c[_0xd3a6('0x2f')];if(_0x5bd74a[_0xd3a6('0x30')][_0xd3a6('0x41')]){_0x1bc18a[_0xd3a6('0x42')]=[{'all':!![]}];}_0x1bc18a=_['merge']({},_0x1bc18a,_0x5bd74a[_0xd3a6('0x40')]);return db[_0xd3a6('0x2b')][_0xd3a6('0x46')](_0x1bc18a)[_0xd3a6('0x24')](handleEntityNotFound(_0x108282,null))[_0xd3a6('0x24')](respondWithResult(_0x108282,null))['catch'](handleError(_0x108282,null));};exports[_0xd3a6('0x47')]=function(_0x7a7f23,_0x11f28b){return db[_0xd3a6('0x2b')][_0xd3a6('0x47')](_0x7a7f23[_0xd3a6('0x48')],{})[_0xd3a6('0x24')](respondWithResult(_0x11f28b,0xc9))[_0xd3a6('0x49')](handleError(_0x11f28b,null));};exports['bulkCreate']=function(_0x7828c2,_0x59b6ef){return db[_0xd3a6('0x2b')][_0xd3a6('0x4a')](_0x7828c2['body'],{'raw':![],'individualHooks':!![]})[_0xd3a6('0x24')](respondWithResult(_0x59b6ef,0xc9))[_0xd3a6('0x49')](handleError(_0x59b6ef,null));};exports[_0xd3a6('0x23')]=function(_0x375067,_0x1c48c3){if(_0x375067[_0xd3a6('0x48')]['id']){delete _0x375067[_0xd3a6('0x48')]['id'];}return db[_0xd3a6('0x2b')][_0xd3a6('0x46')]({'where':{'id':_0x375067[_0xd3a6('0x4b')]['id']}})['then'](handleEntityNotFound(_0x1c48c3,null))[_0xd3a6('0x24')](saveUpdates(_0x375067[_0xd3a6('0x48')],null))[_0xd3a6('0x24')](respondWithResult(_0x1c48c3,null))[_0xd3a6('0x49')](handleError(_0x1c48c3,null));};exports[_0xd3a6('0x4c')]=function(_0x225393,_0x44e26d){return db[_0xd3a6('0x2b')][_0xd3a6('0x46')]({'where':{'id':_0x225393[_0xd3a6('0x4b')]['id']}})['then'](handleEntityNotFound(_0x44e26d,null))[_0xd3a6('0x24')](removeEntity(_0x44e26d,null))[_0xd3a6('0x49')](handleError(_0x44e26d,null));};exports[_0xd3a6('0x4d')]=function(_0x4995b7,_0x197bcd){return db['AnalyticFieldReport']['destroy']({'where':{'id':_0x4995b7['query']['ids']||[]},'raw':![],'individualHooks':!![]})[_0xd3a6('0x24')](respondWithResult(_0x197bcd,0xcc))[_0xd3a6('0x49')](handleError(_0x197bcd,null));};exports[_0xd3a6('0x4e')]=function(_0x8ca2cc,_0x25bd32,_0x3224fe){return db[_0xd3a6('0x4f')][_0xd3a6('0x50')]({'where':{'id':_0x8ca2cc[_0xd3a6('0x4b')]['id']}})[_0xd3a6('0x24')](handleEntityNotFound(_0x25bd32,null))['then'](function(_0x5e9f1d){if(_0x5e9f1d){return db[_0xd3a6('0x51')][_0xd3a6('0x52')](function(_0x3df498){return db[_0xd3a6('0x2b')][_0xd3a6('0x4c')]({'where':{'CustomReportId':_0x8ca2cc['params']['id']},'transaction':_0x3df498})[_0xd3a6('0x24')](function(_0x13e1e1){var _0x57c62b=_[_0xd3a6('0x2a')](_0x8ca2cc['body'],function(_0x5b29ce){delete _0x5b29ce['id'];_0x5b29ce[_0xd3a6('0x53')]=_0x8ca2cc[_0xd3a6('0x4b')]['id'];return _0x5b29ce;});return db['AnalyticFieldReport'][_0xd3a6('0x4a')](_0x57c62b,{'transaction':_0x3df498});});})[_0xd3a6('0x24')](function(){return db[_0xd3a6('0x2b')]['findAll']({'where':{'CustomReportId':_0x8ca2cc[_0xd3a6('0x4b')]['id']}});});}})[_0xd3a6('0x24')](respondWithResult(_0x25bd32,null))['catch'](handleError(_0x25bd32,null));};