22 lines
543 B
TypeScript
22 lines
543 B
TypeScript
import { z } from 'zod';
|
|
|
|
export const ActivityTypeSchema = z.union([
|
|
z.literal('sent'),
|
|
z.literal('skipped'),
|
|
z.literal('response'),
|
|
z.literal('error'),
|
|
z.literal('info'),
|
|
z.literal('debug'),
|
|
]);
|
|
|
|
export const ActivityItemSchema = z.strictObject({
|
|
timestamp: z.number(),
|
|
type: ActivityTypeSchema,
|
|
message: z.string(),
|
|
recipient: z.string().optional(),
|
|
imageUrl: z.string().optional(),
|
|
});
|
|
|
|
export const ActivityResponseSchema = z.array(ActivityItemSchema);
|
|
export type ActivityItem = z.infer<typeof ActivityItemSchema>;
|