Files

46 lines
920 B
TypeScript

export interface Sub2ApiUser {
id: number;
email: string;
username: string;
role: string;
status: string;
balance: number;
last_active_at?: string | null;
}
export interface RankingSourceRow {
user_id: number;
email: string;
actual_cost: number;
requests: number;
tokens: number;
}
export interface PublicRankingRow {
rank: number;
displayName: string;
actualCost: number;
requests: number;
tokens: number;
}
export interface PublicDrawRecord {
id: string;
drawnAt: string;
eligibleCount: number;
winnerDisplayName: string;
prizeAmountUsd: number;
creditStatus: DrawRecord["creditStatus"];
}
export interface DrawRecord {
id: string;
drawnAt: string;
eligibleCount: number;
winnerUserId: number;
winnerDisplayName: string;
prizeAmountUsd: number;
creditStatus: "disabled" | "dry_run" | "pending" | "succeeded" | "failed";
creditMessage: string | null;
}