Built motion from commit fa4c4286.|2.6.29
[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 _0xefb4=['CustomReportId','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','to-csv','lodash','crypto','jsforce','querystring','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../mysqldb','sendStatus','json','offset','undefined','limit','count','status','set','apply','save','update','then','destroy','end','error','stack','name','send','index','map','rawAttributes','fieldName','type','key','model','query','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','pick','merge','filter','options','AnalyticFieldReport','includeAll','include','findAll','rows','show','keys','length','find','catch','create','bulkCreate','body','params','bulkDestroy','ids','AnalyticCustomReport','findOne','sequelize','transaction'];(function(_0x1e1112,_0x3c8598){var _0x32cc4c=function(_0x3af3ac){while(--_0x3af3ac){_0x1e1112['push'](_0x1e1112['shift']());}};_0x32cc4c(++_0x3c8598);}(_0xefb4,0x13d));var _0x4efb=function(_0xaf99cd,_0x5815d7){_0xaf99cd=_0xaf99cd-0x0;var _0x4d4aa3=_0xefb4[_0xaf99cd];return _0x4d4aa3;};'use strict';var emlformat=require(_0x4efb('0x0'));var rimraf=require(_0x4efb('0x1'));var zipdir=require(_0x4efb('0x2'));var jsonpatch=require(_0x4efb('0x3'));var rp=require(_0x4efb('0x4'));var moment=require(_0x4efb('0x5'));var BPromise=require(_0x4efb('0x6'));var Mustache=require('mustache');var util=require(_0x4efb('0x7'));var path=require('path');var sox=require('sox');var csv=require(_0x4efb('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x4efb('0x9'));var squel=require('squel');var crypto=require(_0x4efb('0xa'));var jsforce=require(_0x4efb('0xb'));var deskjs=require('desk.js');var toCsv=require(_0x4efb('0x8'));var querystring=require(_0x4efb('0xc'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x4efb('0xd'));var as=require(_0x4efb('0xe'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x4efb('0xf'))(_0x4efb('0x10'));var utils=require(_0x4efb('0x11'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x4efb('0x12'))['db'];function respondWithStatusCode(_0x456e8c,_0x3d2bcb){_0x3d2bcb=_0x3d2bcb||0xcc;return function(_0x3e63a3){if(_0x3e63a3){return _0x456e8c[_0x4efb('0x13')](_0x3d2bcb);}return _0x456e8c['status'](_0x3d2bcb)['end']();};}function respondWithResult(_0x323220,_0x2b0fe1){_0x2b0fe1=_0x2b0fe1||0xc8;return function(_0x19b2e3){if(_0x19b2e3){return _0x323220['status'](_0x2b0fe1)[_0x4efb('0x14')](_0x19b2e3);}};}function respondWithFilteredResult(_0x1be709,_0x11e9f5){return function(_0x294766){if(_0x294766){var _0x280559=typeof _0x11e9f5[_0x4efb('0x15')]===_0x4efb('0x16')&&typeof _0x11e9f5[_0x4efb('0x17')]===_0x4efb('0x16');var _0x282641=_0x294766[_0x4efb('0x18')];var _0x359a11=_0x280559?0x0:_0x11e9f5[_0x4efb('0x15')];var _0x22776f=_0x280559?_0x294766['count']:_0x11e9f5['offset']+_0x11e9f5[_0x4efb('0x17')];var _0x17c357;if(_0x22776f>=_0x282641){_0x22776f=_0x282641;_0x17c357=0xc8;}else{_0x17c357=0xce;}_0x1be709[_0x4efb('0x19')](_0x17c357);return _0x1be709[_0x4efb('0x1a')]('Content-Range',_0x359a11+'-'+_0x22776f+'/'+_0x282641)[_0x4efb('0x14')](_0x294766);}return null;};}function patchUpdates(_0x432940){return function(_0x5ae902){try{jsonpatch[_0x4efb('0x1b')](_0x5ae902,_0x432940,!![]);}catch(_0x33e6b5){return BPromise['reject'](_0x33e6b5);}return _0x5ae902[_0x4efb('0x1c')]();};}function saveUpdates(_0x3d5cda,_0x2fa03c){return function(_0x19d028){if(_0x19d028){return _0x19d028[_0x4efb('0x1d')](_0x3d5cda)[_0x4efb('0x1e')](function(_0x1197d1){return _0x1197d1;});}return null;};}function removeEntity(_0x304a88,_0x1c7114){return function(_0x9b140f){if(_0x9b140f){return _0x9b140f[_0x4efb('0x1f')]()[_0x4efb('0x1e')](function(){_0x304a88['status'](0xcc)[_0x4efb('0x20')]();});}};}function handleEntityNotFound(_0x57c10e,_0x2f2659){return function(_0x24b63e){if(!_0x24b63e){_0x57c10e[_0x4efb('0x13')](0x194);}return _0x24b63e;};}function handleError(_0x3131b2,_0x38765b){_0x38765b=_0x38765b||0x1f4;return function(_0x4f1edd){logger[_0x4efb('0x21')](_0x4f1edd[_0x4efb('0x22')]);if(_0x4f1edd['name']){delete _0x4f1edd[_0x4efb('0x23')];}_0x3131b2[_0x4efb('0x19')](_0x38765b)[_0x4efb('0x24')](_0x4f1edd);};}exports[_0x4efb('0x25')]=function(_0x17ab48,_0x5163d8){var _0x2a9e21={},_0x50cf7b={},_0x2be55c={'count':0x0,'rows':[]};var _0x406cef=_[_0x4efb('0x26')](db['AnalyticFieldReport'][_0x4efb('0x27')],function(_0x4f3f13){return{'name':_0x4f3f13[_0x4efb('0x28')],'type':_0x4f3f13[_0x4efb('0x29')][_0x4efb('0x2a')]};});_0x50cf7b[_0x4efb('0x2b')]=_['map'](_0x406cef,_0x4efb('0x23'));_0x50cf7b[_0x4efb('0x2c')]=_['keys'](_0x17ab48[_0x4efb('0x2c')]);_0x50cf7b[_0x4efb('0x2d')]=_[_0x4efb('0x2e')](_0x50cf7b[_0x4efb('0x2b')],_0x50cf7b[_0x4efb('0x2c')]);_0x2a9e21[_0x4efb('0x2f')]=_['intersection'](_0x50cf7b[_0x4efb('0x2b')],qs[_0x4efb('0x30')](_0x17ab48['query'][_0x4efb('0x30')]));_0x2a9e21['attributes']=_0x2a9e21[_0x4efb('0x2f')]['length']?_0x2a9e21[_0x4efb('0x2f')]:_0x50cf7b[_0x4efb('0x2b')];if(!_0x17ab48[_0x4efb('0x2c')][_0x4efb('0x31')](_0x4efb('0x32'))){_0x2a9e21[_0x4efb('0x17')]=qs[_0x4efb('0x17')](_0x17ab48[_0x4efb('0x2c')]['limit']);_0x2a9e21['offset']=qs[_0x4efb('0x15')](_0x17ab48[_0x4efb('0x2c')]['offset']);}_0x2a9e21[_0x4efb('0x33')]=qs['sort'](_0x17ab48[_0x4efb('0x2c')][_0x4efb('0x34')]);_0x2a9e21[_0x4efb('0x35')]=qs[_0x4efb('0x2d')](_[_0x4efb('0x36')](_0x17ab48[_0x4efb('0x2c')],_0x50cf7b[_0x4efb('0x2d')]),_0x406cef);if(_0x17ab48[_0x4efb('0x2c')]['filter']){_0x2a9e21[_0x4efb('0x35')]=_[_0x4efb('0x37')](_0x2a9e21['where'],{'$or':_['map'](_0x406cef,function(_0x397f1c){if(_0x397f1c[_0x4efb('0x29')]!=='VIRTUAL'){var _0x287865={};_0x287865[_0x397f1c[_0x4efb('0x23')]]={'$like':'%'+_0x17ab48[_0x4efb('0x2c')][_0x4efb('0x38')]+'%'};return _0x287865;}})});}_0x2a9e21=_[_0x4efb('0x37')]({},_0x2a9e21,_0x17ab48[_0x4efb('0x39')]);var _0x32e126={'where':_0x2a9e21[_0x4efb('0x35')]};return db[_0x4efb('0x3a')][_0x4efb('0x18')](_0x32e126)[_0x4efb('0x1e')](function(_0x17a8cb){_0x2be55c[_0x4efb('0x18')]=_0x17a8cb;if(_0x17ab48['query'][_0x4efb('0x3b')]){_0x2a9e21[_0x4efb('0x3c')]=[{'all':!![]}];}return db['AnalyticFieldReport'][_0x4efb('0x3d')](_0x2a9e21);})[_0x4efb('0x1e')](function(_0x476319){_0x2be55c[_0x4efb('0x3e')]=_0x476319;return _0x2be55c;})[_0x4efb('0x1e')](respondWithFilteredResult(_0x5163d8,_0x2a9e21))['catch'](handleError(_0x5163d8,null));};exports[_0x4efb('0x3f')]=function(_0x31cfa6,_0x8d7b7e){var _0x281ab7={'raw':![],'where':{'id':_0x31cfa6['params']['id']}},_0x1e0ecc={};_0x1e0ecc[_0x4efb('0x2b')]=_['keys'](db[_0x4efb('0x3a')][_0x4efb('0x27')]);_0x1e0ecc[_0x4efb('0x2c')]=_[_0x4efb('0x40')](_0x31cfa6[_0x4efb('0x2c')]);_0x1e0ecc[_0x4efb('0x2d')]=_['intersection'](_0x1e0ecc[_0x4efb('0x2b')],_0x1e0ecc['query']);_0x281ab7[_0x4efb('0x2f')]=_[_0x4efb('0x2e')](_0x1e0ecc['model'],qs[_0x4efb('0x30')](_0x31cfa6[_0x4efb('0x2c')][_0x4efb('0x30')]));_0x281ab7[_0x4efb('0x2f')]=_0x281ab7['attributes'][_0x4efb('0x41')]?_0x281ab7[_0x4efb('0x2f')]:_0x1e0ecc[_0x4efb('0x2b')];if(_0x31cfa6[_0x4efb('0x2c')]['includeAll']){_0x281ab7['include']=[{'all':!![]}];}_0x281ab7=_[_0x4efb('0x37')]({},_0x281ab7,_0x31cfa6['options']);return db[_0x4efb('0x3a')][_0x4efb('0x42')](_0x281ab7)[_0x4efb('0x1e')](handleEntityNotFound(_0x8d7b7e,null))[_0x4efb('0x1e')](respondWithResult(_0x8d7b7e,null))[_0x4efb('0x43')](handleError(_0x8d7b7e,null));};exports[_0x4efb('0x44')]=function(_0x499c5e,_0x14d12c){return db[_0x4efb('0x3a')]['create'](_0x499c5e['body'],{})[_0x4efb('0x1e')](respondWithResult(_0x14d12c,0xc9))[_0x4efb('0x43')](handleError(_0x14d12c,null));};exports[_0x4efb('0x45')]=function(_0x3a2209,_0x526dd8){return db[_0x4efb('0x3a')][_0x4efb('0x45')](_0x3a2209[_0x4efb('0x46')],{'raw':![],'individualHooks':!![]})[_0x4efb('0x1e')](respondWithResult(_0x526dd8,0xc9))[_0x4efb('0x43')](handleError(_0x526dd8,null));};exports[_0x4efb('0x1d')]=function(_0x4f5a19,_0x2085e3){if(_0x4f5a19['body']['id']){delete _0x4f5a19[_0x4efb('0x46')]['id'];}return db['AnalyticFieldReport'][_0x4efb('0x42')]({'where':{'id':_0x4f5a19[_0x4efb('0x47')]['id']}})['then'](handleEntityNotFound(_0x2085e3,null))[_0x4efb('0x1e')](saveUpdates(_0x4f5a19[_0x4efb('0x46')],null))[_0x4efb('0x1e')](respondWithResult(_0x2085e3,null))[_0x4efb('0x43')](handleError(_0x2085e3,null));};exports[_0x4efb('0x1f')]=function(_0x5727d0,_0x3da7bc){return db['AnalyticFieldReport']['find']({'where':{'id':_0x5727d0['params']['id']}})[_0x4efb('0x1e')](handleEntityNotFound(_0x3da7bc,null))[_0x4efb('0x1e')](removeEntity(_0x3da7bc,null))['catch'](handleError(_0x3da7bc,null));};exports[_0x4efb('0x48')]=function(_0x1e2bc7,_0x3c70b5){return db[_0x4efb('0x3a')][_0x4efb('0x1f')]({'where':{'id':_0x1e2bc7[_0x4efb('0x2c')][_0x4efb('0x49')]||[]},'raw':![],'individualHooks':!![]})[_0x4efb('0x1e')](respondWithResult(_0x3c70b5,0xcc))['catch'](handleError(_0x3c70b5,null));};exports['addFields']=function(_0x373f3d,_0x44c458,_0x454008){return db[_0x4efb('0x4a')][_0x4efb('0x4b')]({'where':{'id':_0x373f3d[_0x4efb('0x47')]['id']}})[_0x4efb('0x1e')](handleEntityNotFound(_0x44c458,null))[_0x4efb('0x1e')](function(_0x60d17e){if(_0x60d17e){return db[_0x4efb('0x4c')][_0x4efb('0x4d')](function(_0xdef090){return db[_0x4efb('0x3a')]['destroy']({'where':{'CustomReportId':_0x373f3d[_0x4efb('0x47')]['id']},'transaction':_0xdef090})[_0x4efb('0x1e')](function(_0x464655){var _0x222e02=_[_0x4efb('0x26')](_0x373f3d['body'],function(_0x160636){delete _0x160636['id'];_0x160636[_0x4efb('0x4e')]=_0x373f3d[_0x4efb('0x47')]['id'];return _0x160636;});return db[_0x4efb('0x3a')][_0x4efb('0x45')](_0x222e02,{'transaction':_0xdef090});});})[_0x4efb('0x1e')](function(){return db['AnalyticFieldReport'][_0x4efb('0x3d')]({'where':{'CustomReportId':_0x373f3d[_0x4efb('0x47')]['id']}});});}})[_0x4efb('0x1e')](respondWithResult(_0x44c458,null))[_0x4efb('0x43')](handleError(_0x44c458,null));};