Path: blob/master/src/packages/frontend/compute/cloud-filesystem/regions.ts
1503 views
import { redux } from "@cocalc/frontend/app-framework";1import { field_cmp } from "@cocalc/util/misc";23export async function getRecentRegions(project_id): Promise<string[]> {4const computeServers = redux5.getProjectStore(project_id)6.get("compute_servers");7if (computeServers == null) {8return [];9}10const v: { last_edited: Date; region: string }[] = [];11for (const [, x] of computeServers) {12const last_edited = x.get("last_edited");13if (last_edited == null) continue;14const region = x.getIn(["configuration", "region"]);15if (region == null) continue;16v.push({ last_edited, region });17}18const regions = v19.sort(field_cmp("last_edited"))20.map(({ region }) => region)21.reverse();22const w: string[] = [];23for (const region of regions) {24if (!w.includes(region)) {25w.push(region);26}27}28return w;29}303132