From 96f55dba15bcbba4e6d8f14035ecfd20ebcea8a8 Mon Sep 17 00:00:00 2001 From: Arda Serdar Pektezol <1669855+pektezol@users.noreply.github.com> Date: Mon, 27 Oct 2025 22:12:31 +0300 Subject: feat/backend: timeline stats endpoint --- backend/docs/docs.go | 148 ++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 105 insertions(+), 43 deletions(-) (limited to 'backend/docs/docs.go') diff --git a/backend/docs/docs.go b/backend/docs/docs.go index 44d53e1..7ce9a8b 100644 --- a/backend/docs/docs.go +++ b/backend/docs/docs.go @@ -250,37 +250,6 @@ const docTemplate = `{ } } }, - "/logs/score": { - "get": { - "description": "Get score logs of every player.", - "produces": [ - "application/json" - ], - "tags": [ - "logs" - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "allOf": [ - { - "$ref": "#/definitions/models.Response" - }, - { - "type": "object", - "properties": { - "data": { - "$ref": "#/definitions/handlers.ScoreLogsResponse" - } - } - } - ] - } - } - } - } - }, "/maps/{mapid}/discussions": { "get": { "description": "Get map discussions with specified map id.", @@ -1220,6 +1189,68 @@ const docTemplate = `{ } } }, + "/stats/scores": { + "get": { + "description": "Get score logs of every player.", + "produces": [ + "application/json" + ], + "tags": [ + "stats" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/models.Response" + }, + { + "type": "object", + "properties": { + "data": { + "$ref": "#/definitions/handlers.ScoresResponse" + } + } + } + ] + } + } + } + } + }, + "/stats/timeline": { + "get": { + "description": "Get the history of portal count world records over time.", + "produces": [ + "application/json" + ], + "tags": [ + "stats" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "allOf": [ + { + "$ref": "#/definitions/models.Response" + }, + { + "type": "object", + "properties": { + "data": { + "$ref": "#/definitions/handlers.TimelineResponse" + } + } + } + ] + } + } + } + } + }, "/token": { "get": { "description": "Gets the token cookie value from the user.", @@ -1774,18 +1805,7 @@ const docTemplate = `{ } } }, - "handlers.ScoreLogsResponse": { - "type": "object", - "properties": { - "scores": { - "type": "array", - "items": { - "$ref": "#/definitions/handlers.ScoreLogsResponseDetails" - } - } - } - }, - "handlers.ScoreLogsResponseDetails": { + "handlers.ScoresDetails": { "type": "object", "properties": { "date": { @@ -1811,6 +1831,17 @@ const docTemplate = `{ } } }, + "handlers.ScoresResponse": { + "type": "object", + "properties": { + "scores": { + "type": "array", + "items": { + "$ref": "#/definitions/handlers.ScoresDetails" + } + } + } + }, "handlers.SearchResponse": { "type": "object", "properties": { @@ -1860,6 +1891,34 @@ const docTemplate = `{ } } }, + "handlers.TimelinePoint": { + "type": "object", + "properties": { + "count": { + "type": "integer" + }, + "date": { + "type": "string" + } + } + }, + "handlers.TimelineResponse": { + "type": "object", + "properties": { + "timeline_multiplayer": { + "type": "array", + "items": { + "$ref": "#/definitions/handlers.TimelinePoint" + } + }, + "timeline_singleplayer": { + "type": "array", + "items": { + "$ref": "#/definitions/handlers.TimelinePoint" + } + } + } + }, "models.Category": { "type": "object", "properties": { @@ -1945,6 +2004,9 @@ const docTemplate = `{ "chapter_name": { "type": "string" }, + "difficulty": { + "type": "integer" + }, "game_name": { "type": "string" }, -- cgit v1.2.3