Introduces a Zod schema for the Minecraft session join endpoint, validating accessToken, selectedProfile, and serverId. Updates ValidationError to support serialization via YggdrasilError and SessionError for improved error formatting.
22 lines
780 B
JavaScript
22 lines
780 B
JavaScript
const z = require("zod")
|
|
|
|
module.exports = {
|
|
POST: {
|
|
body: z.object({
|
|
accessToken: z.string()
|
|
.min(1, { message: "Access Token is required." }),
|
|
selectedProfile: z.string()
|
|
.length(32, { message: "Selected Profile must be a valid UUID without dashes." })
|
|
.regex(/^[0-9a-fA-F]+$/, { message: "Selected Profile must be hexadecimal." }),
|
|
serverId: z.string()
|
|
.min(1, { message: "Server ID is required." })
|
|
.max(42, { message: "Server ID is too long." })
|
|
}),
|
|
error: {
|
|
code: 400,
|
|
message: "Missing or invalid parameters.",
|
|
errorFormat: "SessionError",
|
|
errorName: "Forbidden"
|
|
}
|
|
}
|
|
} |