From 994618f71c336d5ebfb8e6211eba61e23c14c839 Mon Sep 17 00:00:00 2001 From: Justin Lin Date: Fri, 9 Oct 2026 23:51:09 +1100 Subject: [PATCH] feat: display session locale --- services/analytics/src/interface.ts | 13 ++++--------- services/analytics/src/models/sessions.ts | 17 ++++++++++++++++- services/analytics/views/sessions.handlebars | 4 +++- 3 files changed, 23 insertions(+), 11 deletions(-) diff --git a/services/analytics/src/interface.ts b/services/analytics/src/interface.ts index 94ed03b..36421c4 100644 --- a/services/analytics/src/interface.ts +++ b/services/analytics/src/interface.ts @@ -8,8 +8,10 @@ export interface SessionDocument { user: User quest: string status: string + locale: string createdAt: Date finishedAt: Date + lastActivityAt: Date } export interface CommandObject { command: string @@ -23,22 +25,15 @@ export interface SessionObject { _id: Types.ObjectId user: string quest: string + locale: string status: string createdAt: string finishedAt: string lastActivityAt: string usedTime: string commandCount: number - commands: CommandObject[] } -export interface SessionDetail { - _id: Types.ObjectId - user: string - quest: string - status: string - createdAt: string - finishedAt: string - usedTime: string +export interface SessionDetail extends SessionObject { commands: CommandObject[] } export interface IUser extends Document { diff --git a/services/analytics/src/models/sessions.ts b/services/analytics/src/models/sessions.ts index 19928d7..8e2c114 100644 --- a/services/analytics/src/models/sessions.ts +++ b/services/analytics/src/models/sessions.ts @@ -45,6 +45,7 @@ export async function sessionList( _id, user, quest, + locale, status, createdAt, finishedAt, @@ -55,6 +56,7 @@ export async function sessionList( _id, user: user.username, // Assuming `user` is always populated. quest, + locale: locale ?? 'zh-TW', status, createdAt: createdAt?.toLocaleString(), finishedAt: finishedAt?.toLocaleString(), @@ -83,14 +85,27 @@ export async function sessionDetail(id: string): Promise { createdAt: createdAt?.toLocaleString(), }) ) - const { _id, user, quest, status, createdAt, finishedAt } = session + const { + _id, + user, + quest, + locale, + status, + createdAt, + finishedAt, + lastActivityAt, + } = session + console.log('session: ', session) return { _id, user: user.username, quest, + locale: locale ?? 'zh-TW', status, createdAt: createdAt?.toLocaleString(), finishedAt: finishedAt?.toLocaleString(), + lastActivityAt: lastActivityAt?.toLocaleDateString(), + commandCount: commands.length, usedTime: finishedAt ? formatTime(finishedAt.getTime() - createdAt.getTime()) : '', diff --git a/services/analytics/views/sessions.handlebars b/services/analytics/views/sessions.handlebars index 765ce13..21c2223 100644 --- a/services/analytics/views/sessions.handlebars +++ b/services/analytics/views/sessions.handlebars @@ -12,6 +12,7 @@ User Quest + Locale Status Created At Finished At @@ -23,6 +24,7 @@ {{user}} {{quest}} + {{locale}} {{status}} {{createdAt}} {{finishedAt}} @@ -37,4 +39,4 @@

Next

- \ No newline at end of file +