24 lines
649 B
TypeScript
24 lines
649 B
TypeScript
import { z } from 'zod';
|
|
|
|
export const ModRequestSchema = z.object({
|
|
// Basic Info
|
|
mod_title: z.string().min(1),
|
|
description: z.string().min(1),
|
|
mod_link: z.string().min(1),
|
|
|
|
// Consolidated Testing
|
|
confirmed_tested: z.boolean().refine(val => val === true, {
|
|
message: "You must confirm that you have tested this mod before submitting"
|
|
}),
|
|
|
|
// Vetting
|
|
reason: z.string().min(1),
|
|
|
|
// Compatibility & Technical
|
|
detrimental_effects: z.string().min(1),
|
|
keybind_conflicts: z.string(),
|
|
|
|
special_considerations: z.string().optional()
|
|
});
|
|
|
|
export type ModRequest = z.infer<typeof ModRequestSchema>; |