Built motion from commit (unavailable).|2.5.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 _0xa00f=['VIRTUAL','options','includeAll','include','rows','catch','show','params','fields','find','create','body','ids','AnalyticCustomReport','sequelize','CustomReportId','bulkCreate','findAll','html-pdf','rimraf','zip-dir','request-promise','bluebird','mustache','util','path','sox','ejs','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','save','update','then','destroy','error','name','send','index','AnalyticFieldReport','rawAttributes','fieldName','key','model','map','keys','query','filters','intersection','attributes','length','sort','where','pick','filter','merge','type'];(function(_0x4154a6,_0x2c0b8e){var _0x3b2786=function(_0x2f5936){while(--_0x2f5936){_0x4154a6['push'](_0x4154a6['shift']());}};_0x3b2786(++_0x2c0b8e);}(_0xa00f,0x1ec));var _0xfa00=function(_0x311305,_0x43626e){_0x311305=_0x311305-0x0;var _0x4e8db0=_0xa00f[_0x311305];return _0x4e8db0;};'use strict';var pdf=require(_0xfa00('0x0'));var emlformat=require('eml-format');var rimraf=require(_0xfa00('0x1'));var zipdir=require(_0xfa00('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xfa00('0x3'));var moment=require('moment');var BPromise=require(_0xfa00('0x4'));var Mustache=require(_0xfa00('0x5'));var util=require(_0xfa00('0x6'));var path=require(_0xfa00('0x7'));var sox=require(_0xfa00('0x8'));var csv=require('to-csv');var ejs=require(_0xfa00('0x9'));var fs=require('fs');var _=require(_0xfa00('0xa'));var squel=require(_0xfa00('0xb'));var crypto=require(_0xfa00('0xc'));var jsforce=require(_0xfa00('0xd'));var deskjs=require(_0xfa00('0xe'));var toCsv=require(_0xfa00('0xf'));var querystring=require(_0xfa00('0x10'));var Papa=require(_0xfa00('0x11'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0xfa00('0x12'));var as=require(_0xfa00('0x13'));var hardwareService=require(_0xfa00('0x14'));var logger=require(_0xfa00('0x15'))(_0xfa00('0x16'));var utils=require('../../config/utils');var config=require(_0xfa00('0x17'));var licenseUtil=require(_0xfa00('0x18'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x47d5a1,_0x451ed1){_0x451ed1=_0x451ed1||0xcc;return function(_0x5ede69){if(_0x5ede69){return _0x47d5a1[_0xfa00('0x19')](_0x451ed1);}return _0x47d5a1[_0xfa00('0x1a')](_0x451ed1)[_0xfa00('0x1b')]();};}function respondWithResult(_0x58058c,_0x394b51){_0x394b51=_0x394b51||0xc8;return function(_0x307114){if(_0x307114){return _0x58058c[_0xfa00('0x1a')](_0x394b51)[_0xfa00('0x1c')](_0x307114);}};}function respondWithFilteredResult(_0x5bcc78,_0x247e08){return function(_0x5ad8f0){if(_0x5ad8f0){var _0xf740a=_0x5ad8f0[_0xfa00('0x1d')],_0x37f67b=_0x247e08[_0xfa00('0x1e')],_0x4b0294=_0x247e08[_0xfa00('0x1e')]+_0x247e08[_0xfa00('0x1f')],_0x5715e2;if(_0x4b0294>=_0xf740a){_0x4b0294=_0xf740a;_0x5715e2=0xc8;}else{_0x5715e2=0xce;}_0x5bcc78[_0xfa00('0x1a')](_0x5715e2);return _0x5bcc78[_0xfa00('0x20')](_0xfa00('0x21'),_0x37f67b+'-'+_0x4b0294+'/'+_0xf740a)[_0xfa00('0x1c')](_0x5ad8f0);}return null;};}function patchUpdates(_0x299296){return function(_0x3553e9){try{jsonpatch[_0xfa00('0x22')](_0x3553e9,_0x299296,!![]);}catch(_0x3d5f08){return BPromise['reject'](_0x3d5f08);}return _0x3553e9[_0xfa00('0x23')]();};}function saveUpdates(_0x5ae6be,_0x2b247b){return function(_0x593bab){if(_0x593bab){return _0x593bab[_0xfa00('0x24')](_0x5ae6be)[_0xfa00('0x25')](function(_0x45e701){return _0x45e701;});}return null;};}function removeEntity(_0x1ebc73,_0x2a16d3){return function(_0xc13e86){if(_0xc13e86){return _0xc13e86[_0xfa00('0x26')]()['then'](function(){_0x1ebc73[_0xfa00('0x1a')](0xcc)[_0xfa00('0x1b')]();});}};}function handleEntityNotFound(_0x2a4668,_0x2f4c24){return function(_0x2aca8f){if(!_0x2aca8f){_0x2a4668[_0xfa00('0x19')](0x194);}return _0x2aca8f;};}function handleError(_0x18725e,_0x30a729){_0x30a729=_0x30a729||0x1f4;return function(_0x473a92){logger[_0xfa00('0x27')](_0x473a92['stack']);if(_0x473a92['name']){delete _0x473a92[_0xfa00('0x28')];}_0x18725e[_0xfa00('0x1a')](_0x30a729)[_0xfa00('0x29')](_0x473a92);};}exports[_0xfa00('0x2a')]=function(_0x523532,_0x4ccc02){var _0x5edf38={},_0x263b80={},_0x103887={'count':0x0,'rows':[]};var _0x18261c=_['map'](db[_0xfa00('0x2b')][_0xfa00('0x2c')],function(_0x5ba504){return{'name':_0x5ba504[_0xfa00('0x2d')],'type':_0x5ba504['type'][_0xfa00('0x2e')]};});_0x263b80[_0xfa00('0x2f')]=_[_0xfa00('0x30')](_0x18261c,_0xfa00('0x28'));_0x263b80['query']=_[_0xfa00('0x31')](_0x523532[_0xfa00('0x32')]);_0x263b80[_0xfa00('0x33')]=_[_0xfa00('0x34')](_0x263b80[_0xfa00('0x2f')],_0x263b80[_0xfa00('0x32')]);_0x5edf38[_0xfa00('0x35')]=_['intersection'](_0x263b80[_0xfa00('0x2f')],qs['fields'](_0x523532[_0xfa00('0x32')]['fields']));_0x5edf38[_0xfa00('0x35')]=_0x5edf38['attributes'][_0xfa00('0x36')]?_0x5edf38[_0xfa00('0x35')]:_0x263b80['model'];if(!_0x523532['query']['hasOwnProperty']('nolimit')){_0x5edf38[_0xfa00('0x1f')]=qs[_0xfa00('0x1f')](_0x523532[_0xfa00('0x32')]['limit']);_0x5edf38[_0xfa00('0x1e')]=qs[_0xfa00('0x1e')](_0x523532[_0xfa00('0x32')]['offset']);}_0x5edf38['order']=qs[_0xfa00('0x37')](_0x523532['query'][_0xfa00('0x37')]);_0x5edf38[_0xfa00('0x38')]=qs[_0xfa00('0x33')](_[_0xfa00('0x39')](_0x523532[_0xfa00('0x32')],_0x263b80[_0xfa00('0x33')]),_0x18261c);if(_0x523532[_0xfa00('0x32')][_0xfa00('0x3a')]){_0x5edf38[_0xfa00('0x38')]=_[_0xfa00('0x3b')](_0x5edf38[_0xfa00('0x38')],{'$or':_[_0xfa00('0x30')](_0x18261c,function(_0x3a2fd1){if(_0x3a2fd1[_0xfa00('0x3c')]!==_0xfa00('0x3d')){var _0x2045aa={};_0x2045aa[_0x3a2fd1['name']]={'$like':'%'+_0x523532['query'][_0xfa00('0x3a')]+'%'};return _0x2045aa;}})});}_0x5edf38=_[_0xfa00('0x3b')]({},_0x5edf38,_0x523532[_0xfa00('0x3e')]);var _0x5d7136={'where':_0x5edf38['where']};return db[_0xfa00('0x2b')][_0xfa00('0x1d')](_0x5d7136)[_0xfa00('0x25')](function(_0x4d7a95){_0x103887[_0xfa00('0x1d')]=_0x4d7a95;if(_0x523532[_0xfa00('0x32')][_0xfa00('0x3f')]){_0x5edf38[_0xfa00('0x40')]=[{'all':!![]}];}return db[_0xfa00('0x2b')]['findAll'](_0x5edf38);})[_0xfa00('0x25')](function(_0x2a552e){_0x103887[_0xfa00('0x41')]=_0x2a552e;return _0x103887;})[_0xfa00('0x25')](respondWithFilteredResult(_0x4ccc02,_0x5edf38))[_0xfa00('0x42')](handleError(_0x4ccc02,null));};exports[_0xfa00('0x43')]=function(_0x3e01d4,_0x79476a){var _0xd16f65={'raw':![],'where':{'id':_0x3e01d4[_0xfa00('0x44')]['id']}},_0x3fb2ba={};_0x3fb2ba['model']=_[_0xfa00('0x31')](db[_0xfa00('0x2b')][_0xfa00('0x2c')]);_0x3fb2ba['query']=_[_0xfa00('0x31')](_0x3e01d4[_0xfa00('0x32')]);_0x3fb2ba[_0xfa00('0x33')]=_[_0xfa00('0x34')](_0x3fb2ba[_0xfa00('0x2f')],_0x3fb2ba['query']);_0xd16f65[_0xfa00('0x35')]=_[_0xfa00('0x34')](_0x3fb2ba[_0xfa00('0x2f')],qs[_0xfa00('0x45')](_0x3e01d4[_0xfa00('0x32')][_0xfa00('0x45')]));_0xd16f65[_0xfa00('0x35')]=_0xd16f65['attributes']['length']?_0xd16f65[_0xfa00('0x35')]:_0x3fb2ba[_0xfa00('0x2f')];if(_0x3e01d4[_0xfa00('0x32')][_0xfa00('0x3f')]){_0xd16f65[_0xfa00('0x40')]=[{'all':!![]}];}_0xd16f65=_[_0xfa00('0x3b')]({},_0xd16f65,_0x3e01d4[_0xfa00('0x3e')]);return db[_0xfa00('0x2b')][_0xfa00('0x46')](_0xd16f65)['then'](handleEntityNotFound(_0x79476a,null))[_0xfa00('0x25')](respondWithResult(_0x79476a,null))[_0xfa00('0x42')](handleError(_0x79476a,null));};exports[_0xfa00('0x47')]=function(_0x5a6363,_0x528143){return db[_0xfa00('0x2b')]['create'](_0x5a6363[_0xfa00('0x48')],{})[_0xfa00('0x25')](respondWithResult(_0x528143,0xc9))[_0xfa00('0x42')](handleError(_0x528143,null));};exports['bulkCreate']=function(_0x32ff4a,_0x4f7426){return db[_0xfa00('0x2b')]['bulkCreate'](_0x32ff4a['body'],{'raw':![],'individualHooks':!![]})[_0xfa00('0x25')](respondWithResult(_0x4f7426,0xc9))[_0xfa00('0x42')](handleError(_0x4f7426,null));};exports[_0xfa00('0x24')]=function(_0x3069a9,_0x491412){if(_0x3069a9[_0xfa00('0x48')]['id']){delete _0x3069a9[_0xfa00('0x48')]['id'];}return db[_0xfa00('0x2b')][_0xfa00('0x46')]({'where':{'id':_0x3069a9[_0xfa00('0x44')]['id']}})[_0xfa00('0x25')](handleEntityNotFound(_0x491412,null))[_0xfa00('0x25')](saveUpdates(_0x3069a9[_0xfa00('0x48')],null))['then'](respondWithResult(_0x491412,null))['catch'](handleError(_0x491412,null));};exports[_0xfa00('0x26')]=function(_0x3df0aa,_0x342226){return db[_0xfa00('0x2b')]['find']({'where':{'id':_0x3df0aa[_0xfa00('0x44')]['id']}})[_0xfa00('0x25')](handleEntityNotFound(_0x342226,null))['then'](removeEntity(_0x342226,null))[_0xfa00('0x42')](handleError(_0x342226,null));};exports['bulkDestroy']=function(_0x4d49ed,_0x29715e){return db[_0xfa00('0x2b')]['destroy']({'where':{'id':_0x4d49ed['query'][_0xfa00('0x49')]||[]},'raw':![],'individualHooks':!![]})[_0xfa00('0x25')](respondWithResult(_0x29715e,0xcc))['catch'](handleError(_0x29715e,null));};exports['addFields']=function(_0x834274,_0x1bed47,_0x1f9968){return db[_0xfa00('0x4a')]['findOne']({'where':{'id':_0x834274[_0xfa00('0x44')]['id']}})[_0xfa00('0x25')](handleEntityNotFound(_0x1bed47,null))[_0xfa00('0x25')](function(_0x36f9e1){if(_0x36f9e1){return db[_0xfa00('0x4b')]['transaction'](function(_0x5588a1){return db[_0xfa00('0x2b')][_0xfa00('0x26')]({'where':{'CustomReportId':_0x834274['params']['id']},'transaction':_0x5588a1})['then'](function(_0x2fa7e5){var _0x1b3abd=_['map'](_0x834274[_0xfa00('0x48')],function(_0x4292be){delete _0x4292be['id'];_0x4292be[_0xfa00('0x4c')]=_0x834274[_0xfa00('0x44')]['id'];return _0x4292be;});return db[_0xfa00('0x2b')][_0xfa00('0x4d')](_0x1b3abd,{'transaction':_0x5588a1});});})['then'](function(){return db[_0xfa00('0x2b')][_0xfa00('0x4e')]({'where':{'CustomReportId':_0x834274[_0xfa00('0x44')]['id']}});});}})[_0xfa00('0x25')](respondWithResult(_0x1bed47,null))[_0xfa00('0x42')](handleError(_0x1bed47,null));};