From 2257b4b8096cb0c09cb68224760538a987837591 Mon Sep 17 00:00:00 2001 From: wancat Date: Sat, 14 Oct 2023 19:15:07 +0800 Subject: [PATCH] feat: session detail page --- .../analytics/src/controllers/sessions.js | 9 ++- packages/analytics/src/router.js | 6 +- .../analytics/views/sessionDetail.handlebars | 56 +++++++++++++++++++ packages/analytics/views/sessions.handlebars | 2 + 4 files changed, 70 insertions(+), 3 deletions(-) create mode 100644 packages/analytics/views/sessionDetail.handlebars diff --git a/packages/analytics/src/controllers/sessions.js b/packages/analytics/src/controllers/sessions.js index 3da3ef4..47dc3bb 100644 --- a/packages/analytics/src/controllers/sessions.js +++ b/packages/analytics/src/controllers/sessions.js @@ -1,7 +1,12 @@ -import { sessionList } from '../models/sessions.js' +import { sessionList, sessionDetail } from '../models/sessions.js' -// eslint-disable-next-line import/prefer-default-export export async function sessionListController(req, res) { const sessions = await sessionList() res.render('sessions', { sessions }) } + +export async function sessionDetailController(req, res) { + const { id } = req.params + const session = await sessionDetail(id) + res.render('sessionDetail', { session }) +} diff --git a/packages/analytics/src/router.js b/packages/analytics/src/router.js index 8194b55..f5a458b 100644 --- a/packages/analytics/src/router.js +++ b/packages/analytics/src/router.js @@ -3,7 +3,10 @@ import { Router } from 'express' import { homeController } from './controllers/index.js' import { userListController } from './controllers/users.js' import { commandListController } from './controllers/commands.js' -import { sessionListController } from './controllers/sessions.js' +import { + sessionDetailController, + sessionListController, +} from './controllers/sessions.js' const router = Router() @@ -11,5 +14,6 @@ router.get('/', homeController) router.get('/users', userListController) router.get('/commands', commandListController) router.get('/sessions', sessionListController) +router.get('/sessions/:id', sessionDetailController) export default router diff --git a/packages/analytics/views/sessionDetail.handlebars b/packages/analytics/views/sessionDetail.handlebars new file mode 100644 index 0000000..71d8aa6 --- /dev/null +++ b/packages/analytics/views/sessionDetail.handlebars @@ -0,0 +1,56 @@ +

{{title}}

+
+ {{#with session}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Quest{{quest}}
User{{user}}
Status{{status}}
Created At{{createdAt}}
Finished At{{finishedAt}}
Used Time{{usedTime}}
Command Count{{commands.length}}
+ +

Commands

+ + + + + + + + + + {{#each commands}} + + + + + + + + {{/each}} +
CommandPWDOutputErrorCreated At
{{command}}{{pwd}}{{output}}{{error}}{{createdAt}}
+ {{/with}} +
\ No newline at end of file diff --git a/packages/analytics/views/sessions.handlebars b/packages/analytics/views/sessions.handlebars index 2d0c3f3..6fff971 100644 --- a/packages/analytics/views/sessions.handlebars +++ b/packages/analytics/views/sessions.handlebars @@ -4,6 +4,7 @@ User Quest + Status Created At Finished At @@ -14,6 +15,7 @@ {{user}} {{quest}} + Detail {{status}} {{createdAt}} {{finishedAt}}