fix: add 0-100 bounds validation for field coordinates

This commit is contained in:
Ephraim Atta-Duncan
2025-10-24 12:11:11 +00:00
parent 47bdcd833f
commit 3ba2dd0613
3 changed files with 38 additions and 16 deletions
+16 -4
View File
@@ -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({}),
}); });
+14 -4
View File
@@ -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.');
// --------------------------------------------- // ---------------------------------------------
+8 -8
View File
@@ -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,
}), }),
), ),