44 lines · 1004 B · TypeScript
RawDownload
import { db } from "@dokploy/server/db";import { webServerSettings } from "@dokploy/server/db/schema";import { eq } from "drizzle-orm"; /** * Get the web server settings (singleton - only one row should exist) */export const getWebServerSettings = async () => {	const settings = await db.query.webServerSettings.findFirst({		orderBy: (settings, { asc }) => [asc(settings.createdAt)],	}); 	if (!settings) {		// Create default settings if none exist		const [newSettings] = await db			.insert(webServerSettings)			.values({})			.returning(); 		return newSettings;	} 	return settings;}; /** * Update web server settings */export const updateWebServerSettings = async (	updates: Partial<typeof webServerSettings.$inferInsert>,) => {	const current = await getWebServerSettings(); 	const [updated] = await db		.update(webServerSettings)		.set({			...updates,			updatedAt: new Date(),		})		.where(eq(webServerSettings.id, current?.id ?? ""))		.returning(); 	return updated;};