Files
web/apps/scandic-web/app/api/hoteldata/route.ts
Joakim Jäderberg daf765f3d5 Merged in feature/wrap-logging (pull request #2511)
Feature/wrap logging

* feat: change all logging to go through our own logger function so that we can control log levels

* move packages/trpc to using our own logger

* merge


Approved-by: Linus Flood
2025-07-03 12:37:04 +00:00

45 lines
1.2 KiB
TypeScript

import { type NextRequest, NextResponse } from "next/server"
import { logger } from "@scandic-hotels/common/logger"
import { languageSchema } from "@scandic-hotels/common/utils/languages"
import { env } from "@/env/server"
import { serverClient } from "@/lib/trpc/server"
export const dynamic = "force-dynamic"
export async function GET(request: NextRequest) {
if (!env.ENABLE_WARMUP_HOTEL) {
logger.info("[WARMUP] Warmup hotel data is disabled")
return NextResponse.json(
{ message: "Warmup hotel data is disabled" },
{ status: 200 }
)
}
try {
const searchParams = request.nextUrl.searchParams
const lang = searchParams.get("lang")
const parsedLang = languageSchema.safeParse(lang)
if (!parsedLang.success) {
throw new Error("[WARMUP] Invalid language provided")
}
const caller = await serverClient()
const hotels = await caller.hotel.hotels.getDestinationsMapData({
lang: parsedLang.data,
warmup: true,
})
return NextResponse.json(hotels)
} catch (error) {
logger.error("[WARMUP] error", error)
return NextResponse.json(
{
error: "Failed to fetch all hotels",
},
{ status: 500, statusText: "Internal Server Error" }
)
}
}