UNPKG

@cocalc/server

Version:

CoCalc server functionality: functions used by either the hub and the next.js server

30 lines (26 loc) 1.09 kB
/* * This file is part of CoCalc: Copyright © 2020 Sagemath, Inc. * License: AGPLv3 s.t. "Commons Clause" – see LICENSE.md for details */ import { describeQuotaFromInfo } from "@cocalc/util/licenses/describe-quota"; import { PurchaseInfo } from "@cocalc/util/licenses/purchase/types"; import { plural } from "@cocalc/util/misc"; import { getDays } from "@cocalc/util/stripe/timecalcs"; export function getProductName(info: PurchaseInfo): string { // Similar to getProductId, but meant to be human readable. // This name is what customers see on invoices, // so it's very valuable as it reflects what they bought clearly. const period = getPeriod(info); // ATTN: this is the name for an SKU, not the individual product the user buys. // Hence this must not include the name of the VM or disk. const desc = describeQuotaFromInfo(info, false); return `${desc} - ${period}`; } function getPeriod(info: PurchaseInfo) { if (info.subscription == "no") { const n = getDays(info); return `${n} ${plural(n, "day")}`; } else { return "subscription"; } }