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
+
+
+
+ | Command |
+ PWD |
+ Output |
+ Error |
+ Created At |
+
+ {{#each commands}}
+
+ | {{command}} |
+ {{pwd}} |
+ {{output}} |
+ {{error}} |
+ {{createdAt}} |
+
+ {{/each}}
+
+ {{/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}} |