fix(rust): a bad title mode reaches the form as a sentence
The router's own isIn check answered a mode it did not know with express-validator's "Invalid value" before titles.validateSettings could say which words are allowed. Found on the walk; the router now checks shape only, as every other phase-17 route does. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
This commit is contained in:
@@ -159,8 +159,10 @@ adminRustRouter.put(
|
||||
/* #swagger.responses[404] = { description: 'No such server' } */
|
||||
requireRole('admin'),
|
||||
param('id').isString().isLength({ min: 1, max: 64 }),
|
||||
body('mode').optional().isIn(['first', 'all', 'upto']),
|
||||
body('rules').isArray({ max: 10 }).withMessage('rules is a list of at most ten'),
|
||||
// Shape only. The words, the bounds and the per-rule sentences are
|
||||
// `titles.validateSettings`'s, in the controller, so a bad mode reaches the
|
||||
// form as a sentence rather than as "Invalid value".
|
||||
body('rules').isArray().withMessage('rules is a list'),
|
||||
validate,
|
||||
admin.putTitles,
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user