import { safeUserIdentity } from "$lib/Data/AniList/identity"; import { decodeAuthCookieOrNull } from "$lib/Effect/authCookie"; import { toggleHololiveStreamPinning } from "$lib/Database/SB/User/preferences"; import { appOriginHeaders } from "$lib/Utility/appOrigin"; const unauthorised = new Response("Unauthorised", { status: 401 }); export const PUT = async ({ cookies, url }) => { const userCookie = cookies.get("user"); if (!userCookie) return unauthorised; const user = decodeAuthCookieOrNull(userCookie); if (!user) return unauthorised; const identity = await safeUserIdentity(user); if (!identity) return unauthorised; return Response.json( await toggleHololiveStreamPinning( identity.id, url.searchParams.get("stream") || "", ), { headers: appOriginHeaders({ method: "PUT", }), }, ); };