Built motion from commit (unavailable).|2.2.0
[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 _0x1eca=['intersection','attributes','fields','length','limit','order','sort','where','filters','dateStart','add','day','merge','filter','map','type','key','VIRTUAL','field','count','include','rows','show','catch','create','bulkCreate','update','body','find','params','bulkDestroy','destroy','AnalyticCustomReport','findOne','sequelize','transaction','CustomReportId','rimraf','fast-json-patch','mustache','path','sox','ejs','lodash','squel','crypto','jsforce','to-csv','papaparse','ioredis','../../components/parsers/qs','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','sendStatus','end','status','json','offset','set','Content-Range','reject','save','then','error','name','send','AnalyticFieldReport','rawAttributes','model','query','dateEnd','keys'];(function(_0xb400ce,_0x51e8dc){var _0x50b4bc=function(_0x3bf6d4){while(--_0x3bf6d4){_0xb400ce['push'](_0xb400ce['shift']());}};_0x50b4bc(++_0x51e8dc);}(_0x1eca,0xb9));var _0xa1ec=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x1eca[_0x3dd15e];return _0x231fd0;};'use strict';var pdf=require('html-pdf');var emlformat=require('eml-format');var rimraf=require(_0xa1ec('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0xa1ec('0x1'));var rp=require('request-promise');var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0xa1ec('0x2'));var util=require('util');var path=require(_0xa1ec('0x3'));var sox=require(_0xa1ec('0x4'));var csv=require('to-csv');var ejs=require(_0xa1ec('0x5'));var fs=require('fs');var _=require(_0xa1ec('0x6'));var squel=require(_0xa1ec('0x7'));var crypto=require(_0xa1ec('0x8'));var jsforce=require(_0xa1ec('0x9'));var deskjs=require('desk.js');var toCsv=require(_0xa1ec('0xa'));var querystring=require('querystring');var Papa=require(_0xa1ec('0xb'));var Redis=require(_0xa1ec('0xc'));var qs=require(_0xa1ec('0xd'));var logger=require(_0xa1ec('0xe'))('api');var utils=require(_0xa1ec('0xf'));var config=require(_0xa1ec('0x10'));var db=require(_0xa1ec('0x11'))['db'];function respondWithStatusCode(_0x41896f,_0x4d5a5f){_0x4d5a5f=_0x4d5a5f||0xcc;return function(_0x1db122){if(_0x1db122){return _0x41896f[_0xa1ec('0x12')](_0x4d5a5f);}return _0x41896f['status'](_0x4d5a5f)[_0xa1ec('0x13')]();};}function respondWithResult(_0x4dfe43,_0x1bb9a8){_0x1bb9a8=_0x1bb9a8||0xc8;return function(_0x24219c){if(_0x24219c){return _0x4dfe43[_0xa1ec('0x14')](_0x1bb9a8)[_0xa1ec('0x15')](_0x24219c);}};}function respondWithFilteredResult(_0x285d25,_0x4c0605){return function(_0x150bc5){if(_0x150bc5){var _0x2af49b=_0x150bc5['count'],_0x200e22=_0x4c0605[_0xa1ec('0x16')],_0x33d718=_0x4c0605[_0xa1ec('0x16')]+_0x4c0605['limit'],_0x26ec4b;if(_0x33d718>=_0x2af49b){_0x33d718=_0x2af49b;_0x26ec4b=0xc8;}else{_0x26ec4b=0xce;}_0x285d25[_0xa1ec('0x14')](_0x26ec4b);return _0x285d25[_0xa1ec('0x17')](_0xa1ec('0x18'),_0x200e22+'-'+_0x33d718+'/'+_0x2af49b)[_0xa1ec('0x15')](_0x150bc5);}return null;};}function patchUpdates(_0x1227e8){return function(_0x3eb56f){try{jsonpatch['apply'](_0x3eb56f,_0x1227e8,!![]);}catch(_0x4af450){return BPromise[_0xa1ec('0x19')](_0x4af450);}return _0x3eb56f[_0xa1ec('0x1a')]();};}function saveUpdates(_0x2a2099,_0x4771d3){return function(_0x4cb6d0){if(_0x4cb6d0){return _0x4cb6d0['update'](_0x2a2099)[_0xa1ec('0x1b')](function(_0x2c6a05){return _0x2c6a05;});}return null;};}function removeEntity(_0x55a4a6,_0x38b31e){return function(_0x326671){if(_0x326671){return _0x326671['destroy']()['then'](function(){_0x55a4a6[_0xa1ec('0x14')](0xcc)['end']();});}};}function handleEntityNotFound(_0x2b6501,_0x570790){return function(_0x79f9ed){if(!_0x79f9ed){_0x2b6501['sendStatus'](0x194);}return _0x79f9ed;};}function handleError(_0x1f840b,_0x58cb89){_0x58cb89=_0x58cb89||0x1f4;return function(_0x3f53f6){logger[_0xa1ec('0x1c')](_0x3f53f6['stack']);if(_0x3f53f6[_0xa1ec('0x1d')]){delete _0x3f53f6[_0xa1ec('0x1d')];}_0x1f840b['status'](_0x58cb89)[_0xa1ec('0x1e')](_0x3f53f6);};}exports['index']=function(_0x1b7118,_0x3af2b5){var _0x21477d={},_0x2f4f57={},_0x90e7d8={'count':0x0,'rows':[]};var _0x5a8c56=db[_0xa1ec('0x1f')][_0xa1ec('0x20')];_0x2f4f57[_0xa1ec('0x21')]=_['keys'](_0x5a8c56);var _0x294e81={'dateStart':_0x1b7118[_0xa1ec('0x22')]['dateStart'],'dateEnd':_0x1b7118[_0xa1ec('0x22')][_0xa1ec('0x23')]};delete _0x1b7118[_0xa1ec('0x22')]['dateStart'];delete _0x1b7118[_0xa1ec('0x22')][_0xa1ec('0x23')];_0x2f4f57['query']=_[_0xa1ec('0x24')](_0x1b7118[_0xa1ec('0x22')]);_0x2f4f57['filters']=_[_0xa1ec('0x25')](_0x2f4f57[_0xa1ec('0x21')],_0x2f4f57[_0xa1ec('0x22')]);_0x21477d[_0xa1ec('0x26')]=_['intersection'](_0x2f4f57['model'],qs[_0xa1ec('0x27')](_0x1b7118['query'][_0xa1ec('0x27')]));_0x21477d['attributes']=_0x21477d[_0xa1ec('0x26')][_0xa1ec('0x28')]?_0x21477d[_0xa1ec('0x26')]:_0x2f4f57[_0xa1ec('0x21')];if(!_0x1b7118[_0xa1ec('0x22')]['hasOwnProperty']('nolimit')){_0x21477d[_0xa1ec('0x29')]=qs[_0xa1ec('0x29')](_0x1b7118['query'][_0xa1ec('0x29')]);_0x21477d[_0xa1ec('0x16')]=qs['offset'](_0x1b7118[_0xa1ec('0x22')][_0xa1ec('0x16')]);}_0x21477d[_0xa1ec('0x2a')]=qs[_0xa1ec('0x2b')](_0x1b7118[_0xa1ec('0x22')][_0xa1ec('0x2b')]);_0x21477d[_0xa1ec('0x2c')]=qs[_0xa1ec('0x2d')](_['pick'](_0x1b7118[_0xa1ec('0x22')],_0x2f4f57[_0xa1ec('0x2d')]));if(_0x294e81[_0xa1ec('0x2e')]){if(_0x294e81['dateEnd']){_0x294e81[_0xa1ec('0x23')]=moment(_0x294e81['dateEnd'])[_0xa1ec('0x2f')](0x1,_0xa1ec('0x30'));}else{_0x294e81[_0xa1ec('0x23')]=moment(_0x294e81[_0xa1ec('0x2e')])[_0xa1ec('0x2f')](0x1,'day');}_[_0xa1ec('0x31')](_0x21477d[_0xa1ec('0x2c')],{'createdAt':{'$gte':_0x294e81[_0xa1ec('0x2e')],'$lte':_0x294e81[_0xa1ec('0x23')]}});}if(_0x1b7118[_0xa1ec('0x22')][_0xa1ec('0x32')]){_0x21477d['where']=_['merge'](_0x21477d[_0xa1ec('0x2c')],{'$or':_[_0xa1ec('0x33')](_0x5a8c56,function(_0x4a52e3){if(_0x4a52e3[_0xa1ec('0x34')][_0xa1ec('0x35')]!==_0xa1ec('0x36')){var _0x56ebc4={};_0x56ebc4[_0x4a52e3[_0xa1ec('0x37')]]={'$like':'%'+_0x1b7118['query']['filter']+'%'};return _0x56ebc4;}})});}_0x21477d=_[_0xa1ec('0x31')]({},_0x21477d,_0x1b7118['options']);var _0x5232d3={'where':_0x21477d['where']};return db[_0xa1ec('0x1f')][_0xa1ec('0x38')](_0x5232d3)[_0xa1ec('0x1b')](function(_0x3795bb){_0x90e7d8[_0xa1ec('0x38')]=_0x3795bb;if(_0x1b7118['query']['includeAll']){_0x21477d[_0xa1ec('0x39')]=[{'all':!![]}];}return db[_0xa1ec('0x1f')]['findAll'](_0x21477d);})[_0xa1ec('0x1b')](function(_0x30994d){_0x90e7d8[_0xa1ec('0x3a')]=_0x30994d;return _0x90e7d8;})[_0xa1ec('0x1b')](respondWithFilteredResult(_0x3af2b5,_0x21477d))['catch'](handleError(_0x3af2b5,null));};exports[_0xa1ec('0x3b')]=function(_0x3698bb,_0x2168bc){var _0x2124e6={'raw':![],'where':{'id':_0x3698bb['params']['id']}},_0x2e4639={};_0x2e4639['model']=_['keys'](db[_0xa1ec('0x1f')][_0xa1ec('0x20')]);_0x2e4639[_0xa1ec('0x22')]=_[_0xa1ec('0x24')](_0x3698bb[_0xa1ec('0x22')]);_0x2e4639[_0xa1ec('0x2d')]=_['intersection'](_0x2e4639[_0xa1ec('0x21')],_0x2e4639[_0xa1ec('0x22')]);_0x2124e6['attributes']=_[_0xa1ec('0x25')](_0x2e4639[_0xa1ec('0x21')],qs[_0xa1ec('0x27')](_0x3698bb[_0xa1ec('0x22')][_0xa1ec('0x27')]));_0x2124e6['attributes']=_0x2124e6['attributes'][_0xa1ec('0x28')]?_0x2124e6[_0xa1ec('0x26')]:_0x2e4639['model'];if(_0x3698bb[_0xa1ec('0x22')]['includeAll']){_0x2124e6[_0xa1ec('0x39')]=[{'all':!![]}];}_0x2124e6=_[_0xa1ec('0x31')]({},_0x2124e6,_0x3698bb['options']);return db['AnalyticFieldReport']['find'](_0x2124e6)[_0xa1ec('0x1b')](handleEntityNotFound(_0x2168bc,null))[_0xa1ec('0x1b')](respondWithResult(_0x2168bc,null))[_0xa1ec('0x3c')](handleError(_0x2168bc,null));};exports['create']=function(_0x3c68c0,_0x578c00){return db[_0xa1ec('0x1f')][_0xa1ec('0x3d')](_0x3c68c0['body'],{})[_0xa1ec('0x1b')](respondWithResult(_0x578c00,0xc9))[_0xa1ec('0x3c')](handleError(_0x578c00,null));};exports['bulkCreate']=function(_0x2cabf9,_0x30d2b9){return db[_0xa1ec('0x1f')][_0xa1ec('0x3e')](_0x2cabf9['body'],{'raw':![],'individualHooks':!![]})[_0xa1ec('0x1b')](respondWithResult(_0x30d2b9,0xc9))[_0xa1ec('0x3c')](handleError(_0x30d2b9,null));};exports[_0xa1ec('0x3f')]=function(_0x5d1d35,_0x44d585){if(_0x5d1d35[_0xa1ec('0x40')]['id']){delete _0x5d1d35[_0xa1ec('0x40')]['id'];}return db['AnalyticFieldReport'][_0xa1ec('0x41')]({'where':{'id':_0x5d1d35[_0xa1ec('0x42')]['id']}})['then'](handleEntityNotFound(_0x44d585,null))['then'](saveUpdates(_0x5d1d35[_0xa1ec('0x40')],null))[_0xa1ec('0x1b')](respondWithResult(_0x44d585,null))['catch'](handleError(_0x44d585,null));};exports['destroy']=function(_0x466c6b,_0x2945c8){return db[_0xa1ec('0x1f')][_0xa1ec('0x41')]({'where':{'id':_0x466c6b[_0xa1ec('0x42')]['id']}})[_0xa1ec('0x1b')](handleEntityNotFound(_0x2945c8,null))[_0xa1ec('0x1b')](removeEntity(_0x2945c8,null))['catch'](handleError(_0x2945c8,null));};exports[_0xa1ec('0x43')]=function(_0x521563,_0x101927){return db[_0xa1ec('0x1f')][_0xa1ec('0x44')]({'where':{'id':_0x521563[_0xa1ec('0x22')]['ids']||[]},'raw':![],'individualHooks':!![]})[_0xa1ec('0x1b')](respondWithResult(_0x101927,0xcc))['catch'](handleError(_0x101927,null));};exports['addFields']=function(_0x3fb49b,_0x5a687f,_0x1b3874){return db[_0xa1ec('0x45')][_0xa1ec('0x46')]({'where':{'id':_0x3fb49b['params']['id']}})[_0xa1ec('0x1b')](handleEntityNotFound(_0x5a687f,null))[_0xa1ec('0x1b')](function(_0x2a256d){if(_0x2a256d){return db[_0xa1ec('0x47')][_0xa1ec('0x48')](function(_0x2c4d2f){return db[_0xa1ec('0x1f')][_0xa1ec('0x44')]({'where':{'CustomReportId':_0x3fb49b[_0xa1ec('0x42')]['id']},'transaction':_0x2c4d2f})[_0xa1ec('0x1b')](function(_0x3f735c){var _0x2ddd7f=_[_0xa1ec('0x33')](_0x3fb49b[_0xa1ec('0x40')],function(_0x235821){delete _0x235821['id'];_0x235821[_0xa1ec('0x49')]=_0x3fb49b[_0xa1ec('0x42')]['id'];return _0x235821;});return db['AnalyticFieldReport'][_0xa1ec('0x3e')](_0x2ddd7f,{'transaction':_0x2c4d2f});});})[_0xa1ec('0x1b')](function(){return db[_0xa1ec('0x1f')]['findAll']({'where':{'CustomReportId':_0x3fb49b[_0xa1ec('0x42')]['id']}});});}})[_0xa1ec('0x1b')](respondWithResult(_0x5a687f,null))[_0xa1ec('0x3c')](handleError(_0x5a687f,null));};