2023-03-22 14:49:18 +03:00

28 lines
652 B
TypeScript

import { t } from './server';
import { getUser } from '@/api/user/query';
import getServerConfig from '@/config/server';
import { TRPCError } from '@trpc/server';
const { COOKIE_TOKEN_NAME } = getServerConfig();
export const user = t.middleware(async ({ ctx, next }) => {
if (
process.env.NODE_ENV !== 'development' &&
(ctx.token === undefined || ctx.token === null || typeof ctx.token !== 'string')
) {
throw new TRPCError({
code: 'UNAUTHORIZED',
});
}
return next({
ctx: {
user: await getUser({
headers: {
Cookie: `${COOKIE_TOKEN_NAME}=${ctx.token}`,
},
}),
},
});
});