feat/membershipcard: utilize memoiozed function to fetch membership cards

This commit is contained in:
Linus Flood
2024-12-16 13:06:27 +01:00
parent 492ad62d1f
commit 1862b16c8c

View File

@@ -778,51 +778,14 @@ export const userQueryRouter = router({
}),
membershipCards: protectedProcedure.query(async function ({ ctx }) {
getProfileCounter.add(1)
console.info("api.profile start", JSON.stringify({}))
const apiResponse = await api.get(api.endpoints.v1.Profile.profile, {
cache: "no-store",
headers: {
Authorization: `Bearer ${ctx.session.token.access_token}`,
},
})
const userData = await getVerifiedUser({ session: ctx.session })
if (!apiResponse.ok) {
// switch (apiResponse.status) {
// case 400:
// throw badRequestError()
// case 401:
// throw unauthorizedError()
// case 403:
// throw forbiddenError()
// default:
// throw internalServerError()
// }
const text = await apiResponse.text()
getProfileFailCounter.add(1, {
error_type: "http_error",
error: JSON.stringify({
status: apiResponse.status,
statusText: apiResponse.statusText,
text,
}),
})
console.error(
"api.profile error",
JSON.stringify({
error: {
status: apiResponse.status,
statusText: apiResponse.statusText,
text,
},
})
)
if (!userData || "error" in userData) {
return null
}
const apiJson = await apiResponse.json()
const verifiedData = getMembershipCardsSchema.safeParse(
apiJson.data.attributes.memberships
userData.data.memberships
)
if (!verifiedData.success) {
@@ -837,9 +800,7 @@ export const userQueryRouter = router({
return null
}
getProfileSuccessCounter.add(1)
console.info("api.profile success", JSON.stringify({}))
const cards = getMembershipCards(verifiedData.data)
return cards
return getMembershipCards(verifiedData.data)
}),
})