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
This commit is contained in:
@@ -3,7 +3,7 @@ import { type NextRequest, NextResponse } from "next/server"
|
||||
import { getPublicURL } from "@/server/utils"
|
||||
|
||||
import { signOut } from "@/auth"
|
||||
import { destroySession } from "@/auth/scandic/session"
|
||||
import { destroySocialSession } from "@/auth/scandic/session"
|
||||
|
||||
import type { Lang } from "@scandic-hotels/common/constants/language"
|
||||
|
||||
@@ -17,7 +17,7 @@ export async function GET(
|
||||
await signOut({ redirectTo, redirect: false })
|
||||
|
||||
// Delete scandic session once user logouts from sas
|
||||
await destroySession()
|
||||
await destroySocialSession()
|
||||
|
||||
return NextResponse.redirect(redirectTo)
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@ import { createLogger } from "@scandic-hotels/common/logger/createLogger"
|
||||
import { env } from "@/env/server"
|
||||
|
||||
import { getToken } from "@/auth/scandic/getToken"
|
||||
import { createSession } from "@/auth/scandic/session"
|
||||
import { createSocialSession } from "@/auth/scandic/session"
|
||||
|
||||
const logger = createLogger("curity-callback")
|
||||
export async function GET(req: NextRequest) {
|
||||
@@ -37,7 +37,7 @@ export async function GET(req: NextRequest) {
|
||||
code,
|
||||
})
|
||||
|
||||
await createSession({
|
||||
await createSocialSession({
|
||||
access_token: tokenResponse.access_token,
|
||||
refresh_token: tokenResponse.refresh_token,
|
||||
expires_in: tokenResponse.expires_in,
|
||||
|
||||
@@ -2,10 +2,10 @@ import { type NextRequest } from "next/server"
|
||||
|
||||
import { noContent } from "@/server/errors/next"
|
||||
|
||||
import { destroySession } from "@/auth/scandic/session"
|
||||
import { destroySocialSession } from "@/auth/scandic/session"
|
||||
|
||||
export async function GET(_req: NextRequest) {
|
||||
await destroySession()
|
||||
await destroySocialSession()
|
||||
// TODO: Should we call Scandic's logout endpoint?
|
||||
|
||||
return noContent()
|
||||
|
||||
@@ -14,14 +14,14 @@ import {
|
||||
import { config } from "@/auth/scandic/config"
|
||||
import { endpoints } from "@/auth/scandic/endpoints"
|
||||
import {
|
||||
createSession,
|
||||
destroySession,
|
||||
getSession,
|
||||
createSocialSession,
|
||||
destroySocialSession,
|
||||
getSocialSession,
|
||||
} from "@/auth/scandic/session"
|
||||
|
||||
const logger = createLogger("scandic/refresh")
|
||||
export async function POST(_req: NextRequest) {
|
||||
const session = await getSession()
|
||||
const session = await getSocialSession()
|
||||
if (!session) {
|
||||
return badRequest("No session found")
|
||||
}
|
||||
@@ -39,7 +39,7 @@ export async function POST(_req: NextRequest) {
|
||||
|
||||
if (isResponseError(error)) {
|
||||
if (error.status === 400 && error.cause === "invalid_grant") {
|
||||
await destroySession()
|
||||
await destroySocialSession()
|
||||
return badRequest("invalid_grant")
|
||||
}
|
||||
|
||||
@@ -55,7 +55,7 @@ export async function POST(_req: NextRequest) {
|
||||
got_new_access_token: newTokens.access_token !== session.access_token,
|
||||
})
|
||||
|
||||
await createSession({
|
||||
await createSocialSession({
|
||||
access_token: newTokens.access_token,
|
||||
refresh_token: newTokens.refresh_token ?? session.refresh_token,
|
||||
expires_in: newTokens.expires_in,
|
||||
|
||||
@@ -4,7 +4,7 @@ import { z } from "zod"
|
||||
import { dt } from "@scandic-hotels/common/dt"
|
||||
import { createLogger } from "@scandic-hotels/common/logger/createLogger"
|
||||
|
||||
import { getSession } from "@/auth/scandic/session"
|
||||
import { getSocialSession } from "@/auth/scandic/session"
|
||||
|
||||
const logger = createLogger("scandic/session")
|
||||
|
||||
@@ -29,8 +29,8 @@ export type SocialSessionResponse = z.infer<typeof socialSessionResponseSchema>
|
||||
|
||||
export async function GET(): Promise<NextResponse<SocialSessionResponse>> {
|
||||
try {
|
||||
const session = await getSession()
|
||||
if (!session || !session.access_token) {
|
||||
const session = await getSocialSession()
|
||||
if (!session) {
|
||||
return createResponse({ status: "no_session", user: null })
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user