Spaces:
Sleeping
Sleeping
| import { getActors, saveActor, deleteActor, bulkDeleteActors, syncFromMovies } from '../../../lib/localDb.js'; | |
| export async function GET({ request }) { | |
| try { | |
| const list = await getActors(); | |
| return new Response(JSON.stringify(list)); | |
| } catch (e) { | |
| return new Response(JSON.stringify({ error: e.message }), { status: 500 }); | |
| } | |
| } | |
| export async function POST({ request }) { | |
| const cookies = request.headers.get('cookie') || ''; | |
| if (!cookies.includes('auth_token=')) { | |
| return new Response(JSON.stringify({ error: 'Unauthorized' }), { status: 401 }); | |
| } | |
| try { | |
| const { name, originalName, sync } = await request.json(); | |
| if (sync) { | |
| const list = await syncFromMovies('actors'); | |
| return new Response(JSON.stringify({ message: 'Đồng bộ diễn viên thành công!', list })); | |
| } | |
| if (!name) { | |
| return new Response(JSON.stringify({ error: 'Tên diễn viên không được để trống' }), { status: 400 }); | |
| } | |
| const list = await saveActor(name, originalName); | |
| return new Response(JSON.stringify({ message: 'Lưu diễn viên thành công!', list })); | |
| } catch (e) { | |
| return new Response(JSON.stringify({ error: e.message }), { status: 500 }); | |
| } | |
| } | |
| export async function DELETE({ request }) { | |
| const cookies = request.headers.get('cookie') || ''; | |
| if (!cookies.includes('auth_token=')) { | |
| return new Response(JSON.stringify({ error: 'Unauthorized' }), { status: 401 }); | |
| } | |
| try { | |
| const { name, names } = await request.json(); | |
| let list; | |
| if (names && Array.isArray(names)) { | |
| list = await bulkDeleteActors(names); | |
| return new Response(JSON.stringify({ message: `Đã xóa hàng loạt ${names.length} diễn viên!`, list })); | |
| } | |
| if (!name) { | |
| return new Response(JSON.stringify({ error: 'Thiếu tên diễn viên để xóa' }), { status: 400 }); | |
| } | |
| list = await deleteActor(name); | |
| return new Response(JSON.stringify({ message: 'Xóa diễn viên thành công!', list })); | |
| } catch (e) { | |
| return new Response(JSON.stringify({ error: e.message }), { status: 500 }); | |
| } | |
| } | |