70ea425442a100e078aec0a377aaa57edebef7cd
[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 _0x97c5=['hasOwnProperty','nolimit','order','sort','where','filters','VIRTUAL','filter','merge','includeAll','findAll','catch','show','params','include','options','find','create','body','destroy','describe','getQuestions','findOne','JscriptyQuestionReport','SessionId','rows','eml-format','rimraf','zip-dir','fast-json-patch','moment','util','sox','to-csv','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','end','json','count','offset','limit','status','set','Content-Range','apply','reject','update','then','error','name','index','map','JscriptySessionReport','rawAttributes','fieldName','type','key','model','keys','query','intersection','fields','attributes','length'];(function(_0x3337e1,_0x4761bf){var _0x2c5652=function(_0x3e8021){while(--_0x3e8021){_0x3337e1['push'](_0x3337e1['shift']());}};_0x2c5652(++_0x4761bf);}(_0x97c5,0x146));var _0x597c=function(_0x3f760c,_0x2a0d11){_0x3f760c=_0x3f760c-0x0;var _0x148a38=_0x97c5[_0x3f760c];return _0x148a38;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x597c('0x0'));var rimraf=require(_0x597c('0x1'));var zipdir=require(_0x597c('0x2'));var jsonpatch=require(_0x597c('0x3'));var rp=require('request-promise');var moment=require(_0x597c('0x4'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x597c('0x5'));var path=require('path');var sox=require(_0x597c('0x6'));var csv=require(_0x597c('0x7'));var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require(_0x597c('0x8'));var crypto=require(_0x597c('0x9'));var jsforce=require(_0x597c('0xa'));var deskjs=require(_0x597c('0xb'));var toCsv=require(_0x597c('0x7'));var querystring=require('querystring');var Papa=require(_0x597c('0xc'));var Redis=require(_0x597c('0xd'));var authService=require('../../components/auth/service');var qs=require(_0x597c('0xe'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x597c('0xf'))(_0x597c('0x10'));var utils=require(_0x597c('0x11'));var config=require(_0x597c('0x12'));var licenseUtil=require('../../config/license/util');var db=require(_0x597c('0x13'))['db'];function respondWithStatusCode(_0x19a29a,_0x12cc5b){_0x12cc5b=_0x12cc5b||0xcc;return function(_0x5c346a){if(_0x5c346a){return _0x19a29a[_0x597c('0x14')](_0x12cc5b);}return _0x19a29a['status'](_0x12cc5b)[_0x597c('0x15')]();};}function respondWithResult(_0x2a46cf,_0x206dd3){_0x206dd3=_0x206dd3||0xc8;return function(_0x2364ff){if(_0x2364ff){return _0x2a46cf['status'](_0x206dd3)[_0x597c('0x16')](_0x2364ff);}};}function respondWithFilteredResult(_0x54bdbf,_0x20c219){return function(_0x3d5543){if(_0x3d5543){var _0x450b34=_0x3d5543[_0x597c('0x17')],_0x5edae5=_0x20c219['offset'],_0x59c487=_0x20c219[_0x597c('0x18')]+_0x20c219[_0x597c('0x19')],_0x16db4d;if(_0x59c487>=_0x450b34){_0x59c487=_0x450b34;_0x16db4d=0xc8;}else{_0x16db4d=0xce;}_0x54bdbf[_0x597c('0x1a')](_0x16db4d);return _0x54bdbf[_0x597c('0x1b')](_0x597c('0x1c'),_0x5edae5+'-'+_0x59c487+'/'+_0x450b34)[_0x597c('0x16')](_0x3d5543);}return null;};}function patchUpdates(_0x5c6cab){return function(_0x13efa9){try{jsonpatch[_0x597c('0x1d')](_0x13efa9,_0x5c6cab,!![]);}catch(_0x1afd27){return BPromise[_0x597c('0x1e')](_0x1afd27);}return _0x13efa9['save']();};}function saveUpdates(_0x41c967,_0x11488e){return function(_0x4519c2){if(_0x4519c2){return _0x4519c2[_0x597c('0x1f')](_0x41c967)[_0x597c('0x20')](function(_0x8b5a36){return _0x8b5a36;});}return null;};}function removeEntity(_0x2ff275,_0x56a253){return function(_0x46b911){if(_0x46b911){return _0x46b911['destroy']()[_0x597c('0x20')](function(){_0x2ff275['status'](0xcc)[_0x597c('0x15')]();});}};}function handleEntityNotFound(_0x39f2ce,_0x2e3640){return function(_0x3bf354){if(!_0x3bf354){_0x39f2ce[_0x597c('0x14')](0x194);}return _0x3bf354;};}function handleError(_0x581668,_0x3b67e7){_0x3b67e7=_0x3b67e7||0x1f4;return function(_0x4600a0){logger[_0x597c('0x21')](_0x4600a0['stack']);if(_0x4600a0[_0x597c('0x22')]){delete _0x4600a0[_0x597c('0x22')];}_0x581668[_0x597c('0x1a')](_0x3b67e7)['send'](_0x4600a0);};}exports[_0x597c('0x23')]=function(_0x3cf1c6,_0x4154dc){var _0x354f2a={},_0x29b33c={},_0x254550={'count':0x0,'rows':[]};var _0x49dd92=_[_0x597c('0x24')](db[_0x597c('0x25')][_0x597c('0x26')],function(_0x454e01){return{'name':_0x454e01[_0x597c('0x27')],'type':_0x454e01[_0x597c('0x28')][_0x597c('0x29')]};});_0x29b33c[_0x597c('0x2a')]=_['map'](_0x49dd92,'name');_0x29b33c['query']=_[_0x597c('0x2b')](_0x3cf1c6[_0x597c('0x2c')]);_0x29b33c['filters']=_[_0x597c('0x2d')](_0x29b33c[_0x597c('0x2a')],_0x29b33c[_0x597c('0x2c')]);_0x354f2a['attributes']=_[_0x597c('0x2d')](_0x29b33c[_0x597c('0x2a')],qs[_0x597c('0x2e')](_0x3cf1c6['query'][_0x597c('0x2e')]));_0x354f2a[_0x597c('0x2f')]=_0x354f2a[_0x597c('0x2f')][_0x597c('0x30')]?_0x354f2a[_0x597c('0x2f')]:_0x29b33c[_0x597c('0x2a')];if(!_0x3cf1c6['query'][_0x597c('0x31')](_0x597c('0x32'))){_0x354f2a[_0x597c('0x19')]=qs[_0x597c('0x19')](_0x3cf1c6[_0x597c('0x2c')]['limit']);_0x354f2a[_0x597c('0x18')]=qs[_0x597c('0x18')](_0x3cf1c6[_0x597c('0x2c')][_0x597c('0x18')]);}_0x354f2a[_0x597c('0x33')]=qs[_0x597c('0x34')](_0x3cf1c6[_0x597c('0x2c')][_0x597c('0x34')]);_0x354f2a[_0x597c('0x35')]=qs[_0x597c('0x36')](_['pick'](_0x3cf1c6[_0x597c('0x2c')],_0x29b33c['filters']),_0x49dd92);if(_0x3cf1c6[_0x597c('0x2c')]['filter']){_0x354f2a['where']=_['merge'](_0x354f2a['where'],{'$or':_[_0x597c('0x24')](_0x49dd92,function(_0x5a6b57){if(_0x5a6b57[_0x597c('0x28')]!==_0x597c('0x37')){var _0x11c7c1={};_0x11c7c1[_0x5a6b57['name']]={'$like':'%'+_0x3cf1c6[_0x597c('0x2c')][_0x597c('0x38')]+'%'};return _0x11c7c1;}})});}_0x354f2a=_[_0x597c('0x39')]({},_0x354f2a,_0x3cf1c6['options']);var _0xfe84d2={'where':_0x354f2a[_0x597c('0x35')]};return db['JscriptySessionReport'][_0x597c('0x17')](_0xfe84d2)[_0x597c('0x20')](function(_0x1bdda0){_0x254550[_0x597c('0x17')]=_0x1bdda0;if(_0x3cf1c6[_0x597c('0x2c')][_0x597c('0x3a')]){_0x354f2a['include']=[{'all':!![]}];}return db[_0x597c('0x25')][_0x597c('0x3b')](_0x354f2a);})['then'](function(_0x2bf61c){_0x254550['rows']=_0x2bf61c;return _0x254550;})[_0x597c('0x20')](respondWithFilteredResult(_0x4154dc,_0x354f2a))[_0x597c('0x3c')](handleError(_0x4154dc,null));};exports[_0x597c('0x3d')]=function(_0x345a43,_0x6ab969){var _0x3f166c={'raw':!![],'where':{'id':_0x345a43[_0x597c('0x3e')]['id']}},_0x3211bf={};_0x3211bf[_0x597c('0x2a')]=_['keys'](db[_0x597c('0x25')]['rawAttributes']);_0x3211bf[_0x597c('0x2c')]=_[_0x597c('0x2b')](_0x345a43[_0x597c('0x2c')]);_0x3211bf[_0x597c('0x36')]=_[_0x597c('0x2d')](_0x3211bf[_0x597c('0x2a')],_0x3211bf['query']);_0x3f166c[_0x597c('0x2f')]=_['intersection'](_0x3211bf['model'],qs[_0x597c('0x2e')](_0x345a43[_0x597c('0x2c')][_0x597c('0x2e')]));_0x3f166c[_0x597c('0x2f')]=_0x3f166c[_0x597c('0x2f')][_0x597c('0x30')]?_0x3f166c[_0x597c('0x2f')]:_0x3211bf['model'];if(_0x345a43[_0x597c('0x2c')][_0x597c('0x3a')]){_0x3f166c[_0x597c('0x3f')]=[{'all':!![]}];}_0x3f166c=_[_0x597c('0x39')]({},_0x3f166c,_0x345a43[_0x597c('0x40')]);return db['JscriptySessionReport'][_0x597c('0x41')](_0x3f166c)[_0x597c('0x20')](handleEntityNotFound(_0x6ab969,null))[_0x597c('0x20')](respondWithResult(_0x6ab969,null))[_0x597c('0x3c')](handleError(_0x6ab969,null));};exports[_0x597c('0x42')]=function(_0x2e01b1,_0x5988dd){return db[_0x597c('0x25')]['create'](_0x2e01b1[_0x597c('0x43')],{})[_0x597c('0x20')](respondWithResult(_0x5988dd,0xc9))[_0x597c('0x3c')](handleError(_0x5988dd,null));};exports['update']=function(_0x15c124,_0x487c2b){if(_0x15c124[_0x597c('0x43')]['id']){delete _0x15c124['body']['id'];}return db[_0x597c('0x25')][_0x597c('0x41')]({'where':{'id':_0x15c124['params']['id']}})[_0x597c('0x20')](handleEntityNotFound(_0x487c2b,null))['then'](saveUpdates(_0x15c124[_0x597c('0x43')],null))['then'](respondWithResult(_0x487c2b,null))[_0x597c('0x3c')](handleError(_0x487c2b,null));};exports[_0x597c('0x44')]=function(_0xda7f0f,_0x5ca92e){return db[_0x597c('0x25')]['find']({'where':{'id':_0xda7f0f[_0x597c('0x3e')]['id']}})['then'](handleEntityNotFound(_0x5ca92e,null))[_0x597c('0x20')](removeEntity(_0x5ca92e,null))['catch'](handleError(_0x5ca92e,null));};exports[_0x597c('0x45')]=function(_0x4a0e4f,_0x39f691){return db[_0x597c('0x25')]['describe']()[_0x597c('0x20')](respondWithResult(_0x39f691,null))[_0x597c('0x3c')](handleError(_0x39f691,null));};exports[_0x597c('0x46')]=function(_0x1a86d4,_0x556442,_0xdbc7cb){var _0x35c60c={'raw':!![],'where':{}};var _0x951788={};var _0x22fbb1={'count':0x0,'rows':[]};return db[_0x597c('0x25')][_0x597c('0x47')]({'where':{'id':_0x1a86d4[_0x597c('0x3e')]['id']}})['then'](handleEntityNotFound(_0x556442,null))['then'](function(_0x22b3c4){if(_0x22b3c4){_0x951788[_0x597c('0x2a')]=_[_0x597c('0x2b')](db[_0x597c('0x48')][_0x597c('0x26')]);_0x951788[_0x597c('0x2c')]=_[_0x597c('0x2b')](_0x1a86d4[_0x597c('0x2c')]);_0x951788['filters']=_[_0x597c('0x2d')](_0x951788[_0x597c('0x2a')],_0x951788[_0x597c('0x2c')]);_0x35c60c['attributes']=_[_0x597c('0x2d')](_0x951788[_0x597c('0x2a')],qs[_0x597c('0x2e')](_0x1a86d4['query']['fields']));_0x35c60c[_0x597c('0x2f')]=_0x35c60c[_0x597c('0x2f')][_0x597c('0x30')]?_0x35c60c['attributes']:_0x951788['model'];if(!_0x1a86d4[_0x597c('0x2c')][_0x597c('0x31')]('nolimit')){_0x35c60c[_0x597c('0x19')]=qs[_0x597c('0x19')](_0x1a86d4[_0x597c('0x2c')][_0x597c('0x19')]);_0x35c60c[_0x597c('0x18')]=qs[_0x597c('0x18')](_0x1a86d4['query'][_0x597c('0x18')]);}_0x35c60c['order']=qs[_0x597c('0x34')](_0x1a86d4[_0x597c('0x2c')][_0x597c('0x34')]);_0x35c60c['where']=qs[_0x597c('0x36')](_['pick'](_0x1a86d4['query'],_0x951788[_0x597c('0x36')]));_0x35c60c[_0x597c('0x35')][_0x597c('0x49')]=_0x22b3c4['id'];if(_0x1a86d4['query'][_0x597c('0x38')]){_0x35c60c['where']=_[_0x597c('0x39')](_0x35c60c[_0x597c('0x35')],{'$or':_[_0x597c('0x24')](_0x35c60c[_0x597c('0x2f')],function(_0x272c95){var _0x4121aa={};_0x4121aa[_0x272c95]={'$like':'%'+_0x1a86d4[_0x597c('0x2c')][_0x597c('0x38')]+'%'};return _0x4121aa;})});}_0x35c60c=_['merge']({},_0x35c60c,_0x1a86d4[_0x597c('0x40')]);return db[_0x597c('0x48')][_0x597c('0x17')]({'where':_0x35c60c[_0x597c('0x35')]})[_0x597c('0x20')](function(_0x54b6c3){_0x22fbb1[_0x597c('0x17')]=_0x54b6c3;if(_0x1a86d4[_0x597c('0x2c')][_0x597c('0x3a')]){_0x35c60c[_0x597c('0x3f')]=[{'all':!![]}];}return db['JscriptyQuestionReport'][_0x597c('0x3b')](_0x35c60c);})[_0x597c('0x20')](function(_0xae4241){_0x22fbb1[_0x597c('0x4a')]=_0xae4241;return _0x22fbb1;});}})[_0x597c('0x20')](respondWithFilteredResult(_0x556442,_0x35c60c))[_0x597c('0x3c')](handleError(_0x556442,null));};