Built motion from commit 0900f080.|2.5.45
[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 _0x2283=['include','options','find','create','update','body','describe','getQuestions','findOne','JscriptyQuestionReport','pick','SessionId','eml-format','zip-dir','fast-json-patch','moment','sox','ejs','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','limit','undefined','count','offset','set','Content-Range','reject','save','destroy','then','stack','name','send','index','map','rawAttributes','fieldName','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','order','sort','where','filter','merge','type','VIRTUAL','JscriptySessionReport','includeAll','findAll','rows','catch','show','params'];(function(_0x51e79c,_0x51485e){var _0x2467be=function(_0xbf70f0){while(--_0xbf70f0){_0x51e79c['push'](_0x51e79c['shift']());}};_0x2467be(++_0x51485e);}(_0x2283,0x1da));var _0x3228=function(_0x4dfb1b,_0x26850a){_0x4dfb1b=_0x4dfb1b-0x0;var _0x4dc88=_0x2283[_0x4dfb1b];return _0x4dc88;};'use strict';var emlformat=require(_0x3228('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x3228('0x1'));var jsonpatch=require(_0x3228('0x2'));var rp=require('request-promise');var moment=require(_0x3228('0x3'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require('util');var path=require('path');var sox=require(_0x3228('0x4'));var csv=require('to-csv');var ejs=require(_0x3228('0x5'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x3228('0x6'));var crypto=require(_0x3228('0x7'));var jsforce=require(_0x3228('0x8'));var deskjs=require(_0x3228('0x9'));var toCsv=require(_0x3228('0xa'));var querystring=require(_0x3228('0xb'));var Papa=require(_0x3228('0xc'));var Redis=require(_0x3228('0xd'));var authService=require(_0x3228('0xe'));var qs=require('../../components/parsers/qs');var as=require(_0x3228('0xf'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x3228('0x10'));var utils=require(_0x3228('0x11'));var config=require(_0x3228('0x12'));var licenseUtil=require(_0x3228('0x13'));var db=require(_0x3228('0x14'))['db'];function respondWithStatusCode(_0x14e58b,_0x133b7b){_0x133b7b=_0x133b7b||0xcc;return function(_0x72ae68){if(_0x72ae68){return _0x14e58b[_0x3228('0x15')](_0x133b7b);}return _0x14e58b[_0x3228('0x16')](_0x133b7b)[_0x3228('0x17')]();};}function respondWithResult(_0x40fe06,_0x289225){_0x289225=_0x289225||0xc8;return function(_0x2fb6d2){if(_0x2fb6d2){return _0x40fe06[_0x3228('0x16')](_0x289225)['json'](_0x2fb6d2);}};}function respondWithFilteredResult(_0x3b33d8,_0x4afb88){return function(_0x47d805){if(_0x47d805){var _0xf0c914=typeof _0x4afb88['offset']==='undefined'&&typeof _0x4afb88[_0x3228('0x18')]===_0x3228('0x19');var _0x4e8df2=_0x47d805[_0x3228('0x1a')];var _0x561921=_0xf0c914?0x0:_0x4afb88[_0x3228('0x1b')];var _0x546308=_0xf0c914?_0x47d805[_0x3228('0x1a')]:_0x4afb88[_0x3228('0x1b')]+_0x4afb88[_0x3228('0x18')];var _0x4a154c;if(_0x546308>=_0x4e8df2){_0x546308=_0x4e8df2;_0x4a154c=0xc8;}else{_0x4a154c=0xce;}_0x3b33d8[_0x3228('0x16')](_0x4a154c);return _0x3b33d8[_0x3228('0x1c')](_0x3228('0x1d'),_0x561921+'-'+_0x546308+'/'+_0x4e8df2)['json'](_0x47d805);}return null;};}function patchUpdates(_0x2b4b45){return function(_0x57576f){try{jsonpatch['apply'](_0x57576f,_0x2b4b45,!![]);}catch(_0x147469){return BPromise[_0x3228('0x1e')](_0x147469);}return _0x57576f[_0x3228('0x1f')]();};}function saveUpdates(_0x2c7d10,_0x195326){return function(_0x261d21){if(_0x261d21){return _0x261d21['update'](_0x2c7d10)['then'](function(_0x293e8a){return _0x293e8a;});}return null;};}function removeEntity(_0xd61349,_0x4c10c4){return function(_0x1e932f){if(_0x1e932f){return _0x1e932f[_0x3228('0x20')]()[_0x3228('0x21')](function(){_0xd61349[_0x3228('0x16')](0xcc)[_0x3228('0x17')]();});}};}function handleEntityNotFound(_0x2d10a8,_0x3da990){return function(_0x1edeae){if(!_0x1edeae){_0x2d10a8['sendStatus'](0x194);}return _0x1edeae;};}function handleError(_0x558178,_0x19bc23){_0x19bc23=_0x19bc23||0x1f4;return function(_0xd8413e){logger['error'](_0xd8413e[_0x3228('0x22')]);if(_0xd8413e[_0x3228('0x23')]){delete _0xd8413e[_0x3228('0x23')];}_0x558178['status'](_0x19bc23)[_0x3228('0x24')](_0xd8413e);};}exports[_0x3228('0x25')]=function(_0x11b10d,_0x49f8ed){var _0x3bed91={},_0x4e2e7a={},_0x2920ea={'count':0x0,'rows':[]};var _0x4e619c=_[_0x3228('0x26')](db['JscriptySessionReport'][_0x3228('0x27')],function(_0x71685f){return{'name':_0x71685f[_0x3228('0x28')],'type':_0x71685f['type'][_0x3228('0x29')]};});_0x4e2e7a[_0x3228('0x2a')]=_[_0x3228('0x26')](_0x4e619c,_0x3228('0x23'));_0x4e2e7a[_0x3228('0x2b')]=_[_0x3228('0x2c')](_0x11b10d['query']);_0x4e2e7a[_0x3228('0x2d')]=_[_0x3228('0x2e')](_0x4e2e7a[_0x3228('0x2a')],_0x4e2e7a[_0x3228('0x2b')]);_0x3bed91[_0x3228('0x2f')]=_[_0x3228('0x2e')](_0x4e2e7a[_0x3228('0x2a')],qs[_0x3228('0x30')](_0x11b10d[_0x3228('0x2b')][_0x3228('0x30')]));_0x3bed91[_0x3228('0x2f')]=_0x3bed91[_0x3228('0x2f')][_0x3228('0x31')]?_0x3bed91['attributes']:_0x4e2e7a[_0x3228('0x2a')];if(!_0x11b10d[_0x3228('0x2b')][_0x3228('0x32')]('nolimit')){_0x3bed91[_0x3228('0x18')]=qs[_0x3228('0x18')](_0x11b10d[_0x3228('0x2b')]['limit']);_0x3bed91[_0x3228('0x1b')]=qs[_0x3228('0x1b')](_0x11b10d[_0x3228('0x2b')]['offset']);}_0x3bed91[_0x3228('0x33')]=qs[_0x3228('0x34')](_0x11b10d[_0x3228('0x2b')][_0x3228('0x34')]);_0x3bed91[_0x3228('0x35')]=qs[_0x3228('0x2d')](_['pick'](_0x11b10d['query'],_0x4e2e7a[_0x3228('0x2d')]),_0x4e619c);if(_0x11b10d['query'][_0x3228('0x36')]){_0x3bed91[_0x3228('0x35')]=_[_0x3228('0x37')](_0x3bed91[_0x3228('0x35')],{'$or':_['map'](_0x4e619c,function(_0x206ea7){if(_0x206ea7[_0x3228('0x38')]!==_0x3228('0x39')){var _0x22bcda={};_0x22bcda[_0x206ea7[_0x3228('0x23')]]={'$like':'%'+_0x11b10d[_0x3228('0x2b')]['filter']+'%'};return _0x22bcda;}})});}_0x3bed91=_['merge']({},_0x3bed91,_0x11b10d['options']);var _0x4795bd={'where':_0x3bed91[_0x3228('0x35')]};return db[_0x3228('0x3a')][_0x3228('0x1a')](_0x4795bd)[_0x3228('0x21')](function(_0x3113f4){_0x2920ea[_0x3228('0x1a')]=_0x3113f4;if(_0x11b10d['query'][_0x3228('0x3b')]){_0x3bed91['include']=[{'all':!![]}];}return db['JscriptySessionReport'][_0x3228('0x3c')](_0x3bed91);})[_0x3228('0x21')](function(_0x12f4d5){_0x2920ea[_0x3228('0x3d')]=_0x12f4d5;return _0x2920ea;})[_0x3228('0x21')](respondWithFilteredResult(_0x49f8ed,_0x3bed91))[_0x3228('0x3e')](handleError(_0x49f8ed,null));};exports[_0x3228('0x3f')]=function(_0x1d332c,_0x4f75ca){var _0x24bce1={'raw':!![],'where':{'id':_0x1d332c[_0x3228('0x40')]['id']}},_0x35a812={};_0x35a812[_0x3228('0x2a')]=_['keys'](db[_0x3228('0x3a')][_0x3228('0x27')]);_0x35a812['query']=_[_0x3228('0x2c')](_0x1d332c[_0x3228('0x2b')]);_0x35a812[_0x3228('0x2d')]=_[_0x3228('0x2e')](_0x35a812[_0x3228('0x2a')],_0x35a812['query']);_0x24bce1[_0x3228('0x2f')]=_[_0x3228('0x2e')](_0x35a812[_0x3228('0x2a')],qs['fields'](_0x1d332c['query']['fields']));_0x24bce1['attributes']=_0x24bce1['attributes']['length']?_0x24bce1[_0x3228('0x2f')]:_0x35a812[_0x3228('0x2a')];if(_0x1d332c[_0x3228('0x2b')][_0x3228('0x3b')]){_0x24bce1[_0x3228('0x41')]=[{'all':!![]}];}_0x24bce1=_[_0x3228('0x37')]({},_0x24bce1,_0x1d332c[_0x3228('0x42')]);return db['JscriptySessionReport'][_0x3228('0x43')](_0x24bce1)[_0x3228('0x21')](handleEntityNotFound(_0x4f75ca,null))[_0x3228('0x21')](respondWithResult(_0x4f75ca,null))[_0x3228('0x3e')](handleError(_0x4f75ca,null));};exports[_0x3228('0x44')]=function(_0x30b525,_0x3e7f8c){return db[_0x3228('0x3a')][_0x3228('0x44')](_0x30b525['body'],{})[_0x3228('0x21')](respondWithResult(_0x3e7f8c,0xc9))['catch'](handleError(_0x3e7f8c,null));};exports[_0x3228('0x45')]=function(_0x57b6cc,_0x4056ea){if(_0x57b6cc[_0x3228('0x46')]['id']){delete _0x57b6cc['body']['id'];}return db[_0x3228('0x3a')][_0x3228('0x43')]({'where':{'id':_0x57b6cc[_0x3228('0x40')]['id']}})[_0x3228('0x21')](handleEntityNotFound(_0x4056ea,null))[_0x3228('0x21')](saveUpdates(_0x57b6cc[_0x3228('0x46')],null))[_0x3228('0x21')](respondWithResult(_0x4056ea,null))['catch'](handleError(_0x4056ea,null));};exports[_0x3228('0x20')]=function(_0xe9a075,_0x4feccd){return db[_0x3228('0x3a')][_0x3228('0x43')]({'where':{'id':_0xe9a075['params']['id']}})[_0x3228('0x21')](handleEntityNotFound(_0x4feccd,null))[_0x3228('0x21')](removeEntity(_0x4feccd,null))['catch'](handleError(_0x4feccd,null));};exports['describe']=function(_0x52fee2,_0x2aca94){return db['JscriptySessionReport'][_0x3228('0x47')]()[_0x3228('0x21')](respondWithResult(_0x2aca94,null))[_0x3228('0x3e')](handleError(_0x2aca94,null));};exports[_0x3228('0x48')]=function(_0x28e2ff,_0x337b50,_0x402824){var _0x3e55c9={'raw':!![],'where':{}};var _0x28abb3={};var _0x366239={'count':0x0,'rows':[]};return db['JscriptySessionReport'][_0x3228('0x49')]({'where':{'id':_0x28e2ff[_0x3228('0x40')]['id']}})[_0x3228('0x21')](handleEntityNotFound(_0x337b50,null))[_0x3228('0x21')](function(_0xb59c86){if(_0xb59c86){_0x28abb3['model']=_[_0x3228('0x2c')](db[_0x3228('0x4a')]['rawAttributes']);_0x28abb3['query']=_[_0x3228('0x2c')](_0x28e2ff[_0x3228('0x2b')]);_0x28abb3[_0x3228('0x2d')]=_[_0x3228('0x2e')](_0x28abb3[_0x3228('0x2a')],_0x28abb3[_0x3228('0x2b')]);_0x3e55c9[_0x3228('0x2f')]=_[_0x3228('0x2e')](_0x28abb3[_0x3228('0x2a')],qs[_0x3228('0x30')](_0x28e2ff[_0x3228('0x2b')][_0x3228('0x30')]));_0x3e55c9[_0x3228('0x2f')]=_0x3e55c9[_0x3228('0x2f')][_0x3228('0x31')]?_0x3e55c9[_0x3228('0x2f')]:_0x28abb3[_0x3228('0x2a')];if(!_0x28e2ff[_0x3228('0x2b')][_0x3228('0x32')]('nolimit')){_0x3e55c9[_0x3228('0x18')]=qs[_0x3228('0x18')](_0x28e2ff[_0x3228('0x2b')][_0x3228('0x18')]);_0x3e55c9[_0x3228('0x1b')]=qs[_0x3228('0x1b')](_0x28e2ff[_0x3228('0x2b')][_0x3228('0x1b')]);}_0x3e55c9[_0x3228('0x33')]=qs['sort'](_0x28e2ff['query'][_0x3228('0x34')]);_0x3e55c9['where']=qs['filters'](_[_0x3228('0x4b')](_0x28e2ff[_0x3228('0x2b')],_0x28abb3[_0x3228('0x2d')]));_0x3e55c9['where'][_0x3228('0x4c')]=_0xb59c86['id'];if(_0x28e2ff[_0x3228('0x2b')]['filter']){_0x3e55c9[_0x3228('0x35')]=_[_0x3228('0x37')](_0x3e55c9[_0x3228('0x35')],{'$or':_[_0x3228('0x26')](_0x3e55c9[_0x3228('0x2f')],function(_0x9c2c8b){var _0x54f44a={};_0x54f44a[_0x9c2c8b]={'$like':'%'+_0x28e2ff[_0x3228('0x2b')]['filter']+'%'};return _0x54f44a;})});}_0x3e55c9=_[_0x3228('0x37')]({},_0x3e55c9,_0x28e2ff[_0x3228('0x42')]);return db[_0x3228('0x4a')][_0x3228('0x1a')]({'where':_0x3e55c9[_0x3228('0x35')]})['then'](function(_0x31af41){_0x366239[_0x3228('0x1a')]=_0x31af41;if(_0x28e2ff[_0x3228('0x2b')][_0x3228('0x3b')]){_0x3e55c9[_0x3228('0x41')]=[{'all':!![]}];}return db[_0x3228('0x4a')][_0x3228('0x3c')](_0x3e55c9);})[_0x3228('0x21')](function(_0xc939f9){_0x366239['rows']=_0xc939f9;return _0x366239;});}})[_0x3228('0x21')](respondWithFilteredResult(_0x337b50,_0x3e55c9))[_0x3228('0x3e')](handleError(_0x337b50,null));};