//api/+server.js
import { prisma } from "$lib/index.js";
export async function GET({ request }) {
const stream = new ReadableStream({
async start(controller) {
async function main() {
try {
const prismaStream = await prisma.links.stream();
for await (const event of prismaStream) {
console.log("Received event:", event);
controller.enqueue(`data: ${JSON.stringify(event)}\n\n`);
}
} catch (error) {
console.error("Error in Prisma stream:", error);
controller.error(error);
}
}
main();
},
cancel() {
console.log("Stream cancelled");
},
});
return new Response(stream, {
headers: {
"Content-Type": "text/event-stream",
"Cache-Control": "no-cache",
Connection: "keep-alive",
"Access-Control-Allow-Origin": "*",
},
});
}
//api/+server.js
import { prisma } from "$lib/index.js";
export async function GET({ request }) {
const stream = new ReadableStream({
async start(controller) {
async function main() {
try {
const prismaStream = await prisma.links.stream();
for await (const event of prismaStream) {
console.log("Received event:", event);
controller.enqueue(`data: ${JSON.stringify(event)}\n\n`);
}
} catch (error) {
console.error("Error in Prisma stream:", error);
controller.error(error);
}
}
main();
},
cancel() {
console.log("Stream cancelled");
},
});
return new Response(stream, {
headers: {
"Content-Type": "text/event-stream",
"Cache-Control": "no-cache",
Connection: "keep-alive",
"Access-Control-Allow-Origin": "*",
},
});
}