From bbf7032fc0c3a8e8a2e022cc23cedd12f231d83b Mon Sep 17 00:00:00 2001 From: Florian <52180080+florianjs@users.noreply.github.com> Date: Thu, 8 Jan 2026 16:29:38 +0100 Subject: [PATCH] Move Torznab API to /api/torznab/api path for Prowlarr compatibility --- package.json | 2 +- server/api/torznab/{ => api}/index.get.ts | 16 ++++++++-------- server/api/torznab/{ => api}/index.head.ts | 2 +- 3 files changed, 10 insertions(+), 10 deletions(-) rename server/api/torznab/{ => api}/index.get.ts (96%) rename server/api/torznab/{ => api}/index.head.ts (91%) diff --git a/package.json b/package.json index 4315e0d..cbd1ec1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "trackarr", - "version": "0.5.6", + "version": "0.5.7", "type": "module", "private": true, "scripts": { diff --git a/server/api/torznab/index.get.ts b/server/api/torznab/api/index.get.ts similarity index 96% rename from server/api/torznab/index.get.ts rename to server/api/torznab/api/index.get.ts index 075984d..cfe7583 100644 --- a/server/api/torznab/index.get.ts +++ b/server/api/torznab/api/index.get.ts @@ -11,32 +11,32 @@ import type { H3Event } from 'h3'; import { z } from 'zod'; -import { db, schema } from '../../db'; -import { getStats } from '../../redis/cache'; +import { db, schema } from '../../../db'; +import { getStats } from '../../../redis/cache'; import { desc, eq, ilike, and, inArray } from 'drizzle-orm'; -import { authenticateTorznab, sendTorznabError } from './utils/auth'; +import { authenticateTorznab, sendTorznabError } from '../utils/auth'; import { buildCapsXml, buildSearchXml, TORZNAB_ERRORS, type TorznabItem, -} from './utils/xml'; +} from '../utils/xml'; import { buildCategoryTree, filterCategoriesByNewznab, getNewznabCategoryId, -} from './utils/categories'; -import { rateLimit, getClientIP } from '../../utils/rateLimit'; +} from '../utils/categories'; +import { rateLimit, getClientIP } from '../../../utils/rateLimit'; import { getTorznabEnabled, getTorznabRateLimitOptions, getTorznabEnableLogging, -} from '../../utils/torznabSettings'; +} from '../../../utils/torznabSettings'; import { logTorznabRequest, isTorznabUserBlocked, trackRateLimitHit, -} from '../../utils/torznabStats'; +} from '../../../utils/torznabStats'; // Query schema for Torznab requests const torznabQuerySchema = z.object({ diff --git a/server/api/torznab/index.head.ts b/server/api/torznab/api/index.head.ts similarity index 91% rename from server/api/torznab/index.head.ts rename to server/api/torznab/api/index.head.ts index 5fc6db9..1f0d874 100644 --- a/server/api/torznab/index.head.ts +++ b/server/api/torznab/api/index.head.ts @@ -6,7 +6,7 @@ * Without this, Nuxt SSR middleware intercepts HEAD requests and redirects to login */ -import { getTorznabEnabled } from '../../utils/torznabSettings'; +import { getTorznabEnabled } from '../../../utils/torznabSettings'; export default defineEventHandler(async (event) => { // Check if Torznab API is enabled