bcbba228e128cef5eed6a36ee40acef5541d9c4a
[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 _0x54c7=['length','hasOwnProperty','nolimit','offset','order','sort','where','filters','pick','merge','VIRTUAL','filter','options','include','findAll','rows','params','includeAll','find','create','body','bulkCreate','catch','bulkDestroy','addFields','AnalyticCustomReport','sequelize','transaction','CustomReportId','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','sox','to-csv','fs-extra','lodash','squel','jsforce','desk.js','querystring','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','undefined','count','limit','set','Content-Range','apply','reject','save','update','then','destroy','sendStatus','error','stack','name','send','index','map','AnalyticFieldReport','fieldName','type','model','query','keys','intersection','attributes','fields'];(function(_0x267368,_0x50fc5c){var _0x5b90dd=function(_0x5c59fe){while(--_0x5c59fe){_0x267368['push'](_0x267368['shift']());}};_0x5b90dd(++_0x50fc5c);}(_0x54c7,0x161));var _0x754c=function(_0x1f6ca7,_0x363250){_0x1f6ca7=_0x1f6ca7-0x0;var _0x25301a=_0x54c7[_0x1f6ca7];return _0x25301a;};'use strict';var emlformat=require(_0x754c('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x754c('0x1'));var jsonpatch=require(_0x754c('0x2'));var rp=require(_0x754c('0x3'));var moment=require(_0x754c('0x4'));var BPromise=require(_0x754c('0x5'));var Mustache=require('mustache');var util=require('util');var path=require('path');var sox=require(_0x754c('0x6'));var csv=require(_0x754c('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x754c('0x8'));var _=require(_0x754c('0x9'));var squel=require(_0x754c('0xa'));var crypto=require('crypto');var jsforce=require(_0x754c('0xb'));var deskjs=require(_0x754c('0xc'));var toCsv=require(_0x754c('0x7'));var querystring=require(_0x754c('0xd'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x754c('0xe'));var qs=require('../../components/parsers/qs');var as=require(_0x754c('0xf'));var hardwareService=require(_0x754c('0x10'));var logger=require(_0x754c('0x11'))(_0x754c('0x12'));var utils=require('../../config/utils');var config=require(_0x754c('0x13'));var licenseUtil=require(_0x754c('0x14'));var db=require(_0x754c('0x15'))['db'];function respondWithStatusCode(_0x45be58,_0x40cf4e){_0x40cf4e=_0x40cf4e||0xcc;return function(_0x2db2ad){if(_0x2db2ad){return _0x45be58['sendStatus'](_0x40cf4e);}return _0x45be58[_0x754c('0x16')](_0x40cf4e)[_0x754c('0x17')]();};}function respondWithResult(_0x42b753,_0x2bffd4){_0x2bffd4=_0x2bffd4||0xc8;return function(_0x155405){if(_0x155405){return _0x42b753[_0x754c('0x16')](_0x2bffd4)[_0x754c('0x18')](_0x155405);}};}function respondWithFilteredResult(_0x3bfcb4,_0x149944){return function(_0x5247c0){if(_0x5247c0){var _0xe46e48=typeof _0x149944['offset']===_0x754c('0x19')&&typeof _0x149944['limit']==='undefined';var _0x5ac811=_0x5247c0['count'];var _0x10e0eb=_0xe46e48?0x0:_0x149944['offset'];var _0x17e63d=_0xe46e48?_0x5247c0[_0x754c('0x1a')]:_0x149944['offset']+_0x149944[_0x754c('0x1b')];var _0x84c0de;if(_0x17e63d>=_0x5ac811){_0x17e63d=_0x5ac811;_0x84c0de=0xc8;}else{_0x84c0de=0xce;}_0x3bfcb4[_0x754c('0x16')](_0x84c0de);return _0x3bfcb4[_0x754c('0x1c')](_0x754c('0x1d'),_0x10e0eb+'-'+_0x17e63d+'/'+_0x5ac811)[_0x754c('0x18')](_0x5247c0);}return null;};}function patchUpdates(_0x1ff2cd){return function(_0x54b4cf){try{jsonpatch[_0x754c('0x1e')](_0x54b4cf,_0x1ff2cd,!![]);}catch(_0x11203b){return BPromise[_0x754c('0x1f')](_0x11203b);}return _0x54b4cf[_0x754c('0x20')]();};}function saveUpdates(_0x727d4d,_0x4bf0bc){return function(_0x3f9e4f){if(_0x3f9e4f){return _0x3f9e4f[_0x754c('0x21')](_0x727d4d)[_0x754c('0x22')](function(_0x12f56b){return _0x12f56b;});}return null;};}function removeEntity(_0x371852,_0x21ef92){return function(_0x2c0c41){if(_0x2c0c41){return _0x2c0c41[_0x754c('0x23')]()[_0x754c('0x22')](function(){_0x371852[_0x754c('0x16')](0xcc)[_0x754c('0x17')]();});}};}function handleEntityNotFound(_0x5148a6,_0x2a5823){return function(_0x484fe6){if(!_0x484fe6){_0x5148a6[_0x754c('0x24')](0x194);}return _0x484fe6;};}function handleError(_0x7cff6f,_0x59fb9e){_0x59fb9e=_0x59fb9e||0x1f4;return function(_0x27d2a4){logger[_0x754c('0x25')](_0x27d2a4[_0x754c('0x26')]);if(_0x27d2a4[_0x754c('0x27')]){delete _0x27d2a4['name'];}_0x7cff6f[_0x754c('0x16')](_0x59fb9e)[_0x754c('0x28')](_0x27d2a4);};}exports[_0x754c('0x29')]=function(_0x60c280,_0x3680e2){var _0x524c2c={},_0x5185cb={},_0x1f507d={'count':0x0,'rows':[]};var _0x2abe6f=_[_0x754c('0x2a')](db[_0x754c('0x2b')]['rawAttributes'],function(_0x1e5582){return{'name':_0x1e5582[_0x754c('0x2c')],'type':_0x1e5582[_0x754c('0x2d')]['key']};});_0x5185cb[_0x754c('0x2e')]=_[_0x754c('0x2a')](_0x2abe6f,_0x754c('0x27'));_0x5185cb[_0x754c('0x2f')]=_[_0x754c('0x30')](_0x60c280[_0x754c('0x2f')]);_0x5185cb['filters']=_[_0x754c('0x31')](_0x5185cb[_0x754c('0x2e')],_0x5185cb['query']);_0x524c2c[_0x754c('0x32')]=_[_0x754c('0x31')](_0x5185cb['model'],qs[_0x754c('0x33')](_0x60c280[_0x754c('0x2f')][_0x754c('0x33')]));_0x524c2c['attributes']=_0x524c2c[_0x754c('0x32')][_0x754c('0x34')]?_0x524c2c['attributes']:_0x5185cb[_0x754c('0x2e')];if(!_0x60c280[_0x754c('0x2f')][_0x754c('0x35')](_0x754c('0x36'))){_0x524c2c[_0x754c('0x1b')]=qs[_0x754c('0x1b')](_0x60c280[_0x754c('0x2f')][_0x754c('0x1b')]);_0x524c2c[_0x754c('0x37')]=qs[_0x754c('0x37')](_0x60c280[_0x754c('0x2f')]['offset']);}_0x524c2c[_0x754c('0x38')]=qs[_0x754c('0x39')](_0x60c280[_0x754c('0x2f')]['sort']);_0x524c2c[_0x754c('0x3a')]=qs[_0x754c('0x3b')](_[_0x754c('0x3c')](_0x60c280[_0x754c('0x2f')],_0x5185cb[_0x754c('0x3b')]),_0x2abe6f);if(_0x60c280[_0x754c('0x2f')]['filter']){_0x524c2c[_0x754c('0x3a')]=_[_0x754c('0x3d')](_0x524c2c['where'],{'$or':_[_0x754c('0x2a')](_0x2abe6f,function(_0x56236f){if(_0x56236f[_0x754c('0x2d')]!==_0x754c('0x3e')){var _0x70fb22={};_0x70fb22[_0x56236f[_0x754c('0x27')]]={'$like':'%'+_0x60c280[_0x754c('0x2f')][_0x754c('0x3f')]+'%'};return _0x70fb22;}})});}_0x524c2c=_['merge']({},_0x524c2c,_0x60c280[_0x754c('0x40')]);var _0x1dc9b3={'where':_0x524c2c[_0x754c('0x3a')]};return db[_0x754c('0x2b')][_0x754c('0x1a')](_0x1dc9b3)['then'](function(_0x4add26){_0x1f507d[_0x754c('0x1a')]=_0x4add26;if(_0x60c280['query']['includeAll']){_0x524c2c[_0x754c('0x41')]=[{'all':!![]}];}return db[_0x754c('0x2b')][_0x754c('0x42')](_0x524c2c);})['then'](function(_0x438038){_0x1f507d[_0x754c('0x43')]=_0x438038;return _0x1f507d;})[_0x754c('0x22')](respondWithFilteredResult(_0x3680e2,_0x524c2c))['catch'](handleError(_0x3680e2,null));};exports['show']=function(_0x44fd07,_0x1cae41){var _0x5d92c7={'raw':![],'where':{'id':_0x44fd07[_0x754c('0x44')]['id']}},_0x3e5de8={};_0x3e5de8[_0x754c('0x2e')]=_[_0x754c('0x30')](db['AnalyticFieldReport']['rawAttributes']);_0x3e5de8[_0x754c('0x2f')]=_['keys'](_0x44fd07[_0x754c('0x2f')]);_0x3e5de8['filters']=_[_0x754c('0x31')](_0x3e5de8['model'],_0x3e5de8[_0x754c('0x2f')]);_0x5d92c7['attributes']=_['intersection'](_0x3e5de8[_0x754c('0x2e')],qs[_0x754c('0x33')](_0x44fd07['query']['fields']));_0x5d92c7['attributes']=_0x5d92c7[_0x754c('0x32')]['length']?_0x5d92c7[_0x754c('0x32')]:_0x3e5de8['model'];if(_0x44fd07[_0x754c('0x2f')][_0x754c('0x45')]){_0x5d92c7[_0x754c('0x41')]=[{'all':!![]}];}_0x5d92c7=_[_0x754c('0x3d')]({},_0x5d92c7,_0x44fd07['options']);return db[_0x754c('0x2b')][_0x754c('0x46')](_0x5d92c7)[_0x754c('0x22')](handleEntityNotFound(_0x1cae41,null))[_0x754c('0x22')](respondWithResult(_0x1cae41,null))['catch'](handleError(_0x1cae41,null));};exports[_0x754c('0x47')]=function(_0x2b46bf,_0x3d914d){return db[_0x754c('0x2b')]['create'](_0x2b46bf[_0x754c('0x48')],{})[_0x754c('0x22')](respondWithResult(_0x3d914d,0xc9))['catch'](handleError(_0x3d914d,null));};exports[_0x754c('0x49')]=function(_0x366990,_0x565244){return db[_0x754c('0x2b')][_0x754c('0x49')](_0x366990[_0x754c('0x48')],{'raw':![],'individualHooks':!![]})[_0x754c('0x22')](respondWithResult(_0x565244,0xc9))['catch'](handleError(_0x565244,null));};exports[_0x754c('0x21')]=function(_0x10c16a,_0x22d796){if(_0x10c16a['body']['id']){delete _0x10c16a['body']['id'];}return db[_0x754c('0x2b')][_0x754c('0x46')]({'where':{'id':_0x10c16a[_0x754c('0x44')]['id']}})[_0x754c('0x22')](handleEntityNotFound(_0x22d796,null))['then'](saveUpdates(_0x10c16a[_0x754c('0x48')],null))[_0x754c('0x22')](respondWithResult(_0x22d796,null))[_0x754c('0x4a')](handleError(_0x22d796,null));};exports[_0x754c('0x23')]=function(_0x3f99bd,_0x5c25f1){return db[_0x754c('0x2b')][_0x754c('0x46')]({'where':{'id':_0x3f99bd[_0x754c('0x44')]['id']}})[_0x754c('0x22')](handleEntityNotFound(_0x5c25f1,null))[_0x754c('0x22')](removeEntity(_0x5c25f1,null))[_0x754c('0x4a')](handleError(_0x5c25f1,null));};exports[_0x754c('0x4b')]=function(_0x1db80b,_0x195e7b){return db[_0x754c('0x2b')][_0x754c('0x23')]({'where':{'id':_0x1db80b['query']['ids']||[]},'raw':![],'individualHooks':!![]})[_0x754c('0x22')](respondWithResult(_0x195e7b,0xcc))[_0x754c('0x4a')](handleError(_0x195e7b,null));};exports[_0x754c('0x4c')]=function(_0x11a6c2,_0x562434,_0x4a47f2){return db[_0x754c('0x4d')]['findOne']({'where':{'id':_0x11a6c2[_0x754c('0x44')]['id']}})[_0x754c('0x22')](handleEntityNotFound(_0x562434,null))[_0x754c('0x22')](function(_0x1f4609){if(_0x1f4609){return db[_0x754c('0x4e')][_0x754c('0x4f')](function(_0x4c6cf3){return db['AnalyticFieldReport'][_0x754c('0x23')]({'where':{'CustomReportId':_0x11a6c2[_0x754c('0x44')]['id']},'transaction':_0x4c6cf3})[_0x754c('0x22')](function(_0x39d908){var _0x34ded3=_[_0x754c('0x2a')](_0x11a6c2[_0x754c('0x48')],function(_0xeb09e8){delete _0xeb09e8['id'];_0xeb09e8[_0x754c('0x50')]=_0x11a6c2[_0x754c('0x44')]['id'];return _0xeb09e8;});return db[_0x754c('0x2b')][_0x754c('0x49')](_0x34ded3,{'transaction':_0x4c6cf3});});})[_0x754c('0x22')](function(){return db[_0x754c('0x2b')][_0x754c('0x42')]({'where':{'CustomReportId':_0x11a6c2[_0x754c('0x44')]['id']}});});}})[_0x754c('0x22')](respondWithResult(_0x562434,null))['catch'](handleError(_0x562434,null));};