feat(06-02): serialize RRULE UNTIL/COUNT and lock FREQ persistence
- Add assembleRruleString() helper (exported) to outboxWorker.ts (D-06) - Wire UNTIL/COUNT bound assembly into create + update dispatch branches - Add recurrenceUntil (max 10) + recurrenceCount (int min 1) to outboxPayloadSchema - Add recurrenceUntil + recurrenceCount to eventFieldsSchema in events.ts - Series-edit bound change strips existing UNTIL/COUNT via regex before re-apply (Pitfall 3) - All 39 broker tests pass (RED->GREEN); existing CR-01 none-wins test preserved
This commit is contained in:
@@ -106,6 +106,10 @@ const eventFieldsSchema = z.object({
|
||||
description: z.string().max(2000).optional(),
|
||||
recurrence: z.enum(['none', 'daily', 'weekly', 'monthly', 'yearly']).optional(),
|
||||
calendarUrl: z.string().url().max(1024).optional(),
|
||||
// D-06: recurrence bounding (RRULE UNTIL / COUNT)
|
||||
// T-06-02: max(10) bounds 'YYYY-MM-DD'; int().min(1) prevents zero/negative counts
|
||||
recurrenceUntil: z.string().max(10).optional(), // 'YYYY-MM-DD' → RRULE UNTIL
|
||||
recurrenceCount: z.number().int().min(1).optional(), // integer ≥ 1 → RRULE COUNT
|
||||
})
|
||||
|
||||
/** sync-status query params. */
|
||||
|
||||
Reference in New Issue
Block a user