feat: latin-only slugs, server-side avatar generation, remove unused User fields

This commit is contained in:
Kirill
2026-05-22 19:32:30 +05:00
parent 02c7d7ba36
commit 20e4b1e0ab
9 changed files with 48 additions and 24 deletions
+3 -1
View File
@@ -1,4 +1,5 @@
import { normalizeEmail } from './auth.js'
import { generateAvatar } from './generate-avatar.js'
import { prisma } from './prisma.js'
export async function ensureAdminUser() {
@@ -8,10 +9,11 @@ export async function ensureAdminUser() {
throw new Error('ADMIN_EMAIL должен быть валидным email')
}
const avatarUri = await generateAvatar(adminEmail)
await prisma.user.upsert({
where: { email: adminEmail },
update: {},
create: { email: adminEmail },
create: { email: adminEmail, avatar: avatarUri, avatarStyle: 'avataaars' },
})
// Ensure admin notification settings exist
+9
View File
@@ -0,0 +1,9 @@
import { createAvatar } from '@dicebear/core'
import { avataaars } from '@dicebear/collection'
const DEFAULT_STYLE = avataaars
export async function generateAvatar(seed) {
const avatar = createAvatar(DEFAULT_STYLE, { seed: String(seed) })
return avatar.toDataUri()
}