34 lines
1.1 KiB
TypeScript
34 lines
1.1 KiB
TypeScript
import z from "zod"
|
|
|
|
export const guildSchema = z.object({
|
|
guild: z.object({
|
|
_id: z.string().min(1),
|
|
name: z.string().min(1),
|
|
tag: z.string().optional(),
|
|
tagColor: z.string().optional(),
|
|
exp: z.number().default(0),
|
|
created: z.number(),
|
|
legacyRanking: z.number().optional(),
|
|
members: z.array(z.object({
|
|
uuid: z.string(),
|
|
rank: z.string(),
|
|
joined: z.number(),
|
|
questParticipation: z.number().optional(),
|
|
expHistory: z.record(z.string(), z.number())
|
|
})),
|
|
ranks: z.array(z.object({
|
|
name: z.string(),
|
|
default: z.boolean(),
|
|
tag: z.string().nullish().optional(),
|
|
created: z.number(),
|
|
priority: z.number()
|
|
})).optional(),
|
|
description: z.string().optional(),
|
|
joinable: z.boolean().default(false),
|
|
publiclyListed: z.boolean().default(false),
|
|
preferredGames: z.array(z.string()).optional()
|
|
})
|
|
})
|
|
|
|
export type Guild = z.infer<typeof guildSchema>
|