Path: blob/master/src/packages/next/pages/api/v2/compute/undelete-server.ts
1452 views
/*1Undelete a compute server.2*/34import getAccountId from "lib/account/get-account";5import undeleteServer from "@cocalc/server/compute/undelete-server";6import getParams from "lib/api/get-params";78import { apiRoute, apiRouteOperation } from "lib/api";9import { OkStatus } from "lib/api/status";10import {11UndeleteComputeServerInputSchema,12UndeleteComputeServerOutputSchema,13} from "lib/api/schema/compute/undelete-server";1415async function handle(req, res) {16try {17res.json(await get(req));18} catch (err) {19res.json({ error: `${err.message}` });20return;21}22}2324async function get(req) {25const account_id = await getAccountId(req);26if (!account_id) {27throw Error("must be signed in");28}29const { id } = getParams(req);30await undeleteServer({31account_id,32id,33});34return OkStatus;35}3637export default apiRoute({38undeleteServer: apiRouteOperation({39method: "POST",40openApiOperation: {41tags: ["Compute"],42},43})44.input({45contentType: "application/json",46body: UndeleteComputeServerInputSchema,47})48.outputs([49{50status: 200,51contentType: "application/json",52body: UndeleteComputeServerOutputSchema,53},54])55.handler(handle),56});575859