Built motion from commit (unavailable).|2.5.4
[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 _0xea24=['includeAll','create','body','bulkCreate','find','bulkDestroy','ids','addFields','AnalyticCustomReport','findOne','sequelize','transaction','html-pdf','eml-format','rimraf','zip-dir','request-promise','moment','mustache','util','sox','to-csv','ejs','lodash','squel','crypto','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','json','count','offset','limit','set','reject','update','then','destroy','end','error','stack','name','send','index','AnalyticFieldReport','rawAttributes','fieldName','key','model','map','keys','query','filters','intersection','attributes','fields','hasOwnProperty','nolimit','sort','where','pick','filter','merge','type','options','include','rows','catch','params'];(function(_0x53e3c7,_0x23fe8e){var _0x31d79b=function(_0x14b9a2){while(--_0x14b9a2){_0x53e3c7['push'](_0x53e3c7['shift']());}};_0x31d79b(++_0x23fe8e);}(_0xea24,0xaa));var _0x4ea2=function(_0x696cd1,_0x50a099){_0x696cd1=_0x696cd1-0x0;var _0x4fe64d=_0xea24[_0x696cd1];return _0x4fe64d;};'use strict';var pdf=require(_0x4ea2('0x0'));var emlformat=require(_0x4ea2('0x1'));var rimraf=require(_0x4ea2('0x2'));var zipdir=require(_0x4ea2('0x3'));var jsonpatch=require('fast-json-patch');var rp=require(_0x4ea2('0x4'));var moment=require(_0x4ea2('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x4ea2('0x6'));var util=require(_0x4ea2('0x7'));var path=require('path');var sox=require(_0x4ea2('0x8'));var csv=require(_0x4ea2('0x9'));var ejs=require(_0x4ea2('0xa'));var fs=require('fs');var _=require(_0x4ea2('0xb'));var squel=require(_0x4ea2('0xc'));var crypto=require(_0x4ea2('0xd'));var jsforce=require('jsforce');var deskjs=require(_0x4ea2('0xe'));var toCsv=require(_0x4ea2('0x9'));var querystring=require(_0x4ea2('0xf'));var Papa=require('papaparse');var Redis=require(_0x4ea2('0x10'));var authService=require(_0x4ea2('0x11'));var qs=require(_0x4ea2('0x12'));var as=require(_0x4ea2('0x13'));var hardwareService=require(_0x4ea2('0x14'));var logger=require('../../config/logger')(_0x4ea2('0x15'));var utils=require(_0x4ea2('0x16'));var config=require(_0x4ea2('0x17'));var db=require(_0x4ea2('0x18'))['db'];function respondWithStatusCode(_0x303c0e,_0x4254a9){_0x4254a9=_0x4254a9||0xcc;return function(_0x44e2dc){if(_0x44e2dc){return _0x303c0e[_0x4ea2('0x19')](_0x4254a9);}return _0x303c0e['status'](_0x4254a9)['end']();};}function respondWithResult(_0x43db5f,_0x32fccc){_0x32fccc=_0x32fccc||0xc8;return function(_0x3e429a){if(_0x3e429a){return _0x43db5f[_0x4ea2('0x1a')](_0x32fccc)[_0x4ea2('0x1b')](_0x3e429a);}};}function respondWithFilteredResult(_0x50d1af,_0xb1996){return function(_0x26e515){if(_0x26e515){var _0x5c5e19=_0x26e515[_0x4ea2('0x1c')],_0x248c79=_0xb1996[_0x4ea2('0x1d')],_0x136cbb=_0xb1996[_0x4ea2('0x1d')]+_0xb1996[_0x4ea2('0x1e')],_0x22bfc1;if(_0x136cbb>=_0x5c5e19){_0x136cbb=_0x5c5e19;_0x22bfc1=0xc8;}else{_0x22bfc1=0xce;}_0x50d1af[_0x4ea2('0x1a')](_0x22bfc1);return _0x50d1af[_0x4ea2('0x1f')]('Content-Range',_0x248c79+'-'+_0x136cbb+'/'+_0x5c5e19)[_0x4ea2('0x1b')](_0x26e515);}return null;};}function patchUpdates(_0x32fae9){return function(_0x21effa){try{jsonpatch['apply'](_0x21effa,_0x32fae9,!![]);}catch(_0x174832){return BPromise[_0x4ea2('0x20')](_0x174832);}return _0x21effa['save']();};}function saveUpdates(_0x6fb8f1,_0x48c578){return function(_0x258a14){if(_0x258a14){return _0x258a14[_0x4ea2('0x21')](_0x6fb8f1)[_0x4ea2('0x22')](function(_0x40ad86){return _0x40ad86;});}return null;};}function removeEntity(_0xe5e9a0,_0x2b5b4d){return function(_0x55831d){if(_0x55831d){return _0x55831d[_0x4ea2('0x23')]()['then'](function(){_0xe5e9a0[_0x4ea2('0x1a')](0xcc)[_0x4ea2('0x24')]();});}};}function handleEntityNotFound(_0x5ed6a6,_0x167336){return function(_0x46cc90){if(!_0x46cc90){_0x5ed6a6[_0x4ea2('0x19')](0x194);}return _0x46cc90;};}function handleError(_0x4cbee3,_0x4b2df1){_0x4b2df1=_0x4b2df1||0x1f4;return function(_0x1f2a7e){logger[_0x4ea2('0x25')](_0x1f2a7e[_0x4ea2('0x26')]);if(_0x1f2a7e[_0x4ea2('0x27')]){delete _0x1f2a7e[_0x4ea2('0x27')];}_0x4cbee3[_0x4ea2('0x1a')](_0x4b2df1)[_0x4ea2('0x28')](_0x1f2a7e);};}exports[_0x4ea2('0x29')]=function(_0x5a2e2a,_0xc41cdf){var _0x9a9d48={},_0x3dc667={},_0x1a463a={'count':0x0,'rows':[]};var _0x2a2c19=_['map'](db[_0x4ea2('0x2a')][_0x4ea2('0x2b')],function(_0x38c217){return{'name':_0x38c217[_0x4ea2('0x2c')],'type':_0x38c217['type'][_0x4ea2('0x2d')]};});_0x3dc667[_0x4ea2('0x2e')]=_[_0x4ea2('0x2f')](_0x2a2c19,_0x4ea2('0x27'));_0x3dc667['query']=_[_0x4ea2('0x30')](_0x5a2e2a[_0x4ea2('0x31')]);_0x3dc667[_0x4ea2('0x32')]=_[_0x4ea2('0x33')](_0x3dc667[_0x4ea2('0x2e')],_0x3dc667[_0x4ea2('0x31')]);_0x9a9d48[_0x4ea2('0x34')]=_[_0x4ea2('0x33')](_0x3dc667[_0x4ea2('0x2e')],qs[_0x4ea2('0x35')](_0x5a2e2a[_0x4ea2('0x31')]['fields']));_0x9a9d48[_0x4ea2('0x34')]=_0x9a9d48[_0x4ea2('0x34')]['length']?_0x9a9d48[_0x4ea2('0x34')]:_0x3dc667[_0x4ea2('0x2e')];if(!_0x5a2e2a[_0x4ea2('0x31')][_0x4ea2('0x36')](_0x4ea2('0x37'))){_0x9a9d48[_0x4ea2('0x1e')]=qs[_0x4ea2('0x1e')](_0x5a2e2a[_0x4ea2('0x31')][_0x4ea2('0x1e')]);_0x9a9d48[_0x4ea2('0x1d')]=qs[_0x4ea2('0x1d')](_0x5a2e2a[_0x4ea2('0x31')][_0x4ea2('0x1d')]);}_0x9a9d48['order']=qs[_0x4ea2('0x38')](_0x5a2e2a['query'][_0x4ea2('0x38')]);_0x9a9d48[_0x4ea2('0x39')]=qs[_0x4ea2('0x32')](_[_0x4ea2('0x3a')](_0x5a2e2a[_0x4ea2('0x31')],_0x3dc667['filters']),_0x2a2c19);if(_0x5a2e2a[_0x4ea2('0x31')][_0x4ea2('0x3b')]){_0x9a9d48[_0x4ea2('0x39')]=_[_0x4ea2('0x3c')](_0x9a9d48[_0x4ea2('0x39')],{'$or':_[_0x4ea2('0x2f')](_0x2a2c19,function(_0x1f6b2a){if(_0x1f6b2a[_0x4ea2('0x3d')]!=='VIRTUAL'){var _0x5d460b={};_0x5d460b[_0x1f6b2a[_0x4ea2('0x27')]]={'$like':'%'+_0x5a2e2a['query'][_0x4ea2('0x3b')]+'%'};return _0x5d460b;}})});}_0x9a9d48=_[_0x4ea2('0x3c')]({},_0x9a9d48,_0x5a2e2a[_0x4ea2('0x3e')]);var _0x816fca={'where':_0x9a9d48[_0x4ea2('0x39')]};return db[_0x4ea2('0x2a')][_0x4ea2('0x1c')](_0x816fca)[_0x4ea2('0x22')](function(_0x3df130){_0x1a463a[_0x4ea2('0x1c')]=_0x3df130;if(_0x5a2e2a[_0x4ea2('0x31')]['includeAll']){_0x9a9d48[_0x4ea2('0x3f')]=[{'all':!![]}];}return db[_0x4ea2('0x2a')]['findAll'](_0x9a9d48);})[_0x4ea2('0x22')](function(_0x41c066){_0x1a463a[_0x4ea2('0x40')]=_0x41c066;return _0x1a463a;})[_0x4ea2('0x22')](respondWithFilteredResult(_0xc41cdf,_0x9a9d48))[_0x4ea2('0x41')](handleError(_0xc41cdf,null));};exports['show']=function(_0x2a08b1,_0x57a9cd){var _0x2074e2={'raw':![],'where':{'id':_0x2a08b1[_0x4ea2('0x42')]['id']}},_0xd72390={};_0xd72390[_0x4ea2('0x2e')]=_[_0x4ea2('0x30')](db[_0x4ea2('0x2a')]['rawAttributes']);_0xd72390['query']=_[_0x4ea2('0x30')](_0x2a08b1[_0x4ea2('0x31')]);_0xd72390[_0x4ea2('0x32')]=_[_0x4ea2('0x33')](_0xd72390[_0x4ea2('0x2e')],_0xd72390[_0x4ea2('0x31')]);_0x2074e2[_0x4ea2('0x34')]=_[_0x4ea2('0x33')](_0xd72390[_0x4ea2('0x2e')],qs[_0x4ea2('0x35')](_0x2a08b1[_0x4ea2('0x31')][_0x4ea2('0x35')]));_0x2074e2[_0x4ea2('0x34')]=_0x2074e2['attributes']['length']?_0x2074e2[_0x4ea2('0x34')]:_0xd72390[_0x4ea2('0x2e')];if(_0x2a08b1['query'][_0x4ea2('0x43')]){_0x2074e2[_0x4ea2('0x3f')]=[{'all':!![]}];}_0x2074e2=_['merge']({},_0x2074e2,_0x2a08b1[_0x4ea2('0x3e')]);return db['AnalyticFieldReport']['find'](_0x2074e2)[_0x4ea2('0x22')](handleEntityNotFound(_0x57a9cd,null))[_0x4ea2('0x22')](respondWithResult(_0x57a9cd,null))['catch'](handleError(_0x57a9cd,null));};exports[_0x4ea2('0x44')]=function(_0x660a5a,_0x324784){return db['AnalyticFieldReport'][_0x4ea2('0x44')](_0x660a5a[_0x4ea2('0x45')],{})[_0x4ea2('0x22')](respondWithResult(_0x324784,0xc9))['catch'](handleError(_0x324784,null));};exports[_0x4ea2('0x46')]=function(_0x55926d,_0x4cc54f){return db['AnalyticFieldReport'][_0x4ea2('0x46')](_0x55926d['body'],{'raw':![],'individualHooks':!![]})['then'](respondWithResult(_0x4cc54f,0xc9))[_0x4ea2('0x41')](handleError(_0x4cc54f,null));};exports[_0x4ea2('0x21')]=function(_0x3fd3d2,_0x257988){if(_0x3fd3d2[_0x4ea2('0x45')]['id']){delete _0x3fd3d2['body']['id'];}return db[_0x4ea2('0x2a')]['find']({'where':{'id':_0x3fd3d2[_0x4ea2('0x42')]['id']}})['then'](handleEntityNotFound(_0x257988,null))[_0x4ea2('0x22')](saveUpdates(_0x3fd3d2[_0x4ea2('0x45')],null))['then'](respondWithResult(_0x257988,null))[_0x4ea2('0x41')](handleError(_0x257988,null));};exports[_0x4ea2('0x23')]=function(_0x305dad,_0x55d2fc){return db[_0x4ea2('0x2a')][_0x4ea2('0x47')]({'where':{'id':_0x305dad[_0x4ea2('0x42')]['id']}})['then'](handleEntityNotFound(_0x55d2fc,null))['then'](removeEntity(_0x55d2fc,null))['catch'](handleError(_0x55d2fc,null));};exports[_0x4ea2('0x48')]=function(_0x11143b,_0x1708cb){return db['AnalyticFieldReport'][_0x4ea2('0x23')]({'where':{'id':_0x11143b[_0x4ea2('0x31')][_0x4ea2('0x49')]||[]},'raw':![],'individualHooks':!![]})['then'](respondWithResult(_0x1708cb,0xcc))[_0x4ea2('0x41')](handleError(_0x1708cb,null));};exports[_0x4ea2('0x4a')]=function(_0x295d5c,_0x40b3dd,_0x1b53b5){return db[_0x4ea2('0x4b')][_0x4ea2('0x4c')]({'where':{'id':_0x295d5c['params']['id']}})[_0x4ea2('0x22')](handleEntityNotFound(_0x40b3dd,null))['then'](function(_0x4a8cde){if(_0x4a8cde){return db[_0x4ea2('0x4d')][_0x4ea2('0x4e')](function(_0x1fe643){return db[_0x4ea2('0x2a')][_0x4ea2('0x23')]({'where':{'CustomReportId':_0x295d5c[_0x4ea2('0x42')]['id']},'transaction':_0x1fe643})[_0x4ea2('0x22')](function(_0xcefe96){var _0x631a0a=_[_0x4ea2('0x2f')](_0x295d5c['body'],function(_0x111f11){delete _0x111f11['id'];_0x111f11['CustomReportId']=_0x295d5c[_0x4ea2('0x42')]['id'];return _0x111f11;});return db['AnalyticFieldReport'][_0x4ea2('0x46')](_0x631a0a,{'transaction':_0x1fe643});});})[_0x4ea2('0x22')](function(){return db[_0x4ea2('0x2a')]['findAll']({'where':{'CustomReportId':_0x295d5c['params']['id']}});});}})['then'](respondWithResult(_0x40b3dd,null))[_0x4ea2('0x41')](handleError(_0x40b3dd,null));};