Built motion from commit 25580385.|2.6.2
[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 _0x2720=['name','send','index','map','JscriptySessionReport','type','key','query','filters','intersection','fields','attributes','hasOwnProperty','nolimit','sort','pick','filter','where','merge','options','includeAll','include','rows','catch','model','keys','length','find','create','body','destroy','params','describe','getQuestions','JscriptyQuestionReport','rawAttributes','order','SessionId','eml-format','zip-dir','bluebird','mustache','util','path','sox','fs-extra','lodash','squel','crypto','jsforce','to-csv','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','reject','update','then','error','stack'];(function(_0x5271b1,_0x12698e){var _0x392a09=function(_0x2f5c55){while(--_0x2f5c55){_0x5271b1['push'](_0x5271b1['shift']());}};_0x392a09(++_0x12698e);}(_0x2720,0x70));var _0x0272=function(_0x560fde,_0x512fc8){_0x560fde=_0x560fde-0x0;var _0x25269e=_0x2720[_0x560fde];return _0x25269e;};'use strict';var emlformat=require(_0x0272('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x0272('0x1'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x0272('0x2'));var Mustache=require(_0x0272('0x3'));var util=require(_0x0272('0x4'));var path=require(_0x0272('0x5'));var sox=require(_0x0272('0x6'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x0272('0x7'));var _=require(_0x0272('0x8'));var squel=require(_0x0272('0x9'));var crypto=require(_0x0272('0xa'));var jsforce=require(_0x0272('0xb'));var deskjs=require('desk.js');var toCsv=require(_0x0272('0xc'));var querystring=require('querystring');var Papa=require(_0x0272('0xd'));var Redis=require(_0x0272('0xe'));var authService=require(_0x0272('0xf'));var qs=require('../../components/parsers/qs');var as=require(_0x0272('0x10'));var hardwareService=require(_0x0272('0x11'));var logger=require(_0x0272('0x12'))('api');var utils=require(_0x0272('0x13'));var config=require(_0x0272('0x14'));var licenseUtil=require(_0x0272('0x15'));var db=require(_0x0272('0x16'))['db'];function respondWithStatusCode(_0x24f334,_0x531972){_0x531972=_0x531972||0xcc;return function(_0xf93372){if(_0xf93372){return _0x24f334[_0x0272('0x17')](_0x531972);}return _0x24f334[_0x0272('0x18')](_0x531972)[_0x0272('0x19')]();};}function respondWithResult(_0x4a0f2e,_0x38a5b6){_0x38a5b6=_0x38a5b6||0xc8;return function(_0x19b43c){if(_0x19b43c){return _0x4a0f2e['status'](_0x38a5b6)[_0x0272('0x1a')](_0x19b43c);}};}function respondWithFilteredResult(_0x4ce858,_0x1a820c){return function(_0x188216){if(_0x188216){var _0x1bae45=typeof _0x1a820c[_0x0272('0x1b')]===_0x0272('0x1c')&&typeof _0x1a820c[_0x0272('0x1d')]===_0x0272('0x1c');var _0x4782a5=_0x188216['count'];var _0x3cb688=_0x1bae45?0x0:_0x1a820c[_0x0272('0x1b')];var _0xf4d9b6=_0x1bae45?_0x188216[_0x0272('0x1e')]:_0x1a820c[_0x0272('0x1b')]+_0x1a820c[_0x0272('0x1d')];var _0x4c84d0;if(_0xf4d9b6>=_0x4782a5){_0xf4d9b6=_0x4782a5;_0x4c84d0=0xc8;}else{_0x4c84d0=0xce;}_0x4ce858[_0x0272('0x18')](_0x4c84d0);return _0x4ce858['set']('Content-Range',_0x3cb688+'-'+_0xf4d9b6+'/'+_0x4782a5)['json'](_0x188216);}return null;};}function patchUpdates(_0x363794){return function(_0x584305){try{jsonpatch['apply'](_0x584305,_0x363794,!![]);}catch(_0x4c6517){return BPromise[_0x0272('0x1f')](_0x4c6517);}return _0x584305['save']();};}function saveUpdates(_0x3052b5,_0x5a3a4f){return function(_0x46b3a4){if(_0x46b3a4){return _0x46b3a4[_0x0272('0x20')](_0x3052b5)[_0x0272('0x21')](function(_0x2e3a79){return _0x2e3a79;});}return null;};}function removeEntity(_0x3a4777,_0x510a70){return function(_0x174608){if(_0x174608){return _0x174608['destroy']()[_0x0272('0x21')](function(){_0x3a4777[_0x0272('0x18')](0xcc)[_0x0272('0x19')]();});}};}function handleEntityNotFound(_0x1de696,_0x328740){return function(_0x1745b5){if(!_0x1745b5){_0x1de696['sendStatus'](0x194);}return _0x1745b5;};}function handleError(_0x287bce,_0x827d50){_0x827d50=_0x827d50||0x1f4;return function(_0x551cad){logger[_0x0272('0x22')](_0x551cad[_0x0272('0x23')]);if(_0x551cad['name']){delete _0x551cad[_0x0272('0x24')];}_0x287bce[_0x0272('0x18')](_0x827d50)[_0x0272('0x25')](_0x551cad);};}exports[_0x0272('0x26')]=function(_0x38d8a5,_0x2553c1){var _0x413661={},_0x4cb1f0={},_0x4784a9={'count':0x0,'rows':[]};var _0x29ab6b=_[_0x0272('0x27')](db[_0x0272('0x28')]['rawAttributes'],function(_0x246112){return{'name':_0x246112['fieldName'],'type':_0x246112[_0x0272('0x29')][_0x0272('0x2a')]};});_0x4cb1f0['model']=_['map'](_0x29ab6b,_0x0272('0x24'));_0x4cb1f0[_0x0272('0x2b')]=_['keys'](_0x38d8a5[_0x0272('0x2b')]);_0x4cb1f0[_0x0272('0x2c')]=_['intersection'](_0x4cb1f0['model'],_0x4cb1f0[_0x0272('0x2b')]);_0x413661['attributes']=_[_0x0272('0x2d')](_0x4cb1f0['model'],qs[_0x0272('0x2e')](_0x38d8a5[_0x0272('0x2b')][_0x0272('0x2e')]));_0x413661[_0x0272('0x2f')]=_0x413661[_0x0272('0x2f')]['length']?_0x413661[_0x0272('0x2f')]:_0x4cb1f0['model'];if(!_0x38d8a5[_0x0272('0x2b')][_0x0272('0x30')](_0x0272('0x31'))){_0x413661[_0x0272('0x1d')]=qs[_0x0272('0x1d')](_0x38d8a5['query'][_0x0272('0x1d')]);_0x413661[_0x0272('0x1b')]=qs['offset'](_0x38d8a5[_0x0272('0x2b')][_0x0272('0x1b')]);}_0x413661['order']=qs['sort'](_0x38d8a5[_0x0272('0x2b')][_0x0272('0x32')]);_0x413661['where']=qs[_0x0272('0x2c')](_[_0x0272('0x33')](_0x38d8a5[_0x0272('0x2b')],_0x4cb1f0['filters']),_0x29ab6b);if(_0x38d8a5[_0x0272('0x2b')][_0x0272('0x34')]){_0x413661[_0x0272('0x35')]=_[_0x0272('0x36')](_0x413661[_0x0272('0x35')],{'$or':_[_0x0272('0x27')](_0x29ab6b,function(_0x35793e){if(_0x35793e['type']!=='VIRTUAL'){var _0x4ce9d2={};_0x4ce9d2[_0x35793e['name']]={'$like':'%'+_0x38d8a5[_0x0272('0x2b')]['filter']+'%'};return _0x4ce9d2;}})});}_0x413661=_['merge']({},_0x413661,_0x38d8a5[_0x0272('0x37')]);var _0x2e3c90={'where':_0x413661[_0x0272('0x35')]};return db['JscriptySessionReport'][_0x0272('0x1e')](_0x2e3c90)['then'](function(_0x7a0c3a){_0x4784a9[_0x0272('0x1e')]=_0x7a0c3a;if(_0x38d8a5[_0x0272('0x2b')][_0x0272('0x38')]){_0x413661[_0x0272('0x39')]=[{'all':!![]}];}return db[_0x0272('0x28')]['findAll'](_0x413661);})[_0x0272('0x21')](function(_0x2b858e){_0x4784a9[_0x0272('0x3a')]=_0x2b858e;return _0x4784a9;})[_0x0272('0x21')](respondWithFilteredResult(_0x2553c1,_0x413661))[_0x0272('0x3b')](handleError(_0x2553c1,null));};exports['show']=function(_0x387bff,_0x510291){var _0x42face={'raw':!![],'where':{'id':_0x387bff['params']['id']}},_0x48a2ab={};_0x48a2ab[_0x0272('0x3c')]=_[_0x0272('0x3d')](db[_0x0272('0x28')]['rawAttributes']);_0x48a2ab['query']=_['keys'](_0x387bff[_0x0272('0x2b')]);_0x48a2ab[_0x0272('0x2c')]=_[_0x0272('0x2d')](_0x48a2ab[_0x0272('0x3c')],_0x48a2ab['query']);_0x42face['attributes']=_[_0x0272('0x2d')](_0x48a2ab[_0x0272('0x3c')],qs[_0x0272('0x2e')](_0x387bff['query'][_0x0272('0x2e')]));_0x42face[_0x0272('0x2f')]=_0x42face[_0x0272('0x2f')][_0x0272('0x3e')]?_0x42face['attributes']:_0x48a2ab[_0x0272('0x3c')];if(_0x387bff[_0x0272('0x2b')][_0x0272('0x38')]){_0x42face[_0x0272('0x39')]=[{'all':!![]}];}_0x42face=_[_0x0272('0x36')]({},_0x42face,_0x387bff[_0x0272('0x37')]);return db['JscriptySessionReport'][_0x0272('0x3f')](_0x42face)[_0x0272('0x21')](handleEntityNotFound(_0x510291,null))['then'](respondWithResult(_0x510291,null))[_0x0272('0x3b')](handleError(_0x510291,null));};exports[_0x0272('0x40')]=function(_0x446222,_0x318fca){return db[_0x0272('0x28')]['create'](_0x446222['body'],{})['then'](respondWithResult(_0x318fca,0xc9))[_0x0272('0x3b')](handleError(_0x318fca,null));};exports['update']=function(_0x3a60a7,_0x25fdfc){if(_0x3a60a7['body']['id']){delete _0x3a60a7[_0x0272('0x41')]['id'];}return db[_0x0272('0x28')][_0x0272('0x3f')]({'where':{'id':_0x3a60a7['params']['id']}})['then'](handleEntityNotFound(_0x25fdfc,null))['then'](saveUpdates(_0x3a60a7[_0x0272('0x41')],null))['then'](respondWithResult(_0x25fdfc,null))[_0x0272('0x3b')](handleError(_0x25fdfc,null));};exports[_0x0272('0x42')]=function(_0x6ef460,_0x54a71a){return db[_0x0272('0x28')][_0x0272('0x3f')]({'where':{'id':_0x6ef460[_0x0272('0x43')]['id']}})[_0x0272('0x21')](handleEntityNotFound(_0x54a71a,null))[_0x0272('0x21')](removeEntity(_0x54a71a,null))[_0x0272('0x3b')](handleError(_0x54a71a,null));};exports[_0x0272('0x44')]=function(_0x10425e,_0x16a090){return db['JscriptySessionReport'][_0x0272('0x44')]()['then'](respondWithResult(_0x16a090,null))['catch'](handleError(_0x16a090,null));};exports[_0x0272('0x45')]=function(_0x5a60ca,_0x3e797d,_0x3e5b36){var _0x549704={'raw':!![],'where':{}};var _0x154cce={};var _0x430b08={'count':0x0,'rows':[]};return db[_0x0272('0x28')]['findOne']({'where':{'id':_0x5a60ca[_0x0272('0x43')]['id']}})[_0x0272('0x21')](handleEntityNotFound(_0x3e797d,null))[_0x0272('0x21')](function(_0x54b82b){if(_0x54b82b){_0x154cce[_0x0272('0x3c')]=_[_0x0272('0x3d')](db[_0x0272('0x46')][_0x0272('0x47')]);_0x154cce['query']=_[_0x0272('0x3d')](_0x5a60ca[_0x0272('0x2b')]);_0x154cce[_0x0272('0x2c')]=_[_0x0272('0x2d')](_0x154cce[_0x0272('0x3c')],_0x154cce[_0x0272('0x2b')]);_0x549704[_0x0272('0x2f')]=_['intersection'](_0x154cce[_0x0272('0x3c')],qs[_0x0272('0x2e')](_0x5a60ca[_0x0272('0x2b')][_0x0272('0x2e')]));_0x549704[_0x0272('0x2f')]=_0x549704[_0x0272('0x2f')][_0x0272('0x3e')]?_0x549704[_0x0272('0x2f')]:_0x154cce[_0x0272('0x3c')];if(!_0x5a60ca[_0x0272('0x2b')]['hasOwnProperty']('nolimit')){_0x549704[_0x0272('0x1d')]=qs[_0x0272('0x1d')](_0x5a60ca[_0x0272('0x2b')][_0x0272('0x1d')]);_0x549704[_0x0272('0x1b')]=qs[_0x0272('0x1b')](_0x5a60ca[_0x0272('0x2b')][_0x0272('0x1b')]);}_0x549704[_0x0272('0x48')]=qs[_0x0272('0x32')](_0x5a60ca[_0x0272('0x2b')][_0x0272('0x32')]);_0x549704['where']=qs[_0x0272('0x2c')](_[_0x0272('0x33')](_0x5a60ca['query'],_0x154cce[_0x0272('0x2c')]));_0x549704['where'][_0x0272('0x49')]=_0x54b82b['id'];if(_0x5a60ca['query']['filter']){_0x549704[_0x0272('0x35')]=_[_0x0272('0x36')](_0x549704['where'],{'$or':_[_0x0272('0x27')](_0x549704[_0x0272('0x2f')],function(_0x3e8089){var _0xe54e26={};_0xe54e26[_0x3e8089]={'$like':'%'+_0x5a60ca[_0x0272('0x2b')][_0x0272('0x34')]+'%'};return _0xe54e26;})});}_0x549704=_[_0x0272('0x36')]({},_0x549704,_0x5a60ca[_0x0272('0x37')]);return db[_0x0272('0x46')][_0x0272('0x1e')]({'where':_0x549704['where']})[_0x0272('0x21')](function(_0x136e56){_0x430b08[_0x0272('0x1e')]=_0x136e56;if(_0x5a60ca['query'][_0x0272('0x38')]){_0x549704[_0x0272('0x39')]=[{'all':!![]}];}return db['JscriptyQuestionReport']['findAll'](_0x549704);})['then'](function(_0x3b6d86){_0x430b08[_0x0272('0x3a')]=_0x3b6d86;return _0x430b08;});}})[_0x0272('0x21')](respondWithFilteredResult(_0x3e797d,_0x549704))[_0x0272('0x3b')](handleError(_0x3e797d,null));};