This commit is contained in:
2025-10-04 13:19:43 +08:00
parent 06180ed638
commit 1dabf7f67b
9 changed files with 283 additions and 0 deletions

View File

@@ -123,6 +123,38 @@ type (
}
)
type (
RecentPlayReq {
TimeRangeStart int64 `json:"timeRangeStart"` // Unix timestamp in milliseconds
TimeRangeEnd int64 `json:"timeRangeEnd"` // Unix timestamp in milliseconds
LeastPlayTime int64 `json:"leastPlayTime"` // Least playtime in seconds to filter by
}
RecentPlayResp {
Players []RecentPlayRespPlayer `json:"players"` // List of players who played in the time range
}
RecentPlayRespPlayer {
SteamID64 string `json:"steamID64"` // Player's SteamID64
UserName string `json:"userName"` // Player's username at the time of playing
MapName string `json:"mapName"` // Map name where the player played
PlayTime int64 `json:"playTime"` // Playtime in seconds during the time range
}
)
type (
TopPlayTimeReq {
TimeRangeStart int64 `json:"timeRangeStart"` // Unix timestamp in milliseconds
TimeRangeEnd int64 `json:"timeRangeEnd"` // Unix timestamp in milliseconds
}
TopPlayTimeResp {
Players []TopPlayTimeRespPlayer `json:"players"` // List of top players by playtime
}
TopPlayTimeRespPlayer {
SteamID64 string `json:"steamID64"` // Player's SteamID64
UserName string `json:"userName"` // Player's username at the time of playing
PlayTime int64 `json:"playTime"` // Playtime in seconds during the time range
}
)
@server (
prefix: /api/server/statistics
)
@@ -189,5 +221,26 @@ service ServerStatistics {
)
@handler recentJoinPlayerHandler
post /recent-join-player (RecentJoinPlayerReq) returns (RecentJoinPlayerResp)
@doc (
summary: "Get recent chat messages within a specified time range"
description: "Get recent chat messages within a specified time range"
)
@handler recentChatMessageHandler
post /recent-chat-message (RecentChatMessageReq) returns (RecentChatMessageResp)
@doc (
summary: "Get recent players who played within a specified time range"
description: "Get recent players who played within a specified time range"
)
@handler recentPlayHandler
post /recent-play (RecentPlayReq) returns (RecentPlayResp)
@doc (
summary: "Get top players by playtime within a specified time range"
description: "Get top players by playtime within a specified time range"
)
@handler topPlayTimeHandler
post /top-play-time (TopPlayTimeReq) returns (TopPlayTimeResp)
}