feat(SW-2859): Create trpc package * Add isEdge, safeTry and dataCache to new common package * Add eslint and move prettier config * Clean up tests * Create trpc package and move initialization * Move errors and a few procedures * Move telemetry to common package * Move tokenManager to common package * Add Sentry to procedures * Clean up procedures * Fix self-referencing imports * Add exports to packages and lint rule to prevent relative imports * Add env to trpc package * Add eslint to trpc package * Apply lint rules * Use direct imports from trpc package * Add lint-staged config to trpc * Move lang enum to common * Restructure trpc package folder structure * Fix lang imports Approved-by: Linus Flood
32 lines
944 B
TypeScript
32 lines
944 B
TypeScript
import type { Lang } from "@scandic-hotels/common/constants/language"
|
|
|
|
export async function warmupHotelDataOnLang(lang: Lang) {
|
|
const PUBLIC_URL = Netlify.env.get("PUBLIC_URL")
|
|
console.info(
|
|
`[WARMUP] Started warmup cache hoteldata for language ${lang} at: ${new Date().toISOString()}!`
|
|
)
|
|
|
|
try {
|
|
const hotelsResponse = await fetch(
|
|
`${PUBLIC_URL}/api/hoteldata?lang=${lang}`,
|
|
{
|
|
headers: { cache: "no-store" },
|
|
signal: AbortSignal.timeout(30_000),
|
|
}
|
|
)
|
|
|
|
if (!hotelsResponse.ok) {
|
|
throw new Error(
|
|
`[WARMUP] Failed to warmup cache for hotels on language ${lang} with error: ${hotelsResponse.statusText}`
|
|
)
|
|
}
|
|
|
|
const hotels = await hotelsResponse.json()
|
|
console.info(`[WARMUP] Retrieved ${hotels.length} hotels.`)
|
|
} catch (error) {
|
|
console.error(
|
|
`[WARMUP] Error warming cache with hoteldata on language ${lang} with error: ${error}`
|
|
)
|
|
}
|
|
}
|