23 lines
743 B
TypeScript
23 lines
743 B
TypeScript
import { z } from "zod";
|
|
|
|
const allowFromEntry = z.union([z.string(), z.number()]);
|
|
|
|
const zaloAccountSchema = z.object({
|
|
name: z.string().optional(),
|
|
enabled: z.boolean().optional(),
|
|
botToken: z.string().optional(),
|
|
tokenFile: z.string().optional(),
|
|
webhookUrl: z.string().optional(),
|
|
webhookSecret: z.string().optional(),
|
|
webhookPath: z.string().optional(),
|
|
dmPolicy: z.enum(["pairing", "allowlist", "open", "disabled"]).optional(),
|
|
allowFrom: z.array(allowFromEntry).optional(),
|
|
mediaMaxMb: z.number().optional(),
|
|
proxy: z.string().optional(),
|
|
});
|
|
|
|
export const ZaloConfigSchema = zaloAccountSchema.extend({
|
|
accounts: z.object({}).catchall(zaloAccountSchema).optional(),
|
|
defaultAccount: z.string().optional(),
|
|
});
|