From c796c836261375b51cb01c8d32bcc444b6236528 Mon Sep 17 00:00:00 2001 From: Paul Pan Date: Fri, 22 Dec 2023 23:34:41 +0800 Subject: [PATCH] feat: sync with latest api --- src/api/base.ts | 11 ++++++++--- src/api/status.ts | 29 +++++++++++++++++++---------- src/api/submission.ts | 3 ++- 3 files changed, 29 insertions(+), 14 deletions(-) diff --git a/src/api/base.ts b/src/api/base.ts index ec786c2..437ad4b 100644 --- a/src/api/base.ts +++ b/src/api/base.ts @@ -11,11 +11,16 @@ export interface ResponseWrap { body: T; } +export interface WithCount { + count: number; + data: T[]; +} + export interface Meta { ID: number; - CreatedAt: number; - UpdatedAt: number; - DeletedAt: number; + CreatedAt: Date; + UpdatedAt: Date; + DeletedAt: Date; } export async function send( diff --git a/src/api/status.ts b/src/api/status.ts index df05228..373eeb4 100644 --- a/src/api/status.ts +++ b/src/api/status.ts @@ -1,4 +1,4 @@ -import { Meta, send } from "./base.ts"; +import { Meta, send, WithCount } from "./base.ts"; import { SubmissionInfo } from "./submission.ts"; export enum Verdict { @@ -37,6 +37,11 @@ export interface StatusInfo { is_enabled: boolean; } +export interface SubmissionWithPoint { + submission: SubmissionInfo; + point: number; +} + export interface QueryReq { pid?: number; uid?: number; @@ -44,11 +49,6 @@ export interface QueryReq { limit: number; } -export interface QueryResp { - submission: SubmissionInfo; - point: number; -} - export interface QueryBySubmissionReq { sid: number; } @@ -59,21 +59,30 @@ export interface QueryByVersionReq { limit: number; } +export interface QueryByVersionResp { + count: number; + status: StatusInfo[]; +} + export class StatusApi { - static async Query(data: QueryReq): Promise { - return send("/status/query", data); + static async Query( + data: QueryReq, + token: string, + ): Promise> { + return send("/status/query", data, token); } static async QueryBySubmission( data: QueryBySubmissionReq, + token: string, ): Promise { - return send("/status/query/submission", data); + return send("/status/query/submission", data, token); } static async QueryByVersion( data: QueryByVersionReq, token: string, - ): Promise { + ): Promise> { return send("/status/query/version", data, token); } } diff --git a/src/api/submission.ts b/src/api/submission.ts index 8e2b350..839fd8d 100644 --- a/src/api/submission.ts +++ b/src/api/submission.ts @@ -1,9 +1,10 @@ import { Meta, send } from "./base.ts"; import { UserProfile } from "./user.ts"; +import { ProblemInfo } from "./problem.ts"; export interface SubmissionInfo { meta: Meta; - problem_id: number; + problem: ProblemInfo; user: UserProfile; language: string; code: string;