Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
sagemathinc
GitHub Repository: sagemathinc/cocalc
Path: blob/master/src/packages/frontend/course/compute/synctable.ts
1503 views
1
import { webapp_client } from "@cocalc/frontend/webapp-client";
2
3
export async function getSyncTable({
4
course_project_id,
5
course_server_id,
6
fields,
7
}: {
8
course_project_id: string;
9
course_server_id: number;
10
fields: string[];
11
}) {
12
const spec: any = { id: null, course_project_id, course_server_id };
13
for (const field of fields) {
14
if (spec[field] === undefined) {
15
spec[field] = null;
16
}
17
}
18
const query = {
19
compute_servers_by_course: [spec],
20
};
21
22
return await webapp_client.sync_client.sync_table(query);
23
}
24
25
export async function getComputeServers({
26
project_id,
27
course_project_id,
28
course_server_id,
29
fields = [],
30
}: {
31
project_id: string;
32
course_project_id: string;
33
course_server_id: number;
34
fields?: string[];
35
}) {
36
const spec: any = {
37
id: null,
38
course_project_id,
39
course_server_id,
40
project_id,
41
};
42
for (const field of fields) {
43
if (spec[field] === undefined) {
44
spec[field] = null;
45
}
46
}
47
const v = await webapp_client.async_query({
48
query: { compute_servers: [spec] },
49
});
50
return v.query.compute_servers;
51
}
52
53