Built motion from commit 639a1a7f.|2.6.19
[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 _0x924e=['bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','json','offset','count','limit','set','Content-Range','save','update','then','destroy','end','name','send','map','AnalyticFieldReport','type','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','catch','show','rawAttributes','include','find','create','body','bulkCreate','params','bulkDestroy','addFields','AnalyticCustomReport','findOne','sequelize','transaction','CustomReportId','findAll','eml-format','zip-dir','fast-json-patch','request-promise','moment'];(function(_0x95e3ac,_0x4aa242){var _0xb1fad0=function(_0x5739de){while(--_0x5739de){_0x95e3ac['push'](_0x95e3ac['shift']());}};_0xb1fad0(++_0x4aa242);}(_0x924e,0x1e1));var _0xe924=function(_0x5a2722,_0x17dfe9){_0x5a2722=_0x5a2722-0x0;var _0x4ea915=_0x924e[_0x5a2722];return _0x4ea915;};'use strict';var emlformat=require(_0xe924('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xe924('0x1'));var jsonpatch=require(_0xe924('0x2'));var rp=require(_0xe924('0x3'));var moment=require(_0xe924('0x4'));var BPromise=require(_0xe924('0x5'));var Mustache=require(_0xe924('0x6'));var util=require(_0xe924('0x7'));var path=require(_0xe924('0x8'));var sox=require(_0xe924('0x9'));var csv=require(_0xe924('0xa'));var ejs=require(_0xe924('0xb'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xe924('0xc'));var squel=require(_0xe924('0xd'));var crypto=require(_0xe924('0xe'));var jsforce=require(_0xe924('0xf'));var deskjs=require(_0xe924('0x10'));var toCsv=require(_0xe924('0xa'));var querystring=require(_0xe924('0x11'));var Papa=require('papaparse');var Redis=require(_0xe924('0x12'));var authService=require(_0xe924('0x13'));var qs=require(_0xe924('0x14'));var as=require(_0xe924('0x15'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0xe924('0x16'));var utils=require(_0xe924('0x17'));var config=require(_0xe924('0x18'));var licenseUtil=require(_0xe924('0x19'));var db=require(_0xe924('0x1a'))['db'];function respondWithStatusCode(_0x3431cf,_0x170297){_0x170297=_0x170297||0xcc;return function(_0x3178c3){if(_0x3178c3){return _0x3431cf[_0xe924('0x1b')](_0x170297);}return _0x3431cf[_0xe924('0x1c')](_0x170297)['end']();};}function respondWithResult(_0x3e1f4d,_0x5e03a2){_0x5e03a2=_0x5e03a2||0xc8;return function(_0x3fd089){if(_0x3fd089){return _0x3e1f4d['status'](_0x5e03a2)[_0xe924('0x1d')](_0x3fd089);}};}function respondWithFilteredResult(_0x2f8bbc,_0x57b043){return function(_0x1a1d76){if(_0x1a1d76){var _0x270815=typeof _0x57b043[_0xe924('0x1e')]==='undefined'&&typeof _0x57b043['limit']==='undefined';var _0x19cd42=_0x1a1d76[_0xe924('0x1f')];var _0x2e069d=_0x270815?0x0:_0x57b043[_0xe924('0x1e')];var _0x18613c=_0x270815?_0x1a1d76[_0xe924('0x1f')]:_0x57b043['offset']+_0x57b043[_0xe924('0x20')];var _0x40f5a6;if(_0x18613c>=_0x19cd42){_0x18613c=_0x19cd42;_0x40f5a6=0xc8;}else{_0x40f5a6=0xce;}_0x2f8bbc[_0xe924('0x1c')](_0x40f5a6);return _0x2f8bbc[_0xe924('0x21')](_0xe924('0x22'),_0x2e069d+'-'+_0x18613c+'/'+_0x19cd42)[_0xe924('0x1d')](_0x1a1d76);}return null;};}function patchUpdates(_0x20d5ea){return function(_0x5968fa){try{jsonpatch['apply'](_0x5968fa,_0x20d5ea,!![]);}catch(_0x3d2c57){return BPromise['reject'](_0x3d2c57);}return _0x5968fa[_0xe924('0x23')]();};}function saveUpdates(_0x1714c5,_0x47a9b7){return function(_0x540d2a){if(_0x540d2a){return _0x540d2a[_0xe924('0x24')](_0x1714c5)[_0xe924('0x25')](function(_0x43e0eb){return _0x43e0eb;});}return null;};}function removeEntity(_0x38b771,_0x32f83b){return function(_0x2f10ca){if(_0x2f10ca){return _0x2f10ca[_0xe924('0x26')]()[_0xe924('0x25')](function(){_0x38b771['status'](0xcc)[_0xe924('0x27')]();});}};}function handleEntityNotFound(_0x1366b1,_0x34548c){return function(_0xe5dfbc){if(!_0xe5dfbc){_0x1366b1[_0xe924('0x1b')](0x194);}return _0xe5dfbc;};}function handleError(_0x11bd04,_0x59d895){_0x59d895=_0x59d895||0x1f4;return function(_0x1df6cf){logger['error'](_0x1df6cf['stack']);if(_0x1df6cf[_0xe924('0x28')]){delete _0x1df6cf[_0xe924('0x28')];}_0x11bd04[_0xe924('0x1c')](_0x59d895)[_0xe924('0x29')](_0x1df6cf);};}exports['index']=function(_0x281e1b,_0x3ada8c){var _0x446c11={},_0x49ae53={},_0x15a522={'count':0x0,'rows':[]};var _0x3adb09=_[_0xe924('0x2a')](db[_0xe924('0x2b')]['rawAttributes'],function(_0x485d41){return{'name':_0x485d41['fieldName'],'type':_0x485d41[_0xe924('0x2c')]['key']};});_0x49ae53[_0xe924('0x2d')]=_[_0xe924('0x2a')](_0x3adb09,_0xe924('0x28'));_0x49ae53[_0xe924('0x2e')]=_[_0xe924('0x2f')](_0x281e1b[_0xe924('0x2e')]);_0x49ae53[_0xe924('0x30')]=_[_0xe924('0x31')](_0x49ae53[_0xe924('0x2d')],_0x49ae53['query']);_0x446c11[_0xe924('0x32')]=_[_0xe924('0x31')](_0x49ae53[_0xe924('0x2d')],qs[_0xe924('0x33')](_0x281e1b[_0xe924('0x2e')][_0xe924('0x33')]));_0x446c11[_0xe924('0x32')]=_0x446c11[_0xe924('0x32')][_0xe924('0x34')]?_0x446c11[_0xe924('0x32')]:_0x49ae53[_0xe924('0x2d')];if(!_0x281e1b[_0xe924('0x2e')][_0xe924('0x35')](_0xe924('0x36'))){_0x446c11['limit']=qs[_0xe924('0x20')](_0x281e1b[_0xe924('0x2e')][_0xe924('0x20')]);_0x446c11['offset']=qs[_0xe924('0x1e')](_0x281e1b[_0xe924('0x2e')]['offset']);}_0x446c11[_0xe924('0x37')]=qs[_0xe924('0x38')](_0x281e1b[_0xe924('0x2e')]['sort']);_0x446c11[_0xe924('0x39')]=qs[_0xe924('0x30')](_[_0xe924('0x3a')](_0x281e1b[_0xe924('0x2e')],_0x49ae53[_0xe924('0x30')]),_0x3adb09);if(_0x281e1b[_0xe924('0x2e')][_0xe924('0x3b')]){_0x446c11[_0xe924('0x39')]=_[_0xe924('0x3c')](_0x446c11[_0xe924('0x39')],{'$or':_[_0xe924('0x2a')](_0x3adb09,function(_0x891415){if(_0x891415[_0xe924('0x2c')]!==_0xe924('0x3d')){var _0x4bc39d={};_0x4bc39d[_0x891415[_0xe924('0x28')]]={'$like':'%'+_0x281e1b[_0xe924('0x2e')][_0xe924('0x3b')]+'%'};return _0x4bc39d;}})});}_0x446c11=_[_0xe924('0x3c')]({},_0x446c11,_0x281e1b[_0xe924('0x3e')]);var _0x4c3352={'where':_0x446c11[_0xe924('0x39')]};return db[_0xe924('0x2b')][_0xe924('0x1f')](_0x4c3352)[_0xe924('0x25')](function(_0x153d09){_0x15a522[_0xe924('0x1f')]=_0x153d09;if(_0x281e1b['query'][_0xe924('0x3f')]){_0x446c11['include']=[{'all':!![]}];}return db[_0xe924('0x2b')]['findAll'](_0x446c11);})['then'](function(_0x16430b){_0x15a522['rows']=_0x16430b;return _0x15a522;})[_0xe924('0x25')](respondWithFilteredResult(_0x3ada8c,_0x446c11))[_0xe924('0x40')](handleError(_0x3ada8c,null));};exports[_0xe924('0x41')]=function(_0x51c8ce,_0xbdd09f){var _0x416b36={'raw':![],'where':{'id':_0x51c8ce['params']['id']}},_0xebe90={};_0xebe90['model']=_[_0xe924('0x2f')](db[_0xe924('0x2b')][_0xe924('0x42')]);_0xebe90[_0xe924('0x2e')]=_[_0xe924('0x2f')](_0x51c8ce[_0xe924('0x2e')]);_0xebe90[_0xe924('0x30')]=_[_0xe924('0x31')](_0xebe90[_0xe924('0x2d')],_0xebe90[_0xe924('0x2e')]);_0x416b36['attributes']=_[_0xe924('0x31')](_0xebe90[_0xe924('0x2d')],qs['fields'](_0x51c8ce[_0xe924('0x2e')][_0xe924('0x33')]));_0x416b36[_0xe924('0x32')]=_0x416b36[_0xe924('0x32')][_0xe924('0x34')]?_0x416b36[_0xe924('0x32')]:_0xebe90[_0xe924('0x2d')];if(_0x51c8ce[_0xe924('0x2e')][_0xe924('0x3f')]){_0x416b36[_0xe924('0x43')]=[{'all':!![]}];}_0x416b36=_[_0xe924('0x3c')]({},_0x416b36,_0x51c8ce[_0xe924('0x3e')]);return db[_0xe924('0x2b')][_0xe924('0x44')](_0x416b36)[_0xe924('0x25')](handleEntityNotFound(_0xbdd09f,null))[_0xe924('0x25')](respondWithResult(_0xbdd09f,null))[_0xe924('0x40')](handleError(_0xbdd09f,null));};exports[_0xe924('0x45')]=function(_0xa192d7,_0x4a4705){return db['AnalyticFieldReport'][_0xe924('0x45')](_0xa192d7[_0xe924('0x46')],{})[_0xe924('0x25')](respondWithResult(_0x4a4705,0xc9))[_0xe924('0x40')](handleError(_0x4a4705,null));};exports[_0xe924('0x47')]=function(_0x29d138,_0x5463a4){return db[_0xe924('0x2b')]['bulkCreate'](_0x29d138[_0xe924('0x46')],{'raw':![],'individualHooks':!![]})[_0xe924('0x25')](respondWithResult(_0x5463a4,0xc9))['catch'](handleError(_0x5463a4,null));};exports[_0xe924('0x24')]=function(_0x156e81,_0x5c0dce){if(_0x156e81['body']['id']){delete _0x156e81[_0xe924('0x46')]['id'];}return db['AnalyticFieldReport'][_0xe924('0x44')]({'where':{'id':_0x156e81[_0xe924('0x48')]['id']}})[_0xe924('0x25')](handleEntityNotFound(_0x5c0dce,null))['then'](saveUpdates(_0x156e81[_0xe924('0x46')],null))[_0xe924('0x25')](respondWithResult(_0x5c0dce,null))['catch'](handleError(_0x5c0dce,null));};exports[_0xe924('0x26')]=function(_0x3c6ff6,_0x1a5483){return db[_0xe924('0x2b')]['find']({'where':{'id':_0x3c6ff6['params']['id']}})['then'](handleEntityNotFound(_0x1a5483,null))['then'](removeEntity(_0x1a5483,null))[_0xe924('0x40')](handleError(_0x1a5483,null));};exports[_0xe924('0x49')]=function(_0x403e6f,_0x58ea5f){return db[_0xe924('0x2b')][_0xe924('0x26')]({'where':{'id':_0x403e6f[_0xe924('0x2e')]['ids']||[]},'raw':![],'individualHooks':!![]})[_0xe924('0x25')](respondWithResult(_0x58ea5f,0xcc))[_0xe924('0x40')](handleError(_0x58ea5f,null));};exports[_0xe924('0x4a')]=function(_0x222f09,_0x9e8e67,_0x183b27){return db[_0xe924('0x4b')][_0xe924('0x4c')]({'where':{'id':_0x222f09[_0xe924('0x48')]['id']}})[_0xe924('0x25')](handleEntityNotFound(_0x9e8e67,null))[_0xe924('0x25')](function(_0x3fe4ec){if(_0x3fe4ec){return db[_0xe924('0x4d')][_0xe924('0x4e')](function(_0x4297e0){return db[_0xe924('0x2b')]['destroy']({'where':{'CustomReportId':_0x222f09[_0xe924('0x48')]['id']},'transaction':_0x4297e0})[_0xe924('0x25')](function(_0x426a18){var _0x5b4a33=_[_0xe924('0x2a')](_0x222f09['body'],function(_0x25e951){delete _0x25e951['id'];_0x25e951[_0xe924('0x4f')]=_0x222f09[_0xe924('0x48')]['id'];return _0x25e951;});return db[_0xe924('0x2b')][_0xe924('0x47')](_0x5b4a33,{'transaction':_0x4297e0});});})[_0xe924('0x25')](function(){return db['AnalyticFieldReport'][_0xe924('0x50')]({'where':{'CustomReportId':_0x222f09['params']['id']}});});}})[_0xe924('0x25')](respondWithResult(_0x9e8e67,null))[_0xe924('0x40')](handleError(_0x9e8e67,null));};