Built motion from commit bab6f49e.|2.6.17
[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 _0x04dd=['json','undefined','limit','count','offset','status','Content-Range','apply','reject','save','then','error','stack','name','index','map','rawAttributes','fieldName','type','key','model','keys','query','filters','attributes','fields','length','hasOwnProperty','nolimit','sort','where','pick','filter','VIRTUAL','merge','JscriptySessionReport','include','findAll','rows','show','intersection','includeAll','options','find','create','catch','update','body','params','describe','getQuestions','findOne','JscriptyQuestionReport','order','SessionId','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','ejs','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end'];(function(_0x40c99a,_0x56f60e){var _0x3d1d0a=function(_0xc203fd){while(--_0xc203fd){_0x40c99a['push'](_0x40c99a['shift']());}};_0x3d1d0a(++_0x56f60e);}(_0x04dd,0x1db));var _0xd04d=function(_0x2881e2,_0x341293){_0x2881e2=_0x2881e2-0x0;var _0x5c1e1f=_0x04dd[_0x2881e2];return _0x5c1e1f;};'use strict';var emlformat=require(_0xd04d('0x0'));var rimraf=require(_0xd04d('0x1'));var zipdir=require(_0xd04d('0x2'));var jsonpatch=require(_0xd04d('0x3'));var rp=require('request-promise');var moment=require(_0xd04d('0x4'));var BPromise=require(_0xd04d('0x5'));var Mustache=require(_0xd04d('0x6'));var util=require(_0xd04d('0x7'));var path=require(_0xd04d('0x8'));var sox=require(_0xd04d('0x9'));var csv=require('to-csv');var ejs=require(_0xd04d('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xd04d('0xb'));var squel=require(_0xd04d('0xc'));var crypto=require(_0xd04d('0xd'));var jsforce=require(_0xd04d('0xe'));var deskjs=require(_0xd04d('0xf'));var toCsv=require(_0xd04d('0x10'));var querystring=require(_0xd04d('0x11'));var Papa=require('papaparse');var Redis=require(_0xd04d('0x12'));var authService=require('../../components/auth/service');var qs=require(_0xd04d('0x13'));var as=require(_0xd04d('0x14'));var hardwareService=require(_0xd04d('0x15'));var logger=require(_0xd04d('0x16'))('api');var utils=require(_0xd04d('0x17'));var config=require(_0xd04d('0x18'));var licenseUtil=require(_0xd04d('0x19'));var db=require(_0xd04d('0x1a'))['db'];function respondWithStatusCode(_0x3d8501,_0x6159cf){_0x6159cf=_0x6159cf||0xcc;return function(_0x18f827){if(_0x18f827){return _0x3d8501[_0xd04d('0x1b')](_0x6159cf);}return _0x3d8501['status'](_0x6159cf)[_0xd04d('0x1c')]();};}function respondWithResult(_0x541654,_0x86f35c){_0x86f35c=_0x86f35c||0xc8;return function(_0x593f08){if(_0x593f08){return _0x541654['status'](_0x86f35c)[_0xd04d('0x1d')](_0x593f08);}};}function respondWithFilteredResult(_0x24a366,_0x4720fe){return function(_0x4624b8){if(_0x4624b8){var _0x4c1c4e=typeof _0x4720fe['offset']===_0xd04d('0x1e')&&typeof _0x4720fe[_0xd04d('0x1f')]==='undefined';var _0x501226=_0x4624b8['count'];var _0x5cbeca=_0x4c1c4e?0x0:_0x4720fe['offset'];var _0x5f3a26=_0x4c1c4e?_0x4624b8[_0xd04d('0x20')]:_0x4720fe[_0xd04d('0x21')]+_0x4720fe[_0xd04d('0x1f')];var _0x4d6d26;if(_0x5f3a26>=_0x501226){_0x5f3a26=_0x501226;_0x4d6d26=0xc8;}else{_0x4d6d26=0xce;}_0x24a366[_0xd04d('0x22')](_0x4d6d26);return _0x24a366['set'](_0xd04d('0x23'),_0x5cbeca+'-'+_0x5f3a26+'/'+_0x501226)['json'](_0x4624b8);}return null;};}function patchUpdates(_0x40fa23){return function(_0x115fd9){try{jsonpatch[_0xd04d('0x24')](_0x115fd9,_0x40fa23,!![]);}catch(_0x2e3306){return BPromise[_0xd04d('0x25')](_0x2e3306);}return _0x115fd9[_0xd04d('0x26')]();};}function saveUpdates(_0x412bc1,_0x47bae5){return function(_0x6a6de8){if(_0x6a6de8){return _0x6a6de8['update'](_0x412bc1)[_0xd04d('0x27')](function(_0x2e18ca){return _0x2e18ca;});}return null;};}function removeEntity(_0x422023,_0x575178){return function(_0x377294){if(_0x377294){return _0x377294['destroy']()[_0xd04d('0x27')](function(){_0x422023[_0xd04d('0x22')](0xcc)[_0xd04d('0x1c')]();});}};}function handleEntityNotFound(_0x20284f,_0x428de2){return function(_0x3e6e72){if(!_0x3e6e72){_0x20284f[_0xd04d('0x1b')](0x194);}return _0x3e6e72;};}function handleError(_0x45bd17,_0x2d764e){_0x2d764e=_0x2d764e||0x1f4;return function(_0x405605){logger[_0xd04d('0x28')](_0x405605[_0xd04d('0x29')]);if(_0x405605[_0xd04d('0x2a')]){delete _0x405605[_0xd04d('0x2a')];}_0x45bd17[_0xd04d('0x22')](_0x2d764e)['send'](_0x405605);};}exports[_0xd04d('0x2b')]=function(_0x1a98b1,_0x482063){var _0x449c5a={},_0x1a59a9={},_0x574979={'count':0x0,'rows':[]};var _0x576943=_[_0xd04d('0x2c')](db['JscriptySessionReport'][_0xd04d('0x2d')],function(_0x4a5215){return{'name':_0x4a5215[_0xd04d('0x2e')],'type':_0x4a5215[_0xd04d('0x2f')][_0xd04d('0x30')]};});_0x1a59a9[_0xd04d('0x31')]=_['map'](_0x576943,_0xd04d('0x2a'));_0x1a59a9['query']=_[_0xd04d('0x32')](_0x1a98b1[_0xd04d('0x33')]);_0x1a59a9[_0xd04d('0x34')]=_['intersection'](_0x1a59a9['model'],_0x1a59a9[_0xd04d('0x33')]);_0x449c5a[_0xd04d('0x35')]=_['intersection'](_0x1a59a9[_0xd04d('0x31')],qs[_0xd04d('0x36')](_0x1a98b1[_0xd04d('0x33')]['fields']));_0x449c5a[_0xd04d('0x35')]=_0x449c5a[_0xd04d('0x35')][_0xd04d('0x37')]?_0x449c5a[_0xd04d('0x35')]:_0x1a59a9[_0xd04d('0x31')];if(!_0x1a98b1[_0xd04d('0x33')][_0xd04d('0x38')](_0xd04d('0x39'))){_0x449c5a[_0xd04d('0x1f')]=qs['limit'](_0x1a98b1[_0xd04d('0x33')]['limit']);_0x449c5a[_0xd04d('0x21')]=qs['offset'](_0x1a98b1[_0xd04d('0x33')]['offset']);}_0x449c5a['order']=qs[_0xd04d('0x3a')](_0x1a98b1[_0xd04d('0x33')][_0xd04d('0x3a')]);_0x449c5a[_0xd04d('0x3b')]=qs[_0xd04d('0x34')](_[_0xd04d('0x3c')](_0x1a98b1[_0xd04d('0x33')],_0x1a59a9['filters']),_0x576943);if(_0x1a98b1[_0xd04d('0x33')][_0xd04d('0x3d')]){_0x449c5a[_0xd04d('0x3b')]=_['merge'](_0x449c5a[_0xd04d('0x3b')],{'$or':_[_0xd04d('0x2c')](_0x576943,function(_0x47d0d1){if(_0x47d0d1['type']!==_0xd04d('0x3e')){var _0x590de8={};_0x590de8[_0x47d0d1[_0xd04d('0x2a')]]={'$like':'%'+_0x1a98b1['query'][_0xd04d('0x3d')]+'%'};return _0x590de8;}})});}_0x449c5a=_[_0xd04d('0x3f')]({},_0x449c5a,_0x1a98b1['options']);var _0x177c38={'where':_0x449c5a[_0xd04d('0x3b')]};return db[_0xd04d('0x40')][_0xd04d('0x20')](_0x177c38)[_0xd04d('0x27')](function(_0x3ba382){_0x574979['count']=_0x3ba382;if(_0x1a98b1['query']['includeAll']){_0x449c5a[_0xd04d('0x41')]=[{'all':!![]}];}return db[_0xd04d('0x40')][_0xd04d('0x42')](_0x449c5a);})['then'](function(_0x4d1c23){_0x574979[_0xd04d('0x43')]=_0x4d1c23;return _0x574979;})[_0xd04d('0x27')](respondWithFilteredResult(_0x482063,_0x449c5a))['catch'](handleError(_0x482063,null));};exports[_0xd04d('0x44')]=function(_0x5d8f76,_0x45947a){var _0x3c6f43={'raw':!![],'where':{'id':_0x5d8f76['params']['id']}},_0x1cf1fd={};_0x1cf1fd['model']=_[_0xd04d('0x32')](db['JscriptySessionReport'][_0xd04d('0x2d')]);_0x1cf1fd['query']=_[_0xd04d('0x32')](_0x5d8f76[_0xd04d('0x33')]);_0x1cf1fd[_0xd04d('0x34')]=_[_0xd04d('0x45')](_0x1cf1fd['model'],_0x1cf1fd[_0xd04d('0x33')]);_0x3c6f43[_0xd04d('0x35')]=_[_0xd04d('0x45')](_0x1cf1fd[_0xd04d('0x31')],qs[_0xd04d('0x36')](_0x5d8f76['query'][_0xd04d('0x36')]));_0x3c6f43[_0xd04d('0x35')]=_0x3c6f43['attributes'][_0xd04d('0x37')]?_0x3c6f43[_0xd04d('0x35')]:_0x1cf1fd['model'];if(_0x5d8f76['query'][_0xd04d('0x46')]){_0x3c6f43[_0xd04d('0x41')]=[{'all':!![]}];}_0x3c6f43=_[_0xd04d('0x3f')]({},_0x3c6f43,_0x5d8f76[_0xd04d('0x47')]);return db[_0xd04d('0x40')][_0xd04d('0x48')](_0x3c6f43)[_0xd04d('0x27')](handleEntityNotFound(_0x45947a,null))['then'](respondWithResult(_0x45947a,null))['catch'](handleError(_0x45947a,null));};exports[_0xd04d('0x49')]=function(_0x58021f,_0x134af6){return db[_0xd04d('0x40')][_0xd04d('0x49')](_0x58021f['body'],{})[_0xd04d('0x27')](respondWithResult(_0x134af6,0xc9))[_0xd04d('0x4a')](handleError(_0x134af6,null));};exports[_0xd04d('0x4b')]=function(_0x2e54eb,_0x228c80){if(_0x2e54eb[_0xd04d('0x4c')]['id']){delete _0x2e54eb[_0xd04d('0x4c')]['id'];}return db[_0xd04d('0x40')][_0xd04d('0x48')]({'where':{'id':_0x2e54eb[_0xd04d('0x4d')]['id']}})[_0xd04d('0x27')](handleEntityNotFound(_0x228c80,null))['then'](saveUpdates(_0x2e54eb[_0xd04d('0x4c')],null))[_0xd04d('0x27')](respondWithResult(_0x228c80,null))['catch'](handleError(_0x228c80,null));};exports['destroy']=function(_0xf708be,_0x37306e){return db[_0xd04d('0x40')][_0xd04d('0x48')]({'where':{'id':_0xf708be[_0xd04d('0x4d')]['id']}})['then'](handleEntityNotFound(_0x37306e,null))[_0xd04d('0x27')](removeEntity(_0x37306e,null))[_0xd04d('0x4a')](handleError(_0x37306e,null));};exports[_0xd04d('0x4e')]=function(_0x4ff588,_0x547d05){return db[_0xd04d('0x40')][_0xd04d('0x4e')]()['then'](respondWithResult(_0x547d05,null))[_0xd04d('0x4a')](handleError(_0x547d05,null));};exports[_0xd04d('0x4f')]=function(_0x565360,_0x52ce26,_0x2d13ed){var _0x54cb36={'raw':!![],'where':{}};var _0x38d23a={};var _0x1b811e={'count':0x0,'rows':[]};return db[_0xd04d('0x40')][_0xd04d('0x50')]({'where':{'id':_0x565360[_0xd04d('0x4d')]['id']}})[_0xd04d('0x27')](handleEntityNotFound(_0x52ce26,null))[_0xd04d('0x27')](function(_0x34cbc2){if(_0x34cbc2){_0x38d23a[_0xd04d('0x31')]=_[_0xd04d('0x32')](db[_0xd04d('0x51')][_0xd04d('0x2d')]);_0x38d23a['query']=_[_0xd04d('0x32')](_0x565360['query']);_0x38d23a[_0xd04d('0x34')]=_[_0xd04d('0x45')](_0x38d23a[_0xd04d('0x31')],_0x38d23a[_0xd04d('0x33')]);_0x54cb36[_0xd04d('0x35')]=_['intersection'](_0x38d23a[_0xd04d('0x31')],qs[_0xd04d('0x36')](_0x565360[_0xd04d('0x33')][_0xd04d('0x36')]));_0x54cb36[_0xd04d('0x35')]=_0x54cb36['attributes']['length']?_0x54cb36['attributes']:_0x38d23a['model'];if(!_0x565360[_0xd04d('0x33')][_0xd04d('0x38')]('nolimit')){_0x54cb36[_0xd04d('0x1f')]=qs[_0xd04d('0x1f')](_0x565360[_0xd04d('0x33')][_0xd04d('0x1f')]);_0x54cb36[_0xd04d('0x21')]=qs['offset'](_0x565360[_0xd04d('0x33')]['offset']);}_0x54cb36[_0xd04d('0x52')]=qs[_0xd04d('0x3a')](_0x565360[_0xd04d('0x33')][_0xd04d('0x3a')]);_0x54cb36[_0xd04d('0x3b')]=qs[_0xd04d('0x34')](_['pick'](_0x565360['query'],_0x38d23a['filters']));_0x54cb36['where'][_0xd04d('0x53')]=_0x34cbc2['id'];if(_0x565360[_0xd04d('0x33')]['filter']){_0x54cb36[_0xd04d('0x3b')]=_[_0xd04d('0x3f')](_0x54cb36[_0xd04d('0x3b')],{'$or':_[_0xd04d('0x2c')](_0x54cb36[_0xd04d('0x35')],function(_0xb2dfe2){var _0xfafccc={};_0xfafccc[_0xb2dfe2]={'$like':'%'+_0x565360[_0xd04d('0x33')][_0xd04d('0x3d')]+'%'};return _0xfafccc;})});}_0x54cb36=_[_0xd04d('0x3f')]({},_0x54cb36,_0x565360[_0xd04d('0x47')]);return db['JscriptyQuestionReport'][_0xd04d('0x20')]({'where':_0x54cb36['where']})[_0xd04d('0x27')](function(_0x4adc23){_0x1b811e[_0xd04d('0x20')]=_0x4adc23;if(_0x565360[_0xd04d('0x33')]['includeAll']){_0x54cb36[_0xd04d('0x41')]=[{'all':!![]}];}return db[_0xd04d('0x51')][_0xd04d('0x42')](_0x54cb36);})[_0xd04d('0x27')](function(_0x6f4c65){_0x1b811e['rows']=_0x6f4c65;return _0x1b811e;});}})[_0xd04d('0x27')](respondWithFilteredResult(_0x52ce26,_0x54cb36))[_0xd04d('0x4a')](handleError(_0x52ce26,null));};