21 lines
613 B
TypeScript
21 lines
613 B
TypeScript
|
|
import { z } from 'zod';
|
||
|
|
|
||
|
|
export const listNotificationsSchema = z.object({
|
||
|
|
page: z.coerce.number().int().positive().default(1),
|
||
|
|
limit: z.coerce.number().int().positive().max(100).default(20),
|
||
|
|
unreadOnly: z.coerce.boolean().optional().default(false),
|
||
|
|
});
|
||
|
|
|
||
|
|
export const updatePreferencesSchema = z.object({
|
||
|
|
preferences: z.array(
|
||
|
|
z.object({
|
||
|
|
notificationType: z.string(),
|
||
|
|
inApp: z.boolean(),
|
||
|
|
email: z.boolean(),
|
||
|
|
}),
|
||
|
|
),
|
||
|
|
});
|
||
|
|
|
||
|
|
export type ListNotificationsInput = z.infer<typeof listNotificationsSchema>;
|
||
|
|
export type UpdatePreferencesInput = z.infer<typeof updatePreferencesSchema>;
|