diff --git a/src/lib/validators/publications.ts b/src/lib/validators/publications.ts index 35e5da4..c1dcd02 100644 --- a/src/lib/validators/publications.ts +++ b/src/lib/validators/publications.ts @@ -36,6 +36,10 @@ export const PostSchema = z.object({ message: 'Estado inválido.', }), + tipo: z.enum(['noticia', 'evento', 'aviso', 'comunicado', 'galeria'], { + message: 'Tipo de contenido inválido.', + }), + fecha_publicacion: z .string() .refine((val) => !isNaN(Date.parse(val)), { message: 'La fecha de publicación no es válida.' }), diff --git a/src/types/publications.ts b/src/types/publications.ts index a9c67e2..a0255c9 100644 --- a/src/types/publications.ts +++ b/src/types/publications.ts @@ -60,6 +60,9 @@ export interface Client { estado: boolean; } +/** Tipos de contenido disponibles para una publicación */ +export type PostTipo = 'noticia' | 'evento' | 'aviso' | 'comunicado' | 'galeria'; + /** Entidad principal de publicación (Post) */ export interface Post { $id: string; @@ -70,6 +73,8 @@ export interface Post { contenido: string; resumen_redes?: string; estado: PostStatus; + /** Tipo de contenido requerido por Appwrite (e.g. 'noticia', 'evento') */ + tipo: PostTipo; fecha_publicacion: string; fecha_finalizacion?: string; og_image_url?: string;