Built motion from commit 10af8726.|2.6.34
[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 _0xa8bf=['jsforce','desk.js','querystring','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','undefined','limit','count','offset','set','Content-Range','json','apply','reject','save','update','then','destroy','sendStatus','error','stack','name','send','index','map','JscriptySessionReport','rawAttributes','fieldName','type','model','query','keys','filters','attributes','intersection','fields','length','hasOwnProperty','sort','where','pick','VIRTUAL','filter','merge','options','includeAll','findAll','rows','catch','show','params','include','find','create','body','describe','getQuestions','findOne','JscriptyQuestionReport','nolimit','order','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','lodash','squel','crypto'];(function(_0x20a584,_0xe384a5){var _0x4b41a8=function(_0x2127c6){while(--_0x2127c6){_0x20a584['push'](_0x20a584['shift']());}};_0x4b41a8(++_0xe384a5);}(_0xa8bf,0x9d));var _0xfa8b=function(_0x5e9018,_0x5d3a28){_0x5e9018=_0x5e9018-0x0;var _0x2062e2=_0xa8bf[_0x5e9018];return _0x2062e2;};'use strict';var emlformat=require(_0xfa8b('0x0'));var rimraf=require(_0xfa8b('0x1'));var zipdir=require(_0xfa8b('0x2'));var jsonpatch=require(_0xfa8b('0x3'));var rp=require(_0xfa8b('0x4'));var moment=require(_0xfa8b('0x5'));var BPromise=require(_0xfa8b('0x6'));var Mustache=require('mustache');var util=require(_0xfa8b('0x7'));var path=require(_0xfa8b('0x8'));var sox=require(_0xfa8b('0x9'));var csv=require(_0xfa8b('0xa'));var ejs=require(_0xfa8b('0xb'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xfa8b('0xc'));var squel=require(_0xfa8b('0xd'));var crypto=require(_0xfa8b('0xe'));var jsforce=require(_0xfa8b('0xf'));var deskjs=require(_0xfa8b('0x10'));var toCsv=require('to-csv');var querystring=require(_0xfa8b('0x11'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0xfa8b('0x12'));var qs=require(_0xfa8b('0x13'));var as=require(_0xfa8b('0x14'));var hardwareService=require(_0xfa8b('0x15'));var logger=require(_0xfa8b('0x16'))(_0xfa8b('0x17'));var utils=require(_0xfa8b('0x18'));var config=require(_0xfa8b('0x19'));var licenseUtil=require(_0xfa8b('0x1a'));var db=require(_0xfa8b('0x1b'))['db'];function respondWithStatusCode(_0x22ae9a,_0x3cd28c){_0x3cd28c=_0x3cd28c||0xcc;return function(_0x282e66){if(_0x282e66){return _0x22ae9a['sendStatus'](_0x3cd28c);}return _0x22ae9a[_0xfa8b('0x1c')](_0x3cd28c)[_0xfa8b('0x1d')]();};}function respondWithResult(_0x2c831f,_0x530b77){_0x530b77=_0x530b77||0xc8;return function(_0x2dcca6){if(_0x2dcca6){return _0x2c831f['status'](_0x530b77)['json'](_0x2dcca6);}};}function respondWithFilteredResult(_0x3bb01a,_0x588aa1){return function(_0x42d0e4){if(_0x42d0e4){var _0x2e1bac=typeof _0x588aa1['offset']===_0xfa8b('0x1e')&&typeof _0x588aa1[_0xfa8b('0x1f')]==='undefined';var _0x5a2df1=_0x42d0e4[_0xfa8b('0x20')];var _0xca6bd8=_0x2e1bac?0x0:_0x588aa1[_0xfa8b('0x21')];var _0x5b9448=_0x2e1bac?_0x42d0e4[_0xfa8b('0x20')]:_0x588aa1['offset']+_0x588aa1[_0xfa8b('0x1f')];var _0x244525;if(_0x5b9448>=_0x5a2df1){_0x5b9448=_0x5a2df1;_0x244525=0xc8;}else{_0x244525=0xce;}_0x3bb01a[_0xfa8b('0x1c')](_0x244525);return _0x3bb01a[_0xfa8b('0x22')](_0xfa8b('0x23'),_0xca6bd8+'-'+_0x5b9448+'/'+_0x5a2df1)[_0xfa8b('0x24')](_0x42d0e4);}return null;};}function patchUpdates(_0x1f7572){return function(_0x13cd66){try{jsonpatch[_0xfa8b('0x25')](_0x13cd66,_0x1f7572,!![]);}catch(_0x28cab8){return BPromise[_0xfa8b('0x26')](_0x28cab8);}return _0x13cd66[_0xfa8b('0x27')]();};}function saveUpdates(_0x34598c,_0x3cf28d){return function(_0x20e9c4){if(_0x20e9c4){return _0x20e9c4[_0xfa8b('0x28')](_0x34598c)[_0xfa8b('0x29')](function(_0x316773){return _0x316773;});}return null;};}function removeEntity(_0x1ca258,_0x1d665f){return function(_0x3a8fce){if(_0x3a8fce){return _0x3a8fce[_0xfa8b('0x2a')]()[_0xfa8b('0x29')](function(){_0x1ca258[_0xfa8b('0x1c')](0xcc)[_0xfa8b('0x1d')]();});}};}function handleEntityNotFound(_0x13e41d,_0x1aff5d){return function(_0x53c7f6){if(!_0x53c7f6){_0x13e41d[_0xfa8b('0x2b')](0x194);}return _0x53c7f6;};}function handleError(_0x20eff5,_0x473353){_0x473353=_0x473353||0x1f4;return function(_0x4e761d){logger[_0xfa8b('0x2c')](_0x4e761d[_0xfa8b('0x2d')]);if(_0x4e761d[_0xfa8b('0x2e')]){delete _0x4e761d[_0xfa8b('0x2e')];}_0x20eff5['status'](_0x473353)[_0xfa8b('0x2f')](_0x4e761d);};}exports[_0xfa8b('0x30')]=function(_0x52008f,_0x13bf95){var _0x371424={},_0x5bfbe2={},_0x9ec034={'count':0x0,'rows':[]};var _0x22fc4c=_[_0xfa8b('0x31')](db[_0xfa8b('0x32')][_0xfa8b('0x33')],function(_0x341036){return{'name':_0x341036[_0xfa8b('0x34')],'type':_0x341036[_0xfa8b('0x35')]['key']};});_0x5bfbe2[_0xfa8b('0x36')]=_[_0xfa8b('0x31')](_0x22fc4c,_0xfa8b('0x2e'));_0x5bfbe2[_0xfa8b('0x37')]=_[_0xfa8b('0x38')](_0x52008f[_0xfa8b('0x37')]);_0x5bfbe2[_0xfa8b('0x39')]=_['intersection'](_0x5bfbe2[_0xfa8b('0x36')],_0x5bfbe2[_0xfa8b('0x37')]);_0x371424[_0xfa8b('0x3a')]=_[_0xfa8b('0x3b')](_0x5bfbe2[_0xfa8b('0x36')],qs[_0xfa8b('0x3c')](_0x52008f[_0xfa8b('0x37')][_0xfa8b('0x3c')]));_0x371424[_0xfa8b('0x3a')]=_0x371424['attributes'][_0xfa8b('0x3d')]?_0x371424[_0xfa8b('0x3a')]:_0x5bfbe2[_0xfa8b('0x36')];if(!_0x52008f['query'][_0xfa8b('0x3e')]('nolimit')){_0x371424[_0xfa8b('0x1f')]=qs[_0xfa8b('0x1f')](_0x52008f[_0xfa8b('0x37')][_0xfa8b('0x1f')]);_0x371424['offset']=qs['offset'](_0x52008f['query'][_0xfa8b('0x21')]);}_0x371424['order']=qs[_0xfa8b('0x3f')](_0x52008f['query']['sort']);_0x371424[_0xfa8b('0x40')]=qs[_0xfa8b('0x39')](_[_0xfa8b('0x41')](_0x52008f[_0xfa8b('0x37')],_0x5bfbe2[_0xfa8b('0x39')]),_0x22fc4c);if(_0x52008f['query']['filter']){_0x371424[_0xfa8b('0x40')]=_['merge'](_0x371424[_0xfa8b('0x40')],{'$or':_[_0xfa8b('0x31')](_0x22fc4c,function(_0x5236c8){if(_0x5236c8['type']!==_0xfa8b('0x42')){var _0x45dd53={};_0x45dd53[_0x5236c8['name']]={'$like':'%'+_0x52008f['query'][_0xfa8b('0x43')]+'%'};return _0x45dd53;}})});}_0x371424=_[_0xfa8b('0x44')]({},_0x371424,_0x52008f[_0xfa8b('0x45')]);var _0x58d9a7={'where':_0x371424[_0xfa8b('0x40')]};return db[_0xfa8b('0x32')]['count'](_0x58d9a7)['then'](function(_0x297f3b){_0x9ec034[_0xfa8b('0x20')]=_0x297f3b;if(_0x52008f[_0xfa8b('0x37')][_0xfa8b('0x46')]){_0x371424['include']=[{'all':!![]}];}return db[_0xfa8b('0x32')][_0xfa8b('0x47')](_0x371424);})['then'](function(_0x49fe5f){_0x9ec034[_0xfa8b('0x48')]=_0x49fe5f;return _0x9ec034;})[_0xfa8b('0x29')](respondWithFilteredResult(_0x13bf95,_0x371424))[_0xfa8b('0x49')](handleError(_0x13bf95,null));};exports[_0xfa8b('0x4a')]=function(_0x36f593,_0x36da0){var _0x4a0a3f={'raw':!![],'where':{'id':_0x36f593[_0xfa8b('0x4b')]['id']}},_0x124ef1={};_0x124ef1[_0xfa8b('0x36')]=_['keys'](db['JscriptySessionReport'][_0xfa8b('0x33')]);_0x124ef1[_0xfa8b('0x37')]=_['keys'](_0x36f593[_0xfa8b('0x37')]);_0x124ef1[_0xfa8b('0x39')]=_[_0xfa8b('0x3b')](_0x124ef1['model'],_0x124ef1[_0xfa8b('0x37')]);_0x4a0a3f[_0xfa8b('0x3a')]=_['intersection'](_0x124ef1[_0xfa8b('0x36')],qs['fields'](_0x36f593[_0xfa8b('0x37')]['fields']));_0x4a0a3f[_0xfa8b('0x3a')]=_0x4a0a3f[_0xfa8b('0x3a')][_0xfa8b('0x3d')]?_0x4a0a3f[_0xfa8b('0x3a')]:_0x124ef1[_0xfa8b('0x36')];if(_0x36f593[_0xfa8b('0x37')][_0xfa8b('0x46')]){_0x4a0a3f[_0xfa8b('0x4c')]=[{'all':!![]}];}_0x4a0a3f=_[_0xfa8b('0x44')]({},_0x4a0a3f,_0x36f593[_0xfa8b('0x45')]);return db[_0xfa8b('0x32')][_0xfa8b('0x4d')](_0x4a0a3f)['then'](handleEntityNotFound(_0x36da0,null))[_0xfa8b('0x29')](respondWithResult(_0x36da0,null))['catch'](handleError(_0x36da0,null));};exports[_0xfa8b('0x4e')]=function(_0x39557d,_0x240e21){return db[_0xfa8b('0x32')][_0xfa8b('0x4e')](_0x39557d[_0xfa8b('0x4f')],{})[_0xfa8b('0x29')](respondWithResult(_0x240e21,0xc9))[_0xfa8b('0x49')](handleError(_0x240e21,null));};exports[_0xfa8b('0x28')]=function(_0xdca4bf,_0x2b8fa5){if(_0xdca4bf[_0xfa8b('0x4f')]['id']){delete _0xdca4bf['body']['id'];}return db[_0xfa8b('0x32')][_0xfa8b('0x4d')]({'where':{'id':_0xdca4bf[_0xfa8b('0x4b')]['id']}})[_0xfa8b('0x29')](handleEntityNotFound(_0x2b8fa5,null))[_0xfa8b('0x29')](saveUpdates(_0xdca4bf['body'],null))[_0xfa8b('0x29')](respondWithResult(_0x2b8fa5,null))['catch'](handleError(_0x2b8fa5,null));};exports['destroy']=function(_0x51dfaf,_0x580b51){return db[_0xfa8b('0x32')][_0xfa8b('0x4d')]({'where':{'id':_0x51dfaf[_0xfa8b('0x4b')]['id']}})[_0xfa8b('0x29')](handleEntityNotFound(_0x580b51,null))[_0xfa8b('0x29')](removeEntity(_0x580b51,null))[_0xfa8b('0x49')](handleError(_0x580b51,null));};exports[_0xfa8b('0x50')]=function(_0x535949,_0x1d6b3d){return db[_0xfa8b('0x32')][_0xfa8b('0x50')]()['then'](respondWithResult(_0x1d6b3d,null))[_0xfa8b('0x49')](handleError(_0x1d6b3d,null));};exports[_0xfa8b('0x51')]=function(_0x263f3,_0x1fb05e,_0xe4c0c8){var _0x22d1e0={'raw':!![],'where':{}};var _0x4a628d={};var _0x3d02d8={'count':0x0,'rows':[]};return db[_0xfa8b('0x32')][_0xfa8b('0x52')]({'where':{'id':_0x263f3[_0xfa8b('0x4b')]['id']}})[_0xfa8b('0x29')](handleEntityNotFound(_0x1fb05e,null))['then'](function(_0x3a9ca2){if(_0x3a9ca2){_0x4a628d['model']=_['keys'](db[_0xfa8b('0x53')][_0xfa8b('0x33')]);_0x4a628d[_0xfa8b('0x37')]=_[_0xfa8b('0x38')](_0x263f3[_0xfa8b('0x37')]);_0x4a628d[_0xfa8b('0x39')]=_[_0xfa8b('0x3b')](_0x4a628d[_0xfa8b('0x36')],_0x4a628d[_0xfa8b('0x37')]);_0x22d1e0[_0xfa8b('0x3a')]=_['intersection'](_0x4a628d[_0xfa8b('0x36')],qs['fields'](_0x263f3[_0xfa8b('0x37')]['fields']));_0x22d1e0[_0xfa8b('0x3a')]=_0x22d1e0[_0xfa8b('0x3a')]['length']?_0x22d1e0['attributes']:_0x4a628d[_0xfa8b('0x36')];if(!_0x263f3[_0xfa8b('0x37')][_0xfa8b('0x3e')](_0xfa8b('0x54'))){_0x22d1e0[_0xfa8b('0x1f')]=qs['limit'](_0x263f3[_0xfa8b('0x37')][_0xfa8b('0x1f')]);_0x22d1e0[_0xfa8b('0x21')]=qs[_0xfa8b('0x21')](_0x263f3[_0xfa8b('0x37')][_0xfa8b('0x21')]);}_0x22d1e0[_0xfa8b('0x55')]=qs['sort'](_0x263f3[_0xfa8b('0x37')][_0xfa8b('0x3f')]);_0x22d1e0[_0xfa8b('0x40')]=qs[_0xfa8b('0x39')](_[_0xfa8b('0x41')](_0x263f3[_0xfa8b('0x37')],_0x4a628d['filters']));_0x22d1e0[_0xfa8b('0x40')]['SessionId']=_0x3a9ca2['id'];if(_0x263f3[_0xfa8b('0x37')][_0xfa8b('0x43')]){_0x22d1e0[_0xfa8b('0x40')]=_['merge'](_0x22d1e0[_0xfa8b('0x40')],{'$or':_[_0xfa8b('0x31')](_0x22d1e0['attributes'],function(_0x360143){var _0x25cc26={};_0x25cc26[_0x360143]={'$like':'%'+_0x263f3[_0xfa8b('0x37')][_0xfa8b('0x43')]+'%'};return _0x25cc26;})});}_0x22d1e0=_['merge']({},_0x22d1e0,_0x263f3[_0xfa8b('0x45')]);return db[_0xfa8b('0x53')]['count']({'where':_0x22d1e0[_0xfa8b('0x40')]})[_0xfa8b('0x29')](function(_0x2660bd){_0x3d02d8['count']=_0x2660bd;if(_0x263f3[_0xfa8b('0x37')]['includeAll']){_0x22d1e0[_0xfa8b('0x4c')]=[{'all':!![]}];}return db[_0xfa8b('0x53')]['findAll'](_0x22d1e0);})[_0xfa8b('0x29')](function(_0x1249f6){_0x3d02d8['rows']=_0x1249f6;return _0x3d02d8;});}})[_0xfa8b('0x29')](respondWithFilteredResult(_0x1fb05e,_0x22d1e0))[_0xfa8b('0x49')](handleError(_0x1fb05e,null));};