Skip to content

Commit 360e83a

Browse files
Event envelope allows wider subject resource id
1 parent 70d5f02 commit 360e83a

2 files changed

Lines changed: 25 additions & 2 deletions

File tree

internal/events/src/events/__tests__/event-envelope.test.ts

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -364,5 +364,27 @@ describe("EventEnvelope schema validation", () => {
364364
const result = $EnvelopeNoPrefix.safeParse(envelope);
365365
expect(result.success).toBe(false);
366366
});
367+
368+
it("should accept subject with non uuid resource id", () => {
369+
const envelope = {
370+
...baseLetterEnvelope,
371+
subject: "letter-origin/letter-rendering/letter/Some_Letter_12345",
372+
};
373+
374+
const result = $EnvelopeWithPrefix.safeParse(envelope);
375+
expect(result.error).toBeUndefined();
376+
expect(result.success).toBe(true);
377+
});
378+
379+
it("should accept subject with multi sub path resource id", () => {
380+
const envelope = {
381+
...baseLetterEnvelope,
382+
subject: "letter-origin/letter-rendering/letter/a/B/c/123",
383+
};
384+
385+
const result = $EnvelopeWithPrefix.safeParse(envelope);
386+
expect(result.error).toBeUndefined();
387+
expect(result.success).toBe(true);
388+
});
367389
});
368390
});

internal/events/src/events/event-envelope.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,8 +90,9 @@ export function EventEnvelope<TData extends z.ZodTypeAny>(
9090

9191
subject: z
9292
.string()
93-
94-
.regex(new RegExp(`^${subjectPrefixRegex}${resourceName}/[a-z0-9-]+$`))
93+
.regex(
94+
new RegExp(`^${subjectPrefixRegex}${resourceName}/[^/]+(?:/.*)?$`),
95+
)
9596
.meta({
9697
title: "Event Subject",
9798
description:

0 commit comments

Comments
 (0)