b6aa7f680b6826238afc3745345c30571e422848
[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 _0x1151=['type','key','query','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','limit','sort','where','filters','pick','merge','VIRTUAL','options','includeAll','findAll','rows','catch','show','params','keys','find','body','describe','getQuestions','findOne','SessionId','filter','JscriptyQuestionReport','include','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','offset','undefined','count','set','Content-Range','apply','reject','update','then','destroy','error','name','index','map','JscriptySessionReport','rawAttributes','fieldName'];(function(_0x4565bf,_0x5ad9d6){var _0x5610ba=function(_0x170988){while(--_0x170988){_0x4565bf['push'](_0x4565bf['shift']());}};_0x5610ba(++_0x5ad9d6);}(_0x1151,0x1b7));var _0x1115=function(_0x101e7b,_0x4ef05b){_0x101e7b=_0x101e7b-0x0;var _0x4995c0=_0x1151[_0x101e7b];return _0x4995c0;};'use strict';var emlformat=require(_0x1115('0x0'));var rimraf=require(_0x1115('0x1'));var zipdir=require(_0x1115('0x2'));var jsonpatch=require(_0x1115('0x3'));var rp=require(_0x1115('0x4'));var moment=require(_0x1115('0x5'));var BPromise=require(_0x1115('0x6'));var Mustache=require('mustache');var util=require(_0x1115('0x7'));var path=require(_0x1115('0x8'));var sox=require(_0x1115('0x9'));var csv=require(_0x1115('0xa'));var ejs=require(_0x1115('0xb'));var fs=require('fs');var fs_extra=require(_0x1115('0xc'));var _=require(_0x1115('0xd'));var squel=require(_0x1115('0xe'));var crypto=require('crypto');var jsforce=require(_0x1115('0xf'));var deskjs=require(_0x1115('0x10'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x1115('0x11'));var Redis=require(_0x1115('0x12'));var authService=require(_0x1115('0x13'));var qs=require('../../components/parsers/qs');var as=require(_0x1115('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x1115('0x15'))(_0x1115('0x16'));var utils=require(_0x1115('0x17'));var config=require(_0x1115('0x18'));var licenseUtil=require(_0x1115('0x19'));var db=require(_0x1115('0x1a'))['db'];function respondWithStatusCode(_0x4e2c0c,_0x2296a3){_0x2296a3=_0x2296a3||0xcc;return function(_0x260f9b){if(_0x260f9b){return _0x4e2c0c[_0x1115('0x1b')](_0x2296a3);}return _0x4e2c0c['status'](_0x2296a3)[_0x1115('0x1c')]();};}function respondWithResult(_0xfca59a,_0x2d9aff){_0x2d9aff=_0x2d9aff||0xc8;return function(_0x13d4a6){if(_0x13d4a6){return _0xfca59a[_0x1115('0x1d')](_0x2d9aff)['json'](_0x13d4a6);}};}function respondWithFilteredResult(_0x200aca,_0x194668){return function(_0x38e82f){if(_0x38e82f){var _0x633445=typeof _0x194668[_0x1115('0x1e')]===_0x1115('0x1f')&&typeof _0x194668['limit']===_0x1115('0x1f');var _0x835568=_0x38e82f[_0x1115('0x20')];var _0x5d554d=_0x633445?0x0:_0x194668[_0x1115('0x1e')];var _0x1bae78=_0x633445?_0x38e82f[_0x1115('0x20')]:_0x194668['offset']+_0x194668['limit'];var _0x3166fa;if(_0x1bae78>=_0x835568){_0x1bae78=_0x835568;_0x3166fa=0xc8;}else{_0x3166fa=0xce;}_0x200aca[_0x1115('0x1d')](_0x3166fa);return _0x200aca[_0x1115('0x21')](_0x1115('0x22'),_0x5d554d+'-'+_0x1bae78+'/'+_0x835568)['json'](_0x38e82f);}return null;};}function patchUpdates(_0x2799ec){return function(_0x5a6178){try{jsonpatch[_0x1115('0x23')](_0x5a6178,_0x2799ec,!![]);}catch(_0x394149){return BPromise[_0x1115('0x24')](_0x394149);}return _0x5a6178['save']();};}function saveUpdates(_0xf38ab1,_0x273bdc){return function(_0x9280ee){if(_0x9280ee){return _0x9280ee[_0x1115('0x25')](_0xf38ab1)[_0x1115('0x26')](function(_0x3bbf5a){return _0x3bbf5a;});}return null;};}function removeEntity(_0x46bc6c,_0xd40312){return function(_0x651d83){if(_0x651d83){return _0x651d83[_0x1115('0x27')]()[_0x1115('0x26')](function(){_0x46bc6c['status'](0xcc)[_0x1115('0x1c')]();});}};}function handleEntityNotFound(_0x365855,_0x5e3a9c){return function(_0x2136d6){if(!_0x2136d6){_0x365855[_0x1115('0x1b')](0x194);}return _0x2136d6;};}function handleError(_0x3070d1,_0x22e3af){_0x22e3af=_0x22e3af||0x1f4;return function(_0x307191){logger[_0x1115('0x28')](_0x307191['stack']);if(_0x307191[_0x1115('0x29')]){delete _0x307191[_0x1115('0x29')];}_0x3070d1['status'](_0x22e3af)['send'](_0x307191);};}exports[_0x1115('0x2a')]=function(_0x5320bd,_0x50d15c){var _0x2d071c={},_0x138359={},_0x5cbfad={'count':0x0,'rows':[]};var _0x5a06a0=_[_0x1115('0x2b')](db[_0x1115('0x2c')][_0x1115('0x2d')],function(_0x2c929e){return{'name':_0x2c929e[_0x1115('0x2e')],'type':_0x2c929e[_0x1115('0x2f')][_0x1115('0x30')]};});_0x138359['model']=_[_0x1115('0x2b')](_0x5a06a0,_0x1115('0x29'));_0x138359[_0x1115('0x31')]=_['keys'](_0x5320bd['query']);_0x138359['filters']=_[_0x1115('0x32')](_0x138359[_0x1115('0x33')],_0x138359[_0x1115('0x31')]);_0x2d071c[_0x1115('0x34')]=_[_0x1115('0x32')](_0x138359[_0x1115('0x33')],qs[_0x1115('0x35')](_0x5320bd[_0x1115('0x31')][_0x1115('0x35')]));_0x2d071c[_0x1115('0x34')]=_0x2d071c['attributes'][_0x1115('0x36')]?_0x2d071c['attributes']:_0x138359['model'];if(!_0x5320bd[_0x1115('0x31')][_0x1115('0x37')](_0x1115('0x38'))){_0x2d071c[_0x1115('0x39')]=qs['limit'](_0x5320bd['query'][_0x1115('0x39')]);_0x2d071c['offset']=qs[_0x1115('0x1e')](_0x5320bd[_0x1115('0x31')]['offset']);}_0x2d071c['order']=qs[_0x1115('0x3a')](_0x5320bd[_0x1115('0x31')][_0x1115('0x3a')]);_0x2d071c[_0x1115('0x3b')]=qs[_0x1115('0x3c')](_[_0x1115('0x3d')](_0x5320bd['query'],_0x138359[_0x1115('0x3c')]),_0x5a06a0);if(_0x5320bd['query']['filter']){_0x2d071c['where']=_[_0x1115('0x3e')](_0x2d071c[_0x1115('0x3b')],{'$or':_[_0x1115('0x2b')](_0x5a06a0,function(_0x48ff06){if(_0x48ff06[_0x1115('0x2f')]!==_0x1115('0x3f')){var _0x3b7760={};_0x3b7760[_0x48ff06[_0x1115('0x29')]]={'$like':'%'+_0x5320bd[_0x1115('0x31')]['filter']+'%'};return _0x3b7760;}})});}_0x2d071c=_[_0x1115('0x3e')]({},_0x2d071c,_0x5320bd[_0x1115('0x40')]);var _0x14e9d1={'where':_0x2d071c[_0x1115('0x3b')]};return db[_0x1115('0x2c')][_0x1115('0x20')](_0x14e9d1)[_0x1115('0x26')](function(_0x445a81){_0x5cbfad[_0x1115('0x20')]=_0x445a81;if(_0x5320bd[_0x1115('0x31')][_0x1115('0x41')]){_0x2d071c['include']=[{'all':!![]}];}return db[_0x1115('0x2c')][_0x1115('0x42')](_0x2d071c);})[_0x1115('0x26')](function(_0x582f54){_0x5cbfad[_0x1115('0x43')]=_0x582f54;return _0x5cbfad;})[_0x1115('0x26')](respondWithFilteredResult(_0x50d15c,_0x2d071c))[_0x1115('0x44')](handleError(_0x50d15c,null));};exports[_0x1115('0x45')]=function(_0x59bb63,_0x158aee){var _0xa14cc7={'raw':!![],'where':{'id':_0x59bb63[_0x1115('0x46')]['id']}},_0x217cdf={};_0x217cdf[_0x1115('0x33')]=_[_0x1115('0x47')](db[_0x1115('0x2c')][_0x1115('0x2d')]);_0x217cdf[_0x1115('0x31')]=_[_0x1115('0x47')](_0x59bb63[_0x1115('0x31')]);_0x217cdf[_0x1115('0x3c')]=_[_0x1115('0x32')](_0x217cdf[_0x1115('0x33')],_0x217cdf[_0x1115('0x31')]);_0xa14cc7[_0x1115('0x34')]=_['intersection'](_0x217cdf['model'],qs['fields'](_0x59bb63[_0x1115('0x31')]['fields']));_0xa14cc7['attributes']=_0xa14cc7[_0x1115('0x34')][_0x1115('0x36')]?_0xa14cc7['attributes']:_0x217cdf[_0x1115('0x33')];if(_0x59bb63[_0x1115('0x31')][_0x1115('0x41')]){_0xa14cc7['include']=[{'all':!![]}];}_0xa14cc7=_[_0x1115('0x3e')]({},_0xa14cc7,_0x59bb63[_0x1115('0x40')]);return db['JscriptySessionReport'][_0x1115('0x48')](_0xa14cc7)['then'](handleEntityNotFound(_0x158aee,null))[_0x1115('0x26')](respondWithResult(_0x158aee,null))[_0x1115('0x44')](handleError(_0x158aee,null));};exports['create']=function(_0x142bce,_0x516a8c){return db[_0x1115('0x2c')]['create'](_0x142bce[_0x1115('0x49')],{})[_0x1115('0x26')](respondWithResult(_0x516a8c,0xc9))[_0x1115('0x44')](handleError(_0x516a8c,null));};exports['update']=function(_0x3a2da6,_0xb9c374){if(_0x3a2da6[_0x1115('0x49')]['id']){delete _0x3a2da6['body']['id'];}return db[_0x1115('0x2c')]['find']({'where':{'id':_0x3a2da6[_0x1115('0x46')]['id']}})[_0x1115('0x26')](handleEntityNotFound(_0xb9c374,null))[_0x1115('0x26')](saveUpdates(_0x3a2da6[_0x1115('0x49')],null))[_0x1115('0x26')](respondWithResult(_0xb9c374,null))[_0x1115('0x44')](handleError(_0xb9c374,null));};exports['destroy']=function(_0x8f7271,_0x5223b1){return db[_0x1115('0x2c')][_0x1115('0x48')]({'where':{'id':_0x8f7271['params']['id']}})[_0x1115('0x26')](handleEntityNotFound(_0x5223b1,null))[_0x1115('0x26')](removeEntity(_0x5223b1,null))[_0x1115('0x44')](handleError(_0x5223b1,null));};exports[_0x1115('0x4a')]=function(_0x17bb8a,_0x222f42){return db[_0x1115('0x2c')][_0x1115('0x4a')]()['then'](respondWithResult(_0x222f42,null))['catch'](handleError(_0x222f42,null));};exports[_0x1115('0x4b')]=function(_0x5222f6,_0x417730,_0x2aa098){var _0x52fde7={'raw':!![],'where':{}};var _0x1004cc={};var _0x4c88cb={'count':0x0,'rows':[]};return db[_0x1115('0x2c')][_0x1115('0x4c')]({'where':{'id':_0x5222f6[_0x1115('0x46')]['id']}})[_0x1115('0x26')](handleEntityNotFound(_0x417730,null))['then'](function(_0x5cf32a){if(_0x5cf32a){_0x1004cc[_0x1115('0x33')]=_[_0x1115('0x47')](db['JscriptyQuestionReport'][_0x1115('0x2d')]);_0x1004cc[_0x1115('0x31')]=_[_0x1115('0x47')](_0x5222f6[_0x1115('0x31')]);_0x1004cc[_0x1115('0x3c')]=_[_0x1115('0x32')](_0x1004cc[_0x1115('0x33')],_0x1004cc[_0x1115('0x31')]);_0x52fde7[_0x1115('0x34')]=_[_0x1115('0x32')](_0x1004cc['model'],qs[_0x1115('0x35')](_0x5222f6['query'][_0x1115('0x35')]));_0x52fde7['attributes']=_0x52fde7[_0x1115('0x34')]['length']?_0x52fde7[_0x1115('0x34')]:_0x1004cc[_0x1115('0x33')];if(!_0x5222f6[_0x1115('0x31')][_0x1115('0x37')](_0x1115('0x38'))){_0x52fde7[_0x1115('0x39')]=qs[_0x1115('0x39')](_0x5222f6[_0x1115('0x31')][_0x1115('0x39')]);_0x52fde7['offset']=qs[_0x1115('0x1e')](_0x5222f6[_0x1115('0x31')]['offset']);}_0x52fde7['order']=qs[_0x1115('0x3a')](_0x5222f6[_0x1115('0x31')]['sort']);_0x52fde7[_0x1115('0x3b')]=qs[_0x1115('0x3c')](_[_0x1115('0x3d')](_0x5222f6['query'],_0x1004cc[_0x1115('0x3c')]));_0x52fde7[_0x1115('0x3b')][_0x1115('0x4d')]=_0x5cf32a['id'];if(_0x5222f6['query']['filter']){_0x52fde7[_0x1115('0x3b')]=_[_0x1115('0x3e')](_0x52fde7[_0x1115('0x3b')],{'$or':_[_0x1115('0x2b')](_0x52fde7[_0x1115('0x34')],function(_0x436c42){var _0x279f21={};_0x279f21[_0x436c42]={'$like':'%'+_0x5222f6['query'][_0x1115('0x4e')]+'%'};return _0x279f21;})});}_0x52fde7=_[_0x1115('0x3e')]({},_0x52fde7,_0x5222f6[_0x1115('0x40')]);return db[_0x1115('0x4f')]['count']({'where':_0x52fde7[_0x1115('0x3b')]})[_0x1115('0x26')](function(_0x55571d){_0x4c88cb[_0x1115('0x20')]=_0x55571d;if(_0x5222f6[_0x1115('0x31')]['includeAll']){_0x52fde7[_0x1115('0x50')]=[{'all':!![]}];}return db[_0x1115('0x4f')]['findAll'](_0x52fde7);})['then'](function(_0x4857ea){_0x4c88cb[_0x1115('0x43')]=_0x4857ea;return _0x4c88cb;});}})[_0x1115('0x26')](respondWithFilteredResult(_0x417730,_0x52fde7))[_0x1115('0x44')](handleError(_0x417730,null));};