Built motion from commit (unavailable).|2.6.0
[motion2.git] / server / api / jscriptySessionReport / jscriptySessionReport.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 _0x0a0d=['body','describe','getQuestions','findOne','JscriptyQuestionReport','SessionId','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','ejs','jsforce','to-csv','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','undefined','limit','count','offset','Content-Range','apply','reject','save','update','then','destroy','error','name','send','index','map','rawAttributes','type','key','query','keys','filters','model','attributes','intersection','fields','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','JscriptySessionReport','include','findAll','rows','show','params','length','find','catch','create'];(function(_0x3f2228,_0x3b27d5){var _0x285ae4=function(_0x5e1f23){while(--_0x5e1f23){_0x3f2228['push'](_0x3f2228['shift']());}};_0x285ae4(++_0x3b27d5);}(_0x0a0d,0xe7));var _0xd0a0=function(_0x405541,_0x2945cc){_0x405541=_0x405541-0x0;var _0x194a1e=_0x0a0d[_0x405541];return _0x194a1e;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0xd0a0('0x0'));var rp=require(_0xd0a0('0x1'));var moment=require('moment');var BPromise=require(_0xd0a0('0x2'));var Mustache=require(_0xd0a0('0x3'));var util=require(_0xd0a0('0x4'));var path=require(_0xd0a0('0x5'));var sox=require(_0xd0a0('0x6'));var csv=require('to-csv');var ejs=require(_0xd0a0('0x7'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0xd0a0('0x8'));var deskjs=require('desk.js');var toCsv=require(_0xd0a0('0x9'));var querystring=require('querystring');var Papa=require(_0xd0a0('0xa'));var Redis=require(_0xd0a0('0xb'));var authService=require(_0xd0a0('0xc'));var qs=require('../../components/parsers/qs');var as=require(_0xd0a0('0xd'));var hardwareService=require(_0xd0a0('0xe'));var logger=require(_0xd0a0('0xf'))('api');var utils=require('../../config/utils');var config=require(_0xd0a0('0x10'));var licenseUtil=require(_0xd0a0('0x11'));var db=require(_0xd0a0('0x12'))['db'];function respondWithStatusCode(_0x5e2494,_0x5ee0b0){_0x5ee0b0=_0x5ee0b0||0xcc;return function(_0x3c769a){if(_0x3c769a){return _0x5e2494[_0xd0a0('0x13')](_0x5ee0b0);}return _0x5e2494[_0xd0a0('0x14')](_0x5ee0b0)[_0xd0a0('0x15')]();};}function respondWithResult(_0x2c6e4a,_0x14bab8){_0x14bab8=_0x14bab8||0xc8;return function(_0x553001){if(_0x553001){return _0x2c6e4a['status'](_0x14bab8)[_0xd0a0('0x16')](_0x553001);}};}function respondWithFilteredResult(_0x18301a,_0x318b1e){return function(_0x32230b){if(_0x32230b){var _0x9a94d6=typeof _0x318b1e['offset']===_0xd0a0('0x17')&&typeof _0x318b1e[_0xd0a0('0x18')]==='undefined';var _0x2cedf0=_0x32230b[_0xd0a0('0x19')];var _0x38fb42=_0x9a94d6?0x0:_0x318b1e[_0xd0a0('0x1a')];var _0x5e097e=_0x9a94d6?_0x32230b[_0xd0a0('0x19')]:_0x318b1e[_0xd0a0('0x1a')]+_0x318b1e[_0xd0a0('0x18')];var _0x5e3fe2;if(_0x5e097e>=_0x2cedf0){_0x5e097e=_0x2cedf0;_0x5e3fe2=0xc8;}else{_0x5e3fe2=0xce;}_0x18301a[_0xd0a0('0x14')](_0x5e3fe2);return _0x18301a['set'](_0xd0a0('0x1b'),_0x38fb42+'-'+_0x5e097e+'/'+_0x2cedf0)[_0xd0a0('0x16')](_0x32230b);}return null;};}function patchUpdates(_0x310e96){return function(_0xf828de){try{jsonpatch[_0xd0a0('0x1c')](_0xf828de,_0x310e96,!![]);}catch(_0x40d564){return BPromise[_0xd0a0('0x1d')](_0x40d564);}return _0xf828de[_0xd0a0('0x1e')]();};}function saveUpdates(_0x23e9e3,_0x51816c){return function(_0x4b6893){if(_0x4b6893){return _0x4b6893[_0xd0a0('0x1f')](_0x23e9e3)[_0xd0a0('0x20')](function(_0x1d8b05){return _0x1d8b05;});}return null;};}function removeEntity(_0x234119,_0x3b33ec){return function(_0x1acd20){if(_0x1acd20){return _0x1acd20[_0xd0a0('0x21')]()[_0xd0a0('0x20')](function(){_0x234119[_0xd0a0('0x14')](0xcc)[_0xd0a0('0x15')]();});}};}function handleEntityNotFound(_0x6cf8f1,_0x2fac9c){return function(_0x491958){if(!_0x491958){_0x6cf8f1[_0xd0a0('0x13')](0x194);}return _0x491958;};}function handleError(_0x4fb34e,_0x134296){_0x134296=_0x134296||0x1f4;return function(_0x11421d){logger[_0xd0a0('0x22')](_0x11421d['stack']);if(_0x11421d[_0xd0a0('0x23')]){delete _0x11421d[_0xd0a0('0x23')];}_0x4fb34e['status'](_0x134296)[_0xd0a0('0x24')](_0x11421d);};}exports[_0xd0a0('0x25')]=function(_0x5b093f,_0x32ce9f){var _0x38d0e4={},_0x299e13={},_0x6c4983={'count':0x0,'rows':[]};var _0x5d06c8=_[_0xd0a0('0x26')](db['JscriptySessionReport'][_0xd0a0('0x27')],function(_0x39429f){return{'name':_0x39429f['fieldName'],'type':_0x39429f[_0xd0a0('0x28')][_0xd0a0('0x29')]};});_0x299e13['model']=_[_0xd0a0('0x26')](_0x5d06c8,'name');_0x299e13[_0xd0a0('0x2a')]=_[_0xd0a0('0x2b')](_0x5b093f[_0xd0a0('0x2a')]);_0x299e13[_0xd0a0('0x2c')]=_['intersection'](_0x299e13[_0xd0a0('0x2d')],_0x299e13['query']);_0x38d0e4[_0xd0a0('0x2e')]=_[_0xd0a0('0x2f')](_0x299e13[_0xd0a0('0x2d')],qs[_0xd0a0('0x30')](_0x5b093f[_0xd0a0('0x2a')][_0xd0a0('0x30')]));_0x38d0e4['attributes']=_0x38d0e4['attributes']['length']?_0x38d0e4[_0xd0a0('0x2e')]:_0x299e13[_0xd0a0('0x2d')];if(!_0x5b093f[_0xd0a0('0x2a')][_0xd0a0('0x31')](_0xd0a0('0x32'))){_0x38d0e4[_0xd0a0('0x18')]=qs[_0xd0a0('0x18')](_0x5b093f[_0xd0a0('0x2a')][_0xd0a0('0x18')]);_0x38d0e4['offset']=qs[_0xd0a0('0x1a')](_0x5b093f[_0xd0a0('0x2a')][_0xd0a0('0x1a')]);}_0x38d0e4[_0xd0a0('0x33')]=qs[_0xd0a0('0x34')](_0x5b093f[_0xd0a0('0x2a')][_0xd0a0('0x34')]);_0x38d0e4[_0xd0a0('0x35')]=qs[_0xd0a0('0x2c')](_[_0xd0a0('0x36')](_0x5b093f['query'],_0x299e13[_0xd0a0('0x2c')]),_0x5d06c8);if(_0x5b093f[_0xd0a0('0x2a')][_0xd0a0('0x37')]){_0x38d0e4[_0xd0a0('0x35')]=_[_0xd0a0('0x38')](_0x38d0e4[_0xd0a0('0x35')],{'$or':_[_0xd0a0('0x26')](_0x5d06c8,function(_0x3d3a28){if(_0x3d3a28[_0xd0a0('0x28')]!==_0xd0a0('0x39')){var _0x543c33={};_0x543c33[_0x3d3a28[_0xd0a0('0x23')]]={'$like':'%'+_0x5b093f[_0xd0a0('0x2a')][_0xd0a0('0x37')]+'%'};return _0x543c33;}})});}_0x38d0e4=_[_0xd0a0('0x38')]({},_0x38d0e4,_0x5b093f[_0xd0a0('0x3a')]);var _0x26a055={'where':_0x38d0e4[_0xd0a0('0x35')]};return db[_0xd0a0('0x3b')][_0xd0a0('0x19')](_0x26a055)['then'](function(_0x32464a){_0x6c4983['count']=_0x32464a;if(_0x5b093f[_0xd0a0('0x2a')]['includeAll']){_0x38d0e4[_0xd0a0('0x3c')]=[{'all':!![]}];}return db[_0xd0a0('0x3b')][_0xd0a0('0x3d')](_0x38d0e4);})[_0xd0a0('0x20')](function(_0x457504){_0x6c4983[_0xd0a0('0x3e')]=_0x457504;return _0x6c4983;})[_0xd0a0('0x20')](respondWithFilteredResult(_0x32ce9f,_0x38d0e4))['catch'](handleError(_0x32ce9f,null));};exports[_0xd0a0('0x3f')]=function(_0x52cc9e,_0x4d9a62){var _0x11d37b={'raw':!![],'where':{'id':_0x52cc9e[_0xd0a0('0x40')]['id']}},_0x595acc={};_0x595acc[_0xd0a0('0x2d')]=_[_0xd0a0('0x2b')](db[_0xd0a0('0x3b')][_0xd0a0('0x27')]);_0x595acc[_0xd0a0('0x2a')]=_[_0xd0a0('0x2b')](_0x52cc9e[_0xd0a0('0x2a')]);_0x595acc[_0xd0a0('0x2c')]=_['intersection'](_0x595acc['model'],_0x595acc[_0xd0a0('0x2a')]);_0x11d37b[_0xd0a0('0x2e')]=_['intersection'](_0x595acc[_0xd0a0('0x2d')],qs['fields'](_0x52cc9e['query'][_0xd0a0('0x30')]));_0x11d37b['attributes']=_0x11d37b[_0xd0a0('0x2e')][_0xd0a0('0x41')]?_0x11d37b[_0xd0a0('0x2e')]:_0x595acc[_0xd0a0('0x2d')];if(_0x52cc9e[_0xd0a0('0x2a')]['includeAll']){_0x11d37b['include']=[{'all':!![]}];}_0x11d37b=_[_0xd0a0('0x38')]({},_0x11d37b,_0x52cc9e[_0xd0a0('0x3a')]);return db['JscriptySessionReport'][_0xd0a0('0x42')](_0x11d37b)[_0xd0a0('0x20')](handleEntityNotFound(_0x4d9a62,null))[_0xd0a0('0x20')](respondWithResult(_0x4d9a62,null))[_0xd0a0('0x43')](handleError(_0x4d9a62,null));};exports[_0xd0a0('0x44')]=function(_0x144552,_0x37f06b){return db[_0xd0a0('0x3b')]['create'](_0x144552[_0xd0a0('0x45')],{})[_0xd0a0('0x20')](respondWithResult(_0x37f06b,0xc9))['catch'](handleError(_0x37f06b,null));};exports[_0xd0a0('0x1f')]=function(_0x27754d,_0x6a30e4){if(_0x27754d[_0xd0a0('0x45')]['id']){delete _0x27754d[_0xd0a0('0x45')]['id'];}return db[_0xd0a0('0x3b')][_0xd0a0('0x42')]({'where':{'id':_0x27754d['params']['id']}})['then'](handleEntityNotFound(_0x6a30e4,null))['then'](saveUpdates(_0x27754d[_0xd0a0('0x45')],null))[_0xd0a0('0x20')](respondWithResult(_0x6a30e4,null))[_0xd0a0('0x43')](handleError(_0x6a30e4,null));};exports[_0xd0a0('0x21')]=function(_0x4117a3,_0x58fb62){return db['JscriptySessionReport'][_0xd0a0('0x42')]({'where':{'id':_0x4117a3[_0xd0a0('0x40')]['id']}})[_0xd0a0('0x20')](handleEntityNotFound(_0x58fb62,null))[_0xd0a0('0x20')](removeEntity(_0x58fb62,null))[_0xd0a0('0x43')](handleError(_0x58fb62,null));};exports[_0xd0a0('0x46')]=function(_0x404dbc,_0x271214){return db[_0xd0a0('0x3b')][_0xd0a0('0x46')]()['then'](respondWithResult(_0x271214,null))[_0xd0a0('0x43')](handleError(_0x271214,null));};exports[_0xd0a0('0x47')]=function(_0xfcb3ec,_0x591266,_0x477e9f){var _0x23b92b={'raw':!![],'where':{}};var _0x1e6581={};var _0x5c3caf={'count':0x0,'rows':[]};return db[_0xd0a0('0x3b')][_0xd0a0('0x48')]({'where':{'id':_0xfcb3ec[_0xd0a0('0x40')]['id']}})[_0xd0a0('0x20')](handleEntityNotFound(_0x591266,null))[_0xd0a0('0x20')](function(_0x55feea){if(_0x55feea){_0x1e6581[_0xd0a0('0x2d')]=_['keys'](db[_0xd0a0('0x49')][_0xd0a0('0x27')]);_0x1e6581[_0xd0a0('0x2a')]=_[_0xd0a0('0x2b')](_0xfcb3ec[_0xd0a0('0x2a')]);_0x1e6581['filters']=_['intersection'](_0x1e6581[_0xd0a0('0x2d')],_0x1e6581['query']);_0x23b92b[_0xd0a0('0x2e')]=_[_0xd0a0('0x2f')](_0x1e6581[_0xd0a0('0x2d')],qs['fields'](_0xfcb3ec['query'][_0xd0a0('0x30')]));_0x23b92b[_0xd0a0('0x2e')]=_0x23b92b[_0xd0a0('0x2e')][_0xd0a0('0x41')]?_0x23b92b[_0xd0a0('0x2e')]:_0x1e6581['model'];if(!_0xfcb3ec[_0xd0a0('0x2a')][_0xd0a0('0x31')]('nolimit')){_0x23b92b[_0xd0a0('0x18')]=qs[_0xd0a0('0x18')](_0xfcb3ec[_0xd0a0('0x2a')][_0xd0a0('0x18')]);_0x23b92b[_0xd0a0('0x1a')]=qs[_0xd0a0('0x1a')](_0xfcb3ec[_0xd0a0('0x2a')]['offset']);}_0x23b92b['order']=qs[_0xd0a0('0x34')](_0xfcb3ec[_0xd0a0('0x2a')][_0xd0a0('0x34')]);_0x23b92b['where']=qs['filters'](_[_0xd0a0('0x36')](_0xfcb3ec['query'],_0x1e6581[_0xd0a0('0x2c')]));_0x23b92b['where'][_0xd0a0('0x4a')]=_0x55feea['id'];if(_0xfcb3ec[_0xd0a0('0x2a')][_0xd0a0('0x37')]){_0x23b92b[_0xd0a0('0x35')]=_[_0xd0a0('0x38')](_0x23b92b[_0xd0a0('0x35')],{'$or':_[_0xd0a0('0x26')](_0x23b92b[_0xd0a0('0x2e')],function(_0x392bb1){var _0x20d3c6={};_0x20d3c6[_0x392bb1]={'$like':'%'+_0xfcb3ec['query']['filter']+'%'};return _0x20d3c6;})});}_0x23b92b=_['merge']({},_0x23b92b,_0xfcb3ec[_0xd0a0('0x3a')]);return db[_0xd0a0('0x49')][_0xd0a0('0x19')]({'where':_0x23b92b[_0xd0a0('0x35')]})['then'](function(_0x10ffe1){_0x5c3caf[_0xd0a0('0x19')]=_0x10ffe1;if(_0xfcb3ec[_0xd0a0('0x2a')]['includeAll']){_0x23b92b[_0xd0a0('0x3c')]=[{'all':!![]}];}return db['JscriptyQuestionReport'][_0xd0a0('0x3d')](_0x23b92b);})[_0xd0a0('0x20')](function(_0x20b6c8){_0x5c3caf[_0xd0a0('0x3e')]=_0x20b6c8;return _0x5c3caf;});}})[_0xd0a0('0x20')](respondWithFilteredResult(_0x591266,_0x23b92b))[_0xd0a0('0x43')](handleError(_0x591266,null));};