2024-12-24 14:43:23 +00:00
|
|
|
import {z} from "zod";
|
|
|
|
|
|
|
|
const commentsConfigSchema = z.object({
|
|
|
|
mail: z.object({
|
|
|
|
imap: z.object({
|
|
|
|
host: z.string(),
|
|
|
|
port: z.number({ coerce: true }),
|
|
|
|
auth: z.object({
|
|
|
|
user: z.string(),
|
|
|
|
pass: z.string(),
|
|
|
|
}),
|
|
|
|
}),
|
|
|
|
threads: z.object({
|
|
|
|
type: z.string(), // fixme : in validation
|
|
|
|
template: z.string(),
|
2024-12-31 02:36:12 +00:00
|
|
|
idPrefix: z.string(),
|
2024-12-24 14:43:23 +00:00
|
|
|
}),
|
|
|
|
}),
|
|
|
|
})
|
|
|
|
|
|
|
|
export type CommentsConfig = z.infer<typeof commentsConfigSchema>
|
|
|
|
export const castCommentsConfig = (what: unknown): CommentsConfig => {
|
|
|
|
return commentsConfigSchema.parse(what)
|
|
|
|
}
|
2024-12-31 02:36:12 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
export type Message = {
|
|
|
|
id: string,
|
|
|
|
date: Date,
|
|
|
|
recipients: string[],
|
|
|
|
from: {
|
|
|
|
name?: string,
|
|
|
|
address?: string,
|
|
|
|
},
|
|
|
|
subject: string,
|
|
|
|
content: string,
|
|
|
|
}
|