continued working on session fetch

This commit is contained in:
rngsurrounded
2025-03-02 22:28:57 +09:00
parent 50c808671a
commit 7de03ecf86
12 changed files with 431 additions and 314 deletions
+10 -1
View File
@@ -1,10 +1,19 @@
import { userFetch } from ".";
import { Task } from "../types/task";
import { Task, Solution, TaskAttachment } from "../types/task";
export const getCompetitionTasks = async (competitionId: string) => {
return await userFetch<Task[]>(`/competitions/${competitionId}/tasks`);
};
export const getTaskSolutionHistory = async (competitionId: string, taskId: string) => {
return await userFetch<Solution[]>(`/competitions/${competitionId}/tasks/${taskId}/history`);
};
export const getTaskAttachments = async (competitionId: string, taskId: string) => {
return await userFetch<TaskAttachment[]>(`/competitions/${competitionId}/tasks/${taskId}/attachments`);
};
export const submitTaskSolution = async (
competitionId: string,
taskId: string,
+23 -1
View File
@@ -1,4 +1,4 @@
export interface Task {
interface Task {
id: string;
title: string;
description: string;
@@ -7,8 +7,30 @@ export interface Task {
points: number;
}
export interface TaskAttachment {
id: string;
file: string;
public: boolean;
}
enum TaskType {
INPUT = "input",
FILE = "file",
CODE = "code",
}
enum SolutionStatus {
SENT = "sent",
CHECKING = "checking",
CHECKED = "checked",
}
interface Solution {
id: string,
status: SolutionStatus,
timestamp: string,
earned_points: number
}
export type {Task, Solution}
export {TaskType, SolutionStatus}