From 0b7cf9e5f5ba6172fbf20196c69a371f4f2283f4 Mon Sep 17 00:00:00 2001 From: FOLX Bot Date: Sun, 16 Aug 2026 21:04:12 +0200 Subject: [PATCH] API sprejme publishedAt pri uvozu, da uvozeni clanki ne nosijo danasnjega datuma --- server/routes.ts | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/server/routes.ts b/server/routes.ts index 8401677..f9255b8 100644 --- a/server/routes.ts +++ b/server/routes.ts @@ -268,6 +268,12 @@ export async function registerRoutes( res.json({ ...article, views: article.views + (isNew ? 1 : 0) }); }); + function _parseDate(v: any): Date | null { + if (!v) return null; + const d = new Date(v); + return isNaN(d.getTime()) ? null : d; + } + app.post("/api/articles", requireApiKey, async (req, res) => { const parsed = insertArticleSchema.safeParse(req.body); if (!parsed.success) { @@ -277,7 +283,12 @@ export async function registerRoutes( if (existing) { return res.status(409).json({ message: `Artikel "${existing.title}" existiert bereits (ID: ${existing.id})` }); } - const article = await storage.createArticle(parsed.data); + // publishedAt iz zunanjega vira (uvoz z ONE): shema ga sicer izpusti, zato + // ga sprejmemo posebej - drugace bi vsi uvozeni clanki nosili danasnji datum. + const data: any = { ...parsed.data }; + const pub = _parseDate(req.body?.publishedAt); + if (pub) data.publishedAt = pub; + const article = await storage.createArticle(data); res.status(201).json(article); }); @@ -287,7 +298,10 @@ export async function registerRoutes( if (!partial.success) { return res.status(400).json({ message: "Invalid article data", errors: partial.error.flatten() }); } - const article = await storage.updateArticle(id, partial.data); + const patch: any = { ...partial.data }; + const pubP = _parseDate(req.body?.publishedAt); + if (pubP) patch.publishedAt = pubP; + const article = await storage.updateArticle(id, patch); if (!article) { return res.status(404).json({ message: "Article not found" }); }