Optional qBittorrent creds; require SABnzbd key

Allow qBittorrent to be configured without credentials (supports IP whitelist) and require an API key for SABnzbd. Skip connection testing when disabling a client. Updates include: validation changes in admin and setup API routes, test-download-client flows, DownloadClientModal UI validation and save/test logic, and DownloadClientManager to pass empty strings for optional credentials. Tests updated to reflect SABnzbd API key requirement.
This commit is contained in:
kikootwo
2026-02-03 13:30:51 -05:00
parent c559f8ebe9
commit 863f8466ea
8 changed files with 47 additions and 44 deletions
+6 -4
View File
@@ -107,16 +107,18 @@ export async function POST(request: NextRequest) {
}
// Validate each client has required fields
// qBittorrent credentials are optional (supports IP whitelist auth)
// SABnzbd always requires API key
for (const client of clients) {
if (!client.url || !client.password) {
if (!client.url) {
return NextResponse.json(
{ success: false, error: 'Download client URL and password/API key are required' },
{ success: false, error: 'Download client URL is required' },
{ status: 400 }
);
}
if (client.type === 'qbittorrent' && !client.username) {
if (client.type === 'sabnzbd' && !client.password) {
return NextResponse.json(
{ success: false, error: 'qBittorrent username is required' },
{ success: false, error: 'SABnzbd API key is required' },
{ status: 400 }
);
}