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
This commit is contained in:
@@ -4,6 +4,7 @@ import { z } from "zod"
|
||||
|
||||
import { Lang } from "@scandic-hotels/common/constants/language"
|
||||
import { getCacheClient } from "@scandic-hotels/common/dataCache"
|
||||
import { createLogger } from "@scandic-hotels/common/logger/createLogger"
|
||||
import { generateHotelUrlTag } from "@scandic-hotels/trpc/utils/generateTag"
|
||||
|
||||
import { env } from "@/env/server"
|
||||
@@ -24,22 +25,25 @@ const validateJsonBody = z.object({
|
||||
}),
|
||||
})
|
||||
|
||||
const revalidateHotelLogger = createLogger("revalidate-hotel")
|
||||
|
||||
export async function POST(request: NextRequest) {
|
||||
try {
|
||||
const headersList = await headers()
|
||||
const secret = headersList.get("x-revalidate-secret")
|
||||
|
||||
if (secret !== env.REVALIDATE_SECRET) {
|
||||
console.error(`Invalid Secret`)
|
||||
console.error({ secret })
|
||||
revalidateHotelLogger.error(`Invalid Secret`, { secret })
|
||||
return badRequest({ revalidated: false, now: Date.now() })
|
||||
}
|
||||
|
||||
const data = await request.json()
|
||||
const validatedData = validateJsonBody.safeParse(data)
|
||||
if (!validatedData.success) {
|
||||
console.error("Bad validation for `validatedData` in hotel revalidation")
|
||||
console.error(validatedData.error)
|
||||
revalidateHotelLogger.error(
|
||||
"Bad validation for `validatedData` in hotel revalidation",
|
||||
validatedData.error
|
||||
)
|
||||
return internalServerError({ revalidated: false, now: Date.now() })
|
||||
}
|
||||
|
||||
@@ -56,21 +60,20 @@ export async function POST(request: NextRequest) {
|
||||
if (content_type.uid === "hotel_page") {
|
||||
tag = generateHotelUrlTag(locale, entry.hotel_page_id)
|
||||
} else {
|
||||
console.error(
|
||||
revalidateHotelLogger.error(
|
||||
`Invalid content_type, received ${content_type.uid}, expected "hotel_page"`
|
||||
)
|
||||
return notFound({ revalidated: false, now: Date.now() })
|
||||
}
|
||||
|
||||
console.info(`Revalidating hotel url tag: ${tag}`)
|
||||
revalidateHotelLogger.info(`Revalidating hotel url tag: ${tag}`)
|
||||
revalidateTag(tag)
|
||||
const cacheClient = await getCacheClient()
|
||||
await cacheClient.deleteKey(tag, { fuzzy: true })
|
||||
|
||||
return Response.json({ revalidated: true, now: Date.now() })
|
||||
} catch (error) {
|
||||
console.error("Failed to revalidate tag(s) for hotel")
|
||||
console.error(error)
|
||||
revalidateHotelLogger.error("Failed to revalidate tag(s) for hotel", error)
|
||||
return internalServerError({ revalidated: false, now: Date.now() })
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user