1aa86dd702d10c336995136bdc81335d2aab3cb9
[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 _0x4b99=['order','sort','where','filters','pick','VIRTUAL','filter','merge','options','includeAll','include','findAll','rows','params','keys','catch','create','body','bulkCreate','find','bulkDestroy','addFields','findOne','sequelize','transaction','CustomReportId','html-pdf','eml-format','rimraf','request-promise','moment','mustache','sox','to-csv','ejs','lodash','squel','jsforce','desk.js','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','json','count','offset','set','apply','reject','save','update','then','destroy','end','error','stack','name','map','AnalyticFieldReport','rawAttributes','fieldName','type','key','query','intersection','attributes','model','fields','length','nolimit','limit'];(function(_0x2f843f,_0x4b368c){var _0x6df32d=function(_0x1314f3){while(--_0x1314f3){_0x2f843f['push'](_0x2f843f['shift']());}};_0x6df32d(++_0x4b368c);}(_0x4b99,0x107));var _0x94b9=function(_0x531a72,_0x10922e){_0x531a72=_0x531a72-0x0;var _0x26ccd5=_0x4b99[_0x531a72];return _0x26ccd5;};'use strict';var pdf=require(_0x94b9('0x0'));var emlformat=require(_0x94b9('0x1'));var rimraf=require(_0x94b9('0x2'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x94b9('0x3'));var moment=require(_0x94b9('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x94b9('0x5'));var util=require('util');var path=require('path');var sox=require(_0x94b9('0x6'));var csv=require(_0x94b9('0x7'));var ejs=require(_0x94b9('0x8'));var fs=require('fs');var _=require(_0x94b9('0x9'));var squel=require(_0x94b9('0xa'));var crypto=require('crypto');var jsforce=require(_0x94b9('0xb'));var deskjs=require(_0x94b9('0xc'));var toCsv=require(_0x94b9('0x7'));var querystring=require('querystring');var Papa=require(_0x94b9('0xd'));var Redis=require('ioredis');var authService=require(_0x94b9('0xe'));var qs=require(_0x94b9('0xf'));var as=require(_0x94b9('0x10'));var hardwareService=require(_0x94b9('0x11'));var logger=require(_0x94b9('0x12'))(_0x94b9('0x13'));var utils=require(_0x94b9('0x14'));var config=require(_0x94b9('0x15'));var db=require(_0x94b9('0x16'))['db'];function respondWithStatusCode(_0x31fe50,_0xd85cff){_0xd85cff=_0xd85cff||0xcc;return function(_0x8d76a2){if(_0x8d76a2){return _0x31fe50[_0x94b9('0x17')](_0xd85cff);}return _0x31fe50[_0x94b9('0x18')](_0xd85cff)['end']();};}function respondWithResult(_0x4c639f,_0x424934){_0x424934=_0x424934||0xc8;return function(_0x5341e3){if(_0x5341e3){return _0x4c639f[_0x94b9('0x18')](_0x424934)[_0x94b9('0x19')](_0x5341e3);}};}function respondWithFilteredResult(_0x4d37d6,_0x3c9810){return function(_0xf9cf71){if(_0xf9cf71){var _0x5068cf=_0xf9cf71[_0x94b9('0x1a')],_0x47e92e=_0x3c9810[_0x94b9('0x1b')],_0x1d488f=_0x3c9810[_0x94b9('0x1b')]+_0x3c9810['limit'],_0x2c34ae;if(_0x1d488f>=_0x5068cf){_0x1d488f=_0x5068cf;_0x2c34ae=0xc8;}else{_0x2c34ae=0xce;}_0x4d37d6[_0x94b9('0x18')](_0x2c34ae);return _0x4d37d6[_0x94b9('0x1c')]('Content-Range',_0x47e92e+'-'+_0x1d488f+'/'+_0x5068cf)[_0x94b9('0x19')](_0xf9cf71);}return null;};}function patchUpdates(_0x5ad329){return function(_0x3b3e97){try{jsonpatch[_0x94b9('0x1d')](_0x3b3e97,_0x5ad329,!![]);}catch(_0x23b64d){return BPromise[_0x94b9('0x1e')](_0x23b64d);}return _0x3b3e97[_0x94b9('0x1f')]();};}function saveUpdates(_0x389f80,_0x8ed231){return function(_0x4b501c){if(_0x4b501c){return _0x4b501c[_0x94b9('0x20')](_0x389f80)[_0x94b9('0x21')](function(_0x2267fb){return _0x2267fb;});}return null;};}function removeEntity(_0x191b17,_0x209685){return function(_0x511654){if(_0x511654){return _0x511654[_0x94b9('0x22')]()[_0x94b9('0x21')](function(){_0x191b17[_0x94b9('0x18')](0xcc)[_0x94b9('0x23')]();});}};}function handleEntityNotFound(_0x3f0f02,_0x22b3dc){return function(_0x14edb3){if(!_0x14edb3){_0x3f0f02['sendStatus'](0x194);}return _0x14edb3;};}function handleError(_0x422500,_0x11d5f4){_0x11d5f4=_0x11d5f4||0x1f4;return function(_0x356ed9){logger[_0x94b9('0x24')](_0x356ed9[_0x94b9('0x25')]);if(_0x356ed9[_0x94b9('0x26')]){delete _0x356ed9[_0x94b9('0x26')];}_0x422500[_0x94b9('0x18')](_0x11d5f4)['send'](_0x356ed9);};}exports['index']=function(_0x51514e,_0x2cb15b){var _0x3f4846={},_0x5dcc1e={},_0x23bf24={'count':0x0,'rows':[]};var _0x2b5a48=_[_0x94b9('0x27')](db[_0x94b9('0x28')][_0x94b9('0x29')],function(_0xabf559){return{'name':_0xabf559[_0x94b9('0x2a')],'type':_0xabf559[_0x94b9('0x2b')][_0x94b9('0x2c')]};});_0x5dcc1e['model']=_['map'](_0x2b5a48,'name');_0x5dcc1e[_0x94b9('0x2d')]=_['keys'](_0x51514e['query']);_0x5dcc1e['filters']=_[_0x94b9('0x2e')](_0x5dcc1e['model'],_0x5dcc1e['query']);_0x3f4846[_0x94b9('0x2f')]=_[_0x94b9('0x2e')](_0x5dcc1e[_0x94b9('0x30')],qs['fields'](_0x51514e[_0x94b9('0x2d')][_0x94b9('0x31')]));_0x3f4846[_0x94b9('0x2f')]=_0x3f4846[_0x94b9('0x2f')][_0x94b9('0x32')]?_0x3f4846['attributes']:_0x5dcc1e['model'];if(!_0x51514e[_0x94b9('0x2d')]['hasOwnProperty'](_0x94b9('0x33'))){_0x3f4846['limit']=qs[_0x94b9('0x34')](_0x51514e[_0x94b9('0x2d')]['limit']);_0x3f4846[_0x94b9('0x1b')]=qs[_0x94b9('0x1b')](_0x51514e['query'][_0x94b9('0x1b')]);}_0x3f4846[_0x94b9('0x35')]=qs[_0x94b9('0x36')](_0x51514e[_0x94b9('0x2d')][_0x94b9('0x36')]);_0x3f4846[_0x94b9('0x37')]=qs[_0x94b9('0x38')](_[_0x94b9('0x39')](_0x51514e[_0x94b9('0x2d')],_0x5dcc1e[_0x94b9('0x38')]),_0x2b5a48);if(_0x51514e[_0x94b9('0x2d')]['filter']){_0x3f4846[_0x94b9('0x37')]=_['merge'](_0x3f4846['where'],{'$or':_[_0x94b9('0x27')](_0x2b5a48,function(_0x7ad2ab){if(_0x7ad2ab[_0x94b9('0x2b')]!==_0x94b9('0x3a')){var _0x5092ed={};_0x5092ed[_0x7ad2ab[_0x94b9('0x26')]]={'$like':'%'+_0x51514e['query'][_0x94b9('0x3b')]+'%'};return _0x5092ed;}})});}_0x3f4846=_[_0x94b9('0x3c')]({},_0x3f4846,_0x51514e[_0x94b9('0x3d')]);var _0x2a3fe3={'where':_0x3f4846[_0x94b9('0x37')]};return db[_0x94b9('0x28')][_0x94b9('0x1a')](_0x2a3fe3)[_0x94b9('0x21')](function(_0x5a5432){_0x23bf24[_0x94b9('0x1a')]=_0x5a5432;if(_0x51514e[_0x94b9('0x2d')][_0x94b9('0x3e')]){_0x3f4846[_0x94b9('0x3f')]=[{'all':!![]}];}return db[_0x94b9('0x28')][_0x94b9('0x40')](_0x3f4846);})[_0x94b9('0x21')](function(_0x99bd1e){_0x23bf24[_0x94b9('0x41')]=_0x99bd1e;return _0x23bf24;})[_0x94b9('0x21')](respondWithFilteredResult(_0x2cb15b,_0x3f4846))['catch'](handleError(_0x2cb15b,null));};exports['show']=function(_0x12642a,_0x2b988c){var _0x123c34={'raw':![],'where':{'id':_0x12642a[_0x94b9('0x42')]['id']}},_0x31021e={};_0x31021e[_0x94b9('0x30')]=_[_0x94b9('0x43')](db[_0x94b9('0x28')][_0x94b9('0x29')]);_0x31021e['query']=_['keys'](_0x12642a[_0x94b9('0x2d')]);_0x31021e[_0x94b9('0x38')]=_[_0x94b9('0x2e')](_0x31021e[_0x94b9('0x30')],_0x31021e[_0x94b9('0x2d')]);_0x123c34[_0x94b9('0x2f')]=_['intersection'](_0x31021e['model'],qs[_0x94b9('0x31')](_0x12642a[_0x94b9('0x2d')][_0x94b9('0x31')]));_0x123c34['attributes']=_0x123c34[_0x94b9('0x2f')][_0x94b9('0x32')]?_0x123c34[_0x94b9('0x2f')]:_0x31021e[_0x94b9('0x30')];if(_0x12642a['query'][_0x94b9('0x3e')]){_0x123c34[_0x94b9('0x3f')]=[{'all':!![]}];}_0x123c34=_[_0x94b9('0x3c')]({},_0x123c34,_0x12642a[_0x94b9('0x3d')]);return db['AnalyticFieldReport']['find'](_0x123c34)[_0x94b9('0x21')](handleEntityNotFound(_0x2b988c,null))[_0x94b9('0x21')](respondWithResult(_0x2b988c,null))[_0x94b9('0x44')](handleError(_0x2b988c,null));};exports[_0x94b9('0x45')]=function(_0x19530c,_0x24b907){return db[_0x94b9('0x28')][_0x94b9('0x45')](_0x19530c[_0x94b9('0x46')],{})[_0x94b9('0x21')](respondWithResult(_0x24b907,0xc9))['catch'](handleError(_0x24b907,null));};exports[_0x94b9('0x47')]=function(_0x3d6805,_0x4bd04a){return db['AnalyticFieldReport'][_0x94b9('0x47')](_0x3d6805[_0x94b9('0x46')],{'raw':![],'individualHooks':!![]})[_0x94b9('0x21')](respondWithResult(_0x4bd04a,0xc9))[_0x94b9('0x44')](handleError(_0x4bd04a,null));};exports[_0x94b9('0x20')]=function(_0x4e80e4,_0x7cc486){if(_0x4e80e4[_0x94b9('0x46')]['id']){delete _0x4e80e4['body']['id'];}return db['AnalyticFieldReport'][_0x94b9('0x48')]({'where':{'id':_0x4e80e4[_0x94b9('0x42')]['id']}})['then'](handleEntityNotFound(_0x7cc486,null))[_0x94b9('0x21')](saveUpdates(_0x4e80e4[_0x94b9('0x46')],null))[_0x94b9('0x21')](respondWithResult(_0x7cc486,null))[_0x94b9('0x44')](handleError(_0x7cc486,null));};exports[_0x94b9('0x22')]=function(_0x186f1b,_0x1270ea){return db[_0x94b9('0x28')][_0x94b9('0x48')]({'where':{'id':_0x186f1b['params']['id']}})[_0x94b9('0x21')](handleEntityNotFound(_0x1270ea,null))[_0x94b9('0x21')](removeEntity(_0x1270ea,null))[_0x94b9('0x44')](handleError(_0x1270ea,null));};exports[_0x94b9('0x49')]=function(_0x36faac,_0x48f4f8){return db['AnalyticFieldReport'][_0x94b9('0x22')]({'where':{'id':_0x36faac[_0x94b9('0x2d')]['ids']||[]},'raw':![],'individualHooks':!![]})['then'](respondWithResult(_0x48f4f8,0xcc))[_0x94b9('0x44')](handleError(_0x48f4f8,null));};exports[_0x94b9('0x4a')]=function(_0x10e95f,_0x523758,_0x3c4432){return db['AnalyticCustomReport'][_0x94b9('0x4b')]({'where':{'id':_0x10e95f[_0x94b9('0x42')]['id']}})[_0x94b9('0x21')](handleEntityNotFound(_0x523758,null))[_0x94b9('0x21')](function(_0x105722){if(_0x105722){return db[_0x94b9('0x4c')][_0x94b9('0x4d')](function(_0x14b3aa){return db[_0x94b9('0x28')][_0x94b9('0x22')]({'where':{'CustomReportId':_0x10e95f[_0x94b9('0x42')]['id']},'transaction':_0x14b3aa})['then'](function(_0x542c96){var _0x5844d2=_[_0x94b9('0x27')](_0x10e95f[_0x94b9('0x46')],function(_0x51e6a7){delete _0x51e6a7['id'];_0x51e6a7[_0x94b9('0x4e')]=_0x10e95f[_0x94b9('0x42')]['id'];return _0x51e6a7;});return db['AnalyticFieldReport']['bulkCreate'](_0x5844d2,{'transaction':_0x14b3aa});});})[_0x94b9('0x21')](function(){return db[_0x94b9('0x28')]['findAll']({'where':{'CustomReportId':_0x10e95f[_0x94b9('0x42')]['id']}});});}})[_0x94b9('0x21')](respondWithResult(_0x523758,null))['catch'](handleError(_0x523758,null));};