@@ -13,7 +13,6 @@ var exec = require('child_process').exec;
13
13
var async = require ( 'async' ) ;
14
14
var _ = require ( 'underscore' ) ;
15
15
var moment = require ( 'moment' ) ;
16
- var momentDurationFormatSetup = require ( "moment-duration-format" ) ;
17
16
var git = require ( 'git-rev' ) ;
18
17
var useragent = require ( 'useragent' ) ;
19
18
@@ -40,6 +39,7 @@ var loadPassport = require('../libs/passportLoader').loadPassport;
40
39
var strategyInstances = require ( '../libs/passportLoader' ) . strategyInstances ;
41
40
var statusCodePage = require ( '../libs/templateHelpers' ) . statusCodePage ;
42
41
var updateSessions = require ( '../libs/modifySessions' ) . update ;
42
+ var listDataSessions = require ( '../libs/modifySessions' ) . listData ;
43
43
var pageMetadata = require ( '../libs/templateHelpers' ) . pageMetadata ;
44
44
45
45
//--- Configuration inclusions
@@ -48,9 +48,6 @@ var userRoles = require('../models/userRoles.json');
48
48
var strategies = require ( './strategies.json' ) ;
49
49
50
50
51
- // Initializations
52
- momentDurationFormatSetup ( moment ) ;
53
-
54
51
//---
55
52
56
53
// This controller is only for use by users with a role of admin or above
@@ -400,107 +397,32 @@ exports.adminSessionActiveView = function (aReq, aRes, aNext) {
400
397
401
398
tasks . push ( function ( aCallback ) {
402
399
403
- sessionColl . find ( {
404
- } , function ( aErr , aUserSessions ) {
400
+ listDataSessions ( store , options , function ( aErr ) {
405
401
if ( aErr ) {
406
402
statusCodePage ( aReq , aRes , aNext , {
407
- statusCode : 520 ,
408
- statusMessage : 'Unknown error with `sessionColl.find`.'
409
- } ) ;
410
- return ;
411
- }
412
-
413
- if ( ! aUserSessions ) {
414
- statusCodePage ( aReq , aRes , aNext , {
415
- statusCode : 200 ,
416
- statusMessage : 'No sessions'
403
+ statusCode : 500 ,
404
+ statusMessage : aErr
417
405
} ) ;
418
406
return ;
419
407
}
420
408
421
- aUserSessions . toArray ( function ( aErr , aSessionsData ) {
422
- options . sessionList = [ ] ;
423
-
424
- if ( aErr ) {
425
- // We want to know what the error value is in logging review
426
- console . error ( 'Unknown error with `toArray`.\n' + aErr ) ;
409
+ options . sessionList = _ . map ( options . sessionList , function ( aSession ) {
410
+ var session = modelParser . parseSession ( aSession ) ;
427
411
428
- statusCodePage ( aReq , aRes , aNext , {
429
- statusCode : 520 ,
430
- statusMessage : 'Unknown error with `toArray`.'
431
- } ) ;
432
- return ;
433
- }
434
-
435
- aSessionsData . forEach ( function ( aElement , aIndex ) {
436
- var data = JSON . parse ( aElement . session ) ;
437
-
438
- var user = null ;
439
- var username = null ;
440
- var cookie = null ;
441
- var oujsOptions = { } ;
442
-
443
- var obj = null ;
444
-
445
- if ( data ) {
446
- user = data . user || { } ;
447
- username = user . name || data . username ;
448
- cookie = data . cookie || { } ;
449
-
450
- if ( data . passport && data . passport . oujsOptions ) {
451
- oujsOptions = data . passport . oujsOptions ;
452
- }
453
-
454
- obj = {
455
- _id : aElement . _id ,
456
- name : username ,
457
- role : userRoles [ user . role ] ,
458
- strategy : oujsOptions . strategy ,
459
- canDestroyOne : true , // TODO: Perhaps do some further conditionals
460
- remoteAddress : (
461
- username === authedUser . name && ! oujsOptions . authFrom
462
- ? oujsOptions . remoteAddress
463
- : oujsOptions . authFrom
464
- ? oujsOptions . authFrom
465
- : null
466
- ) ,
467
- ua : {
468
- raw : oujsOptions . userAgent ,
469
- class : 'fa-lg ua-' + useragent . parse ( oujsOptions . userAgent )
470
- . family . toLowerCase ( ) . replace ( / \s + / g, '-' )
471
- } ,
472
- userPageUrl : user . userPageUrl ,
473
- cookie : {
474
- since : oujsOptions . since ? new Date ( oujsOptions . since ) : oujsOptions . since ,
475
- expires : ( cookie . expires ? new Date ( cookie . expires ) : false ) ,
476
- originalMaxAge : ( cookie . originalMaxAge
477
- ? moment . duration ( cookie . originalMaxAge , "milliseconds" )
478
- . format ( 'YYYY[y]DDD[d]H[h]m[m]' , { trim : 'both' } )
479
- : false ) ,
480
- secure : cookie . secure ,
481
- httpOnly : cookie . httpOnly ,
482
- sameSite : cookie . sameSite ,
483
- sameSiteStrict : cookie . sameSite === 'strict' ,
484
- sameSiteLax : cookie . sameSite === 'lax' ,
485
- }
486
- } ;
487
-
488
- modelParser . parseDateProperty ( obj . cookie , 'expires' ) ;
489
- modelParser . parseDateProperty ( obj . cookie , 'since' ) ;
490
-
491
- options . sessionList . push ( obj ) ;
492
- }
493
- } ) ;
412
+ var oujsOptions = session . passport . oujsOptions ;
494
413
495
- // Sort the sessions for now
496
- options . sessionList = _ . sortBy ( options . sessionList , function ( aSession ) {
497
- return ( aSession . name ) ? aSession . name . toLowerCase ( ) : aSession . name ;
498
- } ) ;
414
+ session . canDestroyOne = true ; // TODO: Perhaps do some further conditionals
499
415
500
- aCallback ( ) ;
416
+ oujsOptions . remoteAddressMask = session . name === authedUser . name && ! oujsOptions . authFrom
417
+ ? oujsOptions . remoteAddressMask
418
+ : oujsOptions . authFrom
419
+ ? oujsOptions . authFrom
420
+ : null ;
421
+ return session ;
501
422
} ) ;
502
- } ) ;
503
423
424
+ aCallback ( ) ;
425
+ } ) ;
504
426
} ) ;
505
427
506
428
//---
0 commit comments