"use strict";
/*
Cancel a subscription for a signed in customer.
*/
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const cancel_subscription_1 = __importDefault(require("@cocalc/server/billing/cancel-subscription"));
const get_account_1 = __importDefault(require("lib/account/get-account"));
const get_params_1 = __importDefault(require("lib/api/get-params"));
async function handle(req, res) {
    try {
        res.json(await cancel(req));
    }
    catch (err) {
        res.json({ error: `${err.message}` });
        return;
    }
}
exports.default = handle;
async function cancel(req) {
    const account_id = await (0, get_account_1.default)(req);
    if (account_id == null) {
        throw Error("must be signed in to set stripe default card");
    }
    const { id } = (0, get_params_1.default)(req);
    if (!id) {
        throw Error("id of subscription method must be specified");
    }
    await (0, cancel_subscription_1.default)(account_id, id);
    return { success: true };
}
//# sourceMappingURL=cancel-subscription.js.map