Built motion from commit c1aa34a0.|2.6.28
[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 _0x0047=['../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','reject','save','update','then','destroy','error','stack','name','index','map','JscriptySessionReport','rawAttributes','key','query','keys','filters','intersection','model','attributes','fields','hasOwnProperty','order','sort','merge','where','type','VIRTUAL','filter','options','includeAll','findAll','rows','show','length','include','find','catch','create','body','params','describe','getQuestions','findOne','JscriptyQuestionReport','nolimit','SessionId','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs'];(function(_0x116c01,_0x334818){var _0x3f4c54=function(_0x20aaad){while(--_0x20aaad){_0x116c01['push'](_0x116c01['shift']());}};_0x3f4c54(++_0x334818);}(_0x0047,0x18b));var _0x7004=function(_0x1ed46f,_0x7691d7){_0x1ed46f=_0x1ed46f-0x0;var _0x43b931=_0x0047[_0x1ed46f];return _0x43b931;};'use strict';var emlformat=require(_0x7004('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x7004('0x1'));var jsonpatch=require(_0x7004('0x2'));var rp=require(_0x7004('0x3'));var moment=require(_0x7004('0x4'));var BPromise=require(_0x7004('0x5'));var Mustache=require(_0x7004('0x6'));var util=require('util');var path=require(_0x7004('0x7'));var sox=require(_0x7004('0x8'));var csv=require(_0x7004('0x9'));var ejs=require(_0x7004('0xa'));var fs=require('fs');var fs_extra=require(_0x7004('0xb'));var _=require(_0x7004('0xc'));var squel=require('squel');var crypto=require(_0x7004('0xd'));var jsforce=require(_0x7004('0xe'));var deskjs=require(_0x7004('0xf'));var toCsv=require('to-csv');var querystring=require(_0x7004('0x10'));var Papa=require('papaparse');var Redis=require(_0x7004('0x11'));var authService=require(_0x7004('0x12'));var qs=require(_0x7004('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x7004('0x14'));var logger=require(_0x7004('0x15'))(_0x7004('0x16'));var utils=require(_0x7004('0x17'));var config=require(_0x7004('0x18'));var licenseUtil=require(_0x7004('0x19'));var db=require(_0x7004('0x1a'))['db'];function respondWithStatusCode(_0xda0b0c,_0x3d1440){_0x3d1440=_0x3d1440||0xcc;return function(_0x1afe87){if(_0x1afe87){return _0xda0b0c[_0x7004('0x1b')](_0x3d1440);}return _0xda0b0c[_0x7004('0x1c')](_0x3d1440)[_0x7004('0x1d')]();};}function respondWithResult(_0x4b455c,_0x484d07){_0x484d07=_0x484d07||0xc8;return function(_0xd17fa4){if(_0xd17fa4){return _0x4b455c['status'](_0x484d07)[_0x7004('0x1e')](_0xd17fa4);}};}function respondWithFilteredResult(_0x404a32,_0x2fdf7c){return function(_0x3d4f0e){if(_0x3d4f0e){var _0x187dc8=typeof _0x2fdf7c[_0x7004('0x1f')]===_0x7004('0x20')&&typeof _0x2fdf7c[_0x7004('0x21')]===_0x7004('0x20');var _0x4986d2=_0x3d4f0e[_0x7004('0x22')];var _0x215e01=_0x187dc8?0x0:_0x2fdf7c[_0x7004('0x1f')];var _0x28737e=_0x187dc8?_0x3d4f0e['count']:_0x2fdf7c['offset']+_0x2fdf7c[_0x7004('0x21')];var _0x5e3791;if(_0x28737e>=_0x4986d2){_0x28737e=_0x4986d2;_0x5e3791=0xc8;}else{_0x5e3791=0xce;}_0x404a32[_0x7004('0x1c')](_0x5e3791);return _0x404a32[_0x7004('0x23')](_0x7004('0x24'),_0x215e01+'-'+_0x28737e+'/'+_0x4986d2)[_0x7004('0x1e')](_0x3d4f0e);}return null;};}function patchUpdates(_0x4b884a){return function(_0x3d903e){try{jsonpatch['apply'](_0x3d903e,_0x4b884a,!![]);}catch(_0x35e2b9){return BPromise[_0x7004('0x25')](_0x35e2b9);}return _0x3d903e[_0x7004('0x26')]();};}function saveUpdates(_0x4f9954,_0x1f5f9e){return function(_0x3d7fe9){if(_0x3d7fe9){return _0x3d7fe9[_0x7004('0x27')](_0x4f9954)[_0x7004('0x28')](function(_0x545a13){return _0x545a13;});}return null;};}function removeEntity(_0x17673e,_0xe95f09){return function(_0x2f1b26){if(_0x2f1b26){return _0x2f1b26[_0x7004('0x29')]()[_0x7004('0x28')](function(){_0x17673e[_0x7004('0x1c')](0xcc)['end']();});}};}function handleEntityNotFound(_0x46cffb,_0x14b68f){return function(_0x4da1a7){if(!_0x4da1a7){_0x46cffb[_0x7004('0x1b')](0x194);}return _0x4da1a7;};}function handleError(_0x4d947b,_0x5b77db){_0x5b77db=_0x5b77db||0x1f4;return function(_0x5948d2){logger[_0x7004('0x2a')](_0x5948d2[_0x7004('0x2b')]);if(_0x5948d2[_0x7004('0x2c')]){delete _0x5948d2[_0x7004('0x2c')];}_0x4d947b[_0x7004('0x1c')](_0x5b77db)['send'](_0x5948d2);};}exports[_0x7004('0x2d')]=function(_0x4e7849,_0x537fbc){var _0x50468d={},_0x46f3ec={},_0x3b0eb0={'count':0x0,'rows':[]};var _0x3c6997=_[_0x7004('0x2e')](db[_0x7004('0x2f')][_0x7004('0x30')],function(_0x77cd73){return{'name':_0x77cd73['fieldName'],'type':_0x77cd73['type'][_0x7004('0x31')]};});_0x46f3ec['model']=_['map'](_0x3c6997,'name');_0x46f3ec[_0x7004('0x32')]=_[_0x7004('0x33')](_0x4e7849[_0x7004('0x32')]);_0x46f3ec[_0x7004('0x34')]=_[_0x7004('0x35')](_0x46f3ec[_0x7004('0x36')],_0x46f3ec['query']);_0x50468d[_0x7004('0x37')]=_[_0x7004('0x35')](_0x46f3ec[_0x7004('0x36')],qs[_0x7004('0x38')](_0x4e7849[_0x7004('0x32')][_0x7004('0x38')]));_0x50468d[_0x7004('0x37')]=_0x50468d[_0x7004('0x37')]['length']?_0x50468d[_0x7004('0x37')]:_0x46f3ec[_0x7004('0x36')];if(!_0x4e7849[_0x7004('0x32')][_0x7004('0x39')]('nolimit')){_0x50468d[_0x7004('0x21')]=qs[_0x7004('0x21')](_0x4e7849[_0x7004('0x32')][_0x7004('0x21')]);_0x50468d[_0x7004('0x1f')]=qs['offset'](_0x4e7849[_0x7004('0x32')][_0x7004('0x1f')]);}_0x50468d[_0x7004('0x3a')]=qs[_0x7004('0x3b')](_0x4e7849[_0x7004('0x32')][_0x7004('0x3b')]);_0x50468d['where']=qs['filters'](_['pick'](_0x4e7849[_0x7004('0x32')],_0x46f3ec[_0x7004('0x34')]),_0x3c6997);if(_0x4e7849['query']['filter']){_0x50468d['where']=_[_0x7004('0x3c')](_0x50468d[_0x7004('0x3d')],{'$or':_[_0x7004('0x2e')](_0x3c6997,function(_0xbabdbb){if(_0xbabdbb[_0x7004('0x3e')]!==_0x7004('0x3f')){var _0x336e81={};_0x336e81[_0xbabdbb['name']]={'$like':'%'+_0x4e7849[_0x7004('0x32')][_0x7004('0x40')]+'%'};return _0x336e81;}})});}_0x50468d=_['merge']({},_0x50468d,_0x4e7849[_0x7004('0x41')]);var _0x8e33d7={'where':_0x50468d[_0x7004('0x3d')]};return db[_0x7004('0x2f')][_0x7004('0x22')](_0x8e33d7)[_0x7004('0x28')](function(_0x874798){_0x3b0eb0['count']=_0x874798;if(_0x4e7849['query'][_0x7004('0x42')]){_0x50468d['include']=[{'all':!![]}];}return db[_0x7004('0x2f')][_0x7004('0x43')](_0x50468d);})['then'](function(_0x1bd24a){_0x3b0eb0[_0x7004('0x44')]=_0x1bd24a;return _0x3b0eb0;})[_0x7004('0x28')](respondWithFilteredResult(_0x537fbc,_0x50468d))['catch'](handleError(_0x537fbc,null));};exports[_0x7004('0x45')]=function(_0x27bbf5,_0x51eb2d){var _0x551107={'raw':!![],'where':{'id':_0x27bbf5['params']['id']}},_0x2a9c75={};_0x2a9c75[_0x7004('0x36')]=_[_0x7004('0x33')](db['JscriptySessionReport'][_0x7004('0x30')]);_0x2a9c75[_0x7004('0x32')]=_['keys'](_0x27bbf5[_0x7004('0x32')]);_0x2a9c75[_0x7004('0x34')]=_['intersection'](_0x2a9c75[_0x7004('0x36')],_0x2a9c75[_0x7004('0x32')]);_0x551107[_0x7004('0x37')]=_[_0x7004('0x35')](_0x2a9c75['model'],qs[_0x7004('0x38')](_0x27bbf5['query']['fields']));_0x551107['attributes']=_0x551107[_0x7004('0x37')][_0x7004('0x46')]?_0x551107[_0x7004('0x37')]:_0x2a9c75['model'];if(_0x27bbf5[_0x7004('0x32')]['includeAll']){_0x551107[_0x7004('0x47')]=[{'all':!![]}];}_0x551107=_['merge']({},_0x551107,_0x27bbf5['options']);return db[_0x7004('0x2f')][_0x7004('0x48')](_0x551107)[_0x7004('0x28')](handleEntityNotFound(_0x51eb2d,null))[_0x7004('0x28')](respondWithResult(_0x51eb2d,null))[_0x7004('0x49')](handleError(_0x51eb2d,null));};exports[_0x7004('0x4a')]=function(_0x32bf30,_0x1d41db){return db[_0x7004('0x2f')]['create'](_0x32bf30[_0x7004('0x4b')],{})[_0x7004('0x28')](respondWithResult(_0x1d41db,0xc9))[_0x7004('0x49')](handleError(_0x1d41db,null));};exports['update']=function(_0x367a7f,_0x518ea3){if(_0x367a7f[_0x7004('0x4b')]['id']){delete _0x367a7f[_0x7004('0x4b')]['id'];}return db[_0x7004('0x2f')][_0x7004('0x48')]({'where':{'id':_0x367a7f[_0x7004('0x4c')]['id']}})[_0x7004('0x28')](handleEntityNotFound(_0x518ea3,null))[_0x7004('0x28')](saveUpdates(_0x367a7f[_0x7004('0x4b')],null))[_0x7004('0x28')](respondWithResult(_0x518ea3,null))['catch'](handleError(_0x518ea3,null));};exports['destroy']=function(_0x432268,_0x1d6606){return db[_0x7004('0x2f')][_0x7004('0x48')]({'where':{'id':_0x432268[_0x7004('0x4c')]['id']}})[_0x7004('0x28')](handleEntityNotFound(_0x1d6606,null))[_0x7004('0x28')](removeEntity(_0x1d6606,null))['catch'](handleError(_0x1d6606,null));};exports['describe']=function(_0x2c5eb9,_0x3ddd4e){return db[_0x7004('0x2f')][_0x7004('0x4d')]()[_0x7004('0x28')](respondWithResult(_0x3ddd4e,null))['catch'](handleError(_0x3ddd4e,null));};exports[_0x7004('0x4e')]=function(_0x4242ca,_0x413abe,_0x3188f6){var _0x5d7d4f={'raw':!![],'where':{}};var _0x325312={};var _0x37a20a={'count':0x0,'rows':[]};return db[_0x7004('0x2f')][_0x7004('0x4f')]({'where':{'id':_0x4242ca['params']['id']}})[_0x7004('0x28')](handleEntityNotFound(_0x413abe,null))['then'](function(_0x3c6f0d){if(_0x3c6f0d){_0x325312[_0x7004('0x36')]=_[_0x7004('0x33')](db[_0x7004('0x50')]['rawAttributes']);_0x325312[_0x7004('0x32')]=_[_0x7004('0x33')](_0x4242ca['query']);_0x325312[_0x7004('0x34')]=_['intersection'](_0x325312[_0x7004('0x36')],_0x325312[_0x7004('0x32')]);_0x5d7d4f['attributes']=_[_0x7004('0x35')](_0x325312[_0x7004('0x36')],qs[_0x7004('0x38')](_0x4242ca[_0x7004('0x32')][_0x7004('0x38')]));_0x5d7d4f[_0x7004('0x37')]=_0x5d7d4f[_0x7004('0x37')]['length']?_0x5d7d4f[_0x7004('0x37')]:_0x325312['model'];if(!_0x4242ca[_0x7004('0x32')][_0x7004('0x39')](_0x7004('0x51'))){_0x5d7d4f[_0x7004('0x21')]=qs[_0x7004('0x21')](_0x4242ca[_0x7004('0x32')][_0x7004('0x21')]);_0x5d7d4f['offset']=qs['offset'](_0x4242ca[_0x7004('0x32')][_0x7004('0x1f')]);}_0x5d7d4f[_0x7004('0x3a')]=qs[_0x7004('0x3b')](_0x4242ca[_0x7004('0x32')][_0x7004('0x3b')]);_0x5d7d4f[_0x7004('0x3d')]=qs[_0x7004('0x34')](_['pick'](_0x4242ca[_0x7004('0x32')],_0x325312['filters']));_0x5d7d4f[_0x7004('0x3d')][_0x7004('0x52')]=_0x3c6f0d['id'];if(_0x4242ca[_0x7004('0x32')][_0x7004('0x40')]){_0x5d7d4f[_0x7004('0x3d')]=_[_0x7004('0x3c')](_0x5d7d4f['where'],{'$or':_[_0x7004('0x2e')](_0x5d7d4f['attributes'],function(_0x39415c){var _0x46311b={};_0x46311b[_0x39415c]={'$like':'%'+_0x4242ca[_0x7004('0x32')]['filter']+'%'};return _0x46311b;})});}_0x5d7d4f=_[_0x7004('0x3c')]({},_0x5d7d4f,_0x4242ca['options']);return db[_0x7004('0x50')][_0x7004('0x22')]({'where':_0x5d7d4f[_0x7004('0x3d')]})['then'](function(_0x3106cd){_0x37a20a['count']=_0x3106cd;if(_0x4242ca[_0x7004('0x32')]['includeAll']){_0x5d7d4f[_0x7004('0x47')]=[{'all':!![]}];}return db[_0x7004('0x50')]['findAll'](_0x5d7d4f);})[_0x7004('0x28')](function(_0x468a47){_0x37a20a['rows']=_0x468a47;return _0x37a20a;});}})[_0x7004('0x28')](respondWithFilteredResult(_0x413abe,_0x5d7d4f))['catch'](handleError(_0x413abe,null));};