fix organizer diagnostics and site integrations

This commit is contained in:
ShukeBta
2026-06-21 09:44:12 +08:00
parent 6e61c8b545
commit 7b881d031c
37 changed files with 2012 additions and 164 deletions
+1
View File
@@ -14,6 +14,7 @@ export interface ExternalMediaResult {
source: string
media_type?: string
title: string
original_name?: string
overview?: string
poster_url?: string
backdrop_url?: string
+1
View File
@@ -8,6 +8,7 @@ export interface SiteSearchResult {
site_name: string
site_id: string
title: string
subtitle?: string
torrent_url: string
download_url: string
category?: string
+17
View File
@@ -1,6 +1,23 @@
import { api } from './client'
import type { Subscription } from '../types'
export function buildSiteSearchFeedURL(keyword: string, source?: string, aliases: string[] = []) {
const params = new URLSearchParams()
params.set('keyword', keyword)
if (source) params.set('source', source)
const seen = new Set([keyword.trim().toLowerCase()])
aliases
.map((alias) => alias.trim())
.filter(Boolean)
.forEach((alias) => {
const key = alias.toLowerCase()
if (seen.has(key)) return
seen.add(key)
params.append('alias', alias)
})
return `site-search://search?${params.toString()}`
}
export const subscriptionsAPI = {
list: () =>
api.get<{ items: Subscription[] }>('/subscriptions').then((r) => r.data.items),