UNPKG

nuxt-users

Version:

A comprehensive user management module for Nuxt 3 and Nuxt 4 applications with authentication, authorization, database support, and CLI tools

34 lines (33 loc) 891 B
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; } 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" }); } });