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:
Joakim Jäderberg
2025-07-03 12:37:04 +00:00
parent 7e32ed294d
commit daf765f3d5
110 changed files with 681 additions and 441 deletions

View File

@@ -1,5 +1,6 @@
import NextAuth, { type NextAuthConfig, type User } from "next-auth"
import { logger } from "@scandic-hotels/common/logger"
import { LoginTypeEnum } from "@scandic-hotels/trpc/types/loginType"
import { PRE_REFRESH_TIME_IN_SECONDS } from "@/constants/auth"
@@ -24,7 +25,7 @@ async function refreshTokens(token: JWT) {
throw "Refresh token missing."
}
console.log("token-debug Access token expired, trying to refresh it.", {
logger.debug("token-debug Access token expired, trying to refresh it.", {
expires_at: token.expires_at,
sub: token.sub,
token: token.access_token,
@@ -46,7 +47,7 @@ async function refreshTokens(token: JWT) {
const new_tokens = await response.json()
if (!response.ok) {
console.log("token-debug Token response was not ok", {
logger.debug("token-debug Token response was not ok", {
status: response.status,
statusText: response.statusText,
sub: token.sub,
@@ -54,7 +55,7 @@ async function refreshTokens(token: JWT) {
throw new_tokens
}
console.log("token-debug Successfully got new token(s)", {
logger.debug("token-debug Successfully got new token(s)", {
expires_at: new_tokens.expires_at,
got_new_refresh_token: new_tokens.refresh_token !== token.refresh_token,
got_new_access_token: new_tokens.access_token !== token.access_token,
@@ -72,7 +73,7 @@ async function refreshTokens(token: JWT) {
refresh_token: new_tokens.refresh_token,
}
} catch (error) {
console.log("token-debug Error thrown when trying to refresh", {
logger.error("token-debug Error thrown when trying to refresh", {
error,
sub: token.sub,
})
@@ -141,9 +142,11 @@ const baseConfig = {
return session
},
async redirect({ baseUrl, url }) {
console.log(`[auth] deciding redirect URL`, { baseUrl, url })
logger.debug(`[auth] deciding redirect URL`, { baseUrl, url })
if (url.startsWith("/")) {
console.log(`[auth] relative URL accepted, returning: ${baseUrl}${url}`)
logger.debug(
`[auth] relative URL accepted, returning: ${baseUrl}${url}`
)
// Allows relative callback URLs
return `${baseUrl}${url}`
} else {
@@ -153,19 +156,19 @@ const baseConfig = {
if (
/\.scandichotels\.(dk|de|com|fi|no|se)$/.test(parsedUrl.hostname)
) {
console.log(`[auth] subdomain URL accepted, returning: ${url}`)
logger.debug(`[auth] subdomain URL accepted, returning: ${url}`)
// Allows any subdomains on all top level domains above
return url
} else if (parsedUrl.origin === baseUrl) {
// Allows callback URLs on the same origin
console.log(`[auth] origin URL accepted, returning: ${url}`)
logger.debug(`[auth] origin URL accepted, returning: ${url}`)
return url
}
} catch (e) {
console.error(`[auth] error parsing incoming URL for redirection`, e)
logger.error(`[auth] error parsing incoming URL for redirection`, e)
}
}
console.log(`[auth] URL denied, returning base URL: ${baseUrl}`)
logger.debug(`[auth] URL denied, returning base URL: ${baseUrl}`)
return baseUrl
},
async authorized() {