- store records in SQLite via built-in node:sqlite, no native deps - wrap DB reads in await io() so they stay out of the static shell - add CRUD pages backed by Server Actions with per-request data - generate managed config and restart container via Docker socket - add /resolve page to query dnsmasq for A and CNAME records - add Dockerfile and compose setup with shared config volume
13 lines
347 B
TypeScript
13 lines
347 B
TypeScript
import type { FieldErrors } from "./validate"
|
|
|
|
/**
|
|
* Shared shape returned by every Server Action that a form consumes via `useActionState`.
|
|
* Kept in its own module because a `'use server'` file may only export async functions.
|
|
*/
|
|
export interface ActionState {
|
|
ok: boolean
|
|
message?: string
|
|
detail?: string
|
|
fieldErrors?: FieldErrors
|
|
}
|