feat: public admin avatar endpoint, real admin avatar in user chat

This commit is contained in:
Kirill
2026-05-21 21:50:07 +05:00
parent 367ea1e501
commit f6729210db
4 changed files with 42 additions and 1 deletions
+15
View File
@@ -1,3 +1,4 @@
import { normalizeEmail } from '../../lib/auth.js'
import { prisma } from '../../lib/prisma.js'
export async function registerAdminProfileRoutes(fastify) {
@@ -15,6 +16,20 @@ export async function registerAdminProfileRoutes(fastify) {
}
})
fastify.get('/api/admin/avatar', async (request, reply) => {
const adminEmail = normalizeEmail(process.env.ADMIN_EMAIL)
if (!adminEmail || !adminEmail.includes('@')) return reply.code(404).send({ error: 'Администратор не найден' })
const user = await prisma.user.findUnique({ where: { email: adminEmail } })
if (!user) return reply.code(404).send({ error: 'Администратор не найден' })
return {
avatar: user.avatar,
avatarType: user.avatarType,
avatarStyle: user.avatarStyle,
}
})
fastify.patch('/api/admin/profile', { preHandler: [fastify.verifyAdmin] }, async (request, reply) => {
const userId = request.user.sub
const nameRaw = request.body?.displayName