- Admin dashboard (/admin/consent-logs) with password auth - Consent API (/api/consent) with SQLite + IP hashing - Privacy Policy (Thai) - PDPA Section 36 compliant - Terms & Conditions (Thai) - 9 standard clauses - .env.example template with Umami placeholder All pages preserve current design system.
15 lines
457 B
TypeScript
15 lines
457 B
TypeScript
import type { DrizzleSqliteDODatabase } from "./driver.js";
|
|
interface MigrationConfig {
|
|
journal: {
|
|
entries: {
|
|
idx: number;
|
|
when: number;
|
|
tag: string;
|
|
breakpoints: boolean;
|
|
}[];
|
|
};
|
|
migrations: Record<string, string>;
|
|
}
|
|
export declare function migrate<TSchema extends Record<string, unknown>>(db: DrizzleSqliteDODatabase<TSchema>, config: MigrationConfig): Promise<void>;
|
|
export {};
|