Built motion from commit ffdca78c.|2.6.24
[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 _0xa1b5=['describe','getQuestions','JscriptyQuestionReport','SessionId','filter','rimraf','fast-json-patch','request-promise','bluebird','mustache','path','sox','lodash','squel','crypto','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','end','offset','limit','undefined','status','set','Content-Range','json','reject','save','update','then','destroy','stack','name','index','map','JscriptySessionReport','rawAttributes','key','query','keys','model','attributes','intersection','fields','length','hasOwnProperty','order','sort','where','filters','pick','type','VIRTUAL','merge','options','count','includeAll','findAll','rows','show','params','include','catch','create','body','find'];(function(_0x2d509a,_0x555264){var _0x1c783e=function(_0x402c64){while(--_0x402c64){_0x2d509a['push'](_0x2d509a['shift']());}};_0x1c783e(++_0x555264);}(_0xa1b5,0xa1));var _0x5a1b=function(_0x4e95ad,_0x11fc51){_0x4e95ad=_0x4e95ad-0x0;var _0x89e7a5=_0xa1b5[_0x4e95ad];return _0x89e7a5;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x5a1b('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0x5a1b('0x1'));var rp=require(_0x5a1b('0x2'));var moment=require('moment');var BPromise=require(_0x5a1b('0x3'));var Mustache=require(_0x5a1b('0x4'));var util=require('util');var path=require(_0x5a1b('0x5'));var sox=require(_0x5a1b('0x6'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x5a1b('0x7'));var squel=require(_0x5a1b('0x8'));var crypto=require(_0x5a1b('0x9'));var jsforce=require('jsforce');var deskjs=require(_0x5a1b('0xa'));var toCsv=require(_0x5a1b('0xb'));var querystring=require(_0x5a1b('0xc'));var Papa=require(_0x5a1b('0xd'));var Redis=require(_0x5a1b('0xe'));var authService=require(_0x5a1b('0xf'));var qs=require(_0x5a1b('0x10'));var as=require(_0x5a1b('0x11'));var hardwareService=require(_0x5a1b('0x12'));var logger=require(_0x5a1b('0x13'))(_0x5a1b('0x14'));var utils=require(_0x5a1b('0x15'));var config=require(_0x5a1b('0x16'));var licenseUtil=require(_0x5a1b('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x391e22,_0x5e9ad3){_0x5e9ad3=_0x5e9ad3||0xcc;return function(_0x27f4b0){if(_0x27f4b0){return _0x391e22[_0x5a1b('0x18')](_0x5e9ad3);}return _0x391e22['status'](_0x5e9ad3)[_0x5a1b('0x19')]();};}function respondWithResult(_0xf64740,_0x2ad675){_0x2ad675=_0x2ad675||0xc8;return function(_0xfa92e9){if(_0xfa92e9){return _0xf64740['status'](_0x2ad675)['json'](_0xfa92e9);}};}function respondWithFilteredResult(_0x1de6d4,_0x5c7a6a){return function(_0x5bd7f4){if(_0x5bd7f4){var _0x36f6e5=typeof _0x5c7a6a[_0x5a1b('0x1a')]==='undefined'&&typeof _0x5c7a6a[_0x5a1b('0x1b')]===_0x5a1b('0x1c');var _0x4fd838=_0x5bd7f4['count'];var _0x8551ba=_0x36f6e5?0x0:_0x5c7a6a[_0x5a1b('0x1a')];var _0x7d7dfd=_0x36f6e5?_0x5bd7f4['count']:_0x5c7a6a[_0x5a1b('0x1a')]+_0x5c7a6a[_0x5a1b('0x1b')];var _0x20ff2f;if(_0x7d7dfd>=_0x4fd838){_0x7d7dfd=_0x4fd838;_0x20ff2f=0xc8;}else{_0x20ff2f=0xce;}_0x1de6d4[_0x5a1b('0x1d')](_0x20ff2f);return _0x1de6d4[_0x5a1b('0x1e')](_0x5a1b('0x1f'),_0x8551ba+'-'+_0x7d7dfd+'/'+_0x4fd838)[_0x5a1b('0x20')](_0x5bd7f4);}return null;};}function patchUpdates(_0x11d4e0){return function(_0x1a01da){try{jsonpatch['apply'](_0x1a01da,_0x11d4e0,!![]);}catch(_0x46dcdd){return BPromise[_0x5a1b('0x21')](_0x46dcdd);}return _0x1a01da[_0x5a1b('0x22')]();};}function saveUpdates(_0xffc9e5,_0x15dd05){return function(_0xcc1270){if(_0xcc1270){return _0xcc1270[_0x5a1b('0x23')](_0xffc9e5)[_0x5a1b('0x24')](function(_0x14285d){return _0x14285d;});}return null;};}function removeEntity(_0x5c93a1,_0x5ae09a){return function(_0x2dcacf){if(_0x2dcacf){return _0x2dcacf[_0x5a1b('0x25')]()['then'](function(){_0x5c93a1[_0x5a1b('0x1d')](0xcc)[_0x5a1b('0x19')]();});}};}function handleEntityNotFound(_0x53a0a6,_0x24a6c9){return function(_0x5c4d8f){if(!_0x5c4d8f){_0x53a0a6[_0x5a1b('0x18')](0x194);}return _0x5c4d8f;};}function handleError(_0x19efd2,_0x3b0d04){_0x3b0d04=_0x3b0d04||0x1f4;return function(_0x85aeb4){logger['error'](_0x85aeb4[_0x5a1b('0x26')]);if(_0x85aeb4[_0x5a1b('0x27')]){delete _0x85aeb4[_0x5a1b('0x27')];}_0x19efd2[_0x5a1b('0x1d')](_0x3b0d04)['send'](_0x85aeb4);};}exports[_0x5a1b('0x28')]=function(_0x5ac2c5,_0xc7669b){var _0x518e96={},_0xded792={},_0x3d40c9={'count':0x0,'rows':[]};var _0x1ece04=_[_0x5a1b('0x29')](db[_0x5a1b('0x2a')][_0x5a1b('0x2b')],function(_0x1c2cb1){return{'name':_0x1c2cb1['fieldName'],'type':_0x1c2cb1['type'][_0x5a1b('0x2c')]};});_0xded792['model']=_[_0x5a1b('0x29')](_0x1ece04,_0x5a1b('0x27'));_0xded792[_0x5a1b('0x2d')]=_[_0x5a1b('0x2e')](_0x5ac2c5[_0x5a1b('0x2d')]);_0xded792['filters']=_['intersection'](_0xded792[_0x5a1b('0x2f')],_0xded792[_0x5a1b('0x2d')]);_0x518e96[_0x5a1b('0x30')]=_[_0x5a1b('0x31')](_0xded792['model'],qs[_0x5a1b('0x32')](_0x5ac2c5[_0x5a1b('0x2d')][_0x5a1b('0x32')]));_0x518e96[_0x5a1b('0x30')]=_0x518e96[_0x5a1b('0x30')][_0x5a1b('0x33')]?_0x518e96[_0x5a1b('0x30')]:_0xded792[_0x5a1b('0x2f')];if(!_0x5ac2c5[_0x5a1b('0x2d')][_0x5a1b('0x34')]('nolimit')){_0x518e96['limit']=qs[_0x5a1b('0x1b')](_0x5ac2c5['query']['limit']);_0x518e96[_0x5a1b('0x1a')]=qs[_0x5a1b('0x1a')](_0x5ac2c5[_0x5a1b('0x2d')][_0x5a1b('0x1a')]);}_0x518e96[_0x5a1b('0x35')]=qs['sort'](_0x5ac2c5['query'][_0x5a1b('0x36')]);_0x518e96[_0x5a1b('0x37')]=qs[_0x5a1b('0x38')](_[_0x5a1b('0x39')](_0x5ac2c5[_0x5a1b('0x2d')],_0xded792[_0x5a1b('0x38')]),_0x1ece04);if(_0x5ac2c5['query']['filter']){_0x518e96[_0x5a1b('0x37')]=_['merge'](_0x518e96['where'],{'$or':_[_0x5a1b('0x29')](_0x1ece04,function(_0x26e5e5){if(_0x26e5e5[_0x5a1b('0x3a')]!==_0x5a1b('0x3b')){var _0xcd00a5={};_0xcd00a5[_0x26e5e5[_0x5a1b('0x27')]]={'$like':'%'+_0x5ac2c5[_0x5a1b('0x2d')]['filter']+'%'};return _0xcd00a5;}})});}_0x518e96=_[_0x5a1b('0x3c')]({},_0x518e96,_0x5ac2c5[_0x5a1b('0x3d')]);var _0x2279c4={'where':_0x518e96[_0x5a1b('0x37')]};return db['JscriptySessionReport'][_0x5a1b('0x3e')](_0x2279c4)[_0x5a1b('0x24')](function(_0x7b50d5){_0x3d40c9['count']=_0x7b50d5;if(_0x5ac2c5[_0x5a1b('0x2d')][_0x5a1b('0x3f')]){_0x518e96['include']=[{'all':!![]}];}return db['JscriptySessionReport'][_0x5a1b('0x40')](_0x518e96);})[_0x5a1b('0x24')](function(_0x3ec2d3){_0x3d40c9[_0x5a1b('0x41')]=_0x3ec2d3;return _0x3d40c9;})['then'](respondWithFilteredResult(_0xc7669b,_0x518e96))['catch'](handleError(_0xc7669b,null));};exports[_0x5a1b('0x42')]=function(_0x4f3f3f,_0x19d841){var _0x16ce7f={'raw':!![],'where':{'id':_0x4f3f3f[_0x5a1b('0x43')]['id']}},_0x404a82={};_0x404a82['model']=_['keys'](db[_0x5a1b('0x2a')][_0x5a1b('0x2b')]);_0x404a82['query']=_[_0x5a1b('0x2e')](_0x4f3f3f[_0x5a1b('0x2d')]);_0x404a82[_0x5a1b('0x38')]=_['intersection'](_0x404a82[_0x5a1b('0x2f')],_0x404a82[_0x5a1b('0x2d')]);_0x16ce7f['attributes']=_[_0x5a1b('0x31')](_0x404a82[_0x5a1b('0x2f')],qs[_0x5a1b('0x32')](_0x4f3f3f[_0x5a1b('0x2d')][_0x5a1b('0x32')]));_0x16ce7f[_0x5a1b('0x30')]=_0x16ce7f['attributes']['length']?_0x16ce7f[_0x5a1b('0x30')]:_0x404a82['model'];if(_0x4f3f3f[_0x5a1b('0x2d')][_0x5a1b('0x3f')]){_0x16ce7f[_0x5a1b('0x44')]=[{'all':!![]}];}_0x16ce7f=_[_0x5a1b('0x3c')]({},_0x16ce7f,_0x4f3f3f[_0x5a1b('0x3d')]);return db[_0x5a1b('0x2a')]['find'](_0x16ce7f)['then'](handleEntityNotFound(_0x19d841,null))[_0x5a1b('0x24')](respondWithResult(_0x19d841,null))[_0x5a1b('0x45')](handleError(_0x19d841,null));};exports[_0x5a1b('0x46')]=function(_0x12ed74,_0x517e67){return db[_0x5a1b('0x2a')][_0x5a1b('0x46')](_0x12ed74[_0x5a1b('0x47')],{})[_0x5a1b('0x24')](respondWithResult(_0x517e67,0xc9))[_0x5a1b('0x45')](handleError(_0x517e67,null));};exports['update']=function(_0xbe127a,_0x454b8d){if(_0xbe127a[_0x5a1b('0x47')]['id']){delete _0xbe127a['body']['id'];}return db[_0x5a1b('0x2a')][_0x5a1b('0x48')]({'where':{'id':_0xbe127a[_0x5a1b('0x43')]['id']}})[_0x5a1b('0x24')](handleEntityNotFound(_0x454b8d,null))['then'](saveUpdates(_0xbe127a[_0x5a1b('0x47')],null))['then'](respondWithResult(_0x454b8d,null))[_0x5a1b('0x45')](handleError(_0x454b8d,null));};exports[_0x5a1b('0x25')]=function(_0x55b658,_0x3ac866){return db[_0x5a1b('0x2a')][_0x5a1b('0x48')]({'where':{'id':_0x55b658['params']['id']}})['then'](handleEntityNotFound(_0x3ac866,null))[_0x5a1b('0x24')](removeEntity(_0x3ac866,null))['catch'](handleError(_0x3ac866,null));};exports[_0x5a1b('0x49')]=function(_0x2ca8bb,_0x5ea59f){return db[_0x5a1b('0x2a')][_0x5a1b('0x49')]()['then'](respondWithResult(_0x5ea59f,null))[_0x5a1b('0x45')](handleError(_0x5ea59f,null));};exports[_0x5a1b('0x4a')]=function(_0x36cef0,_0x46ba3e,_0x1ee272){var _0x272222={'raw':!![],'where':{}};var _0x1695fb={};var _0x268180={'count':0x0,'rows':[]};return db['JscriptySessionReport']['findOne']({'where':{'id':_0x36cef0[_0x5a1b('0x43')]['id']}})[_0x5a1b('0x24')](handleEntityNotFound(_0x46ba3e,null))[_0x5a1b('0x24')](function(_0x2dacb7){if(_0x2dacb7){_0x1695fb[_0x5a1b('0x2f')]=_[_0x5a1b('0x2e')](db[_0x5a1b('0x4b')]['rawAttributes']);_0x1695fb[_0x5a1b('0x2d')]=_[_0x5a1b('0x2e')](_0x36cef0[_0x5a1b('0x2d')]);_0x1695fb[_0x5a1b('0x38')]=_['intersection'](_0x1695fb[_0x5a1b('0x2f')],_0x1695fb[_0x5a1b('0x2d')]);_0x272222[_0x5a1b('0x30')]=_[_0x5a1b('0x31')](_0x1695fb[_0x5a1b('0x2f')],qs[_0x5a1b('0x32')](_0x36cef0['query'][_0x5a1b('0x32')]));_0x272222[_0x5a1b('0x30')]=_0x272222[_0x5a1b('0x30')][_0x5a1b('0x33')]?_0x272222[_0x5a1b('0x30')]:_0x1695fb[_0x5a1b('0x2f')];if(!_0x36cef0[_0x5a1b('0x2d')][_0x5a1b('0x34')]('nolimit')){_0x272222[_0x5a1b('0x1b')]=qs[_0x5a1b('0x1b')](_0x36cef0[_0x5a1b('0x2d')][_0x5a1b('0x1b')]);_0x272222[_0x5a1b('0x1a')]=qs[_0x5a1b('0x1a')](_0x36cef0[_0x5a1b('0x2d')]['offset']);}_0x272222[_0x5a1b('0x35')]=qs['sort'](_0x36cef0[_0x5a1b('0x2d')]['sort']);_0x272222['where']=qs[_0x5a1b('0x38')](_[_0x5a1b('0x39')](_0x36cef0[_0x5a1b('0x2d')],_0x1695fb[_0x5a1b('0x38')]));_0x272222[_0x5a1b('0x37')][_0x5a1b('0x4c')]=_0x2dacb7['id'];if(_0x36cef0[_0x5a1b('0x2d')][_0x5a1b('0x4d')]){_0x272222[_0x5a1b('0x37')]=_['merge'](_0x272222[_0x5a1b('0x37')],{'$or':_[_0x5a1b('0x29')](_0x272222[_0x5a1b('0x30')],function(_0x351dc1){var _0x13d7c3={};_0x13d7c3[_0x351dc1]={'$like':'%'+_0x36cef0[_0x5a1b('0x2d')]['filter']+'%'};return _0x13d7c3;})});}_0x272222=_[_0x5a1b('0x3c')]({},_0x272222,_0x36cef0[_0x5a1b('0x3d')]);return db[_0x5a1b('0x4b')][_0x5a1b('0x3e')]({'where':_0x272222[_0x5a1b('0x37')]})[_0x5a1b('0x24')](function(_0x4737bb){_0x268180[_0x5a1b('0x3e')]=_0x4737bb;if(_0x36cef0[_0x5a1b('0x2d')][_0x5a1b('0x3f')]){_0x272222[_0x5a1b('0x44')]=[{'all':!![]}];}return db[_0x5a1b('0x4b')][_0x5a1b('0x40')](_0x272222);})[_0x5a1b('0x24')](function(_0x411915){_0x268180['rows']=_0x411915;return _0x268180;});}})[_0x5a1b('0x24')](respondWithFilteredResult(_0x46ba3e,_0x272222))[_0x5a1b('0x45')](handleError(_0x46ba3e,null));};