nuxt-users
Version:
A comprehensive user management module for Nuxt 3 and Nuxt 4 applications with authentication, authorization, database support, and CLI tools
37 lines (36 loc) • 940 B
JavaScript
import { createError, defineEventHandler, readBody } from "h3";
import { useRuntimeConfig } from "#imports";
import { updateUser } from "../../utils/user.js";
export default defineEventHandler(async (event) => {
const { nuxtUsers } = useRuntimeConfig();
const options = nuxtUsers;
const user = event.context.user;
if (!user) {
throw createError({
statusCode: 401,
statusMessage: "Unauthorized"
});
}
const body = await readBody(event);
if (body.role) {
delete body.role;
}
if (body.active) {
delete body.active;
}
try {
const updatedUser = await updateUser(user.id, body, options);
return { user: updatedUser };
} catch (error) {
if (error instanceof Error) {
throw createError({
statusCode: 400,
statusMessage: error.message
});
}
throw createError({
statusCode: 400,
statusMessage: "An unknown error occurred"
});
}
});