Path: blob/master/src/packages/next/pages/api/v2/accounts/set-password.ts
1452 views
/*1Set password for an existing account.2*/34import setPassword from "@cocalc/server/accounts/set-password";5import getAccountId from "lib/account/get-account";6import getParams from "lib/api/get-params";78import { apiRoute, apiRouteOperation } from "lib/api";9import { SuccessStatus } from "lib/api/status";10import {11SetAccountPasswordInputSchema,12SetAccountPasswordOutputSchema,13} from "lib/api/schema/accounts/set-password";1415async function handle(req, res) {16const account_id = await getAccountId(req);17if (account_id == null) {18res.json({ error: "must be signed in" });19return;20}21const { currentPassword, newPassword } = getParams(req);22try {23await setPassword(account_id, currentPassword, newPassword);24res.json(SuccessStatus);25} catch (err) {26res.json({ error: err.message });27}28}2930export default apiRoute({31setPassword: apiRouteOperation({32method: "POST",33openApiOperation: {34tags: ["Accounts"],35},36})37.input({38contentType: "application/json",39body: SetAccountPasswordInputSchema,40})41.outputs([42{43status: 200,44contentType: "application/json",45body: SetAccountPasswordOutputSchema,46},47])48.handler(handle),49});505152