Path: blob/master/src/packages/next/pages/api/v2/accounts/delete.ts
1451 views
/*1Delete the account that the user is currently signed in using.2*/34import getAccountId from "lib/account/get-account";5import deleteAccount from "@cocalc/server/accounts/delete";6import isPost from "lib/api/is-post";7import { apiRoute, apiRouteOperation } from "lib/api";8import { SuccessStatus } from "lib/api/status";9import { DeleteAccountOutputSchema } from "lib/api/schema/accounts/delete";1011async function handle(req, res) {12try {13if (isPost(req, res)) {14const account_id = await getAccountId(req);15if (!account_id) {16throw Error("must be signed in");17}18await deleteAccount(account_id);19res.json(SuccessStatus);20} else {21throw Error("must be a POST request");22}23} catch (err) {24res.json({ error: err.message });25}26}2728export default apiRoute({29delete: apiRouteOperation({30method: "POST",31openApiOperation: {32tags: ["Accounts"],33},34})35.outputs([36{37status: 200,38contentType: "application/json",39body: DeleteAccountOutputSchema,40},41])42.handler(handle),43});444546