nuxt-users
Version:
A comprehensive user management module for Nuxt 3 and Nuxt 4 applications with authentication, authorization, database support, and CLI tools
30 lines (29 loc) • 870 B
JavaScript
import { createError, defineEventHandler, readBody } from "h3";
import { useRuntimeConfig } from "#imports";
import { createUser } from "../../utils/user.js";
export default defineEventHandler(async (event) => {
const { nuxtUsers } = useRuntimeConfig();
const options = nuxtUsers;
const body = await readBody(event);
if (!body.email || !body.name || !body.password) {
throw createError({
statusCode: 400,
statusMessage: "Missing required fields: email, name, password"
});
}
try {
const newUser = await createUser({
email: body.email,
name: body.name,
password: body.password,
role: body.role
// role is optional
}, options);
return { user: newUser };
} catch (error) {
throw createError({
statusCode: 500,
statusMessage: `Error creating user: ${error.message}`
});
}
});