Introduces zod-based validation schemas for Minecraft and Mojang API endpoints. Refactors texture route to support hash-based file serving and removes the old static texture route. Updates database schema for player properties and adds an event to clean expired certificates. Improves ValidationError formatting, adjusts skin/cape URL construction, and adds SSRF protection for skin uploads.
18 lines
591 B
JavaScript
18 lines
591 B
JavaScript
const z = require("zod")
|
|
|
|
module.exports = {
|
|
POST: {
|
|
headers: z.object({
|
|
"content-type": z.string()
|
|
.regex(/application\/json/i, { message: "Content-Type must be application/json" })
|
|
}),
|
|
body: z.array(z.string().trim().min(1))
|
|
.min(1, { message: "RequestPayload is an empty array." })
|
|
.max(10, { message: "RequestPayload has more than 10 elements." }),
|
|
error: {
|
|
code: 400,
|
|
error: "CONSTRAINT_VIOLATION",
|
|
errorMessage: "size must be between 1 and 10"
|
|
}
|
|
}
|
|
} |