// Let's use fetch directly against the server
async function run() {
	console.log("Creating pending topic...");
	const res = await fetch("http://localhost:3000/api/topics", {
		method: "POST",
		headers: {
			"Content-Type": "application/json",
			// We need to bake a cookie.
			// But we can't easily bake a signed cookie without the secret.
			// Wait, the cookies are not signed in the strict sense, just set.
			// But `middleware.ts` parses `JSON.parse(sessionCookie)`.

			// Let's fake a session cookie for a non-admin user.
			Cookie: `session=${encodeURIComponent(
				JSON.stringify({
					id: "user_123",
					name: "Test User",
					email: "test@example.com",
					isAdmin: false,
				}),
			)}`,
		},
		body: JSON.stringify({
			name: "Test Pending Topic",
			slug: "test-pending",
			description: "This should be pending",
		}),
	});

	if (res.ok) {
		const data = await res.json();
		console.log("Created topic:", data);
	} else {
		console.log("Error:", res.status, await res.text());
	}
}

run();
