Add recent outreach rejections stream

This commit is contained in:
jjbrunton committed 2026-08-14 15:45:57 +01:00
1 parent 0c21202253
commit 94049ed9c4
9 files changed
+170 -16

No files matched your search

+14
View File
@@ -64,6 +64,18 @@ export const OutreachCandidateSchema = z.strictObject({
owner: RedditAccountOwnerSchema.nullable(),
});
export const OutreachRejectedCandidateSchema = z.strictObject({
postId: z.string(),
subreddit: z.string(),
author: z.string(),
title: z.string(),
postUrl: z.string(),
sourceType: z.enum(['image', 'chat']),
sourceContent: z.string().nullable(),
rejectedAt: z.number(),
reason: z.string(),
});
export const OutreachFunnelResponseSchema = z.strictObject({
generatedAt: z.number(),
activeCount: z.number().int().nonnegative(),
@@ -76,6 +88,7 @@ export const OutreachFunnelResponseSchema = z.strictObject({
reason: z.string(),
count: z.number().int().positive(),
})).default([]),
recentRejections: z.array(OutreachRejectedCandidateSchema).max(50).default([]),
oldestActiveAt: z.number().nullable(),
candidates: z.array(OutreachCandidateSchema),
});
@@ -109,6 +122,7 @@ export const OutreachCandidateDeleteResponseSchema = z.strictObject({
export type OutreachCandidateStatus = z.infer<typeof OutreachCandidateStatusSchema>;
export type OutreachCandidate = z.infer<typeof OutreachCandidateSchema>;
export type OutreachRejectedCandidate = z.infer<typeof OutreachRejectedCandidateSchema>;
export type OutreachFunnelResponse = z.infer<typeof OutreachFunnelResponseSchema>;
export type OutreachClearResponse = z.infer<typeof OutreachClearResponseSchema>;
export type OutreachMessageUpdateRequest = z.infer<typeof OutreachMessageUpdateRequestSchema>;