590bbbc15279aee6dd2e15d0375de25f38e4e2de
[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 _0x1e5d=['reject','save','update','then','destroy','name','map','AnalyticFieldReport','fieldName','key','query','keys','filters','attributes','intersection','model','fields','length','hasOwnProperty','nolimit','limit','sort','where','filter','merge','type','VIRTUAL','options','include','findAll','rows','params','rawAttributes','includeAll','find','create','bulkCreate','body','catch','bulkDestroy','ids','addFields','sequelize','CustomReportId','html-pdf','zip-dir','fast-json-patch','bluebird','mustache','util','sox','to-csv','ejs','lodash','crypto','jsforce','desk.js','querystring','papaparse','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','count','offset','set','Content-Range','json','apply'];(function(_0x48ee5c,_0x2830d1){var _0x2e52ff=function(_0x24f878){while(--_0x24f878){_0x48ee5c['push'](_0x48ee5c['shift']());}};_0x2e52ff(++_0x2830d1);}(_0x1e5d,0x77));var _0xd1e5=function(_0x14add3,_0x13ce8d){_0x14add3=_0x14add3-0x0;var _0x4a174f=_0x1e5d[_0x14add3];return _0x4a174f;};'use strict';var pdf=require(_0xd1e5('0x0'));var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0xd1e5('0x1'));var jsonpatch=require(_0xd1e5('0x2'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0xd1e5('0x3'));var Mustache=require(_0xd1e5('0x4'));var util=require(_0xd1e5('0x5'));var path=require('path');var sox=require(_0xd1e5('0x6'));var csv=require(_0xd1e5('0x7'));var ejs=require(_0xd1e5('0x8'));var fs=require('fs');var _=require(_0xd1e5('0x9'));var squel=require('squel');var crypto=require(_0xd1e5('0xa'));var jsforce=require(_0xd1e5('0xb'));var deskjs=require(_0xd1e5('0xc'));var toCsv=require(_0xd1e5('0x7'));var querystring=require(_0xd1e5('0xd'));var Papa=require(_0xd1e5('0xe'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0xd1e5('0xf'));var as=require(_0xd1e5('0x10'));var hardwareService=require(_0xd1e5('0x11'));var logger=require(_0xd1e5('0x12'))('api');var utils=require('../../config/utils');var config=require(_0xd1e5('0x13'));var licenseUtil=require(_0xd1e5('0x14'));var db=require(_0xd1e5('0x15'))['db'];function respondWithStatusCode(_0x1ae8ca,_0x59c39d){_0x59c39d=_0x59c39d||0xcc;return function(_0x4c597d){if(_0x4c597d){return _0x1ae8ca[_0xd1e5('0x16')](_0x59c39d);}return _0x1ae8ca[_0xd1e5('0x17')](_0x59c39d)[_0xd1e5('0x18')]();};}function respondWithResult(_0x1cfc67,_0x553b70){_0x553b70=_0x553b70||0xc8;return function(_0x5f3c07){if(_0x5f3c07){return _0x1cfc67['status'](_0x553b70)['json'](_0x5f3c07);}};}function respondWithFilteredResult(_0x1b93ab,_0xb1105f){return function(_0x36f2ca){if(_0x36f2ca){var _0x61f8f9=_0x36f2ca[_0xd1e5('0x19')],_0x2d66c2=_0xb1105f['offset'],_0x2e3ec0=_0xb1105f[_0xd1e5('0x1a')]+_0xb1105f['limit'],_0x4e59bc;if(_0x2e3ec0>=_0x61f8f9){_0x2e3ec0=_0x61f8f9;_0x4e59bc=0xc8;}else{_0x4e59bc=0xce;}_0x1b93ab['status'](_0x4e59bc);return _0x1b93ab[_0xd1e5('0x1b')](_0xd1e5('0x1c'),_0x2d66c2+'-'+_0x2e3ec0+'/'+_0x61f8f9)[_0xd1e5('0x1d')](_0x36f2ca);}return null;};}function patchUpdates(_0x1866c4){return function(_0x1b8ad2){try{jsonpatch[_0xd1e5('0x1e')](_0x1b8ad2,_0x1866c4,!![]);}catch(_0x4d3b8c){return BPromise[_0xd1e5('0x1f')](_0x4d3b8c);}return _0x1b8ad2[_0xd1e5('0x20')]();};}function saveUpdates(_0xdf20ff,_0x24a3df){return function(_0x3a796a){if(_0x3a796a){return _0x3a796a[_0xd1e5('0x21')](_0xdf20ff)[_0xd1e5('0x22')](function(_0x214d2e){return _0x214d2e;});}return null;};}function removeEntity(_0xd1f5c2,_0xd83753){return function(_0xb79c1a){if(_0xb79c1a){return _0xb79c1a[_0xd1e5('0x23')]()[_0xd1e5('0x22')](function(){_0xd1f5c2[_0xd1e5('0x17')](0xcc)['end']();});}};}function handleEntityNotFound(_0x3dbe61,_0x33279c){return function(_0x3d6d43){if(!_0x3d6d43){_0x3dbe61['sendStatus'](0x194);}return _0x3d6d43;};}function handleError(_0x233393,_0x182856){_0x182856=_0x182856||0x1f4;return function(_0x59c6d0){logger['error'](_0x59c6d0['stack']);if(_0x59c6d0[_0xd1e5('0x24')]){delete _0x59c6d0[_0xd1e5('0x24')];}_0x233393[_0xd1e5('0x17')](_0x182856)['send'](_0x59c6d0);};}exports['index']=function(_0x13ccc9,_0x5c4fbc){var _0x158080={},_0x46c977={},_0x295044={'count':0x0,'rows':[]};var _0x140837=_[_0xd1e5('0x25')](db[_0xd1e5('0x26')]['rawAttributes'],function(_0xe0e64f){return{'name':_0xe0e64f[_0xd1e5('0x27')],'type':_0xe0e64f['type'][_0xd1e5('0x28')]};});_0x46c977['model']=_[_0xd1e5('0x25')](_0x140837,_0xd1e5('0x24'));_0x46c977[_0xd1e5('0x29')]=_[_0xd1e5('0x2a')](_0x13ccc9[_0xd1e5('0x29')]);_0x46c977[_0xd1e5('0x2b')]=_['intersection'](_0x46c977['model'],_0x46c977[_0xd1e5('0x29')]);_0x158080[_0xd1e5('0x2c')]=_[_0xd1e5('0x2d')](_0x46c977[_0xd1e5('0x2e')],qs[_0xd1e5('0x2f')](_0x13ccc9[_0xd1e5('0x29')][_0xd1e5('0x2f')]));_0x158080['attributes']=_0x158080[_0xd1e5('0x2c')][_0xd1e5('0x30')]?_0x158080[_0xd1e5('0x2c')]:_0x46c977[_0xd1e5('0x2e')];if(!_0x13ccc9[_0xd1e5('0x29')][_0xd1e5('0x31')](_0xd1e5('0x32'))){_0x158080[_0xd1e5('0x33')]=qs[_0xd1e5('0x33')](_0x13ccc9[_0xd1e5('0x29')][_0xd1e5('0x33')]);_0x158080[_0xd1e5('0x1a')]=qs['offset'](_0x13ccc9['query'][_0xd1e5('0x1a')]);}_0x158080['order']=qs[_0xd1e5('0x34')](_0x13ccc9['query'][_0xd1e5('0x34')]);_0x158080[_0xd1e5('0x35')]=qs[_0xd1e5('0x2b')](_['pick'](_0x13ccc9[_0xd1e5('0x29')],_0x46c977[_0xd1e5('0x2b')]),_0x140837);if(_0x13ccc9[_0xd1e5('0x29')][_0xd1e5('0x36')]){_0x158080[_0xd1e5('0x35')]=_[_0xd1e5('0x37')](_0x158080['where'],{'$or':_['map'](_0x140837,function(_0x50b3b6){if(_0x50b3b6[_0xd1e5('0x38')]!==_0xd1e5('0x39')){var _0x2bf9b0={};_0x2bf9b0[_0x50b3b6['name']]={'$like':'%'+_0x13ccc9[_0xd1e5('0x29')][_0xd1e5('0x36')]+'%'};return _0x2bf9b0;}})});}_0x158080=_[_0xd1e5('0x37')]({},_0x158080,_0x13ccc9[_0xd1e5('0x3a')]);var _0x4f1c95={'where':_0x158080[_0xd1e5('0x35')]};return db[_0xd1e5('0x26')][_0xd1e5('0x19')](_0x4f1c95)[_0xd1e5('0x22')](function(_0x48c8c9){_0x295044['count']=_0x48c8c9;if(_0x13ccc9[_0xd1e5('0x29')]['includeAll']){_0x158080[_0xd1e5('0x3b')]=[{'all':!![]}];}return db[_0xd1e5('0x26')][_0xd1e5('0x3c')](_0x158080);})[_0xd1e5('0x22')](function(_0x38bc4b){_0x295044[_0xd1e5('0x3d')]=_0x38bc4b;return _0x295044;})[_0xd1e5('0x22')](respondWithFilteredResult(_0x5c4fbc,_0x158080))['catch'](handleError(_0x5c4fbc,null));};exports['show']=function(_0x4b5268,_0x4e29b3){var _0x58d579={'raw':![],'where':{'id':_0x4b5268[_0xd1e5('0x3e')]['id']}},_0x556a00={};_0x556a00[_0xd1e5('0x2e')]=_[_0xd1e5('0x2a')](db[_0xd1e5('0x26')][_0xd1e5('0x3f')]);_0x556a00['query']=_[_0xd1e5('0x2a')](_0x4b5268[_0xd1e5('0x29')]);_0x556a00['filters']=_[_0xd1e5('0x2d')](_0x556a00[_0xd1e5('0x2e')],_0x556a00[_0xd1e5('0x29')]);_0x58d579['attributes']=_[_0xd1e5('0x2d')](_0x556a00['model'],qs[_0xd1e5('0x2f')](_0x4b5268['query'][_0xd1e5('0x2f')]));_0x58d579['attributes']=_0x58d579['attributes'][_0xd1e5('0x30')]?_0x58d579[_0xd1e5('0x2c')]:_0x556a00[_0xd1e5('0x2e')];if(_0x4b5268[_0xd1e5('0x29')][_0xd1e5('0x40')]){_0x58d579[_0xd1e5('0x3b')]=[{'all':!![]}];}_0x58d579=_[_0xd1e5('0x37')]({},_0x58d579,_0x4b5268['options']);return db[_0xd1e5('0x26')][_0xd1e5('0x41')](_0x58d579)[_0xd1e5('0x22')](handleEntityNotFound(_0x4e29b3,null))[_0xd1e5('0x22')](respondWithResult(_0x4e29b3,null))['catch'](handleError(_0x4e29b3,null));};exports[_0xd1e5('0x42')]=function(_0x448e05,_0x2d638b){return db[_0xd1e5('0x26')][_0xd1e5('0x42')](_0x448e05['body'],{})[_0xd1e5('0x22')](respondWithResult(_0x2d638b,0xc9))['catch'](handleError(_0x2d638b,null));};exports[_0xd1e5('0x43')]=function(_0x25a871,_0x1135bf){return db[_0xd1e5('0x26')][_0xd1e5('0x43')](_0x25a871[_0xd1e5('0x44')],{'raw':![],'individualHooks':!![]})[_0xd1e5('0x22')](respondWithResult(_0x1135bf,0xc9))[_0xd1e5('0x45')](handleError(_0x1135bf,null));};exports['update']=function(_0x1b9fcb,_0x656c2a){if(_0x1b9fcb[_0xd1e5('0x44')]['id']){delete _0x1b9fcb[_0xd1e5('0x44')]['id'];}return db[_0xd1e5('0x26')][_0xd1e5('0x41')]({'where':{'id':_0x1b9fcb[_0xd1e5('0x3e')]['id']}})[_0xd1e5('0x22')](handleEntityNotFound(_0x656c2a,null))[_0xd1e5('0x22')](saveUpdates(_0x1b9fcb[_0xd1e5('0x44')],null))['then'](respondWithResult(_0x656c2a,null))[_0xd1e5('0x45')](handleError(_0x656c2a,null));};exports[_0xd1e5('0x23')]=function(_0x1f9f5f,_0x4ddf4a){return db['AnalyticFieldReport'][_0xd1e5('0x41')]({'where':{'id':_0x1f9f5f[_0xd1e5('0x3e')]['id']}})[_0xd1e5('0x22')](handleEntityNotFound(_0x4ddf4a,null))[_0xd1e5('0x22')](removeEntity(_0x4ddf4a,null))[_0xd1e5('0x45')](handleError(_0x4ddf4a,null));};exports[_0xd1e5('0x46')]=function(_0x3da635,_0x104231){return db['AnalyticFieldReport'][_0xd1e5('0x23')]({'where':{'id':_0x3da635[_0xd1e5('0x29')][_0xd1e5('0x47')]||[]},'raw':![],'individualHooks':!![]})['then'](respondWithResult(_0x104231,0xcc))[_0xd1e5('0x45')](handleError(_0x104231,null));};exports[_0xd1e5('0x48')]=function(_0x5cf2ee,_0xac6bc4,_0x95dad4){return db['AnalyticCustomReport']['findOne']({'where':{'id':_0x5cf2ee['params']['id']}})[_0xd1e5('0x22')](handleEntityNotFound(_0xac6bc4,null))[_0xd1e5('0x22')](function(_0x5e77c0){if(_0x5e77c0){return db[_0xd1e5('0x49')]['transaction'](function(_0x1c0ebd){return db['AnalyticFieldReport'][_0xd1e5('0x23')]({'where':{'CustomReportId':_0x5cf2ee[_0xd1e5('0x3e')]['id']},'transaction':_0x1c0ebd})[_0xd1e5('0x22')](function(_0x497848){var _0x1d5382=_['map'](_0x5cf2ee[_0xd1e5('0x44')],function(_0x464c96){delete _0x464c96['id'];_0x464c96[_0xd1e5('0x4a')]=_0x5cf2ee['params']['id'];return _0x464c96;});return db[_0xd1e5('0x26')][_0xd1e5('0x43')](_0x1d5382,{'transaction':_0x1c0ebd});});})[_0xd1e5('0x22')](function(){return db[_0xd1e5('0x26')][_0xd1e5('0x3c')]({'where':{'CustomReportId':_0x5cf2ee['params']['id']}});});}})['then'](respondWithResult(_0xac6bc4,null))[_0xd1e5('0x45')](handleError(_0xac6bc4,null));};