Refactor email templates to use plain text format and update sender addresses

- Simplified the magic link email format to plain text for better compatibility.
- Updated the welcome email to use plain text and changed the sender address to match the domain.
- Enhanced event registration email format to plain text, removing HTML styling for a cleaner approach.
This commit is contained in:
Jennie Robinson Faber 2026-03-05 18:40:37 +00:00
parent 8143631364
commit c3c8b6bcd4
5 changed files with 132 additions and 626 deletions

View file

@ -0,0 +1,35 @@
import Member from '../../../../models/member.js'
import { connectDB } from '../../../../utils/mongoose.js'
import { validateBody } from '../../../../utils/validateBody.js'
import { adminRoleUpdateSchema } from '../../../../utils/schemas.js'
export default defineEventHandler(async (event) => {
const admin = await requireAdmin(event)
await connectDB()
const { role } = await validateBody(event, adminRoleUpdateSchema)
const memberId = getRouterParam(event, 'id')
// Prevent self-demotion
if (admin._id.toString() === memberId && role !== 'admin') {
throw createError({
statusCode: 400,
statusMessage: 'You cannot remove your own admin role.'
})
}
const member = await Member.findByIdAndUpdate(
memberId,
{ role },
{ new: true }
)
if (!member) {
throw createError({
statusCode: 404,
statusMessage: 'Member not found.'
})
}
return { success: true, member }
})