@agi-ventures-canada/hackathon-cli 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/cli.mjs +11 -0
- package/dist/_chunks/assign.mjs +35 -0
- package/dist/_chunks/assign.mjs.map +1 -0
- package/dist/_chunks/assignments-create.mjs +37 -0
- package/dist/_chunks/assignments-create.mjs.map +1 -0
- package/dist/_chunks/assignments-delete.mjs +22 -0
- package/dist/_chunks/assignments-delete.mjs.map +1 -0
- package/dist/_chunks/assignments-list.mjs +35 -0
- package/dist/_chunks/assignments-list.mjs.map +1 -0
- package/dist/_chunks/auto-assign.mjs +31 -0
- package/dist/_chunks/auto-assign.mjs.map +1 -0
- package/dist/_chunks/calculate.mjs +18 -0
- package/dist/_chunks/calculate.mjs.map +1 -0
- package/dist/_chunks/cancel.mjs +22 -0
- package/dist/_chunks/cancel.mjs.map +1 -0
- package/dist/_chunks/config.mjs +70 -0
- package/dist/_chunks/config.mjs.map +1 -0
- package/dist/_chunks/constants.mjs +14 -0
- package/dist/_chunks/constants.mjs.map +1 -0
- package/dist/_chunks/create.mjs +66 -0
- package/dist/_chunks/create.mjs.map +1 -0
- package/dist/_chunks/create2.mjs +47 -0
- package/dist/_chunks/create2.mjs.map +1 -0
- package/dist/_chunks/create3.mjs +51 -0
- package/dist/_chunks/create3.mjs.map +1 -0
- package/dist/_chunks/create4.mjs +55 -0
- package/dist/_chunks/create4.mjs.map +1 -0
- package/dist/_chunks/create5.mjs +60 -0
- package/dist/_chunks/create5.mjs.map +1 -0
- package/dist/_chunks/create6.mjs +57 -0
- package/dist/_chunks/create6.mjs.map +1 -0
- package/dist/_chunks/criteria-create.mjs +77 -0
- package/dist/_chunks/criteria-create.mjs.map +1 -0
- package/dist/_chunks/criteria-delete.mjs +22 -0
- package/dist/_chunks/criteria-delete.mjs.map +1 -0
- package/dist/_chunks/criteria-list.mjs +35 -0
- package/dist/_chunks/criteria-list.mjs.map +1 -0
- package/dist/_chunks/criteria-update.mjs +49 -0
- package/dist/_chunks/criteria-update.mjs.map +1 -0
- package/dist/_chunks/delete.mjs +24 -0
- package/dist/_chunks/delete.mjs.map +1 -0
- package/dist/_chunks/delete2.mjs +22 -0
- package/dist/_chunks/delete2.mjs.map +1 -0
- package/dist/_chunks/delete3.mjs +22 -0
- package/dist/_chunks/delete3.mjs.map +1 -0
- package/dist/_chunks/delete4.mjs +22 -0
- package/dist/_chunks/delete4.mjs.map +1 -0
- package/dist/_chunks/delete5.mjs +22 -0
- package/dist/_chunks/delete5.mjs.map +1 -0
- package/dist/_chunks/get.mjs +61 -0
- package/dist/_chunks/get.mjs.map +1 -0
- package/dist/_chunks/get2.mjs +43 -0
- package/dist/_chunks/get2.mjs.map +1 -0
- package/dist/_chunks/get3.mjs +39 -0
- package/dist/_chunks/get3.mjs.map +1 -0
- package/dist/_chunks/get4.mjs +47 -0
- package/dist/_chunks/get4.mjs.map +1 -0
- package/dist/_chunks/hackathons.mjs +64 -0
- package/dist/_chunks/hackathons.mjs.map +1 -0
- package/dist/_chunks/invitations-cancel.mjs +22 -0
- package/dist/_chunks/invitations-cancel.mjs.map +1 -0
- package/dist/_chunks/invitations-list.mjs +31 -0
- package/dist/_chunks/invitations-list.mjs.map +1 -0
- package/dist/_chunks/judges-add.mjs +37 -0
- package/dist/_chunks/judges-add.mjs.map +1 -0
- package/dist/_chunks/judges-list.mjs +35 -0
- package/dist/_chunks/judges-list.mjs.map +1 -0
- package/dist/_chunks/judges-remove.mjs +22 -0
- package/dist/_chunks/judges-remove.mjs.map +1 -0
- package/dist/_chunks/list.mjs +39 -0
- package/dist/_chunks/list.mjs.map +1 -0
- package/dist/_chunks/list2.mjs +37 -0
- package/dist/_chunks/list2.mjs.map +1 -0
- package/dist/_chunks/list3.mjs +31 -0
- package/dist/_chunks/list3.mjs.map +1 -0
- package/dist/_chunks/list4.mjs +35 -0
- package/dist/_chunks/list4.mjs.map +1 -0
- package/dist/_chunks/list5.mjs +39 -0
- package/dist/_chunks/list5.mjs.map +1 -0
- package/dist/_chunks/list6.mjs +40 -0
- package/dist/_chunks/list6.mjs.map +1 -0
- package/dist/_chunks/login.mjs +114 -0
- package/dist/_chunks/login.mjs.map +1 -0
- package/dist/_chunks/logout.mjs +16 -0
- package/dist/_chunks/logout.mjs.map +1 -0
- package/dist/_chunks/org.mjs +35 -0
- package/dist/_chunks/org.mjs.map +1 -0
- package/dist/_chunks/pick-results.mjs +35 -0
- package/dist/_chunks/pick-results.mjs.map +1 -0
- package/dist/_chunks/publish.mjs +22 -0
- package/dist/_chunks/publish.mjs.map +1 -0
- package/dist/_chunks/reorder.mjs +16 -0
- package/dist/_chunks/reorder.mjs.map +1 -0
- package/dist/_chunks/reorder2.mjs +16 -0
- package/dist/_chunks/reorder2.mjs.map +1 -0
- package/dist/_chunks/resolve.mjs +15 -0
- package/dist/_chunks/resolve.mjs.map +1 -0
- package/dist/_chunks/result.mjs +46 -0
- package/dist/_chunks/result.mjs.map +1 -0
- package/dist/_chunks/results.mjs +43 -0
- package/dist/_chunks/results.mjs.map +1 -0
- package/dist/_chunks/submissions.mjs +35 -0
- package/dist/_chunks/submissions.mjs.map +1 -0
- package/dist/_chunks/unassign.mjs +22 -0
- package/dist/_chunks/unassign.mjs.map +1 -0
- package/dist/_chunks/unpublish.mjs +22 -0
- package/dist/_chunks/unpublish.mjs.map +1 -0
- package/dist/_chunks/update.mjs +47 -0
- package/dist/_chunks/update.mjs.map +1 -0
- package/dist/_chunks/update2.mjs +45 -0
- package/dist/_chunks/update2.mjs.map +1 -0
- package/dist/_chunks/update3.mjs +49 -0
- package/dist/_chunks/update3.mjs.map +1 -0
- package/dist/_chunks/update4.mjs +48 -0
- package/dist/_chunks/update4.mjs.map +1 -0
- package/dist/_chunks/whoami.mjs +31 -0
- package/dist/_chunks/whoami.mjs.map +1 -0
- package/dist/cli.d.mts +1 -0
- package/dist/cli.mjs +711 -0
- package/dist/cli.mjs.map +1 -0
- package/package.json +35 -0
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { i as formatTable, n as formatJson } from "../cli.mjs";
|
|
2
|
+
//#region src/commands/results/get.ts
|
|
3
|
+
async function runResultsGet(client, hackathonId, options) {
|
|
4
|
+
if (!hackathonId) {
|
|
5
|
+
console.error("Usage: oatmeal results get <hackathon-id>");
|
|
6
|
+
process.exit(1);
|
|
7
|
+
}
|
|
8
|
+
const data = await client.get(`/api/dashboard/hackathons/${hackathonId}/results`);
|
|
9
|
+
if (options.json) {
|
|
10
|
+
console.log(formatJson(data));
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
if (!data.rankings?.length) {
|
|
14
|
+
console.log("No results available. Run 'oatmeal results calculate <id>' first.");
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
console.log(formatTable(data.rankings, [
|
|
18
|
+
{
|
|
19
|
+
key: "rank",
|
|
20
|
+
label: "#"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
key: "submission_name",
|
|
24
|
+
label: "Submission"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
key: "team_name",
|
|
28
|
+
label: "Team"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
key: "total_score",
|
|
32
|
+
label: "Score"
|
|
33
|
+
}
|
|
34
|
+
]));
|
|
35
|
+
}
|
|
36
|
+
//#endregion
|
|
37
|
+
export { runResultsGet };
|
|
38
|
+
|
|
39
|
+
//# sourceMappingURL=get3.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get3.mjs","names":[],"sources":["../../src/commands/results/get.ts"],"sourcesContent":["import type { OatmealClient } from \"../../client.js\"\nimport { formatJson, formatTable } from \"../../output.js\"\nimport type { ResultsData } from \"../../types.js\"\n\nexport async function runResultsGet(\n client: OatmealClient,\n hackathonId: string,\n options: { json?: boolean }\n): Promise<void> {\n if (!hackathonId) {\n console.error(\"Usage: oatmeal results get <hackathon-id>\")\n process.exit(1)\n }\n\n const data = await client.get<ResultsData>(\n `/api/dashboard/hackathons/${hackathonId}/results`\n )\n\n if (options.json) {\n console.log(formatJson(data))\n return\n }\n\n if (!data.rankings?.length) {\n console.log(\"No results available. Run 'oatmeal results calculate <id>' first.\")\n return\n }\n\n console.log(\n formatTable(data.rankings, [\n { key: \"rank\", label: \"#\" },\n { key: \"submission_name\", label: \"Submission\" },\n { key: \"team_name\", label: \"Team\" },\n { key: \"total_score\", label: \"Score\" },\n ])\n )\n}\n"],"mappings":";;AAIA,eAAsB,cACpB,QACA,aACA,SACe;AACf,KAAI,CAAC,aAAa;AAChB,UAAQ,MAAM,4CAA4C;AAC1D,UAAQ,KAAK,EAAE;;CAGjB,MAAM,OAAO,MAAM,OAAO,IACxB,6BAA6B,YAAY,UAC1C;AAED,KAAI,QAAQ,MAAM;AAChB,UAAQ,IAAI,WAAW,KAAK,CAAC;AAC7B;;AAGF,KAAI,CAAC,KAAK,UAAU,QAAQ;AAC1B,UAAQ,IAAI,oEAAoE;AAChF;;AAGF,SAAQ,IACN,YAAY,KAAK,UAAU;EACzB;GAAE,KAAK;GAAQ,OAAO;GAAK;EAC3B;GAAE,KAAK;GAAmB,OAAO;GAAc;EAC/C;GAAE,KAAK;GAAa,OAAO;GAAQ;EACnC;GAAE,KAAK;GAAe,OAAO;;EAC9B,CAAC,CACH"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { n as formatJson, t as formatDetail } from "../cli.mjs";
|
|
2
|
+
//#region src/commands/schedules/get.ts
|
|
3
|
+
async function runSchedulesGet(client, scheduleId, options) {
|
|
4
|
+
if (!scheduleId) {
|
|
5
|
+
console.error("Usage: oatmeal schedules get <schedule-id>");
|
|
6
|
+
process.exit(1);
|
|
7
|
+
}
|
|
8
|
+
const schedule = await client.get(`/api/dashboard/schedules/${scheduleId}`);
|
|
9
|
+
if (options.json) {
|
|
10
|
+
console.log(formatJson(schedule));
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
console.log(formatDetail([
|
|
14
|
+
{
|
|
15
|
+
label: "ID",
|
|
16
|
+
value: schedule.id
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
label: "Name",
|
|
20
|
+
value: schedule.name
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
label: "Cron",
|
|
24
|
+
value: schedule.cron_expression
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
label: "Enabled",
|
|
28
|
+
value: String(schedule.enabled)
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
label: "Last Run",
|
|
32
|
+
value: schedule.last_run_at
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
label: "Next Run",
|
|
36
|
+
value: schedule.next_run_at
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
label: "Created",
|
|
40
|
+
value: schedule.created_at
|
|
41
|
+
}
|
|
42
|
+
]));
|
|
43
|
+
}
|
|
44
|
+
//#endregion
|
|
45
|
+
export { runSchedulesGet };
|
|
46
|
+
|
|
47
|
+
//# sourceMappingURL=get4.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get4.mjs","names":[],"sources":["../../src/commands/schedules/get.ts"],"sourcesContent":["import type { OatmealClient } from \"../../client.js\"\nimport { formatDetail, formatJson } from \"../../output.js\"\nimport type { Schedule } from \"../../types.js\"\n\nexport async function runSchedulesGet(\n client: OatmealClient,\n scheduleId: string,\n options: { json?: boolean }\n): Promise<void> {\n if (!scheduleId) {\n console.error(\"Usage: oatmeal schedules get <schedule-id>\")\n process.exit(1)\n }\n\n const schedule = await client.get<Schedule>(`/api/dashboard/schedules/${scheduleId}`)\n\n if (options.json) {\n console.log(formatJson(schedule))\n return\n }\n\n console.log(\n formatDetail([\n { label: \"ID\", value: schedule.id },\n { label: \"Name\", value: schedule.name },\n { label: \"Cron\", value: schedule.cron_expression },\n { label: \"Enabled\", value: String(schedule.enabled) },\n { label: \"Last Run\", value: schedule.last_run_at },\n { label: \"Next Run\", value: schedule.next_run_at },\n { label: \"Created\", value: schedule.created_at },\n ])\n )\n}\n"],"mappings":";;AAIA,eAAsB,gBACpB,QACA,YACA,SACe;AACf,KAAI,CAAC,YAAY;AACf,UAAQ,MAAM,6CAA6C;AAC3D,UAAQ,KAAK,EAAE;;CAGjB,MAAM,WAAW,MAAM,OAAO,IAAc,4BAA4B,aAAa;AAErF,KAAI,QAAQ,MAAM;AAChB,UAAQ,IAAI,WAAW,SAAS,CAAC;AACjC;;AAGF,SAAQ,IACN,aAAa;EACX;GAAE,OAAO;GAAM,OAAO,SAAS;GAAI;EACnC;GAAE,OAAO;GAAQ,OAAO,SAAS;GAAM;EACvC;GAAE,OAAO;GAAQ,OAAO,SAAS;GAAiB;EAClD;GAAE,OAAO;GAAW,OAAO,OAAO,SAAS,QAAA;GAAU;EACrD;GAAE,OAAO;GAAY,OAAO,SAAS;GAAa;EAClD;GAAE,OAAO;GAAY,OAAO,SAAS;GAAa;EAClD;GAAE,OAAO;GAAW,OAAO,SAAS;;EACrC,CAAC,CACH"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { i as formatTable, n as formatJson } from "../cli.mjs";
|
|
2
|
+
//#region src/commands/browse/hackathons.ts
|
|
3
|
+
function parseBrowseHackathonsOptions(args) {
|
|
4
|
+
const options = {};
|
|
5
|
+
for (let i = 0; i < args.length; i++) switch (args[i]) {
|
|
6
|
+
case "--search":
|
|
7
|
+
case "-s":
|
|
8
|
+
options.search = args[++i];
|
|
9
|
+
break;
|
|
10
|
+
case "--page":
|
|
11
|
+
options.page = parseInt(args[++i], 10);
|
|
12
|
+
break;
|
|
13
|
+
case "--limit":
|
|
14
|
+
options.limit = parseInt(args[++i], 10);
|
|
15
|
+
break;
|
|
16
|
+
case "--json":
|
|
17
|
+
options.json = true;
|
|
18
|
+
break;
|
|
19
|
+
}
|
|
20
|
+
return options;
|
|
21
|
+
}
|
|
22
|
+
async function runBrowseHackathons(client, args) {
|
|
23
|
+
const options = parseBrowseHackathonsOptions(args);
|
|
24
|
+
const params = {
|
|
25
|
+
q: options.search,
|
|
26
|
+
page: options.page,
|
|
27
|
+
limit: options.limit
|
|
28
|
+
};
|
|
29
|
+
const data = await client.get("/api/public/hackathons", { params });
|
|
30
|
+
if (options.json) {
|
|
31
|
+
console.log(formatJson(data));
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
if (!data.hackathons?.length) {
|
|
35
|
+
console.log("No hackathons found.");
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
console.log(formatTable(data.hackathons, [
|
|
39
|
+
{
|
|
40
|
+
key: "name",
|
|
41
|
+
label: "Name"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
key: "slug",
|
|
45
|
+
label: "Slug"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
key: "status",
|
|
49
|
+
label: "Status"
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
key: "starts_at",
|
|
53
|
+
label: "Starts"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
key: "ends_at",
|
|
57
|
+
label: "Ends"
|
|
58
|
+
}
|
|
59
|
+
]));
|
|
60
|
+
}
|
|
61
|
+
//#endregion
|
|
62
|
+
export { runBrowseHackathons };
|
|
63
|
+
|
|
64
|
+
//# sourceMappingURL=hackathons.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hackathons.mjs","names":[],"sources":["../../src/commands/browse/hackathons.ts"],"sourcesContent":["import type { OatmealClient } from \"../../client.js\"\nimport { formatJson, formatTable } from \"../../output.js\"\nimport type { Hackathon } from \"../../types.js\"\n\ninterface BrowseHackathonsOptions {\n search?: string\n page?: number\n limit?: number\n json?: boolean\n}\n\nexport function parseBrowseHackathonsOptions(args: string[]): BrowseHackathonsOptions {\n const options: BrowseHackathonsOptions = {}\n for (let i = 0; i < args.length; i++) {\n switch (args[i]) {\n case \"--search\":\n case \"-s\":\n options.search = args[++i]\n break\n case \"--page\":\n options.page = parseInt(args[++i], 10)\n break\n case \"--limit\":\n options.limit = parseInt(args[++i], 10)\n break\n case \"--json\":\n options.json = true\n break\n }\n }\n return options\n}\n\nexport async function runBrowseHackathons(\n client: OatmealClient,\n args: string[]\n): Promise<void> {\n const options = parseBrowseHackathonsOptions(args)\n\n const params: Record<string, string | number | undefined> = {\n q: options.search,\n page: options.page,\n limit: options.limit,\n }\n\n const data = await client.get<{ hackathons: Hackathon[] }>(\"/api/public/hackathons\", {\n params,\n })\n\n if (options.json) {\n console.log(formatJson(data))\n return\n }\n\n if (!data.hackathons?.length) {\n console.log(\"No hackathons found.\")\n return\n }\n\n console.log(\n formatTable(data.hackathons, [\n { key: \"name\", label: \"Name\" },\n { key: \"slug\", label: \"Slug\" },\n { key: \"status\", label: \"Status\" },\n { key: \"starts_at\", label: \"Starts\" },\n { key: \"ends_at\", label: \"Ends\" },\n ])\n )\n}\n"],"mappings":";;AAWA,SAAgB,6BAA6B,MAAyC;CACpF,MAAM,UAAmC,EAAE;AAC3C,MAAK,IAAI,IAAI,GAAG,IAAI,KAAK,QAAQ,IAC/B,SAAQ,KAAK,IAAb;EACE,KAAK;EACL,KAAK;AACH,WAAQ,SAAS,KAAK,EAAE;AACxB;EACF,KAAK;AACH,WAAQ,OAAO,SAAS,KAAK,EAAE,IAAI,GAAG;AACtC;EACF,KAAK;AACH,WAAQ,QAAQ,SAAS,KAAK,EAAE,IAAI,GAAG;AACvC;EACF,KAAK;AACH,WAAQ,OAAO;AACf;;AAGN,QAAO;;AAGT,eAAsB,oBACpB,QACA,MACe;CACf,MAAM,UAAU,6BAA6B,KAAK;CAElD,MAAM,SAAsD;EAC1D,GAAG,QAAQ;EACX,MAAM,QAAQ;EACd,OAAO,QAAQ;EAChB;CAED,MAAM,OAAO,MAAM,OAAO,IAAiC,0BAA0B,EACnF,QACD,CAAC;AAEF,KAAI,QAAQ,MAAM;AAChB,UAAQ,IAAI,WAAW,KAAK,CAAC;AAC7B;;AAGF,KAAI,CAAC,KAAK,YAAY,QAAQ;AAC5B,UAAQ,IAAI,uBAAuB;AACnC;;AAGF,SAAQ,IACN,YAAY,KAAK,YAAY;EAC3B;GAAE,KAAK;GAAQ,OAAO;GAAQ;EAC9B;GAAE,KAAK;GAAQ,OAAO;GAAQ;EAC9B;GAAE,KAAK;GAAU,OAAO;GAAU;EAClC;GAAE,KAAK;GAAa,OAAO;GAAU;EACrC;GAAE,KAAK;GAAW,OAAO;;EAC1B,CAAC,CACH"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { r as formatSuccess } from "../cli.mjs";
|
|
2
|
+
import * as p from "@clack/prompts";
|
|
3
|
+
//#region src/commands/judging/invitations-cancel.ts
|
|
4
|
+
async function runInvitationsCancel(client, hackathonId, invitationId, options) {
|
|
5
|
+
if (!invitationId) {
|
|
6
|
+
console.error("Usage: oatmeal judging invitations cancel <hackathon-id> <invitation-id>");
|
|
7
|
+
process.exit(1);
|
|
8
|
+
}
|
|
9
|
+
if (!options.yes) {
|
|
10
|
+
const confirm = await p.confirm({ message: `Cancel invitation ${invitationId}?` });
|
|
11
|
+
if (p.isCancel(confirm) || !confirm) {
|
|
12
|
+
p.log.info("Cancelled.");
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
await client.delete(`/api/dashboard/hackathons/${hackathonId}/judging/invitations/${invitationId}`);
|
|
17
|
+
console.log(formatSuccess(`Cancelled invitation ${invitationId}`));
|
|
18
|
+
}
|
|
19
|
+
//#endregion
|
|
20
|
+
export { runInvitationsCancel };
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=invitations-cancel.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"invitations-cancel.mjs","names":[],"sources":["../../src/commands/judging/invitations-cancel.ts"],"sourcesContent":["import * as p from \"@clack/prompts\"\nimport type { OatmealClient } from \"../../client.js\"\nimport { formatSuccess } from \"../../output.js\"\n\nexport async function runInvitationsCancel(\n client: OatmealClient,\n hackathonId: string,\n invitationId: string,\n options: { yes?: boolean }\n): Promise<void> {\n if (!invitationId) {\n console.error(\"Usage: oatmeal judging invitations cancel <hackathon-id> <invitation-id>\")\n process.exit(1)\n }\n\n if (!options.yes) {\n const confirm = await p.confirm({ message: `Cancel invitation ${invitationId}?` })\n if (p.isCancel(confirm) || !confirm) {\n p.log.info(\"Cancelled.\")\n return\n }\n }\n\n await client.delete(\n `/api/dashboard/hackathons/${hackathonId}/judging/invitations/${invitationId}`\n )\n console.log(formatSuccess(`Cancelled invitation ${invitationId}`))\n}\n"],"mappings":";;;AAIA,eAAsB,qBACpB,QACA,aACA,cACA,SACe;AACf,KAAI,CAAC,cAAc;AACjB,UAAQ,MAAM,2EAA2E;AACzF,UAAQ,KAAK,EAAE;;AAGjB,KAAI,CAAC,QAAQ,KAAK;EAChB,MAAM,UAAU,MAAM,EAAE,QAAQ,EAAE,SAAS,qBAAqB,aAAa,IAAI,CAAC;AAClF,MAAI,EAAE,SAAS,QAAQ,IAAI,CAAC,SAAS;AACnC,KAAE,IAAI,KAAK,aAAa;AACxB;;;AAIJ,OAAM,OAAO,OACX,6BAA6B,YAAY,uBAAuB,eACjE;AACD,SAAQ,IAAI,cAAc,wBAAwB,eAAe,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { i as formatTable, n as formatJson } from "../cli.mjs";
|
|
2
|
+
//#region src/commands/judging/invitations-list.ts
|
|
3
|
+
async function runInvitationsList(client, hackathonId, options) {
|
|
4
|
+
const data = await client.get(`/api/dashboard/hackathons/${hackathonId}/judging/invitations`);
|
|
5
|
+
if (options.json) {
|
|
6
|
+
console.log(formatJson(data));
|
|
7
|
+
return;
|
|
8
|
+
}
|
|
9
|
+
if (!data.invitations?.length) {
|
|
10
|
+
console.log("No pending invitations.");
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
console.log(formatTable(data.invitations, [
|
|
14
|
+
{
|
|
15
|
+
key: "email",
|
|
16
|
+
label: "Email"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
key: "status",
|
|
20
|
+
label: "Status"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
key: "created_at",
|
|
24
|
+
label: "Sent"
|
|
25
|
+
}
|
|
26
|
+
]));
|
|
27
|
+
}
|
|
28
|
+
//#endregion
|
|
29
|
+
export { runInvitationsList };
|
|
30
|
+
|
|
31
|
+
//# sourceMappingURL=invitations-list.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"invitations-list.mjs","names":[],"sources":["../../src/commands/judging/invitations-list.ts"],"sourcesContent":["import type { OatmealClient } from \"../../client.js\"\nimport { formatJson, formatTable } from \"../../output.js\"\nimport type { JudgeInvitation } from \"../../types.js\"\n\nexport async function runInvitationsList(\n client: OatmealClient,\n hackathonId: string,\n options: { json?: boolean }\n): Promise<void> {\n const data = await client.get<{ invitations: JudgeInvitation[] }>(\n `/api/dashboard/hackathons/${hackathonId}/judging/invitations`\n )\n\n if (options.json) {\n console.log(formatJson(data))\n return\n }\n\n if (!data.invitations?.length) {\n console.log(\"No pending invitations.\")\n return\n }\n\n console.log(\n formatTable(data.invitations, [\n { key: \"email\", label: \"Email\" },\n { key: \"status\", label: \"Status\" },\n { key: \"created_at\", label: \"Sent\" },\n ])\n )\n}\n"],"mappings":";;AAIA,eAAsB,mBACpB,QACA,aACA,SACe;CACf,MAAM,OAAO,MAAM,OAAO,IACxB,6BAA6B,YAAY,sBAC1C;AAED,KAAI,QAAQ,MAAM;AAChB,UAAQ,IAAI,WAAW,KAAK,CAAC;AAC7B;;AAGF,KAAI,CAAC,KAAK,aAAa,QAAQ;AAC7B,UAAQ,IAAI,0BAA0B;AACtC;;AAGF,SAAQ,IACN,YAAY,KAAK,aAAa;EAC5B;GAAE,KAAK;GAAS,OAAO;GAAS;EAChC;GAAE,KAAK;GAAU,OAAO;GAAU;EAClC;GAAE,KAAK;GAAc,OAAO;;EAC7B,CAAC,CACH"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { n as formatJson, r as formatSuccess } from "../cli.mjs";
|
|
2
|
+
//#region src/commands/judging/judges-add.ts
|
|
3
|
+
function parseJudgesAddOptions(args) {
|
|
4
|
+
const options = {};
|
|
5
|
+
for (let i = 0; i < args.length; i++) switch (args[i]) {
|
|
6
|
+
case "--email":
|
|
7
|
+
options.email = args[++i];
|
|
8
|
+
break;
|
|
9
|
+
case "--user-id":
|
|
10
|
+
options.userId = args[++i];
|
|
11
|
+
break;
|
|
12
|
+
case "--json":
|
|
13
|
+
options.json = true;
|
|
14
|
+
break;
|
|
15
|
+
}
|
|
16
|
+
return options;
|
|
17
|
+
}
|
|
18
|
+
async function runJudgesAdd(client, hackathonId, args) {
|
|
19
|
+
const options = parseJudgesAddOptions(args);
|
|
20
|
+
if (!options.email && !options.userId) {
|
|
21
|
+
console.error("Error: provide --email or --user-id");
|
|
22
|
+
process.exit(1);
|
|
23
|
+
}
|
|
24
|
+
const body = {};
|
|
25
|
+
if (options.email) body.email = options.email;
|
|
26
|
+
if (options.userId) body.user_id = options.userId;
|
|
27
|
+
const judge = await client.post(`/api/dashboard/hackathons/${hackathonId}/judging/judges`, body);
|
|
28
|
+
if (options.json) {
|
|
29
|
+
console.log(formatJson(judge));
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
console.log(formatSuccess(`Added judge ${judge.name ?? judge.email ?? judge.id}`));
|
|
33
|
+
}
|
|
34
|
+
//#endregion
|
|
35
|
+
export { runJudgesAdd };
|
|
36
|
+
|
|
37
|
+
//# sourceMappingURL=judges-add.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"judges-add.mjs","names":[],"sources":["../../src/commands/judging/judges-add.ts"],"sourcesContent":["import type { OatmealClient } from \"../../client.js\"\nimport { formatJson, formatSuccess } from \"../../output.js\"\nimport type { Judge } from \"../../types.js\"\n\ninterface JudgesAddOptions {\n email?: string\n userId?: string\n json?: boolean\n}\n\nexport function parseJudgesAddOptions(args: string[]): JudgesAddOptions {\n const options: JudgesAddOptions = {}\n for (let i = 0; i < args.length; i++) {\n switch (args[i]) {\n case \"--email\":\n options.email = args[++i]\n break\n case \"--user-id\":\n options.userId = args[++i]\n break\n case \"--json\":\n options.json = true\n break\n }\n }\n return options\n}\n\nexport async function runJudgesAdd(\n client: OatmealClient,\n hackathonId: string,\n args: string[]\n): Promise<void> {\n const options = parseJudgesAddOptions(args)\n\n if (!options.email && !options.userId) {\n console.error(\"Error: provide --email or --user-id\")\n process.exit(1)\n }\n\n const body: Record<string, string> = {}\n if (options.email) body.email = options.email\n if (options.userId) body.user_id = options.userId\n\n const judge = await client.post<Judge>(\n `/api/dashboard/hackathons/${hackathonId}/judging/judges`,\n body\n )\n\n if (options.json) {\n console.log(formatJson(judge))\n return\n }\n\n console.log(formatSuccess(`Added judge ${judge.name ?? judge.email ?? judge.id}`))\n}\n"],"mappings":";;AAUA,SAAgB,sBAAsB,MAAkC;CACtE,MAAM,UAA4B,EAAE;AACpC,MAAK,IAAI,IAAI,GAAG,IAAI,KAAK,QAAQ,IAC/B,SAAQ,KAAK,IAAb;EACE,KAAK;AACH,WAAQ,QAAQ,KAAK,EAAE;AACvB;EACF,KAAK;AACH,WAAQ,SAAS,KAAK,EAAE;AACxB;EACF,KAAK;AACH,WAAQ,OAAO;AACf;;AAGN,QAAO;;AAGT,eAAsB,aACpB,QACA,aACA,MACe;CACf,MAAM,UAAU,sBAAsB,KAAK;AAE3C,KAAI,CAAC,QAAQ,SAAS,CAAC,QAAQ,QAAQ;AACrC,UAAQ,MAAM,sCAAsC;AACpD,UAAQ,KAAK,EAAE;;CAGjB,MAAM,OAA+B,EAAE;AACvC,KAAI,QAAQ,MAAO,MAAK,QAAQ,QAAQ;AACxC,KAAI,QAAQ,OAAQ,MAAK,UAAU,QAAQ;CAE3C,MAAM,QAAQ,MAAM,OAAO,KACzB,6BAA6B,YAAY,kBACzC,KACD;AAED,KAAI,QAAQ,MAAM;AAChB,UAAQ,IAAI,WAAW,MAAM,CAAC;AAC9B;;AAGF,SAAQ,IAAI,cAAc,eAAe,MAAM,QAAQ,MAAM,SAAS,MAAM,KAAK,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { i as formatTable, n as formatJson } from "../cli.mjs";
|
|
2
|
+
//#region src/commands/judging/judges-list.ts
|
|
3
|
+
async function runJudgesList(client, hackathonId, options) {
|
|
4
|
+
const data = await client.get(`/api/dashboard/hackathons/${hackathonId}/judging/judges`);
|
|
5
|
+
if (options.json) {
|
|
6
|
+
console.log(formatJson(data));
|
|
7
|
+
return;
|
|
8
|
+
}
|
|
9
|
+
if (!data.judges?.length) {
|
|
10
|
+
console.log("No judges found.");
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
const rows = data.judges.map((j) => ({
|
|
14
|
+
...j,
|
|
15
|
+
progress: `${j.completed_count ?? 0}/${j.total_count ?? 0}`
|
|
16
|
+
}));
|
|
17
|
+
console.log(formatTable(rows, [
|
|
18
|
+
{
|
|
19
|
+
key: "name",
|
|
20
|
+
label: "Name"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
key: "email",
|
|
24
|
+
label: "Email"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
key: "progress",
|
|
28
|
+
label: "Progress"
|
|
29
|
+
}
|
|
30
|
+
]));
|
|
31
|
+
}
|
|
32
|
+
//#endregion
|
|
33
|
+
export { runJudgesList };
|
|
34
|
+
|
|
35
|
+
//# sourceMappingURL=judges-list.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"judges-list.mjs","names":[],"sources":["../../src/commands/judging/judges-list.ts"],"sourcesContent":["import type { OatmealClient } from \"../../client.js\"\nimport { formatJson, formatTable } from \"../../output.js\"\nimport type { Judge } from \"../../types.js\"\n\nexport async function runJudgesList(\n client: OatmealClient,\n hackathonId: string,\n options: { json?: boolean }\n): Promise<void> {\n const data = await client.get<{ judges: Judge[] }>(\n `/api/dashboard/hackathons/${hackathonId}/judging/judges`\n )\n\n if (options.json) {\n console.log(formatJson(data))\n return\n }\n\n if (!data.judges?.length) {\n console.log(\"No judges found.\")\n return\n }\n\n const rows = data.judges.map((j) => ({\n ...j,\n progress: `${j.completed_count ?? 0}/${j.total_count ?? 0}`,\n }))\n\n console.log(\n formatTable(rows, [\n { key: \"name\", label: \"Name\" },\n { key: \"email\", label: \"Email\" },\n { key: \"progress\", label: \"Progress\" },\n ])\n )\n}\n"],"mappings":";;AAIA,eAAsB,cACpB,QACA,aACA,SACe;CACf,MAAM,OAAO,MAAM,OAAO,IACxB,6BAA6B,YAAY,iBAC1C;AAED,KAAI,QAAQ,MAAM;AAChB,UAAQ,IAAI,WAAW,KAAK,CAAC;AAC7B;;AAGF,KAAI,CAAC,KAAK,QAAQ,QAAQ;AACxB,UAAQ,IAAI,mBAAmB;AAC/B;;CAGF,MAAM,OAAO,KAAK,OAAO,KAAK,OAAO;EACnC,GAAG;EACH,UAAU,GAAG,EAAE,mBAAmB,EAAE,GAAG,EAAE,eAAe;EACzD,EAAE;AAEH,SAAQ,IACN,YAAY,MAAM;EAChB;GAAE,KAAK;GAAQ,OAAO;GAAQ;EAC9B;GAAE,KAAK;GAAS,OAAO;GAAS;EAChC;GAAE,KAAK;GAAY,OAAO;;EAC3B,CAAC,CACH"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { r as formatSuccess } from "../cli.mjs";
|
|
2
|
+
import * as p from "@clack/prompts";
|
|
3
|
+
//#region src/commands/judging/judges-remove.ts
|
|
4
|
+
async function runJudgesRemove(client, hackathonId, participantId, options) {
|
|
5
|
+
if (!participantId) {
|
|
6
|
+
console.error("Usage: oatmeal judging judges remove <hackathon-id> <participant-id>");
|
|
7
|
+
process.exit(1);
|
|
8
|
+
}
|
|
9
|
+
if (!options.yes) {
|
|
10
|
+
const confirm = await p.confirm({ message: `Remove judge ${participantId}?` });
|
|
11
|
+
if (p.isCancel(confirm) || !confirm) {
|
|
12
|
+
p.log.info("Cancelled.");
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
await client.delete(`/api/dashboard/hackathons/${hackathonId}/judging/judges/${participantId}`);
|
|
17
|
+
console.log(formatSuccess(`Removed judge ${participantId}`));
|
|
18
|
+
}
|
|
19
|
+
//#endregion
|
|
20
|
+
export { runJudgesRemove };
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=judges-remove.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"judges-remove.mjs","names":[],"sources":["../../src/commands/judging/judges-remove.ts"],"sourcesContent":["import * as p from \"@clack/prompts\"\nimport type { OatmealClient } from \"../../client.js\"\nimport { formatSuccess } from \"../../output.js\"\n\nexport async function runJudgesRemove(\n client: OatmealClient,\n hackathonId: string,\n participantId: string,\n options: { yes?: boolean }\n): Promise<void> {\n if (!participantId) {\n console.error(\"Usage: oatmeal judging judges remove <hackathon-id> <participant-id>\")\n process.exit(1)\n }\n\n if (!options.yes) {\n const confirm = await p.confirm({ message: `Remove judge ${participantId}?` })\n if (p.isCancel(confirm) || !confirm) {\n p.log.info(\"Cancelled.\")\n return\n }\n }\n\n await client.delete(\n `/api/dashboard/hackathons/${hackathonId}/judging/judges/${participantId}`\n )\n console.log(formatSuccess(`Removed judge ${participantId}`))\n}\n"],"mappings":";;;AAIA,eAAsB,gBACpB,QACA,aACA,eACA,SACe;AACf,KAAI,CAAC,eAAe;AAClB,UAAQ,MAAM,uEAAuE;AACrF,UAAQ,KAAK,EAAE;;AAGjB,KAAI,CAAC,QAAQ,KAAK;EAChB,MAAM,UAAU,MAAM,EAAE,QAAQ,EAAE,SAAS,gBAAgB,cAAc,IAAI,CAAC;AAC9E,MAAI,EAAE,SAAS,QAAQ,IAAI,CAAC,SAAS;AACnC,KAAE,IAAI,KAAK,aAAa;AACxB;;;AAIJ,OAAM,OAAO,OACX,6BAA6B,YAAY,kBAAkB,gBAC5D;AACD,SAAQ,IAAI,cAAc,iBAAiB,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { i as formatTable, n as formatJson } from "../cli.mjs";
|
|
2
|
+
//#region src/commands/hackathons/list.ts
|
|
3
|
+
async function runHackathonsList(client, options) {
|
|
4
|
+
const data = await client.get("/api/dashboard/hackathons");
|
|
5
|
+
if (options.json) {
|
|
6
|
+
console.log(formatJson(data));
|
|
7
|
+
return;
|
|
8
|
+
}
|
|
9
|
+
if (!data.hackathons?.length) {
|
|
10
|
+
console.log("No hackathons found.");
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
console.log(formatTable(data.hackathons, [
|
|
14
|
+
{
|
|
15
|
+
key: "name",
|
|
16
|
+
label: "Name"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
key: "slug",
|
|
20
|
+
label: "Slug"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
key: "status",
|
|
24
|
+
label: "Status"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
key: "starts_at",
|
|
28
|
+
label: "Starts"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
key: "ends_at",
|
|
32
|
+
label: "Ends"
|
|
33
|
+
}
|
|
34
|
+
]));
|
|
35
|
+
}
|
|
36
|
+
//#endregion
|
|
37
|
+
export { runHackathonsList };
|
|
38
|
+
|
|
39
|
+
//# sourceMappingURL=list.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.mjs","names":[],"sources":["../../src/commands/hackathons/list.ts"],"sourcesContent":["import type { OatmealClient } from \"../../client.js\"\nimport { formatJson, formatTable } from \"../../output.js\"\nimport type { Hackathon } from \"../../types.js\"\n\nexport async function runHackathonsList(\n client: OatmealClient,\n options: { json?: boolean }\n): Promise<void> {\n const data = await client.get<{ hackathons: Hackathon[] }>(\"/api/dashboard/hackathons\")\n\n if (options.json) {\n console.log(formatJson(data))\n return\n }\n\n if (!data.hackathons?.length) {\n console.log(\"No hackathons found.\")\n return\n }\n\n console.log(\n formatTable(data.hackathons, [\n { key: \"name\", label: \"Name\" },\n { key: \"slug\", label: \"Slug\" },\n { key: \"status\", label: \"Status\" },\n { key: \"starts_at\", label: \"Starts\" },\n { key: \"ends_at\", label: \"Ends\" },\n ])\n )\n}\n"],"mappings":";;AAIA,eAAsB,kBACpB,QACA,SACe;CACf,MAAM,OAAO,MAAM,OAAO,IAAiC,4BAA4B;AAEvF,KAAI,QAAQ,MAAM;AAChB,UAAQ,IAAI,WAAW,KAAK,CAAC;AAC7B;;AAGF,KAAI,CAAC,KAAK,YAAY,QAAQ;AAC5B,UAAQ,IAAI,uBAAuB;AACnC;;AAGF,SAAQ,IACN,YAAY,KAAK,YAAY;EAC3B;GAAE,KAAK;GAAQ,OAAO;GAAQ;EAC9B;GAAE,KAAK;GAAQ,OAAO;GAAQ;EAC9B;GAAE,KAAK;GAAU,OAAO;GAAU;EAClC;GAAE,KAAK;GAAa,OAAO;GAAU;EACrC;GAAE,KAAK;GAAW,OAAO;;EAC1B,CAAC,CACH"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { i as formatTable, n as formatJson } from "../cli.mjs";
|
|
2
|
+
//#region src/commands/jobs/list.ts
|
|
3
|
+
async function runJobsList(client, args, options) {
|
|
4
|
+
let limit;
|
|
5
|
+
for (let i = 0; i < args.length; i++) if (args[i] === "--limit") limit = parseInt(args[++i], 10);
|
|
6
|
+
const data = await client.get("/api/dashboard/jobs", { params: { limit } });
|
|
7
|
+
if (options.json) {
|
|
8
|
+
console.log(formatJson(data));
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
if (!data.jobs?.length) {
|
|
12
|
+
console.log("No jobs found.");
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
console.log(formatTable(data.jobs, [
|
|
16
|
+
{
|
|
17
|
+
key: "id",
|
|
18
|
+
label: "ID"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
key: "type",
|
|
22
|
+
label: "Type"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
key: "status",
|
|
26
|
+
label: "Status"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
key: "created_at",
|
|
30
|
+
label: "Created"
|
|
31
|
+
}
|
|
32
|
+
]));
|
|
33
|
+
}
|
|
34
|
+
//#endregion
|
|
35
|
+
export { runJobsList };
|
|
36
|
+
|
|
37
|
+
//# sourceMappingURL=list2.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list2.mjs","names":[],"sources":["../../src/commands/jobs/list.ts"],"sourcesContent":["import type { OatmealClient } from \"../../client.js\"\nimport { formatJson, formatTable } from \"../../output.js\"\nimport type { Job } from \"../../types.js\"\n\nexport async function runJobsList(\n client: OatmealClient,\n args: string[],\n options: { json?: boolean }\n): Promise<void> {\n let limit: number | undefined\n for (let i = 0; i < args.length; i++) {\n if (args[i] === \"--limit\") limit = parseInt(args[++i], 10)\n }\n\n const data = await client.get<{ jobs: Job[] }>(\"/api/dashboard/jobs\", {\n params: { limit },\n })\n\n if (options.json) {\n console.log(formatJson(data))\n return\n }\n\n if (!data.jobs?.length) {\n console.log(\"No jobs found.\")\n return\n }\n\n console.log(\n formatTable(data.jobs, [\n { key: \"id\", label: \"ID\" },\n { key: \"type\", label: \"Type\" },\n { key: \"status\", label: \"Status\" },\n { key: \"created_at\", label: \"Created\" },\n ])\n )\n}\n"],"mappings":";;AAIA,eAAsB,YACpB,QACA,MACA,SACe;CACf,IAAI;AACJ,MAAK,IAAI,IAAI,GAAG,IAAI,KAAK,QAAQ,IAC/B,KAAI,KAAK,OAAO,UAAW,SAAQ,SAAS,KAAK,EAAE,IAAI,GAAG;CAG5D,MAAM,OAAO,MAAM,OAAO,IAAqB,uBAAuB,EACpE,QAAQ,EAAE,OAAO,EAClB,CAAC;AAEF,KAAI,QAAQ,MAAM;AAChB,UAAQ,IAAI,WAAW,KAAK,CAAC;AAC7B;;AAGF,KAAI,CAAC,KAAK,MAAM,QAAQ;AACtB,UAAQ,IAAI,iBAAiB;AAC7B;;AAGF,SAAQ,IACN,YAAY,KAAK,MAAM;EACrB;GAAE,KAAK;GAAM,OAAO;GAAM;EAC1B;GAAE,KAAK;GAAQ,OAAO;GAAQ;EAC9B;GAAE,KAAK;GAAU,OAAO;GAAU;EAClC;GAAE,KAAK;GAAc,OAAO;;EAC7B,CAAC,CACH"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { i as formatTable, n as formatJson } from "../cli.mjs";
|
|
2
|
+
//#region src/commands/judge-display/list.ts
|
|
3
|
+
async function runJudgeDisplayList(client, hackathonId, options) {
|
|
4
|
+
const data = await client.get(`/api/dashboard/hackathons/${hackathonId}/judges/display`);
|
|
5
|
+
if (options.json) {
|
|
6
|
+
console.log(formatJson(data));
|
|
7
|
+
return;
|
|
8
|
+
}
|
|
9
|
+
if (!data.profiles?.length) {
|
|
10
|
+
console.log("No judge display profiles found.");
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
console.log(formatTable(data.profiles, [
|
|
14
|
+
{
|
|
15
|
+
key: "name",
|
|
16
|
+
label: "Name"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
key: "title",
|
|
20
|
+
label: "Title"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
key: "bio",
|
|
24
|
+
label: "Bio"
|
|
25
|
+
}
|
|
26
|
+
]));
|
|
27
|
+
}
|
|
28
|
+
//#endregion
|
|
29
|
+
export { runJudgeDisplayList };
|
|
30
|
+
|
|
31
|
+
//# sourceMappingURL=list3.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list3.mjs","names":[],"sources":["../../src/commands/judge-display/list.ts"],"sourcesContent":["import type { OatmealClient } from \"../../client.js\"\nimport { formatJson, formatTable } from \"../../output.js\"\nimport type { JudgeDisplayProfile } from \"../../types.js\"\n\nexport async function runJudgeDisplayList(\n client: OatmealClient,\n hackathonId: string,\n options: { json?: boolean }\n): Promise<void> {\n const data = await client.get<{ profiles: JudgeDisplayProfile[] }>(\n `/api/dashboard/hackathons/${hackathonId}/judges/display`\n )\n\n if (options.json) {\n console.log(formatJson(data))\n return\n }\n\n if (!data.profiles?.length) {\n console.log(\"No judge display profiles found.\")\n return\n }\n\n console.log(\n formatTable(data.profiles, [\n { key: \"name\", label: \"Name\" },\n { key: \"title\", label: \"Title\" },\n { key: \"bio\", label: \"Bio\" },\n ])\n )\n}\n"],"mappings":";;AAIA,eAAsB,oBACpB,QACA,aACA,SACe;CACf,MAAM,OAAO,MAAM,OAAO,IACxB,6BAA6B,YAAY,iBAC1C;AAED,KAAI,QAAQ,MAAM;AAChB,UAAQ,IAAI,WAAW,KAAK,CAAC;AAC7B;;AAGF,KAAI,CAAC,KAAK,UAAU,QAAQ;AAC1B,UAAQ,IAAI,mCAAmC;AAC/C;;AAGF,SAAQ,IACN,YAAY,KAAK,UAAU;EACzB;GAAE,KAAK;GAAQ,OAAO;GAAQ;EAC9B;GAAE,KAAK;GAAS,OAAO;GAAS;EAChC;GAAE,KAAK;GAAO,OAAO;;EACtB,CAAC,CACH"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { i as formatTable, n as formatJson } from "../cli.mjs";
|
|
2
|
+
//#region src/commands/prizes/list.ts
|
|
3
|
+
async function runPrizesList(client, hackathonId, options) {
|
|
4
|
+
const data = await client.get(`/api/dashboard/hackathons/${hackathonId}/prizes`);
|
|
5
|
+
if (options.json) {
|
|
6
|
+
console.log(formatJson(data));
|
|
7
|
+
return;
|
|
8
|
+
}
|
|
9
|
+
if (!data.prizes?.length) {
|
|
10
|
+
console.log("No prizes found.");
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
console.log(formatTable(data.prizes, [
|
|
14
|
+
{
|
|
15
|
+
key: "name",
|
|
16
|
+
label: "Name"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
key: "type",
|
|
20
|
+
label: "Type"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
key: "value",
|
|
24
|
+
label: "Value"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
key: "assigned_submission_name",
|
|
28
|
+
label: "Assigned To"
|
|
29
|
+
}
|
|
30
|
+
]));
|
|
31
|
+
}
|
|
32
|
+
//#endregion
|
|
33
|
+
export { runPrizesList };
|
|
34
|
+
|
|
35
|
+
//# sourceMappingURL=list4.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list4.mjs","names":[],"sources":["../../src/commands/prizes/list.ts"],"sourcesContent":["import type { OatmealClient } from \"../../client.js\"\nimport { formatJson, formatTable } from \"../../output.js\"\nimport type { Prize } from \"../../types.js\"\n\nexport async function runPrizesList(\n client: OatmealClient,\n hackathonId: string,\n options: { json?: boolean }\n): Promise<void> {\n const data = await client.get<{ prizes: Prize[] }>(\n `/api/dashboard/hackathons/${hackathonId}/prizes`\n )\n\n if (options.json) {\n console.log(formatJson(data))\n return\n }\n\n if (!data.prizes?.length) {\n console.log(\"No prizes found.\")\n return\n }\n\n console.log(\n formatTable(data.prizes, [\n { key: \"name\", label: \"Name\" },\n { key: \"type\", label: \"Type\" },\n { key: \"value\", label: \"Value\" },\n { key: \"assigned_submission_name\", label: \"Assigned To\" },\n ])\n )\n}\n"],"mappings":";;AAIA,eAAsB,cACpB,QACA,aACA,SACe;CACf,MAAM,OAAO,MAAM,OAAO,IACxB,6BAA6B,YAAY,SAC1C;AAED,KAAI,QAAQ,MAAM;AAChB,UAAQ,IAAI,WAAW,KAAK,CAAC;AAC7B;;AAGF,KAAI,CAAC,KAAK,QAAQ,QAAQ;AACxB,UAAQ,IAAI,mBAAmB;AAC/B;;AAGF,SAAQ,IACN,YAAY,KAAK,QAAQ;EACvB;GAAE,KAAK;GAAQ,OAAO;GAAQ;EAC9B;GAAE,KAAK;GAAQ,OAAO;GAAQ;EAC9B;GAAE,KAAK;GAAS,OAAO;GAAS;EAChC;GAAE,KAAK;GAA4B,OAAO;;EAC3C,CAAC,CACH"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { i as formatTable, n as formatJson } from "../cli.mjs";
|
|
2
|
+
//#region src/commands/schedules/list.ts
|
|
3
|
+
async function runSchedulesList(client, options) {
|
|
4
|
+
const data = await client.get("/api/dashboard/schedules");
|
|
5
|
+
if (options.json) {
|
|
6
|
+
console.log(formatJson(data));
|
|
7
|
+
return;
|
|
8
|
+
}
|
|
9
|
+
if (!data.schedules?.length) {
|
|
10
|
+
console.log("No schedules found.");
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
const rows = data.schedules.map((s) => ({
|
|
14
|
+
...s,
|
|
15
|
+
enabled_str: s.enabled ? "Enabled" : "Disabled"
|
|
16
|
+
}));
|
|
17
|
+
console.log(formatTable(rows, [
|
|
18
|
+
{
|
|
19
|
+
key: "name",
|
|
20
|
+
label: "Name"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
key: "cron_expression",
|
|
24
|
+
label: "Cron"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
key: "enabled_str",
|
|
28
|
+
label: "Status"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
key: "next_run_at",
|
|
32
|
+
label: "Next Run"
|
|
33
|
+
}
|
|
34
|
+
]));
|
|
35
|
+
}
|
|
36
|
+
//#endregion
|
|
37
|
+
export { runSchedulesList };
|
|
38
|
+
|
|
39
|
+
//# sourceMappingURL=list5.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list5.mjs","names":[],"sources":["../../src/commands/schedules/list.ts"],"sourcesContent":["import type { OatmealClient } from \"../../client.js\"\nimport { formatJson, formatTable } from \"../../output.js\"\nimport type { Schedule } from \"../../types.js\"\n\nexport async function runSchedulesList(\n client: OatmealClient,\n options: { json?: boolean }\n): Promise<void> {\n const data = await client.get<{ schedules: Schedule[] }>(\"/api/dashboard/schedules\")\n\n if (options.json) {\n console.log(formatJson(data))\n return\n }\n\n if (!data.schedules?.length) {\n console.log(\"No schedules found.\")\n return\n }\n\n const rows = data.schedules.map((s) => ({\n ...s,\n enabled_str: s.enabled ? \"Enabled\" : \"Disabled\",\n }))\n\n console.log(\n formatTable(rows, [\n { key: \"name\", label: \"Name\" },\n { key: \"cron_expression\", label: \"Cron\" },\n { key: \"enabled_str\", label: \"Status\" },\n { key: \"next_run_at\", label: \"Next Run\" },\n ])\n )\n}\n"],"mappings":";;AAIA,eAAsB,iBACpB,QACA,SACe;CACf,MAAM,OAAO,MAAM,OAAO,IAA+B,2BAA2B;AAEpF,KAAI,QAAQ,MAAM;AAChB,UAAQ,IAAI,WAAW,KAAK,CAAC;AAC7B;;AAGF,KAAI,CAAC,KAAK,WAAW,QAAQ;AAC3B,UAAQ,IAAI,sBAAsB;AAClC;;CAGF,MAAM,OAAO,KAAK,UAAU,KAAK,OAAO;EACtC,GAAG;EACH,aAAa,EAAE,UAAU,YAAY;EACtC,EAAE;AAEH,SAAQ,IACN,YAAY,MAAM;EAChB;GAAE,KAAK;GAAQ,OAAO;GAAQ;EAC9B;GAAE,KAAK;GAAmB,OAAO;GAAQ;EACzC;GAAE,KAAK;GAAe,OAAO;GAAU;EACvC;GAAE,KAAK;GAAe,OAAO;;EAC9B,CAAC,CACH"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { i as formatTable, n as formatJson } from "../cli.mjs";
|
|
2
|
+
//#region src/commands/webhooks/list.ts
|
|
3
|
+
async function runWebhooksList(client, options) {
|
|
4
|
+
const data = await client.get("/api/v1/webhooks");
|
|
5
|
+
if (options.json) {
|
|
6
|
+
console.log(formatJson(data));
|
|
7
|
+
return;
|
|
8
|
+
}
|
|
9
|
+
if (!data.webhooks?.length) {
|
|
10
|
+
console.log("No webhooks found.");
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
const rows = data.webhooks.map((w) => ({
|
|
14
|
+
...w,
|
|
15
|
+
events_list: w.events.join(", "),
|
|
16
|
+
active_str: w.active ? "Active" : "Inactive"
|
|
17
|
+
}));
|
|
18
|
+
console.log(formatTable(rows, [
|
|
19
|
+
{
|
|
20
|
+
key: "id",
|
|
21
|
+
label: "ID"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
key: "url",
|
|
25
|
+
label: "URL"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
key: "events_list",
|
|
29
|
+
label: "Events"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
key: "active_str",
|
|
33
|
+
label: "Status"
|
|
34
|
+
}
|
|
35
|
+
]));
|
|
36
|
+
}
|
|
37
|
+
//#endregion
|
|
38
|
+
export { runWebhooksList };
|
|
39
|
+
|
|
40
|
+
//# sourceMappingURL=list6.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list6.mjs","names":[],"sources":["../../src/commands/webhooks/list.ts"],"sourcesContent":["import type { OatmealClient } from \"../../client.js\"\nimport { formatJson, formatTable } from \"../../output.js\"\nimport type { Webhook } from \"../../types.js\"\n\nexport async function runWebhooksList(\n client: OatmealClient,\n options: { json?: boolean }\n): Promise<void> {\n const data = await client.get<{ webhooks: Webhook[] }>(\"/api/v1/webhooks\")\n\n if (options.json) {\n console.log(formatJson(data))\n return\n }\n\n if (!data.webhooks?.length) {\n console.log(\"No webhooks found.\")\n return\n }\n\n const rows = data.webhooks.map((w) => ({\n ...w,\n events_list: w.events.join(\", \"),\n active_str: w.active ? \"Active\" : \"Inactive\",\n }))\n\n console.log(\n formatTable(rows, [\n { key: \"id\", label: \"ID\" },\n { key: \"url\", label: \"URL\" },\n { key: \"events_list\", label: \"Events\" },\n { key: \"active_str\", label: \"Status\" },\n ])\n )\n}\n"],"mappings":";;AAIA,eAAsB,gBACpB,QACA,SACe;CACf,MAAM,OAAO,MAAM,OAAO,IAA6B,mBAAmB;AAE1E,KAAI,QAAQ,MAAM;AAChB,UAAQ,IAAI,WAAW,KAAK,CAAC;AAC7B;;AAGF,KAAI,CAAC,KAAK,UAAU,QAAQ;AAC1B,UAAQ,IAAI,qBAAqB;AACjC;;CAGF,MAAM,OAAO,KAAK,SAAS,KAAK,OAAO;EACrC,GAAG;EACH,aAAa,EAAE,OAAO,KAAK,KAAK;EAChC,YAAY,EAAE,SAAS,WAAW;EACnC,EAAE;AAEH,SAAQ,IACN,YAAY,MAAM;EAChB;GAAE,KAAK;GAAM,OAAO;GAAM;EAC1B;GAAE,KAAK;GAAO,OAAO;GAAO;EAC5B;GAAE,KAAK;GAAe,OAAO;GAAU;EACvC;GAAE,KAAK;GAAc,OAAO;;EAC7B,CAAC,CACH"}
|