Add fleet and per-host concurrency controls
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import { json } from '@sveltejs/kit';
|
||||
import { validateFleetSettings } from '$lib/fleet-settings.js';
|
||||
import { validateFleetSettings, concurrencyKeys, retentionKeys } from '$lib/fleet-settings.js';
|
||||
import { fleetSettings, saveFleetSettings } from '$lib/server/settings.js';
|
||||
|
||||
export function GET() { return json(fleetSettings()); }
|
||||
@@ -10,3 +10,14 @@ export async function PUT({ request }: { request: Request }) {
|
||||
catch (error) { return json({ error: (error as Error).message }, { status: 400 }); }
|
||||
return json(saveFleetSettings(settings));
|
||||
}
|
||||
|
||||
export async function PATCH({ request }: { request: Request }) {
|
||||
try {
|
||||
const { section, values } = await request.json();
|
||||
const keys = section === 'Concurrency' ? concurrencyKeys : section === 'Retention' ? retentionKeys : null;
|
||||
if (!keys || !values || typeof values !== 'object' || Array.isArray(values)
|
||||
|| Object.keys(values).length !== keys.length || keys.some(key => !Object.hasOwn(values, key))
|
||||
|| Object.keys(values).some(key => !keys.includes(key as typeof keys[number]))) throw new Error('Provide all settings for one section.');
|
||||
return json(saveFleetSettings({ ...fleetSettings(), ...values }));
|
||||
} catch (error) { return json({ error: (error as Error).message }, { status: 400 }); }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user