32 lines
861 B
JavaScript
32 lines
861 B
JavaScript
import { normalizeEmail } from './auth.js'
|
|
import { prisma } from './prisma.js'
|
|
|
|
export async function ensureAdminUser() {
|
|
const adminEmail = normalizeEmail(process.env.ADMIN_EMAIL)
|
|
if (!adminEmail) return
|
|
if (!adminEmail.includes('@')) {
|
|
throw new Error('ADMIN_EMAIL должен быть валидным email')
|
|
}
|
|
|
|
const admin = await prisma.user.upsert({
|
|
where: { email: adminEmail },
|
|
update: {},
|
|
create: { email: adminEmail },
|
|
})
|
|
|
|
// Ensure admin notification settings exist
|
|
const existing = await prisma.adminNotificationSettings.findFirst()
|
|
if (!existing) {
|
|
await prisma.adminNotificationSettings.create({
|
|
data: {
|
|
emailEnabled: true,
|
|
telegramEnabled: false,
|
|
newOrder: true,
|
|
newOrderMessage: true,
|
|
newReview: true,
|
|
authCodeDuplicate: false,
|
|
},
|
|
})
|
|
}
|
|
}
|