Built motion from commit 00bf23f6.|2.6.16
[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 _0x1b70=['stack','name','map','rawAttributes','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','type','VIRTUAL','filter','merge','options','JscriptySessionReport','include','findAll','rows','catch','show','params','includeAll','create','body','find','describe','getQuestions','findOne','SessionId','JscriptyQuestionReport','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','querystring','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','offset','undefined','limit','count','set','apply','reject','save','then','destroy'];(function(_0x37c22c,_0x28a70d){var _0x119d79=function(_0x243a13){while(--_0x243a13){_0x37c22c['push'](_0x37c22c['shift']());}};_0x119d79(++_0x28a70d);}(_0x1b70,0x1a7));var _0x01b7=function(_0xc8a931,_0x260690){_0xc8a931=_0xc8a931-0x0;var _0x28bd27=_0x1b70[_0xc8a931];return _0x28bd27;};'use strict';var emlformat=require(_0x01b7('0x0'));var rimraf=require(_0x01b7('0x1'));var zipdir=require(_0x01b7('0x2'));var jsonpatch=require(_0x01b7('0x3'));var rp=require('request-promise');var moment=require(_0x01b7('0x4'));var BPromise=require(_0x01b7('0x5'));var Mustache=require(_0x01b7('0x6'));var util=require(_0x01b7('0x7'));var path=require(_0x01b7('0x8'));var sox=require(_0x01b7('0x9'));var csv=require(_0x01b7('0xa'));var ejs=require(_0x01b7('0xb'));var fs=require('fs');var fs_extra=require(_0x01b7('0xc'));var _=require(_0x01b7('0xd'));var squel=require(_0x01b7('0xe'));var crypto=require(_0x01b7('0xf'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x01b7('0x10'));var Papa=require(_0x01b7('0x11'));var Redis=require('ioredis');var authService=require(_0x01b7('0x12'));var qs=require('../../components/parsers/qs');var as=require(_0x01b7('0x13'));var hardwareService=require(_0x01b7('0x14'));var logger=require('../../config/logger')(_0x01b7('0x15'));var utils=require(_0x01b7('0x16'));var config=require(_0x01b7('0x17'));var licenseUtil=require(_0x01b7('0x18'));var db=require(_0x01b7('0x19'))['db'];function respondWithStatusCode(_0x2a5c25,_0x23ffd9){_0x23ffd9=_0x23ffd9||0xcc;return function(_0x538aea){if(_0x538aea){return _0x2a5c25['sendStatus'](_0x23ffd9);}return _0x2a5c25[_0x01b7('0x1a')](_0x23ffd9)[_0x01b7('0x1b')]();};}function respondWithResult(_0x25de48,_0x148c01){_0x148c01=_0x148c01||0xc8;return function(_0x5d20cf){if(_0x5d20cf){return _0x25de48[_0x01b7('0x1a')](_0x148c01)[_0x01b7('0x1c')](_0x5d20cf);}};}function respondWithFilteredResult(_0x354773,_0x4078bf){return function(_0x3ed0ef){if(_0x3ed0ef){var _0x253dd7=typeof _0x4078bf[_0x01b7('0x1d')]===_0x01b7('0x1e')&&typeof _0x4078bf[_0x01b7('0x1f')]===_0x01b7('0x1e');var _0x2ae70b=_0x3ed0ef[_0x01b7('0x20')];var _0x4b36f1=_0x253dd7?0x0:_0x4078bf['offset'];var _0x36ed1b=_0x253dd7?_0x3ed0ef['count']:_0x4078bf[_0x01b7('0x1d')]+_0x4078bf[_0x01b7('0x1f')];var _0x2a9347;if(_0x36ed1b>=_0x2ae70b){_0x36ed1b=_0x2ae70b;_0x2a9347=0xc8;}else{_0x2a9347=0xce;}_0x354773[_0x01b7('0x1a')](_0x2a9347);return _0x354773[_0x01b7('0x21')]('Content-Range',_0x4b36f1+'-'+_0x36ed1b+'/'+_0x2ae70b)[_0x01b7('0x1c')](_0x3ed0ef);}return null;};}function patchUpdates(_0x512a53){return function(_0x394da2){try{jsonpatch[_0x01b7('0x22')](_0x394da2,_0x512a53,!![]);}catch(_0x1a1b2d){return BPromise[_0x01b7('0x23')](_0x1a1b2d);}return _0x394da2[_0x01b7('0x24')]();};}function saveUpdates(_0x2ccdb9,_0x57449f){return function(_0x374c2a){if(_0x374c2a){return _0x374c2a['update'](_0x2ccdb9)[_0x01b7('0x25')](function(_0x11c335){return _0x11c335;});}return null;};}function removeEntity(_0x9d40ef,_0x568da7){return function(_0x2da0df){if(_0x2da0df){return _0x2da0df[_0x01b7('0x26')]()[_0x01b7('0x25')](function(){_0x9d40ef['status'](0xcc)[_0x01b7('0x1b')]();});}};}function handleEntityNotFound(_0xe90cc8,_0x2bcbe2){return function(_0x1c9c1a){if(!_0x1c9c1a){_0xe90cc8['sendStatus'](0x194);}return _0x1c9c1a;};}function handleError(_0x42da58,_0x36ca46){_0x36ca46=_0x36ca46||0x1f4;return function(_0x58a507){logger['error'](_0x58a507[_0x01b7('0x27')]);if(_0x58a507[_0x01b7('0x28')]){delete _0x58a507[_0x01b7('0x28')];}_0x42da58[_0x01b7('0x1a')](_0x36ca46)['send'](_0x58a507);};}exports['index']=function(_0x4df921,_0x4350a3){var _0x538858={},_0x1728bd={},_0x12af7f={'count':0x0,'rows':[]};var _0x559b40=_[_0x01b7('0x29')](db['JscriptySessionReport'][_0x01b7('0x2a')],function(_0x530369){return{'name':_0x530369['fieldName'],'type':_0x530369['type'][_0x01b7('0x2b')]};});_0x1728bd[_0x01b7('0x2c')]=_['map'](_0x559b40,_0x01b7('0x28'));_0x1728bd[_0x01b7('0x2d')]=_[_0x01b7('0x2e')](_0x4df921[_0x01b7('0x2d')]);_0x1728bd[_0x01b7('0x2f')]=_[_0x01b7('0x30')](_0x1728bd['model'],_0x1728bd[_0x01b7('0x2d')]);_0x538858[_0x01b7('0x31')]=_['intersection'](_0x1728bd[_0x01b7('0x2c')],qs[_0x01b7('0x32')](_0x4df921[_0x01b7('0x2d')][_0x01b7('0x32')]));_0x538858[_0x01b7('0x31')]=_0x538858[_0x01b7('0x31')][_0x01b7('0x33')]?_0x538858[_0x01b7('0x31')]:_0x1728bd[_0x01b7('0x2c')];if(!_0x4df921[_0x01b7('0x2d')][_0x01b7('0x34')](_0x01b7('0x35'))){_0x538858[_0x01b7('0x1f')]=qs[_0x01b7('0x1f')](_0x4df921[_0x01b7('0x2d')][_0x01b7('0x1f')]);_0x538858['offset']=qs[_0x01b7('0x1d')](_0x4df921[_0x01b7('0x2d')][_0x01b7('0x1d')]);}_0x538858['order']=qs[_0x01b7('0x36')](_0x4df921[_0x01b7('0x2d')]['sort']);_0x538858[_0x01b7('0x37')]=qs[_0x01b7('0x2f')](_['pick'](_0x4df921[_0x01b7('0x2d')],_0x1728bd[_0x01b7('0x2f')]),_0x559b40);if(_0x4df921[_0x01b7('0x2d')]['filter']){_0x538858[_0x01b7('0x37')]=_['merge'](_0x538858['where'],{'$or':_[_0x01b7('0x29')](_0x559b40,function(_0x4708d1){if(_0x4708d1[_0x01b7('0x38')]!==_0x01b7('0x39')){var _0x22ef64={};_0x22ef64[_0x4708d1[_0x01b7('0x28')]]={'$like':'%'+_0x4df921[_0x01b7('0x2d')][_0x01b7('0x3a')]+'%'};return _0x22ef64;}})});}_0x538858=_[_0x01b7('0x3b')]({},_0x538858,_0x4df921[_0x01b7('0x3c')]);var _0x2a1d1e={'where':_0x538858[_0x01b7('0x37')]};return db[_0x01b7('0x3d')][_0x01b7('0x20')](_0x2a1d1e)['then'](function(_0x1d9316){_0x12af7f[_0x01b7('0x20')]=_0x1d9316;if(_0x4df921['query']['includeAll']){_0x538858[_0x01b7('0x3e')]=[{'all':!![]}];}return db[_0x01b7('0x3d')][_0x01b7('0x3f')](_0x538858);})[_0x01b7('0x25')](function(_0x497a3c){_0x12af7f[_0x01b7('0x40')]=_0x497a3c;return _0x12af7f;})[_0x01b7('0x25')](respondWithFilteredResult(_0x4350a3,_0x538858))[_0x01b7('0x41')](handleError(_0x4350a3,null));};exports[_0x01b7('0x42')]=function(_0x45d166,_0x5d1687){var _0x3b4b1f={'raw':!![],'where':{'id':_0x45d166[_0x01b7('0x43')]['id']}},_0x3710ed={};_0x3710ed[_0x01b7('0x2c')]=_[_0x01b7('0x2e')](db['JscriptySessionReport']['rawAttributes']);_0x3710ed[_0x01b7('0x2d')]=_[_0x01b7('0x2e')](_0x45d166[_0x01b7('0x2d')]);_0x3710ed['filters']=_[_0x01b7('0x30')](_0x3710ed['model'],_0x3710ed[_0x01b7('0x2d')]);_0x3b4b1f[_0x01b7('0x31')]=_['intersection'](_0x3710ed['model'],qs[_0x01b7('0x32')](_0x45d166[_0x01b7('0x2d')][_0x01b7('0x32')]));_0x3b4b1f['attributes']=_0x3b4b1f[_0x01b7('0x31')][_0x01b7('0x33')]?_0x3b4b1f[_0x01b7('0x31')]:_0x3710ed['model'];if(_0x45d166[_0x01b7('0x2d')][_0x01b7('0x44')]){_0x3b4b1f[_0x01b7('0x3e')]=[{'all':!![]}];}_0x3b4b1f=_[_0x01b7('0x3b')]({},_0x3b4b1f,_0x45d166[_0x01b7('0x3c')]);return db['JscriptySessionReport']['find'](_0x3b4b1f)[_0x01b7('0x25')](handleEntityNotFound(_0x5d1687,null))[_0x01b7('0x25')](respondWithResult(_0x5d1687,null))[_0x01b7('0x41')](handleError(_0x5d1687,null));};exports[_0x01b7('0x45')]=function(_0x432f3d,_0xa97f54){return db[_0x01b7('0x3d')][_0x01b7('0x45')](_0x432f3d[_0x01b7('0x46')],{})[_0x01b7('0x25')](respondWithResult(_0xa97f54,0xc9))[_0x01b7('0x41')](handleError(_0xa97f54,null));};exports['update']=function(_0x285d96,_0x130ce9){if(_0x285d96[_0x01b7('0x46')]['id']){delete _0x285d96[_0x01b7('0x46')]['id'];}return db[_0x01b7('0x3d')][_0x01b7('0x47')]({'where':{'id':_0x285d96[_0x01b7('0x43')]['id']}})['then'](handleEntityNotFound(_0x130ce9,null))[_0x01b7('0x25')](saveUpdates(_0x285d96['body'],null))[_0x01b7('0x25')](respondWithResult(_0x130ce9,null))['catch'](handleError(_0x130ce9,null));};exports[_0x01b7('0x26')]=function(_0x100b67,_0x431577){return db[_0x01b7('0x3d')][_0x01b7('0x47')]({'where':{'id':_0x100b67[_0x01b7('0x43')]['id']}})[_0x01b7('0x25')](handleEntityNotFound(_0x431577,null))[_0x01b7('0x25')](removeEntity(_0x431577,null))['catch'](handleError(_0x431577,null));};exports[_0x01b7('0x48')]=function(_0x1a4644,_0x3e859e){return db[_0x01b7('0x3d')][_0x01b7('0x48')]()['then'](respondWithResult(_0x3e859e,null))['catch'](handleError(_0x3e859e,null));};exports[_0x01b7('0x49')]=function(_0x4d8731,_0x140e6b,_0x227b08){var _0x1bf0f8={'raw':!![],'where':{}};var _0x2dcb76={};var _0x2fbf56={'count':0x0,'rows':[]};return db[_0x01b7('0x3d')][_0x01b7('0x4a')]({'where':{'id':_0x4d8731[_0x01b7('0x43')]['id']}})['then'](handleEntityNotFound(_0x140e6b,null))[_0x01b7('0x25')](function(_0x3e9c5d){if(_0x3e9c5d){_0x2dcb76[_0x01b7('0x2c')]=_['keys'](db['JscriptyQuestionReport'][_0x01b7('0x2a')]);_0x2dcb76[_0x01b7('0x2d')]=_[_0x01b7('0x2e')](_0x4d8731[_0x01b7('0x2d')]);_0x2dcb76[_0x01b7('0x2f')]=_[_0x01b7('0x30')](_0x2dcb76['model'],_0x2dcb76[_0x01b7('0x2d')]);_0x1bf0f8[_0x01b7('0x31')]=_['intersection'](_0x2dcb76[_0x01b7('0x2c')],qs[_0x01b7('0x32')](_0x4d8731[_0x01b7('0x2d')][_0x01b7('0x32')]));_0x1bf0f8['attributes']=_0x1bf0f8[_0x01b7('0x31')]['length']?_0x1bf0f8[_0x01b7('0x31')]:_0x2dcb76['model'];if(!_0x4d8731[_0x01b7('0x2d')]['hasOwnProperty'](_0x01b7('0x35'))){_0x1bf0f8['limit']=qs[_0x01b7('0x1f')](_0x4d8731[_0x01b7('0x2d')][_0x01b7('0x1f')]);_0x1bf0f8[_0x01b7('0x1d')]=qs[_0x01b7('0x1d')](_0x4d8731[_0x01b7('0x2d')][_0x01b7('0x1d')]);}_0x1bf0f8['order']=qs[_0x01b7('0x36')](_0x4d8731['query']['sort']);_0x1bf0f8[_0x01b7('0x37')]=qs[_0x01b7('0x2f')](_['pick'](_0x4d8731[_0x01b7('0x2d')],_0x2dcb76['filters']));_0x1bf0f8[_0x01b7('0x37')][_0x01b7('0x4b')]=_0x3e9c5d['id'];if(_0x4d8731[_0x01b7('0x2d')][_0x01b7('0x3a')]){_0x1bf0f8[_0x01b7('0x37')]=_[_0x01b7('0x3b')](_0x1bf0f8[_0x01b7('0x37')],{'$or':_['map'](_0x1bf0f8['attributes'],function(_0x7becf9){var _0x38c353={};_0x38c353[_0x7becf9]={'$like':'%'+_0x4d8731[_0x01b7('0x2d')][_0x01b7('0x3a')]+'%'};return _0x38c353;})});}_0x1bf0f8=_[_0x01b7('0x3b')]({},_0x1bf0f8,_0x4d8731[_0x01b7('0x3c')]);return db[_0x01b7('0x4c')]['count']({'where':_0x1bf0f8[_0x01b7('0x37')]})[_0x01b7('0x25')](function(_0x591fc2){_0x2fbf56[_0x01b7('0x20')]=_0x591fc2;if(_0x4d8731[_0x01b7('0x2d')][_0x01b7('0x44')]){_0x1bf0f8[_0x01b7('0x3e')]=[{'all':!![]}];}return db['JscriptyQuestionReport'][_0x01b7('0x3f')](_0x1bf0f8);})[_0x01b7('0x25')](function(_0x464c23){_0x2fbf56[_0x01b7('0x40')]=_0x464c23;return _0x2fbf56;});}})[_0x01b7('0x25')](respondWithFilteredResult(_0x140e6b,_0x1bf0f8))[_0x01b7('0x41')](handleError(_0x140e6b,null));};