persist model access policy to database
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -18,7 +18,7 @@ export {
|
||||
cleanupExpiredTokens,
|
||||
} from './queries/auth';
|
||||
|
||||
export { readServerSettings, writeServerSettings } from './queries/server-config';
|
||||
export { readServerSettings, writeServerSettings, readConfigValue, writeConfigValue } from './queries/server-config';
|
||||
|
||||
export { getUserSettings, setUserSettings, getUserState, patchUserState, getDockPaths, setDockPaths } from './queries/user-data';
|
||||
|
||||
|
||||
@@ -18,3 +18,18 @@ export async function writeServerSettings(settings: Record<string, unknown>): Pr
|
||||
set: { value: settings, updatedAt: new Date() },
|
||||
});
|
||||
}
|
||||
|
||||
export async function readConfigValue<T>(key: string, fallback: T): Promise<T> {
|
||||
const [row] = await db.select().from(serverConfig).where(eq(serverConfig.key, key));
|
||||
return (row?.value as T) ?? fallback;
|
||||
}
|
||||
|
||||
export async function writeConfigValue(key: string, value: unknown): Promise<void> {
|
||||
await db
|
||||
.insert(serverConfig)
|
||||
.values({ key, value, updatedAt: new Date() })
|
||||
.onConflictDoUpdate({
|
||||
target: serverConfig.key,
|
||||
set: { value, updatedAt: new Date() },
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user