From 2d57857221aecc3c63885e47390d7cabb615aa9c Mon Sep 17 00:00:00 2001 From: EduBox Dev Date: Wed, 17 Jun 2026 20:52:30 +0000 Subject: [PATCH] fix(server/api): PUBLIC_DOMAIN inclut le sous-domaine de l'instance MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Avant : PS_DOMAIN valait 'alfrednobel.edudeploy.com' → redirection vers le dashboard - Après : PS_DOMAIN vaut '.alfrednobel.edudeploy.com' → bonne URL publique --- server/app/api/instances/route.ts | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/server/app/api/instances/route.ts b/server/app/api/instances/route.ts index 2375ef5..71c35cf 100644 --- a/server/app/api/instances/route.ts +++ b/server/app/api/instances/route.ts @@ -68,7 +68,8 @@ export async function POST(req: NextRequest) { }); const domain = node?.student?.class.establishment?.domain; - const publicUrl = domain ? `https://${instance.id}.${domain}` : null; + const publicDomain = domain ? `${instance.id}.${domain}` : "localhost"; + const publicUrl = domain ? `https://${publicDomain}` : null; const sent = sendToNode(nodeId, { action: "start", @@ -79,7 +80,7 @@ export async function POST(req: NextRequest) { .replace(/{PORT}/g, String(instance.port)) .replace(/{INSTANCE_ID}/g, instance.id) .replace(/{PUBLIC_URL}/g, publicUrl || `http://localhost:${instance.port}`) - .replace(/{PUBLIC_DOMAIN}/g, domain || "localhost"), + .replace(/{PUBLIC_DOMAIN}/g, publicDomain), }); if (!sent) { @@ -96,7 +97,8 @@ export async function PATCH(req: NextRequest) { if (!instance) return NextResponse.json({ error: "Not found" }, { status: 404 }); const domain = instance.node.student?.class.establishment?.domain; - const publicUrl = domain ? `https://${instance.id}.${domain}` : null; + const publicDomain = domain ? `${instance.id}.${domain}` : "localhost"; + const publicUrl = domain ? `https://${publicDomain}` : null; if (action === "stop") { sendToNode(instance.nodeId, { action: "delete", instanceId: instance.id }); @@ -111,7 +113,7 @@ export async function PATCH(req: NextRequest) { .replace(/{PORT}/g, String(instance.port)) .replace(/{INSTANCE_ID}/g, instance.id) .replace(/{PUBLIC_URL}/g, publicUrl || `http://localhost:${instance.port}`) - .replace(/{PUBLIC_DOMAIN}/g, domain || "localhost"), + .replace(/{PUBLIC_DOMAIN}/g, publicDomain), }); if (!sent) await prisma.instance.update({ where: { id }, data: { status: "error" } }); } else if (action === "reset") { @@ -124,7 +126,7 @@ export async function PATCH(req: NextRequest) { .replace(/{PORT}/g, String(instance.port)) .replace(/{INSTANCE_ID}/g, instance.id) .replace(/{PUBLIC_URL}/g, publicUrl || `http://localhost:${instance.port}`) - .replace(/{PUBLIC_DOMAIN}/g, domain || "localhost"), + .replace(/{PUBLIC_DOMAIN}/g, publicDomain), }); if (!sent) await prisma.instance.update({ where: { id }, data: { status: "error" } }); }