fix(SW-2614): send language to API

We were missing the language param on some endpoints. We are still
missing it on some, but I left those without when we don't need it, e.g.
when only caring about the IDs in the response.
This commit is contained in:
Niclas Edenvin
2025-05-06 11:07:04 +02:00
committed by Michael Zetterberg
parent 35a2ae9dcc
commit e0fe5ff0d5
7 changed files with 47 additions and 12 deletions

View File

@@ -6,6 +6,7 @@ import {
router,
safeProtectedProcedure,
} from "@/server/trpc"
import { toApiLang } from "@/server/utils"
import { isValidSession } from "@/utils/session"
import { getFriendsMembership, getMembershipCards } from "@/utils/user"
@@ -154,7 +155,8 @@ export const userQueryRouter = router({
const previousStaysData = await getPreviousStays(
ctx.session.token.access_token,
1
1,
ctx.lang
)
if (!previousStaysData) {
metricsUserTrackingInfo.success({
@@ -199,6 +201,7 @@ export const userQueryRouter = router({
const data = await getPreviousStays(
ctx.session.token.access_token,
limit,
language,
cursor
)
@@ -231,6 +234,7 @@ export const userQueryRouter = router({
const data = await getUpcomingStays(
ctx.session.token.access_token,
limit,
language,
cursor
)
@@ -258,7 +262,7 @@ export const userQueryRouter = router({
friendTransactions: languageProtectedProcedure
.input(friendTransactionsInput)
.query(async ({ ctx, input }) => {
const { limit, page } = input
const { limit, page, lang } = input
const friendTransactionsCounter = createCounter(
"trpc.user.transactions",
@@ -268,16 +272,22 @@ export const userQueryRouter = router({
const metricsFriendTransactions = friendTransactionsCounter.init({
limit,
page,
lang,
})
metricsFriendTransactions.start()
const language = lang ?? ctx.lang
const apiResponse = await api.get(
api.endpoints.v1.Profile.Transaction.friendTransactions,
{
headers: {
Authorization: `Bearer ${ctx.session.token.access_token}`,
},
},
{
language: toApiLang(language),
}
)

View File

@@ -5,6 +5,7 @@ import { env } from "@/env/server"
import * as api from "@/lib/api"
import { dt } from "@/lib/dt"
import { createCounter } from "@/server/telemetry"
import { toApiLang } from "@/server/utils"
import { cache } from "@/utils/cache"
import { encrypt } from "@/utils/encryption"
@@ -114,17 +115,22 @@ export async function getMembershipNumber(
export async function getPreviousStays(
accessToken: string,
limit: number = 10,
language: Lang,
cursor?: string
) {
const getPreviousStaysCounter = createCounter("user", "getPreviousStays")
const metricsGetPreviousStays = getPreviousStaysCounter.init({
limit,
cursor,
language,
})
metricsGetPreviousStays.start()
const params: Record<string, string> = { limit: String(limit) }
const params: Record<string, string> = {
limit: String(limit),
language: toApiLang(language),
}
if (cursor) {
params.offset = cursor
@@ -161,17 +167,22 @@ export async function getPreviousStays(
export async function getUpcomingStays(
accessToken: string,
limit: number = 10,
language: Lang,
cursor?: string
) {
const getUpcomingStaysCounter = createCounter("user", "getUpcomingStays")
const metricsGetUpcomingStays = getUpcomingStaysCounter.init({
limit,
cursor,
language,
})
metricsGetUpcomingStays.start()
const params: Record<string, string> = { limit: String(limit) }
const params: Record<string, string> = {
limit: String(limit),
language: toApiLang(language),
}
if (cursor) {
params.offset = cursor