export const createTRPCContext = async (opts: CreateNextContextOptions) => {
const supabase = createServerSupabaseClient(opts)
const token = opts.req.headers.authorization
const user = token
? await supabase.auth.getUser(token)
: await supabase.auth.getUser()
if (!user?.data?.user) {
return createInnerTRPCContext({
user: null,
})
}
//Also get the user from the DB if there is a user
const prismaUser = await prisma.user.findUnique({
where: {
email: user?.data?.user?.email,
},
})
let extendedUser: ExtendedUser | null = null
if (user.data.user) {
extendedUser = {
...user.data?.user,
supabaseId: user?.data?.user?.id || null,
id: prismaUser ? prismaUser.id : "",
DBUserRole: prismaUser ? prismaUser.role : null,
}
}
return createInnerTRPCContext({
user: extendedUser,
})
}
export const createTRPCContext = async (opts: CreateNextContextOptions) => {
const supabase = createServerSupabaseClient(opts)
const token = opts.req.headers.authorization
const user = token
? await supabase.auth.getUser(token)
: await supabase.auth.getUser()
if (!user?.data?.user) {
return createInnerTRPCContext({
user: null,
})
}
//Also get the user from the DB if there is a user
const prismaUser = await prisma.user.findUnique({
where: {
email: user?.data?.user?.email,
},
})
let extendedUser: ExtendedUser | null = null
if (user.data.user) {
extendedUser = {
...user.data?.user,
supabaseId: user?.data?.user?.id || null,
id: prismaUser ? prismaUser.id : "",
DBUserRole: prismaUser ? prismaUser.role : null,
}
}
return createInnerTRPCContext({
user: extendedUser,
})
}