c1e07a6f457b53bf265cf681617f794d61b4214b
[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 _0x59ef=['end','count','offset','limit','set','Content-Range','json','apply','save','destroy','then','error','stack','name','send','index','map','AnalyticFieldReport','rawAttributes','type','key','model','query','keys','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','filters','pick','filter','merge','VIRTUAL','includeAll','include','findAll','catch','show','params','options','find','create','body','bulkCreate','bulkDestroy','ids','addFields','AnalyticCustomReport','findOne','sequelize','transaction','CustomReportId','html-pdf','rimraf','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','lodash','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/utils','../../config/environment','sendStatus','status'];(function(_0x3b0e10,_0x2b828c){var _0x263c64=function(_0x120d62){while(--_0x120d62){_0x3b0e10['push'](_0x3b0e10['shift']());}};_0x263c64(++_0x2b828c);}(_0x59ef,0x87));var _0xf59e=function(_0x1e1308,_0x472dba){_0x1e1308=_0x1e1308-0x0;var _0x4397f7=_0x59ef[_0x1e1308];return _0x4397f7;};'use strict';var pdf=require(_0xf59e('0x0'));var emlformat=require('eml-format');var rimraf=require(_0xf59e('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xf59e('0x2'));var rp=require('request-promise');var moment=require(_0xf59e('0x3'));var BPromise=require(_0xf59e('0x4'));var Mustache=require(_0xf59e('0x5'));var util=require(_0xf59e('0x6'));var path=require(_0xf59e('0x7'));var sox=require(_0xf59e('0x8'));var csv=require(_0xf59e('0x9'));var ejs=require('ejs');var fs=require('fs');var _=require(_0xf59e('0xa'));var squel=require('squel');var crypto=require(_0xf59e('0xb'));var jsforce=require(_0xf59e('0xc'));var deskjs=require(_0xf59e('0xd'));var toCsv=require(_0xf59e('0x9'));var querystring=require('querystring');var Papa=require(_0xf59e('0xe'));var Redis=require(_0xf59e('0xf'));var authService=require(_0xf59e('0x10'));var qs=require(_0xf59e('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xf59e('0x12'));var logger=require('../../config/logger')('api');var utils=require(_0xf59e('0x13'));var config=require(_0xf59e('0x14'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x33d2f4,_0x296702){_0x296702=_0x296702||0xcc;return function(_0x37c089){if(_0x37c089){return _0x33d2f4[_0xf59e('0x15')](_0x296702);}return _0x33d2f4[_0xf59e('0x16')](_0x296702)[_0xf59e('0x17')]();};}function respondWithResult(_0x5b29f2,_0xfb6a45){_0xfb6a45=_0xfb6a45||0xc8;return function(_0x5c9cde){if(_0x5c9cde){return _0x5b29f2[_0xf59e('0x16')](_0xfb6a45)['json'](_0x5c9cde);}};}function respondWithFilteredResult(_0x5d6524,_0x183874){return function(_0x8926a3){if(_0x8926a3){var _0x345577=_0x8926a3[_0xf59e('0x18')],_0x174912=_0x183874[_0xf59e('0x19')],_0x1b4192=_0x183874[_0xf59e('0x19')]+_0x183874[_0xf59e('0x1a')],_0x16fbb8;if(_0x1b4192>=_0x345577){_0x1b4192=_0x345577;_0x16fbb8=0xc8;}else{_0x16fbb8=0xce;}_0x5d6524[_0xf59e('0x16')](_0x16fbb8);return _0x5d6524[_0xf59e('0x1b')](_0xf59e('0x1c'),_0x174912+'-'+_0x1b4192+'/'+_0x345577)[_0xf59e('0x1d')](_0x8926a3);}return null;};}function patchUpdates(_0x5a361e){return function(_0x5b8196){try{jsonpatch[_0xf59e('0x1e')](_0x5b8196,_0x5a361e,!![]);}catch(_0x2314e8){return BPromise['reject'](_0x2314e8);}return _0x5b8196[_0xf59e('0x1f')]();};}function saveUpdates(_0xf9c258,_0x3b7d7b){return function(_0x4adca6){if(_0x4adca6){return _0x4adca6['update'](_0xf9c258)['then'](function(_0x3a42e4){return _0x3a42e4;});}return null;};}function removeEntity(_0x38dfab,_0x3a61fe){return function(_0x2939b6){if(_0x2939b6){return _0x2939b6[_0xf59e('0x20')]()[_0xf59e('0x21')](function(){_0x38dfab[_0xf59e('0x16')](0xcc)[_0xf59e('0x17')]();});}};}function handleEntityNotFound(_0x16b371,_0x555f4c){return function(_0x5059c2){if(!_0x5059c2){_0x16b371[_0xf59e('0x15')](0x194);}return _0x5059c2;};}function handleError(_0x4363b5,_0x2141a0){_0x2141a0=_0x2141a0||0x1f4;return function(_0x6b011e){logger[_0xf59e('0x22')](_0x6b011e[_0xf59e('0x23')]);if(_0x6b011e[_0xf59e('0x24')]){delete _0x6b011e[_0xf59e('0x24')];}_0x4363b5[_0xf59e('0x16')](_0x2141a0)[_0xf59e('0x25')](_0x6b011e);};}exports[_0xf59e('0x26')]=function(_0x5b1767,_0x39e2ea){var _0x47434d={},_0x539aa6={},_0x2ebfe0={'count':0x0,'rows':[]};var _0x1714cb=_[_0xf59e('0x27')](db[_0xf59e('0x28')][_0xf59e('0x29')],function(_0x3106a4){return{'name':_0x3106a4['fieldName'],'type':_0x3106a4[_0xf59e('0x2a')][_0xf59e('0x2b')]};});_0x539aa6[_0xf59e('0x2c')]=_[_0xf59e('0x27')](_0x1714cb,_0xf59e('0x24'));_0x539aa6[_0xf59e('0x2d')]=_[_0xf59e('0x2e')](_0x5b1767['query']);_0x539aa6['filters']=_[_0xf59e('0x2f')](_0x539aa6[_0xf59e('0x2c')],_0x539aa6[_0xf59e('0x2d')]);_0x47434d[_0xf59e('0x30')]=_[_0xf59e('0x2f')](_0x539aa6[_0xf59e('0x2c')],qs['fields'](_0x5b1767['query'][_0xf59e('0x31')]));_0x47434d[_0xf59e('0x30')]=_0x47434d[_0xf59e('0x30')]['length']?_0x47434d[_0xf59e('0x30')]:_0x539aa6[_0xf59e('0x2c')];if(!_0x5b1767[_0xf59e('0x2d')][_0xf59e('0x32')](_0xf59e('0x33'))){_0x47434d[_0xf59e('0x1a')]=qs[_0xf59e('0x1a')](_0x5b1767[_0xf59e('0x2d')][_0xf59e('0x1a')]);_0x47434d[_0xf59e('0x19')]=qs['offset'](_0x5b1767[_0xf59e('0x2d')]['offset']);}_0x47434d[_0xf59e('0x34')]=qs[_0xf59e('0x35')](_0x5b1767[_0xf59e('0x2d')][_0xf59e('0x35')]);_0x47434d[_0xf59e('0x36')]=qs[_0xf59e('0x37')](_[_0xf59e('0x38')](_0x5b1767['query'],_0x539aa6[_0xf59e('0x37')]),_0x1714cb);if(_0x5b1767[_0xf59e('0x2d')][_0xf59e('0x39')]){_0x47434d[_0xf59e('0x36')]=_[_0xf59e('0x3a')](_0x47434d[_0xf59e('0x36')],{'$or':_[_0xf59e('0x27')](_0x1714cb,function(_0x42c1db){if(_0x42c1db[_0xf59e('0x2a')]!==_0xf59e('0x3b')){var _0x3e4afc={};_0x3e4afc[_0x42c1db[_0xf59e('0x24')]]={'$like':'%'+_0x5b1767['query'][_0xf59e('0x39')]+'%'};return _0x3e4afc;}})});}_0x47434d=_[_0xf59e('0x3a')]({},_0x47434d,_0x5b1767['options']);var _0x23b20f={'where':_0x47434d[_0xf59e('0x36')]};return db['AnalyticFieldReport']['count'](_0x23b20f)[_0xf59e('0x21')](function(_0x123a3){_0x2ebfe0['count']=_0x123a3;if(_0x5b1767['query'][_0xf59e('0x3c')]){_0x47434d[_0xf59e('0x3d')]=[{'all':!![]}];}return db[_0xf59e('0x28')][_0xf59e('0x3e')](_0x47434d);})[_0xf59e('0x21')](function(_0x11e64d){_0x2ebfe0['rows']=_0x11e64d;return _0x2ebfe0;})[_0xf59e('0x21')](respondWithFilteredResult(_0x39e2ea,_0x47434d))[_0xf59e('0x3f')](handleError(_0x39e2ea,null));};exports[_0xf59e('0x40')]=function(_0x2b0db3,_0x3028f6){var _0x180ed5={'raw':![],'where':{'id':_0x2b0db3[_0xf59e('0x41')]['id']}},_0x4f2733={};_0x4f2733[_0xf59e('0x2c')]=_[_0xf59e('0x2e')](db[_0xf59e('0x28')][_0xf59e('0x29')]);_0x4f2733[_0xf59e('0x2d')]=_[_0xf59e('0x2e')](_0x2b0db3[_0xf59e('0x2d')]);_0x4f2733[_0xf59e('0x37')]=_[_0xf59e('0x2f')](_0x4f2733['model'],_0x4f2733[_0xf59e('0x2d')]);_0x180ed5['attributes']=_[_0xf59e('0x2f')](_0x4f2733[_0xf59e('0x2c')],qs[_0xf59e('0x31')](_0x2b0db3['query'][_0xf59e('0x31')]));_0x180ed5[_0xf59e('0x30')]=_0x180ed5[_0xf59e('0x30')]['length']?_0x180ed5[_0xf59e('0x30')]:_0x4f2733[_0xf59e('0x2c')];if(_0x2b0db3[_0xf59e('0x2d')][_0xf59e('0x3c')]){_0x180ed5[_0xf59e('0x3d')]=[{'all':!![]}];}_0x180ed5=_[_0xf59e('0x3a')]({},_0x180ed5,_0x2b0db3[_0xf59e('0x42')]);return db['AnalyticFieldReport'][_0xf59e('0x43')](_0x180ed5)['then'](handleEntityNotFound(_0x3028f6,null))[_0xf59e('0x21')](respondWithResult(_0x3028f6,null))[_0xf59e('0x3f')](handleError(_0x3028f6,null));};exports[_0xf59e('0x44')]=function(_0x473d63,_0x5ea6ae){return db[_0xf59e('0x28')][_0xf59e('0x44')](_0x473d63[_0xf59e('0x45')],{})[_0xf59e('0x21')](respondWithResult(_0x5ea6ae,0xc9))['catch'](handleError(_0x5ea6ae,null));};exports[_0xf59e('0x46')]=function(_0x3e7c35,_0x5a32e0){return db[_0xf59e('0x28')][_0xf59e('0x46')](_0x3e7c35[_0xf59e('0x45')],{'raw':![],'individualHooks':!![]})['then'](respondWithResult(_0x5a32e0,0xc9))['catch'](handleError(_0x5a32e0,null));};exports['update']=function(_0x4e8039,_0x490526){if(_0x4e8039[_0xf59e('0x45')]['id']){delete _0x4e8039[_0xf59e('0x45')]['id'];}return db[_0xf59e('0x28')][_0xf59e('0x43')]({'where':{'id':_0x4e8039['params']['id']}})[_0xf59e('0x21')](handleEntityNotFound(_0x490526,null))[_0xf59e('0x21')](saveUpdates(_0x4e8039['body'],null))['then'](respondWithResult(_0x490526,null))[_0xf59e('0x3f')](handleError(_0x490526,null));};exports['destroy']=function(_0x1665b8,_0x1e30db){return db[_0xf59e('0x28')]['find']({'where':{'id':_0x1665b8['params']['id']}})[_0xf59e('0x21')](handleEntityNotFound(_0x1e30db,null))[_0xf59e('0x21')](removeEntity(_0x1e30db,null))[_0xf59e('0x3f')](handleError(_0x1e30db,null));};exports[_0xf59e('0x47')]=function(_0x13d756,_0x4f7015){return db[_0xf59e('0x28')][_0xf59e('0x20')]({'where':{'id':_0x13d756['query'][_0xf59e('0x48')]||[]},'raw':![],'individualHooks':!![]})['then'](respondWithResult(_0x4f7015,0xcc))[_0xf59e('0x3f')](handleError(_0x4f7015,null));};exports[_0xf59e('0x49')]=function(_0x352563,_0x495c44,_0x2de616){return db[_0xf59e('0x4a')][_0xf59e('0x4b')]({'where':{'id':_0x352563[_0xf59e('0x41')]['id']}})[_0xf59e('0x21')](handleEntityNotFound(_0x495c44,null))[_0xf59e('0x21')](function(_0x176cdd){if(_0x176cdd){return db[_0xf59e('0x4c')][_0xf59e('0x4d')](function(_0x57525b){return db[_0xf59e('0x28')]['destroy']({'where':{'CustomReportId':_0x352563[_0xf59e('0x41')]['id']},'transaction':_0x57525b})[_0xf59e('0x21')](function(_0x416bdc){var _0x1a5ef0=_[_0xf59e('0x27')](_0x352563[_0xf59e('0x45')],function(_0x2dceb2){delete _0x2dceb2['id'];_0x2dceb2[_0xf59e('0x4e')]=_0x352563[_0xf59e('0x41')]['id'];return _0x2dceb2;});return db[_0xf59e('0x28')]['bulkCreate'](_0x1a5ef0,{'transaction':_0x57525b});});})[_0xf59e('0x21')](function(){return db[_0xf59e('0x28')][_0xf59e('0x3e')]({'where':{'CustomReportId':_0x352563[_0xf59e('0x41')]['id']}});});}})[_0xf59e('0x21')](respondWithResult(_0x495c44,null))[_0xf59e('0x3f')](handleError(_0x495c44,null));};