"use server"; import { getPaths } from "yt-dlp-transcript-common/lib/paths"; import { writeGlobalAliases, writeSiteAliases, } from "yt-dlp-transcript-common/lib/aliasesStore"; import { coerceAliasConfig, type AliasConfig, } from "yt-dlp-transcript-common/lib/searchAliases"; // Persist the global alias dictionary. Coerced server-side so a malformed entry // from the client can never corrupt the file. export async function saveGlobalAliasesAction( config: AliasConfig, ): Promise<{ ok: true }> { writeGlobalAliases(getPaths(), coerceAliasConfig(config)); return { ok: true }; } // Persist one site's alias overrides. The merged effective list is recomputed // at compose time, so there's nothing to sync here. export async function saveSiteAliasesAction( siteId: string, config: AliasConfig, ): Promise<{ ok: true }> { writeSiteAliases(getPaths(), siteId, coerceAliasConfig(config)); return { ok: true }; }