feat: latin-only slugs, server-side avatar generation, remove unused User fields
This commit is contained in:
Vendored
+3
-1
@@ -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
|
||||
|
||||
@@ -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()
|
||||
}
|
||||
Reference in New Issue
Block a user