Built motion from commit 753c950e.|2.5.42
[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 _0x01af=['error','stack','name','send','index','map','JscriptySessionReport','rawAttributes','fieldName','type','key','model','query','keys','intersection','fields','attributes','nolimit','order','sort','pick','filters','filter','merge','where','VIRTUAL','options','then','includeAll','include','findAll','catch','params','length','create','body','find','describe','getQuestions','JscriptyQuestionReport','hasOwnProperty','rows','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','querystring','ioredis','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','json','undefined','limit','count','offset','set','Content-Range','apply','update','destroy','end'];(function(_0x4ca4ae,_0x106b1b){var _0x464bd5=function(_0x46f575){while(--_0x46f575){_0x4ca4ae['push'](_0x4ca4ae['shift']());}};_0x464bd5(++_0x106b1b);}(_0x01af,0x79));var _0xf01a=function(_0x22d78a,_0x266ee0){_0x22d78a=_0x22d78a-0x0;var _0x46b80a=_0x01af[_0x22d78a];return _0x46b80a;};'use strict';var emlformat=require(_0xf01a('0x0'));var rimraf=require(_0xf01a('0x1'));var zipdir=require(_0xf01a('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xf01a('0x3'));var moment=require(_0xf01a('0x4'));var BPromise=require(_0xf01a('0x5'));var Mustache=require('mustache');var util=require(_0xf01a('0x6'));var path=require(_0xf01a('0x7'));var sox=require(_0xf01a('0x8'));var csv=require(_0xf01a('0x9'));var ejs=require(_0xf01a('0xa'));var fs=require('fs');var fs_extra=require(_0xf01a('0xb'));var _=require(_0xf01a('0xc'));var squel=require(_0xf01a('0xd'));var crypto=require(_0xf01a('0xe'));var jsforce=require(_0xf01a('0xf'));var deskjs=require('desk.js');var toCsv=require(_0xf01a('0x9'));var querystring=require(_0xf01a('0x10'));var Papa=require('papaparse');var Redis=require(_0xf01a('0x11'));var authService=require('../../components/auth/service');var qs=require(_0xf01a('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xf01a('0x13'));var logger=require(_0xf01a('0x14'))('api');var utils=require(_0xf01a('0x15'));var config=require('../../config/environment');var licenseUtil=require(_0xf01a('0x16'));var db=require(_0xf01a('0x17'))['db'];function respondWithStatusCode(_0x2833f6,_0x4396c0){_0x4396c0=_0x4396c0||0xcc;return function(_0x1291bd){if(_0x1291bd){return _0x2833f6[_0xf01a('0x18')](_0x4396c0);}return _0x2833f6[_0xf01a('0x19')](_0x4396c0)['end']();};}function respondWithResult(_0x350290,_0x5be677){_0x5be677=_0x5be677||0xc8;return function(_0x53d2b2){if(_0x53d2b2){return _0x350290[_0xf01a('0x19')](_0x5be677)[_0xf01a('0x1a')](_0x53d2b2);}};}function respondWithFilteredResult(_0x55277d,_0x13485b){return function(_0x110455){if(_0x110455){var _0x1c95db=typeof _0x13485b['offset']===_0xf01a('0x1b')&&typeof _0x13485b[_0xf01a('0x1c')]===_0xf01a('0x1b');var _0x1d86c1=_0x110455[_0xf01a('0x1d')];var _0x30a99c=_0x1c95db?0x0:_0x13485b['offset'];var _0x38da6d=_0x1c95db?_0x110455[_0xf01a('0x1d')]:_0x13485b[_0xf01a('0x1e')]+_0x13485b[_0xf01a('0x1c')];var _0x8891a3;if(_0x38da6d>=_0x1d86c1){_0x38da6d=_0x1d86c1;_0x8891a3=0xc8;}else{_0x8891a3=0xce;}_0x55277d[_0xf01a('0x19')](_0x8891a3);return _0x55277d[_0xf01a('0x1f')](_0xf01a('0x20'),_0x30a99c+'-'+_0x38da6d+'/'+_0x1d86c1)[_0xf01a('0x1a')](_0x110455);}return null;};}function patchUpdates(_0x5e0b9d){return function(_0x3535a0){try{jsonpatch[_0xf01a('0x21')](_0x3535a0,_0x5e0b9d,!![]);}catch(_0x5ae5c3){return BPromise['reject'](_0x5ae5c3);}return _0x3535a0['save']();};}function saveUpdates(_0xd73211,_0x2b8782){return function(_0x44ee9f){if(_0x44ee9f){return _0x44ee9f[_0xf01a('0x22')](_0xd73211)['then'](function(_0x16e022){return _0x16e022;});}return null;};}function removeEntity(_0x2e9330,_0x37f4e4){return function(_0x205d1b){if(_0x205d1b){return _0x205d1b[_0xf01a('0x23')]()['then'](function(){_0x2e9330[_0xf01a('0x19')](0xcc)[_0xf01a('0x24')]();});}};}function handleEntityNotFound(_0xdeb609,_0x1222d9){return function(_0x43205a){if(!_0x43205a){_0xdeb609[_0xf01a('0x18')](0x194);}return _0x43205a;};}function handleError(_0x58981a,_0x1cbfbf){_0x1cbfbf=_0x1cbfbf||0x1f4;return function(_0x222055){logger[_0xf01a('0x25')](_0x222055[_0xf01a('0x26')]);if(_0x222055[_0xf01a('0x27')]){delete _0x222055['name'];}_0x58981a[_0xf01a('0x19')](_0x1cbfbf)[_0xf01a('0x28')](_0x222055);};}exports[_0xf01a('0x29')]=function(_0x3b6ab0,_0x11b679){var _0x327999={},_0x224327={},_0x2b3d55={'count':0x0,'rows':[]};var _0x301cc3=_[_0xf01a('0x2a')](db[_0xf01a('0x2b')][_0xf01a('0x2c')],function(_0x409d7b){return{'name':_0x409d7b[_0xf01a('0x2d')],'type':_0x409d7b[_0xf01a('0x2e')][_0xf01a('0x2f')]};});_0x224327[_0xf01a('0x30')]=_['map'](_0x301cc3,_0xf01a('0x27'));_0x224327[_0xf01a('0x31')]=_[_0xf01a('0x32')](_0x3b6ab0[_0xf01a('0x31')]);_0x224327['filters']=_[_0xf01a('0x33')](_0x224327[_0xf01a('0x30')],_0x224327['query']);_0x327999['attributes']=_[_0xf01a('0x33')](_0x224327[_0xf01a('0x30')],qs[_0xf01a('0x34')](_0x3b6ab0[_0xf01a('0x31')]['fields']));_0x327999[_0xf01a('0x35')]=_0x327999['attributes']['length']?_0x327999['attributes']:_0x224327[_0xf01a('0x30')];if(!_0x3b6ab0['query']['hasOwnProperty'](_0xf01a('0x36'))){_0x327999['limit']=qs['limit'](_0x3b6ab0[_0xf01a('0x31')][_0xf01a('0x1c')]);_0x327999[_0xf01a('0x1e')]=qs[_0xf01a('0x1e')](_0x3b6ab0['query'][_0xf01a('0x1e')]);}_0x327999[_0xf01a('0x37')]=qs[_0xf01a('0x38')](_0x3b6ab0[_0xf01a('0x31')][_0xf01a('0x38')]);_0x327999['where']=qs['filters'](_[_0xf01a('0x39')](_0x3b6ab0[_0xf01a('0x31')],_0x224327[_0xf01a('0x3a')]),_0x301cc3);if(_0x3b6ab0[_0xf01a('0x31')][_0xf01a('0x3b')]){_0x327999['where']=_[_0xf01a('0x3c')](_0x327999[_0xf01a('0x3d')],{'$or':_[_0xf01a('0x2a')](_0x301cc3,function(_0x198b21){if(_0x198b21[_0xf01a('0x2e')]!==_0xf01a('0x3e')){var _0x2124a6={};_0x2124a6[_0x198b21[_0xf01a('0x27')]]={'$like':'%'+_0x3b6ab0[_0xf01a('0x31')][_0xf01a('0x3b')]+'%'};return _0x2124a6;}})});}_0x327999=_[_0xf01a('0x3c')]({},_0x327999,_0x3b6ab0[_0xf01a('0x3f')]);var _0x1ad606={'where':_0x327999['where']};return db[_0xf01a('0x2b')][_0xf01a('0x1d')](_0x1ad606)[_0xf01a('0x40')](function(_0x323a80){_0x2b3d55[_0xf01a('0x1d')]=_0x323a80;if(_0x3b6ab0[_0xf01a('0x31')][_0xf01a('0x41')]){_0x327999[_0xf01a('0x42')]=[{'all':!![]}];}return db[_0xf01a('0x2b')][_0xf01a('0x43')](_0x327999);})[_0xf01a('0x40')](function(_0x5522c4){_0x2b3d55['rows']=_0x5522c4;return _0x2b3d55;})['then'](respondWithFilteredResult(_0x11b679,_0x327999))[_0xf01a('0x44')](handleError(_0x11b679,null));};exports['show']=function(_0x3e43e9,_0x5914d5){var _0x4fb0c5={'raw':!![],'where':{'id':_0x3e43e9[_0xf01a('0x45')]['id']}},_0xdb3946={};_0xdb3946['model']=_[_0xf01a('0x32')](db['JscriptySessionReport']['rawAttributes']);_0xdb3946[_0xf01a('0x31')]=_['keys'](_0x3e43e9[_0xf01a('0x31')]);_0xdb3946[_0xf01a('0x3a')]=_[_0xf01a('0x33')](_0xdb3946[_0xf01a('0x30')],_0xdb3946[_0xf01a('0x31')]);_0x4fb0c5[_0xf01a('0x35')]=_[_0xf01a('0x33')](_0xdb3946[_0xf01a('0x30')],qs['fields'](_0x3e43e9[_0xf01a('0x31')][_0xf01a('0x34')]));_0x4fb0c5[_0xf01a('0x35')]=_0x4fb0c5[_0xf01a('0x35')][_0xf01a('0x46')]?_0x4fb0c5[_0xf01a('0x35')]:_0xdb3946[_0xf01a('0x30')];if(_0x3e43e9[_0xf01a('0x31')][_0xf01a('0x41')]){_0x4fb0c5['include']=[{'all':!![]}];}_0x4fb0c5=_['merge']({},_0x4fb0c5,_0x3e43e9[_0xf01a('0x3f')]);return db[_0xf01a('0x2b')]['find'](_0x4fb0c5)['then'](handleEntityNotFound(_0x5914d5,null))[_0xf01a('0x40')](respondWithResult(_0x5914d5,null))[_0xf01a('0x44')](handleError(_0x5914d5,null));};exports[_0xf01a('0x47')]=function(_0x227002,_0x2b0571){return db[_0xf01a('0x2b')]['create'](_0x227002[_0xf01a('0x48')],{})[_0xf01a('0x40')](respondWithResult(_0x2b0571,0xc9))[_0xf01a('0x44')](handleError(_0x2b0571,null));};exports[_0xf01a('0x22')]=function(_0x368dba,_0x178349){if(_0x368dba[_0xf01a('0x48')]['id']){delete _0x368dba[_0xf01a('0x48')]['id'];}return db[_0xf01a('0x2b')]['find']({'where':{'id':_0x368dba['params']['id']}})['then'](handleEntityNotFound(_0x178349,null))[_0xf01a('0x40')](saveUpdates(_0x368dba[_0xf01a('0x48')],null))[_0xf01a('0x40')](respondWithResult(_0x178349,null))['catch'](handleError(_0x178349,null));};exports[_0xf01a('0x23')]=function(_0x35be6c,_0x1b62e8){return db[_0xf01a('0x2b')][_0xf01a('0x49')]({'where':{'id':_0x35be6c[_0xf01a('0x45')]['id']}})['then'](handleEntityNotFound(_0x1b62e8,null))[_0xf01a('0x40')](removeEntity(_0x1b62e8,null))[_0xf01a('0x44')](handleError(_0x1b62e8,null));};exports[_0xf01a('0x4a')]=function(_0x301a3a,_0x251c7f){return db[_0xf01a('0x2b')][_0xf01a('0x4a')]()[_0xf01a('0x40')](respondWithResult(_0x251c7f,null))['catch'](handleError(_0x251c7f,null));};exports[_0xf01a('0x4b')]=function(_0x543921,_0x22ea85,_0x1b6e93){var _0x54409a={'raw':!![],'where':{}};var _0x270c87={};var _0xa622f={'count':0x0,'rows':[]};return db[_0xf01a('0x2b')]['findOne']({'where':{'id':_0x543921[_0xf01a('0x45')]['id']}})[_0xf01a('0x40')](handleEntityNotFound(_0x22ea85,null))[_0xf01a('0x40')](function(_0x55f6dc){if(_0x55f6dc){_0x270c87[_0xf01a('0x30')]=_[_0xf01a('0x32')](db[_0xf01a('0x4c')]['rawAttributes']);_0x270c87[_0xf01a('0x31')]=_[_0xf01a('0x32')](_0x543921[_0xf01a('0x31')]);_0x270c87[_0xf01a('0x3a')]=_['intersection'](_0x270c87[_0xf01a('0x30')],_0x270c87[_0xf01a('0x31')]);_0x54409a[_0xf01a('0x35')]=_[_0xf01a('0x33')](_0x270c87[_0xf01a('0x30')],qs[_0xf01a('0x34')](_0x543921[_0xf01a('0x31')]['fields']));_0x54409a[_0xf01a('0x35')]=_0x54409a[_0xf01a('0x35')][_0xf01a('0x46')]?_0x54409a[_0xf01a('0x35')]:_0x270c87[_0xf01a('0x30')];if(!_0x543921[_0xf01a('0x31')][_0xf01a('0x4d')](_0xf01a('0x36'))){_0x54409a['limit']=qs[_0xf01a('0x1c')](_0x543921['query'][_0xf01a('0x1c')]);_0x54409a[_0xf01a('0x1e')]=qs[_0xf01a('0x1e')](_0x543921[_0xf01a('0x31')][_0xf01a('0x1e')]);}_0x54409a['order']=qs[_0xf01a('0x38')](_0x543921[_0xf01a('0x31')][_0xf01a('0x38')]);_0x54409a[_0xf01a('0x3d')]=qs[_0xf01a('0x3a')](_[_0xf01a('0x39')](_0x543921[_0xf01a('0x31')],_0x270c87['filters']));_0x54409a[_0xf01a('0x3d')]['SessionId']=_0x55f6dc['id'];if(_0x543921['query'][_0xf01a('0x3b')]){_0x54409a[_0xf01a('0x3d')]=_[_0xf01a('0x3c')](_0x54409a['where'],{'$or':_[_0xf01a('0x2a')](_0x54409a[_0xf01a('0x35')],function(_0x28fc9d){var _0x30c091={};_0x30c091[_0x28fc9d]={'$like':'%'+_0x543921[_0xf01a('0x31')][_0xf01a('0x3b')]+'%'};return _0x30c091;})});}_0x54409a=_[_0xf01a('0x3c')]({},_0x54409a,_0x543921[_0xf01a('0x3f')]);return db[_0xf01a('0x4c')][_0xf01a('0x1d')]({'where':_0x54409a[_0xf01a('0x3d')]})[_0xf01a('0x40')](function(_0x495a67){_0xa622f[_0xf01a('0x1d')]=_0x495a67;if(_0x543921[_0xf01a('0x31')]['includeAll']){_0x54409a[_0xf01a('0x42')]=[{'all':!![]}];}return db['JscriptyQuestionReport']['findAll'](_0x54409a);})[_0xf01a('0x40')](function(_0x128c33){_0xa622f[_0xf01a('0x4e')]=_0x128c33;return _0xa622f;});}})[_0xf01a('0x40')](respondWithFilteredResult(_0x22ea85,_0x54409a))[_0xf01a('0x44')](handleError(_0x22ea85,null));};