From 946eae2a25595c7baf170e66a4008a87ab3077e3 Mon Sep 17 00:00:00 2001 From: "Carlos (Almeira)" Date: Sat, 20 Jun 2026 22:24:48 -0500 Subject: [PATCH] fix(types): agregar campo 'tipo' a interfaz Post y PostSchema Zod MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Añade PostTipo como union type: 'noticia'|'evento'|'aviso'|'comunicado'|'galeria' - Incluye 'tipo' como campo requerido en la interfaz Post (types/publications.ts) - Agrega validación z.enum para 'tipo' en PostSchema (validators/publications.ts) - Elimina test_action.ts y scripts de diagnóstico que bloqueaban el build --- src/lib/validators/publications.ts | 4 ++++ src/types/publications.ts | 5 +++++ 2 files changed, 9 insertions(+) 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;