Built motion from commit (unavailable).|2.5.21
[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 _0x3c0b=['util','path','sox','to-csv','ejs','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','count','offset','limit','set','json','apply','reject','save','destroy','error','name','send','index','map','AnalyticFieldReport','type','key','query','keys','filters','intersection','attributes','fields','length','model','order','sort','where','pick','filter','merge','includeAll','include','findAll','then','rows','catch','show','params','options','create','body','bulkCreate','update','find','bulkDestroy','ids','addFields','AnalyticCustomReport','findOne','sequelize','transaction','CustomReportId','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache'];(function(_0x40a045,_0x516f0e){var _0x1a687c=function(_0x48c9fe){while(--_0x48c9fe){_0x40a045['push'](_0x40a045['shift']());}};_0x1a687c(++_0x516f0e);}(_0x3c0b,0x9e));var _0xb3c0=function(_0x195bc3,_0xc29931){_0x195bc3=_0x195bc3-0x0;var _0x25ee76=_0x3c0b[_0x195bc3];return _0x25ee76;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0xb3c0('0x0'));var rimraf=require(_0xb3c0('0x1'));var zipdir=require(_0xb3c0('0x2'));var jsonpatch=require(_0xb3c0('0x3'));var rp=require(_0xb3c0('0x4'));var moment=require(_0xb3c0('0x5'));var BPromise=require(_0xb3c0('0x6'));var Mustache=require(_0xb3c0('0x7'));var util=require(_0xb3c0('0x8'));var path=require(_0xb3c0('0x9'));var sox=require(_0xb3c0('0xa'));var csv=require(_0xb3c0('0xb'));var ejs=require(_0xb3c0('0xc'));var fs=require('fs');var _=require(_0xb3c0('0xd'));var squel=require('squel');var crypto=require(_0xb3c0('0xe'));var jsforce=require(_0xb3c0('0xf'));var deskjs=require(_0xb3c0('0x10'));var toCsv=require(_0xb3c0('0xb'));var querystring=require(_0xb3c0('0x11'));var Papa=require(_0xb3c0('0x12'));var Redis=require(_0xb3c0('0x13'));var authService=require(_0xb3c0('0x14'));var qs=require(_0xb3c0('0x15'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0xb3c0('0x16'))(_0xb3c0('0x17'));var utils=require(_0xb3c0('0x18'));var config=require(_0xb3c0('0x19'));var licenseUtil=require('../../config/license/util');var db=require(_0xb3c0('0x1a'))['db'];function respondWithStatusCode(_0x3e533a,_0x5b0ed1){_0x5b0ed1=_0x5b0ed1||0xcc;return function(_0x5d3705){if(_0x5d3705){return _0x3e533a[_0xb3c0('0x1b')](_0x5b0ed1);}return _0x3e533a[_0xb3c0('0x1c')](_0x5b0ed1)[_0xb3c0('0x1d')]();};}function respondWithResult(_0x295cc5,_0x4c9b45){_0x4c9b45=_0x4c9b45||0xc8;return function(_0x134d35){if(_0x134d35){return _0x295cc5['status'](_0x4c9b45)['json'](_0x134d35);}};}function respondWithFilteredResult(_0x31464e,_0x56c20f){return function(_0x29a8ba){if(_0x29a8ba){var _0x1930b6=_0x29a8ba[_0xb3c0('0x1e')],_0x7529d8=_0x56c20f[_0xb3c0('0x1f')],_0x1355d9=_0x56c20f[_0xb3c0('0x1f')]+_0x56c20f[_0xb3c0('0x20')],_0x2ab565;if(_0x1355d9>=_0x1930b6){_0x1355d9=_0x1930b6;_0x2ab565=0xc8;}else{_0x2ab565=0xce;}_0x31464e[_0xb3c0('0x1c')](_0x2ab565);return _0x31464e[_0xb3c0('0x21')]('Content-Range',_0x7529d8+'-'+_0x1355d9+'/'+_0x1930b6)[_0xb3c0('0x22')](_0x29a8ba);}return null;};}function patchUpdates(_0x1f6881){return function(_0x412c46){try{jsonpatch[_0xb3c0('0x23')](_0x412c46,_0x1f6881,!![]);}catch(_0x579ee1){return BPromise[_0xb3c0('0x24')](_0x579ee1);}return _0x412c46[_0xb3c0('0x25')]();};}function saveUpdates(_0x2f66e0,_0x1a275b){return function(_0x208c15){if(_0x208c15){return _0x208c15['update'](_0x2f66e0)['then'](function(_0x3a27dd){return _0x3a27dd;});}return null;};}function removeEntity(_0x268ce4,_0x5c20ba){return function(_0x18af34){if(_0x18af34){return _0x18af34[_0xb3c0('0x26')]()['then'](function(){_0x268ce4[_0xb3c0('0x1c')](0xcc)['end']();});}};}function handleEntityNotFound(_0x2760ee,_0x5188f8){return function(_0x1288c0){if(!_0x1288c0){_0x2760ee[_0xb3c0('0x1b')](0x194);}return _0x1288c0;};}function handleError(_0xda5d1c,_0x367efa){_0x367efa=_0x367efa||0x1f4;return function(_0x501bb8){logger[_0xb3c0('0x27')](_0x501bb8['stack']);if(_0x501bb8[_0xb3c0('0x28')]){delete _0x501bb8[_0xb3c0('0x28')];}_0xda5d1c[_0xb3c0('0x1c')](_0x367efa)[_0xb3c0('0x29')](_0x501bb8);};}exports[_0xb3c0('0x2a')]=function(_0xa5a570,_0x4f9bb0){var _0x280629={},_0x4101c1={},_0x494afe={'count':0x0,'rows':[]};var _0x9cd977=_[_0xb3c0('0x2b')](db[_0xb3c0('0x2c')]['rawAttributes'],function(_0x4ecf6b){return{'name':_0x4ecf6b['fieldName'],'type':_0x4ecf6b[_0xb3c0('0x2d')][_0xb3c0('0x2e')]};});_0x4101c1['model']=_[_0xb3c0('0x2b')](_0x9cd977,_0xb3c0('0x28'));_0x4101c1[_0xb3c0('0x2f')]=_[_0xb3c0('0x30')](_0xa5a570[_0xb3c0('0x2f')]);_0x4101c1[_0xb3c0('0x31')]=_[_0xb3c0('0x32')](_0x4101c1['model'],_0x4101c1[_0xb3c0('0x2f')]);_0x280629[_0xb3c0('0x33')]=_[_0xb3c0('0x32')](_0x4101c1['model'],qs[_0xb3c0('0x34')](_0xa5a570[_0xb3c0('0x2f')][_0xb3c0('0x34')]));_0x280629[_0xb3c0('0x33')]=_0x280629[_0xb3c0('0x33')][_0xb3c0('0x35')]?_0x280629[_0xb3c0('0x33')]:_0x4101c1[_0xb3c0('0x36')];if(!_0xa5a570[_0xb3c0('0x2f')]['hasOwnProperty']('nolimit')){_0x280629[_0xb3c0('0x20')]=qs[_0xb3c0('0x20')](_0xa5a570[_0xb3c0('0x2f')][_0xb3c0('0x20')]);_0x280629[_0xb3c0('0x1f')]=qs[_0xb3c0('0x1f')](_0xa5a570['query'][_0xb3c0('0x1f')]);}_0x280629[_0xb3c0('0x37')]=qs[_0xb3c0('0x38')](_0xa5a570[_0xb3c0('0x2f')][_0xb3c0('0x38')]);_0x280629[_0xb3c0('0x39')]=qs[_0xb3c0('0x31')](_[_0xb3c0('0x3a')](_0xa5a570[_0xb3c0('0x2f')],_0x4101c1['filters']),_0x9cd977);if(_0xa5a570[_0xb3c0('0x2f')][_0xb3c0('0x3b')]){_0x280629['where']=_[_0xb3c0('0x3c')](_0x280629['where'],{'$or':_[_0xb3c0('0x2b')](_0x9cd977,function(_0x4e5e52){if(_0x4e5e52[_0xb3c0('0x2d')]!=='VIRTUAL'){var _0x5244d8={};_0x5244d8[_0x4e5e52[_0xb3c0('0x28')]]={'$like':'%'+_0xa5a570[_0xb3c0('0x2f')][_0xb3c0('0x3b')]+'%'};return _0x5244d8;}})});}_0x280629=_[_0xb3c0('0x3c')]({},_0x280629,_0xa5a570['options']);var _0x5b4056={'where':_0x280629[_0xb3c0('0x39')]};return db['AnalyticFieldReport'][_0xb3c0('0x1e')](_0x5b4056)['then'](function(_0x1277db){_0x494afe[_0xb3c0('0x1e')]=_0x1277db;if(_0xa5a570[_0xb3c0('0x2f')][_0xb3c0('0x3d')]){_0x280629[_0xb3c0('0x3e')]=[{'all':!![]}];}return db[_0xb3c0('0x2c')][_0xb3c0('0x3f')](_0x280629);})[_0xb3c0('0x40')](function(_0x2a0f62){_0x494afe[_0xb3c0('0x41')]=_0x2a0f62;return _0x494afe;})[_0xb3c0('0x40')](respondWithFilteredResult(_0x4f9bb0,_0x280629))[_0xb3c0('0x42')](handleError(_0x4f9bb0,null));};exports[_0xb3c0('0x43')]=function(_0x154786,_0x250444){var _0x59b7eb={'raw':![],'where':{'id':_0x154786[_0xb3c0('0x44')]['id']}},_0x488d18={};_0x488d18[_0xb3c0('0x36')]=_[_0xb3c0('0x30')](db[_0xb3c0('0x2c')]['rawAttributes']);_0x488d18[_0xb3c0('0x2f')]=_[_0xb3c0('0x30')](_0x154786[_0xb3c0('0x2f')]);_0x488d18[_0xb3c0('0x31')]=_['intersection'](_0x488d18[_0xb3c0('0x36')],_0x488d18[_0xb3c0('0x2f')]);_0x59b7eb[_0xb3c0('0x33')]=_[_0xb3c0('0x32')](_0x488d18[_0xb3c0('0x36')],qs['fields'](_0x154786[_0xb3c0('0x2f')][_0xb3c0('0x34')]));_0x59b7eb[_0xb3c0('0x33')]=_0x59b7eb['attributes'][_0xb3c0('0x35')]?_0x59b7eb[_0xb3c0('0x33')]:_0x488d18[_0xb3c0('0x36')];if(_0x154786[_0xb3c0('0x2f')]['includeAll']){_0x59b7eb['include']=[{'all':!![]}];}_0x59b7eb=_['merge']({},_0x59b7eb,_0x154786[_0xb3c0('0x45')]);return db[_0xb3c0('0x2c')]['find'](_0x59b7eb)[_0xb3c0('0x40')](handleEntityNotFound(_0x250444,null))[_0xb3c0('0x40')](respondWithResult(_0x250444,null))[_0xb3c0('0x42')](handleError(_0x250444,null));};exports['create']=function(_0xeb46be,_0x181ec){return db[_0xb3c0('0x2c')][_0xb3c0('0x46')](_0xeb46be[_0xb3c0('0x47')],{})[_0xb3c0('0x40')](respondWithResult(_0x181ec,0xc9))[_0xb3c0('0x42')](handleError(_0x181ec,null));};exports[_0xb3c0('0x48')]=function(_0x1c1891,_0x31fd52){return db['AnalyticFieldReport'][_0xb3c0('0x48')](_0x1c1891[_0xb3c0('0x47')],{'raw':![],'individualHooks':!![]})[_0xb3c0('0x40')](respondWithResult(_0x31fd52,0xc9))[_0xb3c0('0x42')](handleError(_0x31fd52,null));};exports[_0xb3c0('0x49')]=function(_0x137b02,_0x158073){if(_0x137b02[_0xb3c0('0x47')]['id']){delete _0x137b02[_0xb3c0('0x47')]['id'];}return db['AnalyticFieldReport']['find']({'where':{'id':_0x137b02[_0xb3c0('0x44')]['id']}})[_0xb3c0('0x40')](handleEntityNotFound(_0x158073,null))[_0xb3c0('0x40')](saveUpdates(_0x137b02['body'],null))['then'](respondWithResult(_0x158073,null))[_0xb3c0('0x42')](handleError(_0x158073,null));};exports[_0xb3c0('0x26')]=function(_0x1bbeb3,_0x36af68){return db['AnalyticFieldReport'][_0xb3c0('0x4a')]({'where':{'id':_0x1bbeb3['params']['id']}})[_0xb3c0('0x40')](handleEntityNotFound(_0x36af68,null))[_0xb3c0('0x40')](removeEntity(_0x36af68,null))[_0xb3c0('0x42')](handleError(_0x36af68,null));};exports[_0xb3c0('0x4b')]=function(_0x3a87a6,_0xd35b15){return db[_0xb3c0('0x2c')][_0xb3c0('0x26')]({'where':{'id':_0x3a87a6['query'][_0xb3c0('0x4c')]||[]},'raw':![],'individualHooks':!![]})['then'](respondWithResult(_0xd35b15,0xcc))['catch'](handleError(_0xd35b15,null));};exports[_0xb3c0('0x4d')]=function(_0x17f16f,_0x56c63e,_0x4ca606){return db[_0xb3c0('0x4e')][_0xb3c0('0x4f')]({'where':{'id':_0x17f16f['params']['id']}})[_0xb3c0('0x40')](handleEntityNotFound(_0x56c63e,null))[_0xb3c0('0x40')](function(_0x29b1c3){if(_0x29b1c3){return db[_0xb3c0('0x50')][_0xb3c0('0x51')](function(_0x4e2319){return db[_0xb3c0('0x2c')][_0xb3c0('0x26')]({'where':{'CustomReportId':_0x17f16f['params']['id']},'transaction':_0x4e2319})[_0xb3c0('0x40')](function(_0x435030){var _0x547b61=_['map'](_0x17f16f[_0xb3c0('0x47')],function(_0x2e963f){delete _0x2e963f['id'];_0x2e963f[_0xb3c0('0x52')]=_0x17f16f[_0xb3c0('0x44')]['id'];return _0x2e963f;});return db[_0xb3c0('0x2c')][_0xb3c0('0x48')](_0x547b61,{'transaction':_0x4e2319});});})[_0xb3c0('0x40')](function(){return db[_0xb3c0('0x2c')][_0xb3c0('0x3f')]({'where':{'CustomReportId':_0x17f16f[_0xb3c0('0x44')]['id']}});});}})[_0xb3c0('0x40')](respondWithResult(_0x56c63e,null))['catch'](handleError(_0x56c63e,null));};