Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
sagemathinc
GitHub Repository: sagemathinc/cocalc
Path: blob/master/src/packages/next/pages/api/v2/purchases/get-service-cost.ts
1454 views
1
/*
2
Let user get purchase quotas.
3
4
service - a single service name or an array of service names.
5
- if array, returns map from service name to cost.
6
*/
7
8
import getParams from "lib/api/get-params";
9
import getServiceCost from "@cocalc/server/purchases/get-service-cost";
10
import { is_array } from "@cocalc/util/misc";
11
import { zipObject } from "lodash";
12
13
export default async function handle(req, res) {
14
try {
15
res.json(await get(req));
16
} catch (err) {
17
res.json({ error: `${err.message}` });
18
return;
19
}
20
}
21
22
async function get(req) {
23
const { service } = getParams(req);
24
if (is_array(service)) {
25
const v = await Promise.all(service.map(getServiceCost));
26
return zipObject(service, v);
27
} else {
28
return await getServiceCost(service);
29
}
30
}
31
32