b8ac072665189be2b38fee7786b134cf340e1867
[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 _0xe973=['catch','describe','getQuestions','findOne','JscriptyQuestionReport','SessionId','eml-format','rimraf','fast-json-patch','moment','bluebird','util','path','sox','to-csv','fs-extra','lodash','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','limit','undefined','count','set','save','update','then','destroy','stack','name','send','map','JscriptySessionReport','rawAttributes','type','key','query','keys','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','show','params','find','create','body'];(function(_0x2ba6a2,_0x3ff1d4){var _0xc416da=function(_0x21a54a){while(--_0x21a54a){_0x2ba6a2['push'](_0x2ba6a2['shift']());}};_0xc416da(++_0x3ff1d4);}(_0xe973,0x1e0));var _0x3e97=function(_0x41328c,_0x51f21a){_0x41328c=_0x41328c-0x0;var _0x3cedc4=_0xe973[_0x41328c];return _0x3cedc4;};'use strict';var emlformat=require(_0x3e97('0x0'));var rimraf=require(_0x3e97('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x3e97('0x2'));var rp=require('request-promise');var moment=require(_0x3e97('0x3'));var BPromise=require(_0x3e97('0x4'));var Mustache=require('mustache');var util=require(_0x3e97('0x5'));var path=require(_0x3e97('0x6'));var sox=require(_0x3e97('0x7'));var csv=require(_0x3e97('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x3e97('0x9'));var _=require(_0x3e97('0xa'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x3e97('0xb'));var deskjs=require(_0x3e97('0xc'));var toCsv=require(_0x3e97('0x8'));var querystring=require(_0x3e97('0xd'));var Papa=require(_0x3e97('0xe'));var Redis=require(_0x3e97('0xf'));var authService=require(_0x3e97('0x10'));var qs=require(_0x3e97('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x3e97('0x12'));var logger=require(_0x3e97('0x13'))(_0x3e97('0x14'));var utils=require(_0x3e97('0x15'));var config=require(_0x3e97('0x16'));var licenseUtil=require(_0x3e97('0x17'));var db=require(_0x3e97('0x18'))['db'];function respondWithStatusCode(_0x24e785,_0x3a7828){_0x3a7828=_0x3a7828||0xcc;return function(_0x296a35){if(_0x296a35){return _0x24e785[_0x3e97('0x19')](_0x3a7828);}return _0x24e785[_0x3e97('0x1a')](_0x3a7828)[_0x3e97('0x1b')]();};}function respondWithResult(_0x4e81a1,_0xf8730c){_0xf8730c=_0xf8730c||0xc8;return function(_0x2ef525){if(_0x2ef525){return _0x4e81a1[_0x3e97('0x1a')](_0xf8730c)[_0x3e97('0x1c')](_0x2ef525);}};}function respondWithFilteredResult(_0x55df06,_0x15e6e0){return function(_0x51db54){if(_0x51db54){var _0x20c0c3=typeof _0x15e6e0[_0x3e97('0x1d')]==='undefined'&&typeof _0x15e6e0[_0x3e97('0x1e')]===_0x3e97('0x1f');var _0x5da37a=_0x51db54[_0x3e97('0x20')];var _0x12ee34=_0x20c0c3?0x0:_0x15e6e0[_0x3e97('0x1d')];var _0x382928=_0x20c0c3?_0x51db54[_0x3e97('0x20')]:_0x15e6e0['offset']+_0x15e6e0[_0x3e97('0x1e')];var _0x5b8c28;if(_0x382928>=_0x5da37a){_0x382928=_0x5da37a;_0x5b8c28=0xc8;}else{_0x5b8c28=0xce;}_0x55df06['status'](_0x5b8c28);return _0x55df06[_0x3e97('0x21')]('Content-Range',_0x12ee34+'-'+_0x382928+'/'+_0x5da37a)['json'](_0x51db54);}return null;};}function patchUpdates(_0x5b1da5){return function(_0x251b7f){try{jsonpatch['apply'](_0x251b7f,_0x5b1da5,!![]);}catch(_0x2eebc2){return BPromise['reject'](_0x2eebc2);}return _0x251b7f[_0x3e97('0x22')]();};}function saveUpdates(_0x90955d,_0x23507b){return function(_0x53584a){if(_0x53584a){return _0x53584a[_0x3e97('0x23')](_0x90955d)[_0x3e97('0x24')](function(_0x526349){return _0x526349;});}return null;};}function removeEntity(_0xc4e809,_0x4a112e){return function(_0x206598){if(_0x206598){return _0x206598[_0x3e97('0x25')]()[_0x3e97('0x24')](function(){_0xc4e809['status'](0xcc)[_0x3e97('0x1b')]();});}};}function handleEntityNotFound(_0x4b8f05,_0x219bdd){return function(_0x1bd4ca){if(!_0x1bd4ca){_0x4b8f05[_0x3e97('0x19')](0x194);}return _0x1bd4ca;};}function handleError(_0x404cf6,_0x2dce9f){_0x2dce9f=_0x2dce9f||0x1f4;return function(_0x46039e){logger['error'](_0x46039e[_0x3e97('0x26')]);if(_0x46039e[_0x3e97('0x27')]){delete _0x46039e[_0x3e97('0x27')];}_0x404cf6[_0x3e97('0x1a')](_0x2dce9f)[_0x3e97('0x28')](_0x46039e);};}exports['index']=function(_0x418243,_0x5a8e34){var _0x5bb71d={},_0x1f326d={},_0x1819eb={'count':0x0,'rows':[]};var _0x5973c4=_[_0x3e97('0x29')](db[_0x3e97('0x2a')][_0x3e97('0x2b')],function(_0x2514d2){return{'name':_0x2514d2['fieldName'],'type':_0x2514d2[_0x3e97('0x2c')][_0x3e97('0x2d')]};});_0x1f326d['model']=_[_0x3e97('0x29')](_0x5973c4,_0x3e97('0x27'));_0x1f326d[_0x3e97('0x2e')]=_[_0x3e97('0x2f')](_0x418243[_0x3e97('0x2e')]);_0x1f326d[_0x3e97('0x30')]=_[_0x3e97('0x31')](_0x1f326d[_0x3e97('0x32')],_0x1f326d['query']);_0x5bb71d[_0x3e97('0x33')]=_[_0x3e97('0x31')](_0x1f326d['model'],qs['fields'](_0x418243['query'][_0x3e97('0x34')]));_0x5bb71d[_0x3e97('0x33')]=_0x5bb71d['attributes'][_0x3e97('0x35')]?_0x5bb71d[_0x3e97('0x33')]:_0x1f326d[_0x3e97('0x32')];if(!_0x418243[_0x3e97('0x2e')][_0x3e97('0x36')](_0x3e97('0x37'))){_0x5bb71d['limit']=qs[_0x3e97('0x1e')](_0x418243[_0x3e97('0x2e')][_0x3e97('0x1e')]);_0x5bb71d[_0x3e97('0x1d')]=qs[_0x3e97('0x1d')](_0x418243[_0x3e97('0x2e')]['offset']);}_0x5bb71d[_0x3e97('0x38')]=qs[_0x3e97('0x39')](_0x418243[_0x3e97('0x2e')][_0x3e97('0x39')]);_0x5bb71d[_0x3e97('0x3a')]=qs[_0x3e97('0x30')](_[_0x3e97('0x3b')](_0x418243['query'],_0x1f326d[_0x3e97('0x30')]),_0x5973c4);if(_0x418243[_0x3e97('0x2e')][_0x3e97('0x3c')]){_0x5bb71d[_0x3e97('0x3a')]=_[_0x3e97('0x3d')](_0x5bb71d[_0x3e97('0x3a')],{'$or':_[_0x3e97('0x29')](_0x5973c4,function(_0x184ad5){if(_0x184ad5[_0x3e97('0x2c')]!==_0x3e97('0x3e')){var _0x4bde36={};_0x4bde36[_0x184ad5['name']]={'$like':'%'+_0x418243[_0x3e97('0x2e')]['filter']+'%'};return _0x4bde36;}})});}_0x5bb71d=_[_0x3e97('0x3d')]({},_0x5bb71d,_0x418243[_0x3e97('0x3f')]);var _0x3eb1a0={'where':_0x5bb71d[_0x3e97('0x3a')]};return db['JscriptySessionReport'][_0x3e97('0x20')](_0x3eb1a0)[_0x3e97('0x24')](function(_0x37b96a){_0x1819eb['count']=_0x37b96a;if(_0x418243[_0x3e97('0x2e')][_0x3e97('0x40')]){_0x5bb71d[_0x3e97('0x41')]=[{'all':!![]}];}return db['JscriptySessionReport'][_0x3e97('0x42')](_0x5bb71d);})[_0x3e97('0x24')](function(_0x53a409){_0x1819eb[_0x3e97('0x43')]=_0x53a409;return _0x1819eb;})[_0x3e97('0x24')](respondWithFilteredResult(_0x5a8e34,_0x5bb71d))['catch'](handleError(_0x5a8e34,null));};exports[_0x3e97('0x44')]=function(_0x567985,_0x5148f1){var _0x14236a={'raw':!![],'where':{'id':_0x567985[_0x3e97('0x45')]['id']}},_0x1b7abf={};_0x1b7abf[_0x3e97('0x32')]=_[_0x3e97('0x2f')](db[_0x3e97('0x2a')]['rawAttributes']);_0x1b7abf['query']=_['keys'](_0x567985['query']);_0x1b7abf['filters']=_[_0x3e97('0x31')](_0x1b7abf[_0x3e97('0x32')],_0x1b7abf[_0x3e97('0x2e')]);_0x14236a[_0x3e97('0x33')]=_[_0x3e97('0x31')](_0x1b7abf[_0x3e97('0x32')],qs[_0x3e97('0x34')](_0x567985[_0x3e97('0x2e')]['fields']));_0x14236a['attributes']=_0x14236a[_0x3e97('0x33')][_0x3e97('0x35')]?_0x14236a[_0x3e97('0x33')]:_0x1b7abf[_0x3e97('0x32')];if(_0x567985['query']['includeAll']){_0x14236a[_0x3e97('0x41')]=[{'all':!![]}];}_0x14236a=_[_0x3e97('0x3d')]({},_0x14236a,_0x567985[_0x3e97('0x3f')]);return db[_0x3e97('0x2a')][_0x3e97('0x46')](_0x14236a)[_0x3e97('0x24')](handleEntityNotFound(_0x5148f1,null))[_0x3e97('0x24')](respondWithResult(_0x5148f1,null))['catch'](handleError(_0x5148f1,null));};exports[_0x3e97('0x47')]=function(_0x423f4e,_0x9eda2c){return db['JscriptySessionReport'][_0x3e97('0x47')](_0x423f4e[_0x3e97('0x48')],{})[_0x3e97('0x24')](respondWithResult(_0x9eda2c,0xc9))[_0x3e97('0x49')](handleError(_0x9eda2c,null));};exports['update']=function(_0x3f9bad,_0x2e82d0){if(_0x3f9bad[_0x3e97('0x48')]['id']){delete _0x3f9bad['body']['id'];}return db[_0x3e97('0x2a')][_0x3e97('0x46')]({'where':{'id':_0x3f9bad[_0x3e97('0x45')]['id']}})['then'](handleEntityNotFound(_0x2e82d0,null))[_0x3e97('0x24')](saveUpdates(_0x3f9bad[_0x3e97('0x48')],null))[_0x3e97('0x24')](respondWithResult(_0x2e82d0,null))['catch'](handleError(_0x2e82d0,null));};exports[_0x3e97('0x25')]=function(_0x364ccc,_0xdb801d){return db[_0x3e97('0x2a')][_0x3e97('0x46')]({'where':{'id':_0x364ccc[_0x3e97('0x45')]['id']}})[_0x3e97('0x24')](handleEntityNotFound(_0xdb801d,null))[_0x3e97('0x24')](removeEntity(_0xdb801d,null))[_0x3e97('0x49')](handleError(_0xdb801d,null));};exports['describe']=function(_0x30dfd7,_0x293e33){return db[_0x3e97('0x2a')][_0x3e97('0x4a')]()[_0x3e97('0x24')](respondWithResult(_0x293e33,null))[_0x3e97('0x49')](handleError(_0x293e33,null));};exports[_0x3e97('0x4b')]=function(_0x29609a,_0x54d5fd,_0xf607e7){var _0x2086ce={'raw':!![],'where':{}};var _0x22cf54={};var _0xa7c19c={'count':0x0,'rows':[]};return db[_0x3e97('0x2a')][_0x3e97('0x4c')]({'where':{'id':_0x29609a[_0x3e97('0x45')]['id']}})['then'](handleEntityNotFound(_0x54d5fd,null))[_0x3e97('0x24')](function(_0x36e0f4){if(_0x36e0f4){_0x22cf54[_0x3e97('0x32')]=_[_0x3e97('0x2f')](db[_0x3e97('0x4d')][_0x3e97('0x2b')]);_0x22cf54[_0x3e97('0x2e')]=_[_0x3e97('0x2f')](_0x29609a[_0x3e97('0x2e')]);_0x22cf54[_0x3e97('0x30')]=_[_0x3e97('0x31')](_0x22cf54[_0x3e97('0x32')],_0x22cf54[_0x3e97('0x2e')]);_0x2086ce[_0x3e97('0x33')]=_[_0x3e97('0x31')](_0x22cf54[_0x3e97('0x32')],qs[_0x3e97('0x34')](_0x29609a[_0x3e97('0x2e')][_0x3e97('0x34')]));_0x2086ce[_0x3e97('0x33')]=_0x2086ce[_0x3e97('0x33')][_0x3e97('0x35')]?_0x2086ce[_0x3e97('0x33')]:_0x22cf54[_0x3e97('0x32')];if(!_0x29609a[_0x3e97('0x2e')][_0x3e97('0x36')]('nolimit')){_0x2086ce['limit']=qs[_0x3e97('0x1e')](_0x29609a[_0x3e97('0x2e')][_0x3e97('0x1e')]);_0x2086ce[_0x3e97('0x1d')]=qs['offset'](_0x29609a[_0x3e97('0x2e')]['offset']);}_0x2086ce[_0x3e97('0x38')]=qs[_0x3e97('0x39')](_0x29609a[_0x3e97('0x2e')][_0x3e97('0x39')]);_0x2086ce[_0x3e97('0x3a')]=qs[_0x3e97('0x30')](_[_0x3e97('0x3b')](_0x29609a[_0x3e97('0x2e')],_0x22cf54['filters']));_0x2086ce[_0x3e97('0x3a')][_0x3e97('0x4e')]=_0x36e0f4['id'];if(_0x29609a[_0x3e97('0x2e')][_0x3e97('0x3c')]){_0x2086ce['where']=_[_0x3e97('0x3d')](_0x2086ce[_0x3e97('0x3a')],{'$or':_[_0x3e97('0x29')](_0x2086ce[_0x3e97('0x33')],function(_0x4e5983){var _0x54d3f2={};_0x54d3f2[_0x4e5983]={'$like':'%'+_0x29609a[_0x3e97('0x2e')][_0x3e97('0x3c')]+'%'};return _0x54d3f2;})});}_0x2086ce=_[_0x3e97('0x3d')]({},_0x2086ce,_0x29609a[_0x3e97('0x3f')]);return db[_0x3e97('0x4d')]['count']({'where':_0x2086ce[_0x3e97('0x3a')]})[_0x3e97('0x24')](function(_0x408d50){_0xa7c19c[_0x3e97('0x20')]=_0x408d50;if(_0x29609a[_0x3e97('0x2e')][_0x3e97('0x40')]){_0x2086ce[_0x3e97('0x41')]=[{'all':!![]}];}return db[_0x3e97('0x4d')][_0x3e97('0x42')](_0x2086ce);})[_0x3e97('0x24')](function(_0x51a971){_0xa7c19c[_0x3e97('0x43')]=_0x51a971;return _0xa7c19c;});}})[_0x3e97('0x24')](respondWithFilteredResult(_0x54d5fd,_0x2086ce))[_0x3e97('0x49')](handleError(_0x54d5fd,null));};