1.0.6 - Multi language support (TMDb), Per folder rule settings

This commit is contained in:
ponzischeme89
2026-01-18 22:07:00 +13:00
parent 675c3ef959
commit 170694bc28
13 changed files with 892 additions and 45 deletions
+41 -2
View File
@@ -74,6 +74,38 @@ export async function updateSettings(settings) {
})
}
// ============ FOLDER RULES API ============
/**
* GET /api/folder-rules - Fetch folder rules
* Returns: { success, rules: [...] }
*/
export async function getFolderRules() {
return apiFetch('/folder-rules')
}
/**
* POST /api/folder-rules - Create or update a folder rule
* Body: { directory, preferred_source?, insertion_position?, language?, subtitle_*? }
* Returns: { success }
*/
export async function saveFolderRule(rule) {
return apiFetch('/folder-rules', {
method: 'POST',
body: JSON.stringify(rule)
})
}
/**
* DELETE /api/folder-rules/<directory> - Delete a folder rule
* Returns: { success }
*/
export async function deleteFolderRule(directory) {
return apiFetch(`/folder-rules/${encodeURIComponent(directory)}`, {
method: 'DELETE'
})
}
// ============ SCAN API ============
/**
@@ -218,10 +250,17 @@ export async function getScanStatus() {
* - "full": Returns multiple results to choose from (2 API calls) - good for manual search
* Returns: { success, results: [{title, year, plot, runtime, imdb_rating, media_type, poster, imdb_id}] }
*/
export async function searchTitle(query, mode = "quick") {
export async function searchTitle(query, mode = "quick", options = {}) {
const body = { query, mode }
if (options.preferredSource) {
body.preferred_source = options.preferredSource
}
if (options.language) {
body.language = options.language
}
return apiFetch('/search', {
method: 'POST',
body: JSON.stringify({ query, mode })
body: JSON.stringify(body)
})
}