Built motion from commit (unavailable).|2.5.23
[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 _0xaf40=['length','hasOwnProperty','nolimit','order','sort','where','merge','VIRTUAL','filter','includeAll','include','findAll','rows','catch','show','params','keys','rawAttributes','options','find','create','body','describe','findOne','JscriptyQuestionReport','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','util','path','ejs','squel','desk.js','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','apply','reject','save','update','destroy','then','name','send','map','JscriptySessionReport','fieldName','type','key','model','filters','intersection','query','attributes','fields'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0xaf40,0x135));var _0x0af4=function(_0x21657e,_0x105cb7){_0x21657e=_0x21657e-0x0;var _0x19a74e=_0xaf40[_0x21657e];return _0x19a74e;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x0af4('0x0'));var rimraf=require(_0x0af4('0x1'));var zipdir=require(_0x0af4('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x0af4('0x3'));var moment=require(_0x0af4('0x4'));var BPromise=require(_0x0af4('0x5'));var Mustache=require('mustache');var util=require(_0x0af4('0x6'));var path=require(_0x0af4('0x7'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x0af4('0x8'));var fs=require('fs');var _=require('lodash');var squel=require(_0x0af4('0x9'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x0af4('0xa'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x0af4('0xb'));var qs=require(_0x0af4('0xc'));var as=require(_0x0af4('0xd'));var hardwareService=require(_0x0af4('0xe'));var logger=require(_0x0af4('0xf'))(_0x0af4('0x10'));var utils=require(_0x0af4('0x11'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x0af4('0x12'))['db'];function respondWithStatusCode(_0x1ebe1b,_0xdb1ac5){_0xdb1ac5=_0xdb1ac5||0xcc;return function(_0x1e39f8){if(_0x1e39f8){return _0x1ebe1b[_0x0af4('0x13')](_0xdb1ac5);}return _0x1ebe1b[_0x0af4('0x14')](_0xdb1ac5)[_0x0af4('0x15')]();};}function respondWithResult(_0x3d8cd9,_0x2f6edc){_0x2f6edc=_0x2f6edc||0xc8;return function(_0x1635ae){if(_0x1635ae){return _0x3d8cd9[_0x0af4('0x14')](_0x2f6edc)[_0x0af4('0x16')](_0x1635ae);}};}function respondWithFilteredResult(_0x2a7be0,_0x38e597){return function(_0x569288){if(_0x569288){var _0x51b6dd=_0x569288[_0x0af4('0x17')],_0xee35fd=_0x38e597[_0x0af4('0x18')],_0x338faa=_0x38e597[_0x0af4('0x18')]+_0x38e597[_0x0af4('0x19')],_0xd2478d;if(_0x338faa>=_0x51b6dd){_0x338faa=_0x51b6dd;_0xd2478d=0xc8;}else{_0xd2478d=0xce;}_0x2a7be0[_0x0af4('0x14')](_0xd2478d);return _0x2a7be0[_0x0af4('0x1a')]('Content-Range',_0xee35fd+'-'+_0x338faa+'/'+_0x51b6dd)[_0x0af4('0x16')](_0x569288);}return null;};}function patchUpdates(_0x3ab278){return function(_0x19e624){try{jsonpatch[_0x0af4('0x1b')](_0x19e624,_0x3ab278,!![]);}catch(_0x5c2122){return BPromise[_0x0af4('0x1c')](_0x5c2122);}return _0x19e624[_0x0af4('0x1d')]();};}function saveUpdates(_0x2751bb,_0x803c44){return function(_0xd185f0){if(_0xd185f0){return _0xd185f0[_0x0af4('0x1e')](_0x2751bb)['then'](function(_0x4412cf){return _0x4412cf;});}return null;};}function removeEntity(_0x1f988f,_0x571469){return function(_0x23cff2){if(_0x23cff2){return _0x23cff2[_0x0af4('0x1f')]()[_0x0af4('0x20')](function(){_0x1f988f[_0x0af4('0x14')](0xcc)[_0x0af4('0x15')]();});}};}function handleEntityNotFound(_0x35d355,_0x2809a5){return function(_0x365f66){if(!_0x365f66){_0x35d355[_0x0af4('0x13')](0x194);}return _0x365f66;};}function handleError(_0x17df65,_0x3d29cf){_0x3d29cf=_0x3d29cf||0x1f4;return function(_0x223438){logger['error'](_0x223438['stack']);if(_0x223438['name']){delete _0x223438[_0x0af4('0x21')];}_0x17df65[_0x0af4('0x14')](_0x3d29cf)[_0x0af4('0x22')](_0x223438);};}exports['index']=function(_0x598c9a,_0x53d6dc){var _0x500827={},_0x2cf5ba={},_0x40f0e7={'count':0x0,'rows':[]};var _0x59c6aa=_[_0x0af4('0x23')](db[_0x0af4('0x24')]['rawAttributes'],function(_0x1906b6){return{'name':_0x1906b6[_0x0af4('0x25')],'type':_0x1906b6[_0x0af4('0x26')][_0x0af4('0x27')]};});_0x2cf5ba[_0x0af4('0x28')]=_[_0x0af4('0x23')](_0x59c6aa,'name');_0x2cf5ba['query']=_['keys'](_0x598c9a['query']);_0x2cf5ba[_0x0af4('0x29')]=_[_0x0af4('0x2a')](_0x2cf5ba[_0x0af4('0x28')],_0x2cf5ba[_0x0af4('0x2b')]);_0x500827[_0x0af4('0x2c')]=_['intersection'](_0x2cf5ba[_0x0af4('0x28')],qs[_0x0af4('0x2d')](_0x598c9a[_0x0af4('0x2b')]['fields']));_0x500827['attributes']=_0x500827['attributes'][_0x0af4('0x2e')]?_0x500827[_0x0af4('0x2c')]:_0x2cf5ba[_0x0af4('0x28')];if(!_0x598c9a[_0x0af4('0x2b')][_0x0af4('0x2f')](_0x0af4('0x30'))){_0x500827['limit']=qs[_0x0af4('0x19')](_0x598c9a[_0x0af4('0x2b')][_0x0af4('0x19')]);_0x500827[_0x0af4('0x18')]=qs[_0x0af4('0x18')](_0x598c9a['query'][_0x0af4('0x18')]);}_0x500827[_0x0af4('0x31')]=qs['sort'](_0x598c9a[_0x0af4('0x2b')][_0x0af4('0x32')]);_0x500827[_0x0af4('0x33')]=qs['filters'](_['pick'](_0x598c9a[_0x0af4('0x2b')],_0x2cf5ba[_0x0af4('0x29')]),_0x59c6aa);if(_0x598c9a[_0x0af4('0x2b')]['filter']){_0x500827['where']=_[_0x0af4('0x34')](_0x500827[_0x0af4('0x33')],{'$or':_[_0x0af4('0x23')](_0x59c6aa,function(_0x114946){if(_0x114946[_0x0af4('0x26')]!==_0x0af4('0x35')){var _0x5bbfb6={};_0x5bbfb6[_0x114946[_0x0af4('0x21')]]={'$like':'%'+_0x598c9a[_0x0af4('0x2b')][_0x0af4('0x36')]+'%'};return _0x5bbfb6;}})});}_0x500827=_['merge']({},_0x500827,_0x598c9a['options']);var _0x575857={'where':_0x500827['where']};return db[_0x0af4('0x24')][_0x0af4('0x17')](_0x575857)[_0x0af4('0x20')](function(_0x41e05e){_0x40f0e7[_0x0af4('0x17')]=_0x41e05e;if(_0x598c9a[_0x0af4('0x2b')][_0x0af4('0x37')]){_0x500827[_0x0af4('0x38')]=[{'all':!![]}];}return db['JscriptySessionReport'][_0x0af4('0x39')](_0x500827);})['then'](function(_0x12cc16){_0x40f0e7[_0x0af4('0x3a')]=_0x12cc16;return _0x40f0e7;})['then'](respondWithFilteredResult(_0x53d6dc,_0x500827))[_0x0af4('0x3b')](handleError(_0x53d6dc,null));};exports[_0x0af4('0x3c')]=function(_0x4ee6e5,_0x545c5f){var _0x365dde={'raw':!![],'where':{'id':_0x4ee6e5[_0x0af4('0x3d')]['id']}},_0x194b5b={};_0x194b5b[_0x0af4('0x28')]=_[_0x0af4('0x3e')](db[_0x0af4('0x24')][_0x0af4('0x3f')]);_0x194b5b['query']=_[_0x0af4('0x3e')](_0x4ee6e5['query']);_0x194b5b[_0x0af4('0x29')]=_[_0x0af4('0x2a')](_0x194b5b[_0x0af4('0x28')],_0x194b5b[_0x0af4('0x2b')]);_0x365dde[_0x0af4('0x2c')]=_[_0x0af4('0x2a')](_0x194b5b[_0x0af4('0x28')],qs[_0x0af4('0x2d')](_0x4ee6e5[_0x0af4('0x2b')]['fields']));_0x365dde[_0x0af4('0x2c')]=_0x365dde['attributes']['length']?_0x365dde[_0x0af4('0x2c')]:_0x194b5b['model'];if(_0x4ee6e5['query'][_0x0af4('0x37')]){_0x365dde[_0x0af4('0x38')]=[{'all':!![]}];}_0x365dde=_['merge']({},_0x365dde,_0x4ee6e5[_0x0af4('0x40')]);return db['JscriptySessionReport'][_0x0af4('0x41')](_0x365dde)['then'](handleEntityNotFound(_0x545c5f,null))[_0x0af4('0x20')](respondWithResult(_0x545c5f,null))[_0x0af4('0x3b')](handleError(_0x545c5f,null));};exports[_0x0af4('0x42')]=function(_0x26e286,_0x141eeb){return db['JscriptySessionReport'][_0x0af4('0x42')](_0x26e286[_0x0af4('0x43')],{})[_0x0af4('0x20')](respondWithResult(_0x141eeb,0xc9))[_0x0af4('0x3b')](handleError(_0x141eeb,null));};exports['update']=function(_0x26e5ae,_0x21d99f){if(_0x26e5ae[_0x0af4('0x43')]['id']){delete _0x26e5ae[_0x0af4('0x43')]['id'];}return db[_0x0af4('0x24')][_0x0af4('0x41')]({'where':{'id':_0x26e5ae[_0x0af4('0x3d')]['id']}})[_0x0af4('0x20')](handleEntityNotFound(_0x21d99f,null))[_0x0af4('0x20')](saveUpdates(_0x26e5ae['body'],null))[_0x0af4('0x20')](respondWithResult(_0x21d99f,null))[_0x0af4('0x3b')](handleError(_0x21d99f,null));};exports[_0x0af4('0x1f')]=function(_0x31aa00,_0x4d7d30){return db[_0x0af4('0x24')][_0x0af4('0x41')]({'where':{'id':_0x31aa00['params']['id']}})['then'](handleEntityNotFound(_0x4d7d30,null))[_0x0af4('0x20')](removeEntity(_0x4d7d30,null))['catch'](handleError(_0x4d7d30,null));};exports[_0x0af4('0x44')]=function(_0x335291,_0x4bfd5f){return db[_0x0af4('0x24')]['describe']()[_0x0af4('0x20')](respondWithResult(_0x4bfd5f,null))['catch'](handleError(_0x4bfd5f,null));};exports['getQuestions']=function(_0x4b540c,_0x3a263e,_0x5c7e4c){var _0x58e6e4={'raw':!![],'where':{}};var _0x294d21={};var _0x5a3817={'count':0x0,'rows':[]};return db[_0x0af4('0x24')][_0x0af4('0x45')]({'where':{'id':_0x4b540c[_0x0af4('0x3d')]['id']}})[_0x0af4('0x20')](handleEntityNotFound(_0x3a263e,null))[_0x0af4('0x20')](function(_0x44ca54){if(_0x44ca54){_0x294d21[_0x0af4('0x28')]=_[_0x0af4('0x3e')](db[_0x0af4('0x46')][_0x0af4('0x3f')]);_0x294d21[_0x0af4('0x2b')]=_[_0x0af4('0x3e')](_0x4b540c['query']);_0x294d21['filters']=_[_0x0af4('0x2a')](_0x294d21['model'],_0x294d21['query']);_0x58e6e4[_0x0af4('0x2c')]=_['intersection'](_0x294d21[_0x0af4('0x28')],qs['fields'](_0x4b540c[_0x0af4('0x2b')][_0x0af4('0x2d')]));_0x58e6e4['attributes']=_0x58e6e4['attributes']['length']?_0x58e6e4['attributes']:_0x294d21[_0x0af4('0x28')];if(!_0x4b540c[_0x0af4('0x2b')]['hasOwnProperty'](_0x0af4('0x30'))){_0x58e6e4[_0x0af4('0x19')]=qs[_0x0af4('0x19')](_0x4b540c[_0x0af4('0x2b')]['limit']);_0x58e6e4[_0x0af4('0x18')]=qs[_0x0af4('0x18')](_0x4b540c[_0x0af4('0x2b')][_0x0af4('0x18')]);}_0x58e6e4[_0x0af4('0x31')]=qs[_0x0af4('0x32')](_0x4b540c[_0x0af4('0x2b')][_0x0af4('0x32')]);_0x58e6e4[_0x0af4('0x33')]=qs[_0x0af4('0x29')](_['pick'](_0x4b540c[_0x0af4('0x2b')],_0x294d21[_0x0af4('0x29')]));_0x58e6e4['where']['SessionId']=_0x44ca54['id'];if(_0x4b540c['query'][_0x0af4('0x36')]){_0x58e6e4[_0x0af4('0x33')]=_[_0x0af4('0x34')](_0x58e6e4[_0x0af4('0x33')],{'$or':_[_0x0af4('0x23')](_0x58e6e4['attributes'],function(_0x2a8e92){var _0x4076c3={};_0x4076c3[_0x2a8e92]={'$like':'%'+_0x4b540c[_0x0af4('0x2b')][_0x0af4('0x36')]+'%'};return _0x4076c3;})});}_0x58e6e4=_['merge']({},_0x58e6e4,_0x4b540c[_0x0af4('0x40')]);return db[_0x0af4('0x46')][_0x0af4('0x17')]({'where':_0x58e6e4['where']})[_0x0af4('0x20')](function(_0x33e26f){_0x5a3817[_0x0af4('0x17')]=_0x33e26f;if(_0x4b540c[_0x0af4('0x2b')]['includeAll']){_0x58e6e4[_0x0af4('0x38')]=[{'all':!![]}];}return db[_0x0af4('0x46')]['findAll'](_0x58e6e4);})[_0x0af4('0x20')](function(_0x1b0507){_0x5a3817['rows']=_0x1b0507;return _0x5a3817;});}})[_0x0af4('0x20')](respondWithFilteredResult(_0x3a263e,_0x58e6e4))[_0x0af4('0x3b')](handleError(_0x3a263e,null));};