Built motion from commit b5a10faa.|2.6.13
[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 _0x5e71=['jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','../../mysqldb','sendStatus','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','then','status','error','stack','name','send','map','AnalyticFieldReport','rawAttributes','fieldName','type','key','model','query','keys','filters','attributes','fields','length','hasOwnProperty','order','sort','pick','filter','where','merge','includeAll','include','rows','show','params','intersection','options','find','catch','create','body','bulkCreate','update','destroy','bulkDestroy','addFields','AnalyticCustomReport','sequelize','findAll','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','to-csv','squel','crypto'];(function(_0x1cee4b,_0x3a9da0){var _0x4f148c=function(_0x35f68a){while(--_0x35f68a){_0x1cee4b['push'](_0x1cee4b['shift']());}};_0x4f148c(++_0x3a9da0);}(_0x5e71,0x189));var _0x15e7=function(_0x2ef006,_0x355a13){_0x2ef006=_0x2ef006-0x0;var _0x50930b=_0x5e71[_0x2ef006];return _0x50930b;};'use strict';var emlformat=require(_0x15e7('0x0'));var rimraf=require(_0x15e7('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x15e7('0x2'));var rp=require(_0x15e7('0x3'));var moment=require(_0x15e7('0x4'));var BPromise=require(_0x15e7('0x5'));var Mustache=require(_0x15e7('0x6'));var util=require(_0x15e7('0x7'));var path=require(_0x15e7('0x8'));var sox=require('sox');var csv=require(_0x15e7('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x15e7('0xa'));var crypto=require(_0x15e7('0xb'));var jsforce=require(_0x15e7('0xc'));var deskjs=require(_0x15e7('0xd'));var toCsv=require(_0x15e7('0x9'));var querystring=require(_0x15e7('0xe'));var Papa=require(_0x15e7('0xf'));var Redis=require(_0x15e7('0x10'));var authService=require(_0x15e7('0x11'));var qs=require(_0x15e7('0x12'));var as=require(_0x15e7('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x15e7('0x14'))(_0x15e7('0x15'));var utils=require('../../config/utils');var config=require(_0x15e7('0x16'));var licenseUtil=require('../../config/license/util');var db=require(_0x15e7('0x17'))['db'];function respondWithStatusCode(_0x512015,_0x538d6e){_0x538d6e=_0x538d6e||0xcc;return function(_0x24e16){if(_0x24e16){return _0x512015[_0x15e7('0x18')](_0x538d6e);}return _0x512015['status'](_0x538d6e)[_0x15e7('0x19')]();};}function respondWithResult(_0x2c799e,_0x43ac84){_0x43ac84=_0x43ac84||0xc8;return function(_0xe15254){if(_0xe15254){return _0x2c799e['status'](_0x43ac84)[_0x15e7('0x1a')](_0xe15254);}};}function respondWithFilteredResult(_0x376114,_0x2991d0){return function(_0x514f8f){if(_0x514f8f){var _0x54df75=typeof _0x2991d0[_0x15e7('0x1b')]===_0x15e7('0x1c')&&typeof _0x2991d0[_0x15e7('0x1d')]==='undefined';var _0x52c52a=_0x514f8f[_0x15e7('0x1e')];var _0x5b17ce=_0x54df75?0x0:_0x2991d0[_0x15e7('0x1b')];var _0x20ee00=_0x54df75?_0x514f8f['count']:_0x2991d0[_0x15e7('0x1b')]+_0x2991d0['limit'];var _0x5bd34a;if(_0x20ee00>=_0x52c52a){_0x20ee00=_0x52c52a;_0x5bd34a=0xc8;}else{_0x5bd34a=0xce;}_0x376114['status'](_0x5bd34a);return _0x376114[_0x15e7('0x1f')](_0x15e7('0x20'),_0x5b17ce+'-'+_0x20ee00+'/'+_0x52c52a)[_0x15e7('0x1a')](_0x514f8f);}return null;};}function patchUpdates(_0x5dee75){return function(_0x38f89b){try{jsonpatch[_0x15e7('0x21')](_0x38f89b,_0x5dee75,!![]);}catch(_0x27bad9){return BPromise[_0x15e7('0x22')](_0x27bad9);}return _0x38f89b[_0x15e7('0x23')]();};}function saveUpdates(_0x11686f,_0x499fcf){return function(_0x331ab1){if(_0x331ab1){return _0x331ab1['update'](_0x11686f)[_0x15e7('0x24')](function(_0x598a13){return _0x598a13;});}return null;};}function removeEntity(_0x3a1ce8,_0x3840ac){return function(_0x50239f){if(_0x50239f){return _0x50239f['destroy']()[_0x15e7('0x24')](function(){_0x3a1ce8[_0x15e7('0x25')](0xcc)[_0x15e7('0x19')]();});}};}function handleEntityNotFound(_0x44e46d,_0x3600ea){return function(_0x2bfaeb){if(!_0x2bfaeb){_0x44e46d['sendStatus'](0x194);}return _0x2bfaeb;};}function handleError(_0x31303a,_0xf360db){_0xf360db=_0xf360db||0x1f4;return function(_0x7123f0){logger[_0x15e7('0x26')](_0x7123f0[_0x15e7('0x27')]);if(_0x7123f0[_0x15e7('0x28')]){delete _0x7123f0[_0x15e7('0x28')];}_0x31303a['status'](_0xf360db)[_0x15e7('0x29')](_0x7123f0);};}exports['index']=function(_0x4885b2,_0x37bca9){var _0x256381={},_0x29e89f={},_0x5c4a83={'count':0x0,'rows':[]};var _0x171eaa=_[_0x15e7('0x2a')](db[_0x15e7('0x2b')][_0x15e7('0x2c')],function(_0x1d4ee6){return{'name':_0x1d4ee6[_0x15e7('0x2d')],'type':_0x1d4ee6[_0x15e7('0x2e')][_0x15e7('0x2f')]};});_0x29e89f[_0x15e7('0x30')]=_[_0x15e7('0x2a')](_0x171eaa,'name');_0x29e89f[_0x15e7('0x31')]=_[_0x15e7('0x32')](_0x4885b2[_0x15e7('0x31')]);_0x29e89f[_0x15e7('0x33')]=_['intersection'](_0x29e89f[_0x15e7('0x30')],_0x29e89f['query']);_0x256381[_0x15e7('0x34')]=_['intersection'](_0x29e89f['model'],qs[_0x15e7('0x35')](_0x4885b2[_0x15e7('0x31')]['fields']));_0x256381[_0x15e7('0x34')]=_0x256381['attributes'][_0x15e7('0x36')]?_0x256381['attributes']:_0x29e89f['model'];if(!_0x4885b2[_0x15e7('0x31')][_0x15e7('0x37')]('nolimit')){_0x256381[_0x15e7('0x1d')]=qs[_0x15e7('0x1d')](_0x4885b2[_0x15e7('0x31')]['limit']);_0x256381['offset']=qs[_0x15e7('0x1b')](_0x4885b2[_0x15e7('0x31')][_0x15e7('0x1b')]);}_0x256381[_0x15e7('0x38')]=qs[_0x15e7('0x39')](_0x4885b2[_0x15e7('0x31')][_0x15e7('0x39')]);_0x256381['where']=qs['filters'](_[_0x15e7('0x3a')](_0x4885b2['query'],_0x29e89f['filters']),_0x171eaa);if(_0x4885b2[_0x15e7('0x31')][_0x15e7('0x3b')]){_0x256381[_0x15e7('0x3c')]=_[_0x15e7('0x3d')](_0x256381['where'],{'$or':_[_0x15e7('0x2a')](_0x171eaa,function(_0x2412be){if(_0x2412be['type']!=='VIRTUAL'){var _0x25928c={};_0x25928c[_0x2412be[_0x15e7('0x28')]]={'$like':'%'+_0x4885b2[_0x15e7('0x31')]['filter']+'%'};return _0x25928c;}})});}_0x256381=_[_0x15e7('0x3d')]({},_0x256381,_0x4885b2['options']);var _0x5f1737={'where':_0x256381[_0x15e7('0x3c')]};return db[_0x15e7('0x2b')][_0x15e7('0x1e')](_0x5f1737)[_0x15e7('0x24')](function(_0x1f181c){_0x5c4a83[_0x15e7('0x1e')]=_0x1f181c;if(_0x4885b2[_0x15e7('0x31')][_0x15e7('0x3e')]){_0x256381[_0x15e7('0x3f')]=[{'all':!![]}];}return db[_0x15e7('0x2b')]['findAll'](_0x256381);})['then'](function(_0x7b9665){_0x5c4a83[_0x15e7('0x40')]=_0x7b9665;return _0x5c4a83;})[_0x15e7('0x24')](respondWithFilteredResult(_0x37bca9,_0x256381))['catch'](handleError(_0x37bca9,null));};exports[_0x15e7('0x41')]=function(_0x227831,_0x594a73){var _0xdb4ecd={'raw':![],'where':{'id':_0x227831[_0x15e7('0x42')]['id']}},_0x56ebe8={};_0x56ebe8[_0x15e7('0x30')]=_[_0x15e7('0x32')](db[_0x15e7('0x2b')][_0x15e7('0x2c')]);_0x56ebe8[_0x15e7('0x31')]=_[_0x15e7('0x32')](_0x227831['query']);_0x56ebe8[_0x15e7('0x33')]=_[_0x15e7('0x43')](_0x56ebe8['model'],_0x56ebe8[_0x15e7('0x31')]);_0xdb4ecd[_0x15e7('0x34')]=_['intersection'](_0x56ebe8[_0x15e7('0x30')],qs[_0x15e7('0x35')](_0x227831[_0x15e7('0x31')][_0x15e7('0x35')]));_0xdb4ecd[_0x15e7('0x34')]=_0xdb4ecd['attributes'][_0x15e7('0x36')]?_0xdb4ecd[_0x15e7('0x34')]:_0x56ebe8[_0x15e7('0x30')];if(_0x227831[_0x15e7('0x31')]['includeAll']){_0xdb4ecd[_0x15e7('0x3f')]=[{'all':!![]}];}_0xdb4ecd=_[_0x15e7('0x3d')]({},_0xdb4ecd,_0x227831[_0x15e7('0x44')]);return db[_0x15e7('0x2b')][_0x15e7('0x45')](_0xdb4ecd)[_0x15e7('0x24')](handleEntityNotFound(_0x594a73,null))[_0x15e7('0x24')](respondWithResult(_0x594a73,null))[_0x15e7('0x46')](handleError(_0x594a73,null));};exports['create']=function(_0x587ccc,_0x5a7aa4){return db[_0x15e7('0x2b')][_0x15e7('0x47')](_0x587ccc[_0x15e7('0x48')],{})['then'](respondWithResult(_0x5a7aa4,0xc9))[_0x15e7('0x46')](handleError(_0x5a7aa4,null));};exports[_0x15e7('0x49')]=function(_0x2f68ec,_0x29ea79){return db['AnalyticFieldReport'][_0x15e7('0x49')](_0x2f68ec['body'],{'raw':![],'individualHooks':!![]})[_0x15e7('0x24')](respondWithResult(_0x29ea79,0xc9))[_0x15e7('0x46')](handleError(_0x29ea79,null));};exports[_0x15e7('0x4a')]=function(_0x23be1f,_0x5705dd){if(_0x23be1f[_0x15e7('0x48')]['id']){delete _0x23be1f[_0x15e7('0x48')]['id'];}return db['AnalyticFieldReport']['find']({'where':{'id':_0x23be1f['params']['id']}})[_0x15e7('0x24')](handleEntityNotFound(_0x5705dd,null))[_0x15e7('0x24')](saveUpdates(_0x23be1f[_0x15e7('0x48')],null))[_0x15e7('0x24')](respondWithResult(_0x5705dd,null))[_0x15e7('0x46')](handleError(_0x5705dd,null));};exports[_0x15e7('0x4b')]=function(_0x2a5015,_0x1d80e7){return db[_0x15e7('0x2b')][_0x15e7('0x45')]({'where':{'id':_0x2a5015[_0x15e7('0x42')]['id']}})[_0x15e7('0x24')](handleEntityNotFound(_0x1d80e7,null))['then'](removeEntity(_0x1d80e7,null))['catch'](handleError(_0x1d80e7,null));};exports[_0x15e7('0x4c')]=function(_0x5424fe,_0x55c8df){return db[_0x15e7('0x2b')][_0x15e7('0x4b')]({'where':{'id':_0x5424fe[_0x15e7('0x31')]['ids']||[]},'raw':![],'individualHooks':!![]})[_0x15e7('0x24')](respondWithResult(_0x55c8df,0xcc))[_0x15e7('0x46')](handleError(_0x55c8df,null));};exports[_0x15e7('0x4d')]=function(_0x148549,_0x12c9ee,_0xe0de8c){return db[_0x15e7('0x4e')]['findOne']({'where':{'id':_0x148549[_0x15e7('0x42')]['id']}})[_0x15e7('0x24')](handleEntityNotFound(_0x12c9ee,null))[_0x15e7('0x24')](function(_0x140288){if(_0x140288){return db[_0x15e7('0x4f')]['transaction'](function(_0x4d636b){return db[_0x15e7('0x2b')]['destroy']({'where':{'CustomReportId':_0x148549[_0x15e7('0x42')]['id']},'transaction':_0x4d636b})[_0x15e7('0x24')](function(_0x55beb7){var _0x431576=_['map'](_0x148549['body'],function(_0x175b55){delete _0x175b55['id'];_0x175b55['CustomReportId']=_0x148549[_0x15e7('0x42')]['id'];return _0x175b55;});return db['AnalyticFieldReport'][_0x15e7('0x49')](_0x431576,{'transaction':_0x4d636b});});})[_0x15e7('0x24')](function(){return db['AnalyticFieldReport'][_0x15e7('0x50')]({'where':{'CustomReportId':_0x148549['params']['id']}});});}})[_0x15e7('0x24')](respondWithResult(_0x12c9ee,null))['catch'](handleError(_0x12c9ee,null));};