mirror of
https://github.com/Crosstalk-Solutions/project-nomad.git
synced 2026-03-28 03:29:25 +01:00
O endpoint GET /api/system/settings aceitava qualquer string como chave sem validação, enquanto o endpoint de escrita (PATCH) já validava contra um enum de chaves permitidas. Adiciona getSettingSchema com a mesma validação vine.enum(SETTINGS_KEYS) para o endpoint de leitura, rejeitando chaves fora da lista permitida. Ref #211
11 lines
328 B
TypeScript
11 lines
328 B
TypeScript
import vine from "@vinejs/vine";
|
|
import { SETTINGS_KEYS } from "../../constants/kv_store.js";
|
|
|
|
export const getSettingSchema = vine.compile(vine.object({
|
|
key: vine.enum(SETTINGS_KEYS),
|
|
}))
|
|
|
|
export const updateSettingSchema = vine.compile(vine.object({
|
|
key: vine.enum(SETTINGS_KEYS),
|
|
value: vine.any().optional(),
|
|
})) |