fix(server): validate permission and question ids (#26456)

This commit is contained in:
Kit Langton
2026-05-09 00:20:28 -04:00
committed by GitHub
parent 8cbc43fbb0
commit dc978cb889
3 changed files with 32 additions and 3 deletions

View File

@@ -6,7 +6,7 @@ import { Newtype } from "@/util/schema"
export class PermissionID extends Newtype<PermissionID>()(
"PermissionID",
Schema.String.annotate({ [ZodOverride]: Identifier.schema("permission") }),
Schema.String.check(Schema.isStartsWith("per")).annotate({ [ZodOverride]: Identifier.schema("permission") }),
) {
static ascending(id?: string): PermissionID {
return this.make(Identifier.ascending("permission", id))

View File

@@ -6,7 +6,7 @@ import { Newtype } from "@/util/schema"
export class QuestionID extends Newtype<QuestionID>()(
"QuestionID",
Schema.String.annotate({ [ZodOverride]: Identifier.schema("question") }),
Schema.String.check(Schema.isStartsWith("que")).annotate({ [ZodOverride]: Identifier.schema("question") }),
) {
static ascending(id?: string): QuestionID {
return this.make(Identifier.ascending("question", id))