Spaces:
Running
Running
| /** | |
| * Ably Token Authentication Route | |
| * | |
| * GET /api/auth/ably-token - Get Ably token for client-side auth | |
| */ | |
| import { NextRequest, NextResponse } from "next/server"; | |
| import { getCurrentUser } from "@/lib/auth"; | |
| import { createTokenRequest, isAblyConfigured } from "@/lib/ably-client"; | |
| export async function GET(request: NextRequest) { | |
| try { | |
| // Check if Ably is configured | |
| if (!isAblyConfigured()) { | |
| return NextResponse.json( | |
| { error: "Ably is not configured" }, | |
| { status: 503 } | |
| ); | |
| } | |
| const user = await getCurrentUser(request); | |
| if (!user) { | |
| return NextResponse.json({ error: "Unauthorized" }, { status: 401 }); | |
| } | |
| // Create token request with user's client ID | |
| const tokenRequest = await createTokenRequest(user.id); | |
| return NextResponse.json(tokenRequest); | |
| } catch (error) { | |
| console.error("GET /api/auth/ably-token error:", error); | |
| return NextResponse.json( | |
| { error: "Failed to create Ably token" }, | |
| { status: 500 } | |
| ); | |
| } | |
| } | |