7eb4fe3657e9c7c497fa2a08f492263235c2d688
[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 _0xd91c=['fast-json-patch','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','jsforce','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','offset','limit','set','Content-Range','apply','reject','save','update','then','destroy','sendStatus','stack','name','send','index','map','JscriptySessionReport','rawAttributes','type','key','model','query','keys','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','count','includeAll','include','rows','show','params','catch','create','body','find','describe','getQuestions','findOne','JscriptyQuestionReport','SessionId','findAll','html-pdf','rimraf','zip-dir'];(function(_0x16390c,_0x27a147){var _0x9bdebc=function(_0x454759){while(--_0x454759){_0x16390c['push'](_0x16390c['shift']());}};_0x9bdebc(++_0x27a147);}(_0xd91c,0xf3));var _0xcd91=function(_0x59a357,_0x3c5713){_0x59a357=_0x59a357-0x0;var _0x16d5ee=_0xd91c[_0x59a357];return _0x16d5ee;};'use strict';var pdf=require(_0xcd91('0x0'));var emlformat=require('eml-format');var rimraf=require(_0xcd91('0x1'));var zipdir=require(_0xcd91('0x2'));var jsonpatch=require(_0xcd91('0x3'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0xcd91('0x4'));var Mustache=require(_0xcd91('0x5'));var util=require(_0xcd91('0x6'));var path=require(_0xcd91('0x7'));var sox=require(_0xcd91('0x8'));var csv=require(_0xcd91('0x9'));var ejs=require(_0xcd91('0xa'));var fs=require('fs');var _=require(_0xcd91('0xb'));var squel=require(_0xcd91('0xc'));var crypto=require('crypto');var jsforce=require(_0xcd91('0xd'));var deskjs=require('desk.js');var toCsv=require(_0xcd91('0x9'));var querystring=require(_0xcd91('0xe'));var Papa=require(_0xcd91('0xf'));var Redis=require('ioredis');var authService=require(_0xcd91('0x10'));var qs=require(_0xcd91('0x11'));var as=require(_0xcd91('0x12'));var hardwareService=require(_0xcd91('0x13'));var logger=require('../../config/logger')(_0xcd91('0x14'));var utils=require(_0xcd91('0x15'));var config=require(_0xcd91('0x16'));var licenseUtil=require(_0xcd91('0x17'));var db=require(_0xcd91('0x18'))['db'];function respondWithStatusCode(_0x44a4be,_0x4a3132){_0x4a3132=_0x4a3132||0xcc;return function(_0x50891a){if(_0x50891a){return _0x44a4be['sendStatus'](_0x4a3132);}return _0x44a4be[_0xcd91('0x19')](_0x4a3132)[_0xcd91('0x1a')]();};}function respondWithResult(_0x546da4,_0x2b07d3){_0x2b07d3=_0x2b07d3||0xc8;return function(_0x217fc2){if(_0x217fc2){return _0x546da4[_0xcd91('0x19')](_0x2b07d3)[_0xcd91('0x1b')](_0x217fc2);}};}function respondWithFilteredResult(_0xb86404,_0x52a443){return function(_0x1ad7e7){if(_0x1ad7e7){var _0x15d1b6=_0x1ad7e7['count'],_0x3e278b=_0x52a443[_0xcd91('0x1c')],_0x3eae52=_0x52a443[_0xcd91('0x1c')]+_0x52a443[_0xcd91('0x1d')],_0x269e73;if(_0x3eae52>=_0x15d1b6){_0x3eae52=_0x15d1b6;_0x269e73=0xc8;}else{_0x269e73=0xce;}_0xb86404['status'](_0x269e73);return _0xb86404[_0xcd91('0x1e')](_0xcd91('0x1f'),_0x3e278b+'-'+_0x3eae52+'/'+_0x15d1b6)[_0xcd91('0x1b')](_0x1ad7e7);}return null;};}function patchUpdates(_0x2058cf){return function(_0x33940a){try{jsonpatch[_0xcd91('0x20')](_0x33940a,_0x2058cf,!![]);}catch(_0x275361){return BPromise[_0xcd91('0x21')](_0x275361);}return _0x33940a[_0xcd91('0x22')]();};}function saveUpdates(_0x5aa08c,_0x212238){return function(_0x18f956){if(_0x18f956){return _0x18f956[_0xcd91('0x23')](_0x5aa08c)[_0xcd91('0x24')](function(_0x169ba0){return _0x169ba0;});}return null;};}function removeEntity(_0x2c4ebd,_0x22535a){return function(_0x5b8607){if(_0x5b8607){return _0x5b8607[_0xcd91('0x25')]()['then'](function(){_0x2c4ebd[_0xcd91('0x19')](0xcc)[_0xcd91('0x1a')]();});}};}function handleEntityNotFound(_0x17dc14,_0x509e53){return function(_0xc708ba){if(!_0xc708ba){_0x17dc14[_0xcd91('0x26')](0x194);}return _0xc708ba;};}function handleError(_0x25cd7a,_0x23ccce){_0x23ccce=_0x23ccce||0x1f4;return function(_0x3afb2f){logger['error'](_0x3afb2f[_0xcd91('0x27')]);if(_0x3afb2f[_0xcd91('0x28')]){delete _0x3afb2f[_0xcd91('0x28')];}_0x25cd7a[_0xcd91('0x19')](_0x23ccce)[_0xcd91('0x29')](_0x3afb2f);};}exports[_0xcd91('0x2a')]=function(_0x71060c,_0x3057b1){var _0x195eb3={},_0x9a449b={},_0x36a29b={'count':0x0,'rows':[]};var _0x10683c=_[_0xcd91('0x2b')](db[_0xcd91('0x2c')][_0xcd91('0x2d')],function(_0x540313){return{'name':_0x540313['fieldName'],'type':_0x540313[_0xcd91('0x2e')][_0xcd91('0x2f')]};});_0x9a449b[_0xcd91('0x30')]=_[_0xcd91('0x2b')](_0x10683c,_0xcd91('0x28'));_0x9a449b[_0xcd91('0x31')]=_[_0xcd91('0x32')](_0x71060c[_0xcd91('0x31')]);_0x9a449b[_0xcd91('0x33')]=_['intersection'](_0x9a449b['model'],_0x9a449b[_0xcd91('0x31')]);_0x195eb3[_0xcd91('0x34')]=_[_0xcd91('0x35')](_0x9a449b['model'],qs['fields'](_0x71060c['query'][_0xcd91('0x36')]));_0x195eb3[_0xcd91('0x34')]=_0x195eb3[_0xcd91('0x34')][_0xcd91('0x37')]?_0x195eb3['attributes']:_0x9a449b['model'];if(!_0x71060c['query'][_0xcd91('0x38')](_0xcd91('0x39'))){_0x195eb3[_0xcd91('0x1d')]=qs[_0xcd91('0x1d')](_0x71060c[_0xcd91('0x31')]['limit']);_0x195eb3[_0xcd91('0x1c')]=qs['offset'](_0x71060c[_0xcd91('0x31')][_0xcd91('0x1c')]);}_0x195eb3[_0xcd91('0x3a')]=qs[_0xcd91('0x3b')](_0x71060c[_0xcd91('0x31')][_0xcd91('0x3b')]);_0x195eb3[_0xcd91('0x3c')]=qs[_0xcd91('0x33')](_[_0xcd91('0x3d')](_0x71060c[_0xcd91('0x31')],_0x9a449b['filters']),_0x10683c);if(_0x71060c['query'][_0xcd91('0x3e')]){_0x195eb3['where']=_[_0xcd91('0x3f')](_0x195eb3[_0xcd91('0x3c')],{'$or':_[_0xcd91('0x2b')](_0x10683c,function(_0x9818be){if(_0x9818be[_0xcd91('0x2e')]!==_0xcd91('0x40')){var _0x4d2861={};_0x4d2861[_0x9818be['name']]={'$like':'%'+_0x71060c[_0xcd91('0x31')][_0xcd91('0x3e')]+'%'};return _0x4d2861;}})});}_0x195eb3=_[_0xcd91('0x3f')]({},_0x195eb3,_0x71060c[_0xcd91('0x41')]);var _0xf69b7d={'where':_0x195eb3[_0xcd91('0x3c')]};return db[_0xcd91('0x2c')][_0xcd91('0x42')](_0xf69b7d)[_0xcd91('0x24')](function(_0x25fa13){_0x36a29b[_0xcd91('0x42')]=_0x25fa13;if(_0x71060c['query'][_0xcd91('0x43')]){_0x195eb3[_0xcd91('0x44')]=[{'all':!![]}];}return db[_0xcd91('0x2c')]['findAll'](_0x195eb3);})[_0xcd91('0x24')](function(_0x29d10b){_0x36a29b[_0xcd91('0x45')]=_0x29d10b;return _0x36a29b;})[_0xcd91('0x24')](respondWithFilteredResult(_0x3057b1,_0x195eb3))['catch'](handleError(_0x3057b1,null));};exports[_0xcd91('0x46')]=function(_0x33c18f,_0x15a4a6){var _0x830e24={'raw':!![],'where':{'id':_0x33c18f[_0xcd91('0x47')]['id']}},_0x4c6254={};_0x4c6254[_0xcd91('0x30')]=_[_0xcd91('0x32')](db[_0xcd91('0x2c')]['rawAttributes']);_0x4c6254[_0xcd91('0x31')]=_[_0xcd91('0x32')](_0x33c18f[_0xcd91('0x31')]);_0x4c6254[_0xcd91('0x33')]=_[_0xcd91('0x35')](_0x4c6254[_0xcd91('0x30')],_0x4c6254['query']);_0x830e24['attributes']=_[_0xcd91('0x35')](_0x4c6254[_0xcd91('0x30')],qs['fields'](_0x33c18f[_0xcd91('0x31')][_0xcd91('0x36')]));_0x830e24[_0xcd91('0x34')]=_0x830e24[_0xcd91('0x34')][_0xcd91('0x37')]?_0x830e24[_0xcd91('0x34')]:_0x4c6254[_0xcd91('0x30')];if(_0x33c18f[_0xcd91('0x31')]['includeAll']){_0x830e24[_0xcd91('0x44')]=[{'all':!![]}];}_0x830e24=_[_0xcd91('0x3f')]({},_0x830e24,_0x33c18f[_0xcd91('0x41')]);return db[_0xcd91('0x2c')]['find'](_0x830e24)[_0xcd91('0x24')](handleEntityNotFound(_0x15a4a6,null))[_0xcd91('0x24')](respondWithResult(_0x15a4a6,null))[_0xcd91('0x48')](handleError(_0x15a4a6,null));};exports[_0xcd91('0x49')]=function(_0x3c8da3,_0x7d324a){return db[_0xcd91('0x2c')][_0xcd91('0x49')](_0x3c8da3[_0xcd91('0x4a')],{})[_0xcd91('0x24')](respondWithResult(_0x7d324a,0xc9))[_0xcd91('0x48')](handleError(_0x7d324a,null));};exports[_0xcd91('0x23')]=function(_0x43fe5a,_0x4e9cbc){if(_0x43fe5a['body']['id']){delete _0x43fe5a[_0xcd91('0x4a')]['id'];}return db[_0xcd91('0x2c')][_0xcd91('0x4b')]({'where':{'id':_0x43fe5a[_0xcd91('0x47')]['id']}})[_0xcd91('0x24')](handleEntityNotFound(_0x4e9cbc,null))['then'](saveUpdates(_0x43fe5a['body'],null))[_0xcd91('0x24')](respondWithResult(_0x4e9cbc,null))[_0xcd91('0x48')](handleError(_0x4e9cbc,null));};exports['destroy']=function(_0x3e3e85,_0x4905b1){return db[_0xcd91('0x2c')]['find']({'where':{'id':_0x3e3e85['params']['id']}})[_0xcd91('0x24')](handleEntityNotFound(_0x4905b1,null))[_0xcd91('0x24')](removeEntity(_0x4905b1,null))[_0xcd91('0x48')](handleError(_0x4905b1,null));};exports[_0xcd91('0x4c')]=function(_0x4fe4b2,_0xc6729d){return db['JscriptySessionReport'][_0xcd91('0x4c')]()[_0xcd91('0x24')](respondWithResult(_0xc6729d,null))['catch'](handleError(_0xc6729d,null));};exports[_0xcd91('0x4d')]=function(_0x2de6bf,_0x158189,_0x57dbbc){var _0x490d0a={'raw':!![],'where':{}};var _0x215133={};var _0xded1ed={'count':0x0,'rows':[]};return db['JscriptySessionReport'][_0xcd91('0x4e')]({'where':{'id':_0x2de6bf[_0xcd91('0x47')]['id']}})[_0xcd91('0x24')](handleEntityNotFound(_0x158189,null))[_0xcd91('0x24')](function(_0x3f817c){if(_0x3f817c){_0x215133['model']=_[_0xcd91('0x32')](db[_0xcd91('0x4f')][_0xcd91('0x2d')]);_0x215133['query']=_[_0xcd91('0x32')](_0x2de6bf[_0xcd91('0x31')]);_0x215133[_0xcd91('0x33')]=_[_0xcd91('0x35')](_0x215133['model'],_0x215133[_0xcd91('0x31')]);_0x490d0a[_0xcd91('0x34')]=_[_0xcd91('0x35')](_0x215133[_0xcd91('0x30')],qs['fields'](_0x2de6bf['query'][_0xcd91('0x36')]));_0x490d0a[_0xcd91('0x34')]=_0x490d0a['attributes'][_0xcd91('0x37')]?_0x490d0a['attributes']:_0x215133['model'];if(!_0x2de6bf['query']['hasOwnProperty']('nolimit')){_0x490d0a[_0xcd91('0x1d')]=qs[_0xcd91('0x1d')](_0x2de6bf['query']['limit']);_0x490d0a[_0xcd91('0x1c')]=qs['offset'](_0x2de6bf['query'][_0xcd91('0x1c')]);}_0x490d0a[_0xcd91('0x3a')]=qs[_0xcd91('0x3b')](_0x2de6bf[_0xcd91('0x31')][_0xcd91('0x3b')]);_0x490d0a[_0xcd91('0x3c')]=qs[_0xcd91('0x33')](_[_0xcd91('0x3d')](_0x2de6bf[_0xcd91('0x31')],_0x215133[_0xcd91('0x33')]));_0x490d0a[_0xcd91('0x3c')][_0xcd91('0x50')]=_0x3f817c['id'];if(_0x2de6bf['query']['filter']){_0x490d0a['where']=_['merge'](_0x490d0a['where'],{'$or':_[_0xcd91('0x2b')](_0x490d0a['attributes'],function(_0x34715d){var _0x320f80={};_0x320f80[_0x34715d]={'$like':'%'+_0x2de6bf[_0xcd91('0x31')][_0xcd91('0x3e')]+'%'};return _0x320f80;})});}_0x490d0a=_[_0xcd91('0x3f')]({},_0x490d0a,_0x2de6bf[_0xcd91('0x41')]);return db[_0xcd91('0x4f')][_0xcd91('0x42')]({'where':_0x490d0a[_0xcd91('0x3c')]})['then'](function(_0x1339b4){_0xded1ed['count']=_0x1339b4;if(_0x2de6bf[_0xcd91('0x31')][_0xcd91('0x43')]){_0x490d0a[_0xcd91('0x44')]=[{'all':!![]}];}return db[_0xcd91('0x4f')][_0xcd91('0x51')](_0x490d0a);})[_0xcd91('0x24')](function(_0x4290c2){_0xded1ed[_0xcd91('0x45')]=_0x4290c2;return _0xded1ed;});}})['then'](respondWithFilteredResult(_0x158189,_0x490d0a))[_0xcd91('0x48')](handleError(_0x158189,null));};