UNPKG

smc-hub

Version:

CoCalc: Backend webserver component

40 lines (35 loc) 1.17 kB
/* * This file is part of CoCalc: Copyright © 2020 Sagemath, Inc. * License: AGPLv3 s.t. "Commons Clause" – see LICENSE.md for details */ import { PostgreSQL } from "../types"; import { query } from "../query"; import { number_of_running_projects_using_license, number_of_projects_with_license_applied } from "./analytics"; export async function site_license_public_info( db: PostgreSQL, license_id: string ): Promise<number> { // Get information about the license itself: const obj = await query({ db, select: [ "title", "description", "expires", "activates", "upgrades", "quota", "run_limit", "managers", ], table: "site_licenses", where: { id: license_id }, one: true, }); if (!obj) throw Error(`no license with id ${license_id}`); // Get number of runnings projects with this license applied. obj.running = await number_of_running_projects_using_license(db, license_id); // Get number of projects with this license applied (may not be running or actually using license). obj.applied = await number_of_projects_with_license_applied(db, license_id); return obj; }