fix: pass team id to vanilla trpc client

This commit is contained in:
Mythie
2025-01-20 09:30:36 +11:00
parent 0d3864548c
commit 9de3a32ceb
2 changed files with 32 additions and 3 deletions

View File

@ -50,9 +50,16 @@ export const DataTableActionButton = ({ row, team }: DataTableActionButtonProps)
const onDownloadClick = async () => { const onDownloadClick = async () => {
try { try {
const document = !recipient const document = !recipient
? await trpcClient.document.getDocumentById.query({ ? await trpcClient.document.getDocumentById.query(
documentId: row.id, {
}) documentId: row.id,
},
{
context: {
teamId: team?.id?.toString(),
},
},
)
: await trpcClient.document.getDocumentByToken.query({ : await trpcClient.document.getDocumentByToken.query({
token: recipient.token, token: recipient.token,
}); });

View File

@ -12,10 +12,32 @@ export const trpc = createTRPCClient<AppRouter>({
true: httpLink({ true: httpLink({
url: `${getBaseUrl()}/api/trpc`, url: `${getBaseUrl()}/api/trpc`,
transformer: SuperJSON, transformer: SuperJSON,
headers: (opts) => {
if (typeof opts.op.context.teamId === 'string') {
return {
'x-team-id': opts.op.context.teamId,
};
}
return {};
},
}), }),
false: httpBatchLink({ false: httpBatchLink({
url: `${getBaseUrl()}/api/trpc`, url: `${getBaseUrl()}/api/trpc`,
transformer: SuperJSON, transformer: SuperJSON,
headers: (opts) => {
const operationWithTeamId = opts.opList.find(
(op) => op.context.teamId && typeof op.context.teamId === 'string',
);
if (operationWithTeamId && typeof operationWithTeamId.context.teamId === 'string') {
return {
'x-team-id': operationWithTeamId.context.teamId,
};
}
return {};
},
}), }),
}), }),
], ],