import type { ColumnType, Generated } from 'kysely' export interface UsersTable { id: Generated created: ColumnType updated: ColumnType email: string display_name: string avatar: Generated password: ColumnType verified: Generated roles: Generated token_key: Generated token_expires_at: ColumnType pending_email: string | null email_change_token: string | null } export interface SiteSettingsTable { key: string value: ColumnType updated: ColumnType } export interface PasswordResetRequestsTable { id: Generated created: ColumnType expires: ColumnType user_id: string token: string used: Generated } export interface ActivityLogsTable { id: Generated timestamp: ColumnType event_type: string table_name: string | null record_id: string | null user_id: string | null user_agent: string | null metadata: Generated> } export type PageTheme = 'default' | 'green' export interface PagesTable { id: Generated slug: string category_id: string | null menu_order: Generated custom_css: string | null theme: Generated created: ColumnType updated: ColumnType } export interface CategoriesTable { id: Generated slug: string parent_id: string | null menu_order: Generated created: ColumnType updated: ColumnType } export interface CategoryTranslationsTable { id: Generated category_id: string locale: string name: string updated: ColumnType } export interface PageTranslationsTable { id: Generated page_id: string locale: string title: string body_json: Generated> excerpt: string | null featured_image: string | null meta_title: string | null meta_description: string | null og_image: string | null status: Generated<'draft' | 'published'> updated: ColumnType } // 'deepl' is retained for snapshots written by the previous translation // provider; new machine translations are recorded as 'auto-translate'. export type PageTranslationVersionSource = 'admin-ui' | 'mcp' | 'auto-translate' | 'deepl' export interface PageTranslationVersionsTable { id: Generated page_id: string locale: string title: string body_json: Generated> excerpt: string | null featured_image: string | null meta_title: string | null meta_description: string | null og_image: string | null status: 'draft' | 'published' created_by_user_id: string | null source: Generated user_agent: string | null created: ColumnType } export interface Database { users: UsersTable site_settings: SiteSettingsTable password_reset_requests: PasswordResetRequestsTable activity_logs: ActivityLogsTable pages: PagesTable page_translations: PageTranslationsTable page_translation_versions: PageTranslationVersionsTable categories: CategoriesTable category_translations: CategoryTranslationsTable }