This commit is contained in:
KNSONWS
2026-02-03 19:51:36 +01:00
parent 2b39e0855f
commit 591c0eb4c7
2 changed files with 17 additions and 9 deletions

View File

@@ -9,15 +9,23 @@
*/
import { Client, Databases, ID } from "appwrite";
const client = new Client()
.setEndpoint(import.meta.env.VITE_APPWRITE_ENDPOINT)
.setProject(import.meta.env.VITE_APPWRITE_PROJECT_ID);
const databases = new Databases(client);
const CONTACT_DATABASE_ID = import.meta.env.VITE_APPWRITE_DATABASE_ID ?? "698124a20035e8f6dc42";
const CONTACT_COLLECTION_ID = import.meta.env.VITE_APPWRITE_CONTACT_COLLECTION_ID ?? "contact_submissions";
function getDatabases(): Databases {
const endpoint = import.meta.env.VITE_APPWRITE_ENDPOINT;
const projectId = import.meta.env.VITE_APPWRITE_PROJECT_ID;
if (!endpoint || !projectId) {
throw new Error(
"Appwrite ist nicht konfiguriert. Bitte VITE_APPWRITE_ENDPOINT und VITE_APPWRITE_PROJECT_ID in der Build-Umgebung setzen."
);
}
const client = new Client().setEndpoint(endpoint).setProject(projectId);
return new Databases(client);
}
let _databases: Databases | null = null;
export type ContactFormData = {
name: string;
email: string;
@@ -26,7 +34,8 @@ export type ContactFormData = {
};
export async function createContactDocument(data: ContactFormData) {
return databases.createDocument<ContactFormData>(
if (!_databases) _databases = getDatabases();
return _databases.createDocument<ContactFormData>(
CONTACT_DATABASE_ID,
CONTACT_COLLECTION_ID,
ID.unique(),
@@ -38,5 +47,3 @@ export async function createContactDocument(data: ContactFormData) {
}
);
}
export { client, databases };