/
Elnik87
/
manicure
Обзор
Документация
Войти
/
Elnik87
/
manicure
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
server/api/user/index.patch.ts
59 строк
2 KB
Елизаров Евгений
Первый коммит маникюрки
12 сен 2025, 07:48
12 сен 2025, 07:48
6a28a7f
Код
Авторство
О чём код?
import { User } from "@s/models/users"; import { defineEventHandler } from "h3"; export default defineEventHandler(async (event) => { try { const { id } = getQuery(event); const body = await readBody(event); // Валидация входных данных if (!id) { throw createError({ statusCode: 400, message: "ID пользователя не указан" }); } if (!body.newPassword && !body.newUsername) { throw createError({ statusCode: 400, message: "Не указаны данные для обновления" }); } // Находим пользователя const user = await User.findById(id); if (!user) { throw createError({ statusCode: 404, message: "Пользователь не найден" }); } // Обновляем только переданные поля if (body.newUsername) user.username = body.newUsername; if (body.newPassword) user.password = await hashPassword(body.newPassword); // Сохраняем изменения await user.save(); return { success: true, data: { user: { ...user.toObject(), password: undefined } } }; } catch (error) { console.error('User update error:', error); } // throw createError({ // statusCode: error.statusCode || 500, // message: error.message || "Ошибка при обновлении пользователя", // data: error.data || {} // }); // } });