From f556181e745e0cc414ec4c9c0e8a2e6cb8cb0277 Mon Sep 17 00:00:00 2001 From: Kevin Chung Date: Sat, 19 Jul 2025 04:45:12 -0400 Subject: [PATCH] Add CTFd.pages.users.userSubmissions to query a user's own submissions --- main.js | 3 ++- pages/users.js | 11 +++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/main.js b/main.js index 9b15a39..a6eda64 100644 --- a/main.js +++ b/main.js @@ -14,7 +14,7 @@ import { } from "./pages/challenge"; import { getScoreboard, getScoreboardDetail, getBrackets } from "./pages/scoreboard"; import { updateSettings, generateToken, deleteToken } from "./pages/settings"; -import { userSolves, userFails, userAwards } from "./pages/users"; +import { userSolves, userFails, userAwards, userSubmissions } from "./pages/users"; import { getInviteToken, disbandTeam, @@ -147,6 +147,7 @@ const pages = { userSolves, userFails, userAwards, + userSubmissions, }, teams: { getInviteToken, diff --git a/pages/users.js b/pages/users.js index 73812bc..2eaa421 100644 --- a/pages/users.js +++ b/pages/users.js @@ -11,6 +11,17 @@ export async function getUsers(page = 1, query = {}) { return users; } +export async function userSubmissions(userId = "me", challengeId) { + const response = await CTFd.fetch( + `/api/v1/users/${userId}/submissions?challenge_id=${challengeId}`, + { + method: "GET", + } + ); + + return await response.json(); // body +} + export async function userSolves(userId) { const response = await CTFd.fetch(`/api/v1/users/${userId}/solves`, { method: "GET",