feat: integra microsserive de reviews

This commit is contained in:
2026-05-30 14:34:15 -05:00
parent d4108f5634
commit 60649fbf50
5 changed files with 697 additions and 3 deletions

View File

@@ -0,0 +1,29 @@
import { prisma } from '../../utils/prisma'
import { requireAuthContext } from '../../utils/require-auth'
/**
* Retorna o nome de exibição de um usuário pelo ID (sub do JWT).
* Usado para resolver nomes de autores de reviews.
* Responde com { displayName: string | null } — null quando o ID
* pertence a outro sistema (usuário externo).
*/
export default defineEventHandler(async (event) => {
requireAuthContext(event)
const id = getRouterParam(event, 'id')
if (!id) {
throw createError({ statusCode: 400, statusMessage: 'ID obrigatório' })
}
const user = await prisma.user.findUnique({
where: { id },
select: { email: true }
})
if (!user) {
return { displayName: null }
}
return { displayName: user.email.split('@')[0] }
})