mirror of
https://github.com/documenso/documenso.git
synced 2025-11-09 20:12:31 +10:00
fix: add 0-100 bounds validation for field coordinates
This commit is contained in:
@ -456,10 +456,22 @@ const ZCreateFieldSchema = z.object({
|
||||
recipientId: z.number(),
|
||||
type: z.nativeEnum(FieldType),
|
||||
pageNumber: z.number(),
|
||||
pageX: z.number(),
|
||||
pageY: z.number(),
|
||||
pageWidth: z.number(),
|
||||
pageHeight: z.number(),
|
||||
pageX: z
|
||||
.number()
|
||||
.min(0, 'Must be between 0-100 (percentage of page width)')
|
||||
.max(100, 'Must be between 0-100 (percentage of page width)'),
|
||||
pageY: z
|
||||
.number()
|
||||
.min(0, 'Must be between 0-100 (percentage of page height)')
|
||||
.max(100, 'Must be between 0-100 (percentage of page height)'),
|
||||
pageWidth: z
|
||||
.number()
|
||||
.min(0, 'Must be between 0-100 (percentage of page width)')
|
||||
.max(100, 'Must be between 0-100 (percentage of page width)'),
|
||||
pageHeight: z
|
||||
.number()
|
||||
.min(0, 'Must be between 0-100 (percentage of page height)')
|
||||
.max(100, 'Must be between 0-100 (percentage of page height)'),
|
||||
fieldMeta: ZFieldMetaSchema.openapi({}),
|
||||
});
|
||||
|
||||
|
||||
@ -57,17 +57,27 @@ export const ZFieldPageNumberSchema = z
|
||||
|
||||
export const ZFieldPageXSchema = z
|
||||
.number()
|
||||
.min(0)
|
||||
.min(0, 'Must be between 0-100 (percentage of page width)')
|
||||
.max(100, 'Must be between 0-100 (percentage of page width)')
|
||||
.describe('The X coordinate of where the field will be placed.');
|
||||
|
||||
export const ZFieldPageYSchema = z
|
||||
.number()
|
||||
.min(0)
|
||||
.min(0, 'Must be between 0-100 (percentage of page height)')
|
||||
.max(100, 'Must be between 0-100 (percentage of page height)')
|
||||
.describe('The Y coordinate of where the field will be placed.');
|
||||
|
||||
export const ZFieldWidthSchema = z.number().min(1).describe('The width of the field.');
|
||||
export const ZFieldWidthSchema = z
|
||||
.number()
|
||||
.min(0, 'Must be between 0-100 (percentage of page width)')
|
||||
.max(100, 'Must be between 0-100 (percentage of page width)')
|
||||
.describe('The width of the field.');
|
||||
|
||||
export const ZFieldHeightSchema = z.number().min(1).describe('The height of the field.');
|
||||
export const ZFieldHeightSchema = z
|
||||
.number()
|
||||
.min(0, 'Must be between 0-100 (percentage of page height)')
|
||||
.max(100, 'Must be between 0-100 (percentage of page height)')
|
||||
.describe('The height of the field.');
|
||||
|
||||
// ---------------------------------------------
|
||||
|
||||
|
||||
@ -115,10 +115,10 @@ export const ZSetDocumentFieldsRequestSchema = z.object({
|
||||
recipientId: z.number().min(1),
|
||||
envelopeItemId: z.string(),
|
||||
pageNumber: z.number().min(1),
|
||||
pageX: z.number().min(0),
|
||||
pageY: z.number().min(0),
|
||||
pageWidth: z.number().min(0),
|
||||
pageHeight: z.number().min(0),
|
||||
pageX: z.number().min(0).max(100),
|
||||
pageY: z.number().min(0).max(100),
|
||||
pageWidth: z.number().min(0).max(100),
|
||||
pageHeight: z.number().min(0).max(100),
|
||||
fieldMeta: ZFieldMetaSchema,
|
||||
}),
|
||||
),
|
||||
@ -137,10 +137,10 @@ export const ZSetFieldsForTemplateRequestSchema = z.object({
|
||||
recipientId: z.number().min(1),
|
||||
envelopeItemId: z.string(),
|
||||
pageNumber: z.number().min(1),
|
||||
pageX: z.number().min(0),
|
||||
pageY: z.number().min(0),
|
||||
pageWidth: z.number().min(0),
|
||||
pageHeight: z.number().min(0),
|
||||
pageX: z.number().min(0).max(100),
|
||||
pageY: z.number().min(0).max(100),
|
||||
pageWidth: z.number().min(0).max(100),
|
||||
pageHeight: z.number().min(0).max(100),
|
||||
fieldMeta: ZFieldMetaSchema,
|
||||
}),
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user