Files
MemeStudio/types/index.ts
2026-04-05 20:19:08 +08:00

66 lines
1.1 KiB
TypeScript

export interface Level {
id: string
imageUrl: string
answer: string
hint1: string | null
hint2: string | null
hint3: string | null
sortOrder: number
createdAt: Date
updatedAt: Date
}
export interface LevelFormData {
imageUrl: string
answer: string
hint1?: string
hint2?: string
hint3?: string
}
export interface ReorderRequest {
orders: { id: string; sortOrder: number }[]
}
export interface User {
id: string
email: string
emailVerified: boolean
name: string | null
image: string | null
createdAt: Date
updatedAt: Date
}
export interface UserFormData {
email: string
password: string
name?: string
}
export interface WxUser {
id: string
openid: string
sessionKey: string | null
nickname: string | null
avatarUrl: string | null
points: number
createdAt: Date
updatedAt: Date
}
export interface WxUserLevelProgress {
id: string
userId: string
levelId: string
completedAt: Date
level?: {
id: string
answer: string
}
}
export interface WxUserWithProgress extends WxUser {
levelProgress: WxUserLevelProgress[]
}