mirror of
https://github.com/documenso/documenso.git
synced 2026-07-25 01:15:49 +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(),
|
recipientId: z.number(),
|
||||||
type: z.nativeEnum(FieldType),
|
type: z.nativeEnum(FieldType),
|
||||||
pageNumber: z.number(),
|
pageNumber: z.number(),
|
||||||
pageX: z.number(),
|
pageX: z
|
||||||
pageY: z.number(),
|
.number()
|
||||||
pageWidth: z.number(),
|
.min(0, 'Must be between 0-100 (percentage of page width)')
|
||||||
pageHeight: z.number(),
|
.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({}),
|
fieldMeta: ZFieldMetaSchema.openapi({}),
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -57,17 +57,27 @@ export const ZFieldPageNumberSchema = z
|
|||||||
|
|
||||||
export const ZFieldPageXSchema = z
|
export const ZFieldPageXSchema = z
|
||||||
.number()
|
.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.');
|
.describe('The X coordinate of where the field will be placed.');
|
||||||
|
|
||||||
export const ZFieldPageYSchema = z
|
export const ZFieldPageYSchema = z
|
||||||
.number()
|
.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.');
|
.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),
|
recipientId: z.number().min(1),
|
||||||
envelopeItemId: z.string(),
|
envelopeItemId: z.string(),
|
||||||
pageNumber: z.number().min(1),
|
pageNumber: z.number().min(1),
|
||||||
pageX: z.number().min(0),
|
pageX: z.number().min(0).max(100),
|
||||||
pageY: z.number().min(0),
|
pageY: z.number().min(0).max(100),
|
||||||
pageWidth: z.number().min(0),
|
pageWidth: z.number().min(0).max(100),
|
||||||
pageHeight: z.number().min(0),
|
pageHeight: z.number().min(0).max(100),
|
||||||
fieldMeta: ZFieldMetaSchema,
|
fieldMeta: ZFieldMetaSchema,
|
||||||
}),
|
}),
|
||||||
),
|
),
|
||||||
@@ -137,10 +137,10 @@ export const ZSetFieldsForTemplateRequestSchema = z.object({
|
|||||||
recipientId: z.number().min(1),
|
recipientId: z.number().min(1),
|
||||||
envelopeItemId: z.string(),
|
envelopeItemId: z.string(),
|
||||||
pageNumber: z.number().min(1),
|
pageNumber: z.number().min(1),
|
||||||
pageX: z.number().min(0),
|
pageX: z.number().min(0).max(100),
|
||||||
pageY: z.number().min(0),
|
pageY: z.number().min(0).max(100),
|
||||||
pageWidth: z.number().min(0),
|
pageWidth: z.number().min(0).max(100),
|
||||||
pageHeight: z.number().min(0),
|
pageHeight: z.number().min(0).max(100),
|
||||||
fieldMeta: ZFieldMetaSchema,
|
fieldMeta: ZFieldMetaSchema,
|
||||||
}),
|
}),
|
||||||
),
|
),
|
||||||
|
|||||||
Reference in New Issue
Block a user