From cc125d2805a03cad54399f09600d309a290fe501 Mon Sep 17 00:00:00 2001 From: Colby Fayock Date: Sun, 14 Jan 2024 23:08:26 -0500 Subject: [PATCH] Step 3: Adding a form to create a new post --- src/pages/posts/new.astro | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/pages/posts/new.astro b/src/pages/posts/new.astro index 69b6c46..14eaa1a 100644 --- a/src/pages/posts/new.astro +++ b/src/pages/posts/new.astro @@ -1,6 +1,27 @@ --- +import { ID } from 'appwrite'; + +import { databases } from '@/lib/appwrite'; + import Layout from '@/layouts/Layout.astro'; import Container from '@/components/Container.astro'; + +if (Astro.request.method === "POST") { + const formData = await Astro.request.formData(); + const data = { + title: String(formData.get('title')), + slug: String(formData.get('slug')), + content: String(formData.get('content')), + excerpt: String(formData.get('excerpt')), + } + const results = await databases.createDocument( + import.meta.env.PUBLIC_APPWRITE_DATABASE_ID, + import.meta.env.PUBLIC_APPWRITE_COLLECTION_ID, + ID.unique(), + data + ); + return Astro.redirect(`/posts/${results.slug}`); +} ---