diff --git a/app/config.ts b/app/config.ts index d5a9669..d5eff1d 100644 --- a/app/config.ts +++ b/app/config.ts @@ -7,6 +7,7 @@ export const configSchema = { pausedReason: { type: ["string", "null"] }, maxUserJobs: { type: "number" }, maxJobs: { type: "number" }, + maxDailyJobs: { type: "number" }, defaultParams: { type: "object", properties: { @@ -21,7 +22,7 @@ export const configSchema = { }, }, }, - required: ["adminUsernames", "maxUserJobs", "maxJobs", "defaultParams"], + required: ["adminUsernames", "maxUserJobs", "maxJobs", "maxDailyJobs", "defaultParams"], } as const satisfies JsonSchema; export type Config = jsonType; @@ -33,6 +34,7 @@ export async function getConfig(): Promise { pausedReason: config?.pausedReason ?? null, maxUserJobs: config?.maxUserJobs ?? Infinity, maxJobs: config?.maxJobs ?? Infinity, + maxDailyJobs: config?.maxDailyJobs ?? Infinity, defaultParams: config?.defaultParams ?? {}, }; } @@ -43,6 +45,7 @@ export async function setConfig(newConfig: Partial): Promise { pausedReason: newConfig.pausedReason ?? oldConfig.pausedReason, maxUserJobs: newConfig.maxUserJobs ?? oldConfig.maxUserJobs, maxJobs: newConfig.maxJobs ?? oldConfig.maxJobs, + maxDailyJobs: newConfig.maxDailyJobs ?? oldConfig.maxDailyJobs, defaultParams: newConfig.defaultParams ?? oldConfig.defaultParams, }; await db.set(["config"], config); diff --git a/ui/SettingsPage.tsx b/ui/SettingsPage.tsx index c5ec7b6..dff8175 100644 --- a/ui/SettingsPage.tsx +++ b/ui/SettingsPage.tsx @@ -231,6 +231,46 @@ export function SettingsPage(props: { sessionId: string | null }) { + + {patchParamsError ? (