Built motion from commit 47436d59.|2.6.7
[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 _0x3ebc=['set','apply','reject','save','update','then','destroy','stack','name','send','index','map','JscriptySessionReport','rawAttributes','fieldName','key','model','query','filters','intersection','fields','attributes','length','nolimit','order','sort','where','pick','merge','type','VIRTUAL','options','includeAll','include','findAll','catch','keys','find','create','body','params','describe','getQuestions','findOne','hasOwnProperty','SessionId','filter','JscriptyQuestionReport','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','sox','to-csv','ejs','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','json','offset','limit','undefined','count'];(function(_0x2e8418,_0x58c529){var _0x548fe6=function(_0x2b2877){while(--_0x2b2877){_0x2e8418['push'](_0x2e8418['shift']());}};_0x548fe6(++_0x58c529);}(_0x3ebc,0x11d));var _0xc3eb=function(_0x2347dc,_0x2b132f){_0x2347dc=_0x2347dc-0x0;var _0x5d5712=_0x3ebc[_0x2347dc];return _0x5d5712;};'use strict';var emlformat=require(_0xc3eb('0x0'));var rimraf=require(_0xc3eb('0x1'));var zipdir=require(_0xc3eb('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xc3eb('0x3'));var moment=require(_0xc3eb('0x4'));var BPromise=require(_0xc3eb('0x5'));var Mustache=require(_0xc3eb('0x6'));var util=require('util');var path=require('path');var sox=require(_0xc3eb('0x7'));var csv=require(_0xc3eb('0x8'));var ejs=require(_0xc3eb('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xc3eb('0xa'));var squel=require(_0xc3eb('0xb'));var crypto=require('crypto');var jsforce=require(_0xc3eb('0xc'));var deskjs=require(_0xc3eb('0xd'));var toCsv=require(_0xc3eb('0x8'));var querystring=require(_0xc3eb('0xe'));var Papa=require(_0xc3eb('0xf'));var Redis=require(_0xc3eb('0x10'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0xc3eb('0x11'));var hardwareService=require(_0xc3eb('0x12'));var logger=require(_0xc3eb('0x13'))('api');var utils=require(_0xc3eb('0x14'));var config=require(_0xc3eb('0x15'));var licenseUtil=require(_0xc3eb('0x16'));var db=require(_0xc3eb('0x17'))['db'];function respondWithStatusCode(_0x1d0a75,_0x260d07){_0x260d07=_0x260d07||0xcc;return function(_0x40623a){if(_0x40623a){return _0x1d0a75[_0xc3eb('0x18')](_0x260d07);}return _0x1d0a75[_0xc3eb('0x19')](_0x260d07)['end']();};}function respondWithResult(_0x10a781,_0x5b75e7){_0x5b75e7=_0x5b75e7||0xc8;return function(_0x360ed3){if(_0x360ed3){return _0x10a781[_0xc3eb('0x19')](_0x5b75e7)[_0xc3eb('0x1a')](_0x360ed3);}};}function respondWithFilteredResult(_0x5099f7,_0x281ee5){return function(_0x345f2b){if(_0x345f2b){var _0x47513c=typeof _0x281ee5[_0xc3eb('0x1b')]==='undefined'&&typeof _0x281ee5[_0xc3eb('0x1c')]===_0xc3eb('0x1d');var _0x1fa851=_0x345f2b[_0xc3eb('0x1e')];var _0x26478b=_0x47513c?0x0:_0x281ee5['offset'];var _0x1d8c54=_0x47513c?_0x345f2b[_0xc3eb('0x1e')]:_0x281ee5[_0xc3eb('0x1b')]+_0x281ee5['limit'];var _0x3c2d09;if(_0x1d8c54>=_0x1fa851){_0x1d8c54=_0x1fa851;_0x3c2d09=0xc8;}else{_0x3c2d09=0xce;}_0x5099f7['status'](_0x3c2d09);return _0x5099f7[_0xc3eb('0x1f')]('Content-Range',_0x26478b+'-'+_0x1d8c54+'/'+_0x1fa851)[_0xc3eb('0x1a')](_0x345f2b);}return null;};}function patchUpdates(_0xdde37b){return function(_0x64aa4e){try{jsonpatch[_0xc3eb('0x20')](_0x64aa4e,_0xdde37b,!![]);}catch(_0x5cc411){return BPromise[_0xc3eb('0x21')](_0x5cc411);}return _0x64aa4e[_0xc3eb('0x22')]();};}function saveUpdates(_0x4f3df4,_0x108369){return function(_0x1bad33){if(_0x1bad33){return _0x1bad33[_0xc3eb('0x23')](_0x4f3df4)[_0xc3eb('0x24')](function(_0x18cf56){return _0x18cf56;});}return null;};}function removeEntity(_0xb6846b,_0x2905c6){return function(_0x31f0ea){if(_0x31f0ea){return _0x31f0ea[_0xc3eb('0x25')]()['then'](function(){_0xb6846b[_0xc3eb('0x19')](0xcc)['end']();});}};}function handleEntityNotFound(_0x22654f,_0x56489c){return function(_0x27ad4b){if(!_0x27ad4b){_0x22654f['sendStatus'](0x194);}return _0x27ad4b;};}function handleError(_0x1a213f,_0x2b9395){_0x2b9395=_0x2b9395||0x1f4;return function(_0xa8fc50){logger['error'](_0xa8fc50[_0xc3eb('0x26')]);if(_0xa8fc50['name']){delete _0xa8fc50[_0xc3eb('0x27')];}_0x1a213f[_0xc3eb('0x19')](_0x2b9395)[_0xc3eb('0x28')](_0xa8fc50);};}exports[_0xc3eb('0x29')]=function(_0x1143d3,_0x156737){var _0xdfc350={},_0x5f1a01={},_0x64247d={'count':0x0,'rows':[]};var _0x2402fd=_[_0xc3eb('0x2a')](db[_0xc3eb('0x2b')][_0xc3eb('0x2c')],function(_0x42051e){return{'name':_0x42051e[_0xc3eb('0x2d')],'type':_0x42051e['type'][_0xc3eb('0x2e')]};});_0x5f1a01[_0xc3eb('0x2f')]=_[_0xc3eb('0x2a')](_0x2402fd,_0xc3eb('0x27'));_0x5f1a01['query']=_['keys'](_0x1143d3[_0xc3eb('0x30')]);_0x5f1a01[_0xc3eb('0x31')]=_[_0xc3eb('0x32')](_0x5f1a01['model'],_0x5f1a01[_0xc3eb('0x30')]);_0xdfc350['attributes']=_[_0xc3eb('0x32')](_0x5f1a01[_0xc3eb('0x2f')],qs['fields'](_0x1143d3['query'][_0xc3eb('0x33')]));_0xdfc350[_0xc3eb('0x34')]=_0xdfc350['attributes'][_0xc3eb('0x35')]?_0xdfc350[_0xc3eb('0x34')]:_0x5f1a01[_0xc3eb('0x2f')];if(!_0x1143d3[_0xc3eb('0x30')]['hasOwnProperty'](_0xc3eb('0x36'))){_0xdfc350[_0xc3eb('0x1c')]=qs[_0xc3eb('0x1c')](_0x1143d3[_0xc3eb('0x30')][_0xc3eb('0x1c')]);_0xdfc350[_0xc3eb('0x1b')]=qs[_0xc3eb('0x1b')](_0x1143d3['query']['offset']);}_0xdfc350[_0xc3eb('0x37')]=qs[_0xc3eb('0x38')](_0x1143d3[_0xc3eb('0x30')]['sort']);_0xdfc350[_0xc3eb('0x39')]=qs[_0xc3eb('0x31')](_[_0xc3eb('0x3a')](_0x1143d3[_0xc3eb('0x30')],_0x5f1a01['filters']),_0x2402fd);if(_0x1143d3[_0xc3eb('0x30')]['filter']){_0xdfc350[_0xc3eb('0x39')]=_[_0xc3eb('0x3b')](_0xdfc350[_0xc3eb('0x39')],{'$or':_[_0xc3eb('0x2a')](_0x2402fd,function(_0x1eee45){if(_0x1eee45[_0xc3eb('0x3c')]!==_0xc3eb('0x3d')){var _0x39ca1d={};_0x39ca1d[_0x1eee45[_0xc3eb('0x27')]]={'$like':'%'+_0x1143d3[_0xc3eb('0x30')]['filter']+'%'};return _0x39ca1d;}})});}_0xdfc350=_['merge']({},_0xdfc350,_0x1143d3[_0xc3eb('0x3e')]);var _0x56ba54={'where':_0xdfc350[_0xc3eb('0x39')]};return db[_0xc3eb('0x2b')][_0xc3eb('0x1e')](_0x56ba54)[_0xc3eb('0x24')](function(_0x3d40d9){_0x64247d[_0xc3eb('0x1e')]=_0x3d40d9;if(_0x1143d3['query'][_0xc3eb('0x3f')]){_0xdfc350[_0xc3eb('0x40')]=[{'all':!![]}];}return db['JscriptySessionReport'][_0xc3eb('0x41')](_0xdfc350);})[_0xc3eb('0x24')](function(_0x186e1d){_0x64247d['rows']=_0x186e1d;return _0x64247d;})[_0xc3eb('0x24')](respondWithFilteredResult(_0x156737,_0xdfc350))[_0xc3eb('0x42')](handleError(_0x156737,null));};exports['show']=function(_0x3200d8,_0x327ec4){var _0x2840c2={'raw':!![],'where':{'id':_0x3200d8['params']['id']}},_0x3439b8={};_0x3439b8[_0xc3eb('0x2f')]=_['keys'](db[_0xc3eb('0x2b')][_0xc3eb('0x2c')]);_0x3439b8[_0xc3eb('0x30')]=_[_0xc3eb('0x43')](_0x3200d8[_0xc3eb('0x30')]);_0x3439b8[_0xc3eb('0x31')]=_['intersection'](_0x3439b8['model'],_0x3439b8[_0xc3eb('0x30')]);_0x2840c2[_0xc3eb('0x34')]=_[_0xc3eb('0x32')](_0x3439b8[_0xc3eb('0x2f')],qs[_0xc3eb('0x33')](_0x3200d8[_0xc3eb('0x30')][_0xc3eb('0x33')]));_0x2840c2['attributes']=_0x2840c2[_0xc3eb('0x34')][_0xc3eb('0x35')]?_0x2840c2[_0xc3eb('0x34')]:_0x3439b8[_0xc3eb('0x2f')];if(_0x3200d8[_0xc3eb('0x30')][_0xc3eb('0x3f')]){_0x2840c2['include']=[{'all':!![]}];}_0x2840c2=_[_0xc3eb('0x3b')]({},_0x2840c2,_0x3200d8[_0xc3eb('0x3e')]);return db[_0xc3eb('0x2b')][_0xc3eb('0x44')](_0x2840c2)['then'](handleEntityNotFound(_0x327ec4,null))['then'](respondWithResult(_0x327ec4,null))[_0xc3eb('0x42')](handleError(_0x327ec4,null));};exports[_0xc3eb('0x45')]=function(_0x39ca29,_0x1f99df){return db[_0xc3eb('0x2b')]['create'](_0x39ca29['body'],{})['then'](respondWithResult(_0x1f99df,0xc9))['catch'](handleError(_0x1f99df,null));};exports[_0xc3eb('0x23')]=function(_0x7fa342,_0x39a9f2){if(_0x7fa342[_0xc3eb('0x46')]['id']){delete _0x7fa342[_0xc3eb('0x46')]['id'];}return db[_0xc3eb('0x2b')][_0xc3eb('0x44')]({'where':{'id':_0x7fa342[_0xc3eb('0x47')]['id']}})['then'](handleEntityNotFound(_0x39a9f2,null))['then'](saveUpdates(_0x7fa342[_0xc3eb('0x46')],null))[_0xc3eb('0x24')](respondWithResult(_0x39a9f2,null))[_0xc3eb('0x42')](handleError(_0x39a9f2,null));};exports['destroy']=function(_0x4880da,_0x9815ac){return db[_0xc3eb('0x2b')][_0xc3eb('0x44')]({'where':{'id':_0x4880da['params']['id']}})[_0xc3eb('0x24')](handleEntityNotFound(_0x9815ac,null))[_0xc3eb('0x24')](removeEntity(_0x9815ac,null))['catch'](handleError(_0x9815ac,null));};exports['describe']=function(_0x1b8172,_0xf2ca5e){return db[_0xc3eb('0x2b')][_0xc3eb('0x48')]()[_0xc3eb('0x24')](respondWithResult(_0xf2ca5e,null))['catch'](handleError(_0xf2ca5e,null));};exports[_0xc3eb('0x49')]=function(_0x543ab1,_0x1ba109,_0x342c86){var _0x6ddbe7={'raw':!![],'where':{}};var _0x14902f={};var _0xba55f9={'count':0x0,'rows':[]};return db[_0xc3eb('0x2b')][_0xc3eb('0x4a')]({'where':{'id':_0x543ab1[_0xc3eb('0x47')]['id']}})[_0xc3eb('0x24')](handleEntityNotFound(_0x1ba109,null))[_0xc3eb('0x24')](function(_0x24f27a){if(_0x24f27a){_0x14902f['model']=_['keys'](db['JscriptyQuestionReport']['rawAttributes']);_0x14902f['query']=_[_0xc3eb('0x43')](_0x543ab1['query']);_0x14902f[_0xc3eb('0x31')]=_[_0xc3eb('0x32')](_0x14902f[_0xc3eb('0x2f')],_0x14902f[_0xc3eb('0x30')]);_0x6ddbe7[_0xc3eb('0x34')]=_[_0xc3eb('0x32')](_0x14902f[_0xc3eb('0x2f')],qs[_0xc3eb('0x33')](_0x543ab1[_0xc3eb('0x30')][_0xc3eb('0x33')]));_0x6ddbe7[_0xc3eb('0x34')]=_0x6ddbe7['attributes'][_0xc3eb('0x35')]?_0x6ddbe7['attributes']:_0x14902f[_0xc3eb('0x2f')];if(!_0x543ab1['query'][_0xc3eb('0x4b')](_0xc3eb('0x36'))){_0x6ddbe7[_0xc3eb('0x1c')]=qs[_0xc3eb('0x1c')](_0x543ab1[_0xc3eb('0x30')][_0xc3eb('0x1c')]);_0x6ddbe7['offset']=qs[_0xc3eb('0x1b')](_0x543ab1[_0xc3eb('0x30')][_0xc3eb('0x1b')]);}_0x6ddbe7[_0xc3eb('0x37')]=qs[_0xc3eb('0x38')](_0x543ab1[_0xc3eb('0x30')][_0xc3eb('0x38')]);_0x6ddbe7['where']=qs[_0xc3eb('0x31')](_[_0xc3eb('0x3a')](_0x543ab1[_0xc3eb('0x30')],_0x14902f[_0xc3eb('0x31')]));_0x6ddbe7['where'][_0xc3eb('0x4c')]=_0x24f27a['id'];if(_0x543ab1['query']['filter']){_0x6ddbe7['where']=_['merge'](_0x6ddbe7[_0xc3eb('0x39')],{'$or':_[_0xc3eb('0x2a')](_0x6ddbe7[_0xc3eb('0x34')],function(_0x5b240c){var _0x100d23={};_0x100d23[_0x5b240c]={'$like':'%'+_0x543ab1[_0xc3eb('0x30')][_0xc3eb('0x4d')]+'%'};return _0x100d23;})});}_0x6ddbe7=_['merge']({},_0x6ddbe7,_0x543ab1[_0xc3eb('0x3e')]);return db[_0xc3eb('0x4e')][_0xc3eb('0x1e')]({'where':_0x6ddbe7[_0xc3eb('0x39')]})[_0xc3eb('0x24')](function(_0x56310c){_0xba55f9[_0xc3eb('0x1e')]=_0x56310c;if(_0x543ab1[_0xc3eb('0x30')][_0xc3eb('0x3f')]){_0x6ddbe7[_0xc3eb('0x40')]=[{'all':!![]}];}return db[_0xc3eb('0x4e')][_0xc3eb('0x41')](_0x6ddbe7);})['then'](function(_0x5aa9f4){_0xba55f9['rows']=_0x5aa9f4;return _0xba55f9;});}})[_0xc3eb('0x24')](respondWithFilteredResult(_0x1ba109,_0x6ddbe7))['catch'](handleError(_0x1ba109,null));};