export default defineEventHandler(async (event) => { const { owner } = assertLibraryOwner(event) const body = await readBody<{ password?: string; folderId?: string }>(event) const password = String(body?.password || '') if (!password) { throw createError({ statusCode: 400, statusMessage: 'Password is required' }) } const unlocked = await unlockMatchingFolders(owner, password, body?.folderId) setFolderUnlocks(event, Object.fromEntries(unlocked.map(folder => [folder.id, passwordVersion(folder.passwordHash)]))) return publicLibrary(event) })