Files
web/packages/trpc/lib/utils/session.ts
Joakim Jäderberg a4f1a55e56 Merged in feat/SW-3549-handle-unlinked-account (pull request #3019)
fix(SW-3549): update social session management functions for clarity and consistency

* refactor(SW-3549): rename session management functions for clarity and consistency

* merge


Approved-by: Hrishikesh Vaipurkar
2025-10-28 09:51:30 +00:00

31 lines
716 B
TypeScript

import "server-only"
import { createLogger } from "@scandic-hotels/common/logger/createLogger"
import type { Session } from "next-auth"
export function isValidSession(session: Session | null): session is Session {
const sessionLogger = createLogger("session")
if (!session) {
return false
}
if (session.error) {
sessionLogger.error(`Session error: ${session.error}`)
return false
}
const token = session.token
if (token?.error) {
sessionLogger.error(`Session token error: ${token.error}`)
return false
}
if (token?.expires_at && token.expires_at < Date.now()) {
sessionLogger.debug(`Session expired: ${session.token.expires_at}`)
return false
}
return true
}