chore: add invalidateSessions endpoint and query
This commit is contained in:
@@ -9,6 +9,7 @@ export namespace endpoints {
|
||||
profile = "profile/v1/Profile",
|
||||
upcomingStays = "booking/v1/Stays/future",
|
||||
previousStays = "booking/v1/Stays/past",
|
||||
invalidateSessions = "profile/v1/Profile/invalidateSessions",
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -21,6 +21,36 @@ function fakingRequest<T>(payload: T): Promise<T> {
|
||||
}
|
||||
|
||||
export const userQueryRouter = router({
|
||||
invalidateSessions: protectedProcedure.query(async function ({ ctx }) {
|
||||
try {
|
||||
const apiResponse = await api.post(api.endpoints.v1.invalidateSessions, {
|
||||
cache: "no-store",
|
||||
headers: {
|
||||
Authorization: `Bearer ${ctx.session.token.access_token}`,
|
||||
},
|
||||
body: {},
|
||||
})
|
||||
|
||||
if (!apiResponse.ok) {
|
||||
switch (apiResponse.status) {
|
||||
case 400:
|
||||
throw badRequestError(apiResponse)
|
||||
case 401:
|
||||
throw unauthorizedError(apiResponse)
|
||||
case 403:
|
||||
throw forbiddenError(apiResponse)
|
||||
default:
|
||||
throw internalServerError(apiResponse)
|
||||
}
|
||||
}
|
||||
return true
|
||||
} catch (error) {
|
||||
console.info(`Invalidate Sessions Error`)
|
||||
console.error(error)
|
||||
throw internalServerError()
|
||||
}
|
||||
}),
|
||||
|
||||
get: protectedProcedure.query(async function ({ ctx }) {
|
||||
const apiResponse = await api.get(api.endpoints.v1.profile, {
|
||||
cache: "no-store",
|
||||
|
||||
Reference in New Issue
Block a user