@agi-ventures-canada/hackathon-cli 0.1.0 → 0.1.2
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/dist/_chunks/assign.mjs +1 -1
- package/dist/_chunks/assign.mjs.map +1 -1
- package/dist/_chunks/assignments-delete.mjs +1 -1
- package/dist/_chunks/assignments-delete.mjs.map +1 -1
- package/dist/_chunks/calculate.mjs +1 -1
- package/dist/_chunks/calculate.mjs.map +1 -1
- package/dist/_chunks/cancel.mjs +1 -1
- package/dist/_chunks/cancel.mjs.map +1 -1
- package/dist/_chunks/config.mjs +5 -5
- package/dist/_chunks/config.mjs.map +1 -1
- package/dist/_chunks/constants.mjs +2 -2
- package/dist/_chunks/constants.mjs.map +1 -1
- package/dist/_chunks/create.mjs.map +1 -1
- package/dist/_chunks/create3.mjs.map +1 -1
- package/dist/_chunks/create4.mjs.map +1 -1
- package/dist/_chunks/create5.mjs.map +1 -1
- package/dist/_chunks/create6.mjs.map +1 -1
- package/dist/_chunks/criteria-create.mjs.map +1 -1
- package/dist/_chunks/criteria-delete.mjs +1 -1
- package/dist/_chunks/criteria-delete.mjs.map +1 -1
- package/dist/_chunks/criteria-update.mjs +1 -1
- package/dist/_chunks/criteria-update.mjs.map +1 -1
- package/dist/_chunks/delete.mjs +1 -1
- package/dist/_chunks/delete.mjs.map +1 -1
- package/dist/_chunks/delete2.mjs +1 -1
- package/dist/_chunks/delete2.mjs.map +1 -1
- package/dist/_chunks/delete3.mjs +1 -1
- package/dist/_chunks/delete3.mjs.map +1 -1
- package/dist/_chunks/delete4.mjs +1 -1
- package/dist/_chunks/delete4.mjs.map +1 -1
- package/dist/_chunks/delete5.mjs +1 -1
- package/dist/_chunks/delete5.mjs.map +1 -1
- package/dist/_chunks/get.mjs +1 -1
- package/dist/_chunks/get.mjs.map +1 -1
- package/dist/_chunks/get2.mjs +1 -1
- package/dist/_chunks/get2.mjs.map +1 -1
- package/dist/_chunks/get3.mjs +2 -2
- package/dist/_chunks/get3.mjs.map +1 -1
- package/dist/_chunks/get4.mjs +1 -1
- package/dist/_chunks/get4.mjs.map +1 -1
- package/dist/_chunks/invitations-cancel.mjs +1 -1
- package/dist/_chunks/invitations-cancel.mjs.map +1 -1
- package/dist/_chunks/judges-remove.mjs +1 -1
- package/dist/_chunks/judges-remove.mjs.map +1 -1
- package/dist/_chunks/login.mjs +4 -4
- package/dist/_chunks/login.mjs.map +1 -1
- package/dist/_chunks/org.mjs +1 -1
- package/dist/_chunks/org.mjs.map +1 -1
- package/dist/_chunks/publish.mjs +1 -1
- package/dist/_chunks/publish.mjs.map +1 -1
- package/dist/_chunks/resolve.mjs +1 -4
- package/dist/_chunks/resolve.mjs.map +1 -1
- package/dist/_chunks/result.mjs +1 -1
- package/dist/_chunks/result.mjs.map +1 -1
- package/dist/_chunks/results.mjs +1 -1
- package/dist/_chunks/results.mjs.map +1 -1
- package/dist/_chunks/submissions.mjs +1 -1
- package/dist/_chunks/submissions.mjs.map +1 -1
- package/dist/_chunks/unassign.mjs +1 -1
- package/dist/_chunks/unassign.mjs.map +1 -1
- package/dist/_chunks/unpublish.mjs +1 -1
- package/dist/_chunks/unpublish.mjs.map +1 -1
- package/dist/_chunks/update-check.mjs +70 -0
- package/dist/_chunks/update-check.mjs.map +1 -0
- package/dist/_chunks/update.mjs +3 -3
- package/dist/_chunks/update.mjs.map +1 -1
- package/dist/_chunks/update2.mjs +1 -1
- package/dist/_chunks/update2.mjs.map +1 -1
- package/dist/_chunks/update3.mjs +1 -1
- package/dist/_chunks/update3.mjs.map +1 -1
- package/dist/_chunks/update4.mjs +1 -1
- package/dist/_chunks/update4.mjs.map +1 -1
- package/dist/_chunks/update5.mjs +49 -0
- package/dist/_chunks/update5.mjs.map +1 -0
- package/dist/cli.mjs +32 -15
- package/dist/cli.mjs.map +1 -1
- package/package.json +3 -3
package/dist/_chunks/assign.mjs
CHANGED
|
@@ -14,7 +14,7 @@ function parseAssignOptions(args) {
|
|
|
14
14
|
}
|
|
15
15
|
async function runPrizesAssign(client, hackathonId, prizeId, args) {
|
|
16
16
|
if (!prizeId) {
|
|
17
|
-
console.error("Usage:
|
|
17
|
+
console.error("Usage: hackathon prizes assign <hackathon-id> <prize-id> --submission <id>");
|
|
18
18
|
process.exit(1);
|
|
19
19
|
}
|
|
20
20
|
const options = parseAssignOptions(args);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assign.mjs","names":[],"sources":["../../src/commands/prizes/assign.ts"],"sourcesContent":["import type { OatmealClient } from \"../../client.js\"\nimport { formatJson, formatSuccess } from \"../../output.js\"\n\ninterface AssignOptions {\n submission?: string\n json?: boolean\n}\n\nexport function parseAssignOptions(args: string[]): AssignOptions {\n const options: AssignOptions = {}\n for (let i = 0; i < args.length; i++) {\n switch (args[i]) {\n case \"--submission\":\n options.submission = args[++i]\n break\n case \"--json\":\n options.json = true\n break\n }\n }\n return options\n}\n\nexport async function runPrizesAssign(\n client: OatmealClient,\n hackathonId: string,\n prizeId: string,\n args: string[]\n): Promise<void> {\n if (!prizeId) {\n console.error(\"Usage:
|
|
1
|
+
{"version":3,"file":"assign.mjs","names":[],"sources":["../../src/commands/prizes/assign.ts"],"sourcesContent":["import type { OatmealClient } from \"../../client.js\"\nimport { formatJson, formatSuccess } from \"../../output.js\"\n\ninterface AssignOptions {\n submission?: string\n json?: boolean\n}\n\nexport function parseAssignOptions(args: string[]): AssignOptions {\n const options: AssignOptions = {}\n for (let i = 0; i < args.length; i++) {\n switch (args[i]) {\n case \"--submission\":\n options.submission = args[++i]\n break\n case \"--json\":\n options.json = true\n break\n }\n }\n return options\n}\n\nexport async function runPrizesAssign(\n client: OatmealClient,\n hackathonId: string,\n prizeId: string,\n args: string[]\n): Promise<void> {\n if (!prizeId) {\n console.error(\"Usage: hackathon prizes assign <hackathon-id> <prize-id> --submission <id>\")\n process.exit(1)\n }\n\n const options = parseAssignOptions(args)\n\n if (!options.submission) {\n console.error(\"Error: --submission is required\")\n process.exit(1)\n }\n\n const result = await client.post(\n `/api/dashboard/hackathons/${hackathonId}/prizes/${prizeId}/assign`,\n { submission_id: options.submission }\n )\n\n if (options.json) {\n console.log(formatJson(result))\n return\n }\n\n console.log(formatSuccess(`Assigned prize ${prizeId} to submission ${options.submission}`))\n}\n"],"mappings":";;AAQA,SAAgB,mBAAmB,MAA+B;CAChE,MAAM,UAAyB,EAAE;AACjC,MAAK,IAAI,IAAI,GAAG,IAAI,KAAK,QAAQ,IAC/B,SAAQ,KAAK,IAAb;EACE,KAAK;AACH,WAAQ,aAAa,KAAK,EAAE;AAC5B;EACF,KAAK;AACH,WAAQ,OAAO;AACf;;AAGN,QAAO;;AAGT,eAAsB,gBACpB,QACA,aACA,SACA,MACe;AACf,KAAI,CAAC,SAAS;AACZ,UAAQ,MAAM,6EAA6E;AAC3F,UAAQ,KAAK,EAAE;;CAGjB,MAAM,UAAU,mBAAmB,KAAK;AAExC,KAAI,CAAC,QAAQ,YAAY;AACvB,UAAQ,MAAM,kCAAkC;AAChD,UAAQ,KAAK,EAAE;;CAGjB,MAAM,SAAS,MAAM,OAAO,KAC1B,6BAA6B,YAAY,UAAU,QAAQ,UAC3D,EAAE,eAAe,QAAQ,YAAY,CACtC;AAED,KAAI,QAAQ,MAAM;AAChB,UAAQ,IAAI,WAAW,OAAO,CAAC;AAC/B;;AAGF,SAAQ,IAAI,cAAc,kBAAkB,QAAQ,iBAAiB,QAAQ,aAAa,CAAC"}
|
|
@@ -3,7 +3,7 @@ import * as p from "@clack/prompts";
|
|
|
3
3
|
//#region src/commands/judging/assignments-delete.ts
|
|
4
4
|
async function runAssignmentsDelete(client, hackathonId, assignmentId, options) {
|
|
5
5
|
if (!assignmentId) {
|
|
6
|
-
console.error("Usage:
|
|
6
|
+
console.error("Usage: hackathon judging assignments delete <hackathon-id> <assignment-id>");
|
|
7
7
|
process.exit(1);
|
|
8
8
|
}
|
|
9
9
|
if (!options.yes) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assignments-delete.mjs","names":[],"sources":["../../src/commands/judging/assignments-delete.ts"],"sourcesContent":["import * as p from \"@clack/prompts\"\nimport type { OatmealClient } from \"../../client.js\"\nimport { formatSuccess } from \"../../output.js\"\n\nexport async function runAssignmentsDelete(\n client: OatmealClient,\n hackathonId: string,\n assignmentId: string,\n options: { yes?: boolean }\n): Promise<void> {\n if (!assignmentId) {\n console.error(\"Usage:
|
|
1
|
+
{"version":3,"file":"assignments-delete.mjs","names":[],"sources":["../../src/commands/judging/assignments-delete.ts"],"sourcesContent":["import * as p from \"@clack/prompts\"\nimport type { OatmealClient } from \"../../client.js\"\nimport { formatSuccess } from \"../../output.js\"\n\nexport async function runAssignmentsDelete(\n client: OatmealClient,\n hackathonId: string,\n assignmentId: string,\n options: { yes?: boolean }\n): Promise<void> {\n if (!assignmentId) {\n console.error(\"Usage: hackathon judging assignments delete <hackathon-id> <assignment-id>\")\n process.exit(1)\n }\n\n if (!options.yes) {\n const confirm = await p.confirm({ message: `Delete assignment ${assignmentId}?` })\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/assignments/${assignmentId}`\n )\n console.log(formatSuccess(`Deleted assignment ${assignmentId}`))\n}\n"],"mappings":";;;AAIA,eAAsB,qBACpB,QACA,aACA,cACA,SACe;AACf,KAAI,CAAC,cAAc;AACjB,UAAQ,MAAM,6EAA6E;AAC3F,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,sBAAsB,eAAe,CAAC"}
|
|
@@ -2,7 +2,7 @@ import { n as formatJson, r as formatSuccess } from "../cli.mjs";
|
|
|
2
2
|
//#region src/commands/results/calculate.ts
|
|
3
3
|
async function runResultsCalculate(client, hackathonId, options) {
|
|
4
4
|
if (!hackathonId) {
|
|
5
|
-
console.error("Usage:
|
|
5
|
+
console.error("Usage: hackathon results calculate <hackathon-id>");
|
|
6
6
|
process.exit(1);
|
|
7
7
|
}
|
|
8
8
|
const result = await client.post(`/api/dashboard/hackathons/${hackathonId}/results/calculate`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calculate.mjs","names":[],"sources":["../../src/commands/results/calculate.ts"],"sourcesContent":["import type { OatmealClient } from \"../../client.js\"\nimport { formatJson, formatSuccess } from \"../../output.js\"\n\nexport async function runResultsCalculate(\n client: OatmealClient,\n hackathonId: string,\n options: { json?: boolean }\n): Promise<void> {\n if (!hackathonId) {\n console.error(\"Usage:
|
|
1
|
+
{"version":3,"file":"calculate.mjs","names":[],"sources":["../../src/commands/results/calculate.ts"],"sourcesContent":["import type { OatmealClient } from \"../../client.js\"\nimport { formatJson, formatSuccess } from \"../../output.js\"\n\nexport async function runResultsCalculate(\n client: OatmealClient,\n hackathonId: string,\n options: { json?: boolean }\n): Promise<void> {\n if (!hackathonId) {\n console.error(\"Usage: hackathon results calculate <hackathon-id>\")\n process.exit(1)\n }\n\n const result = await client.post<{ message: string }>(\n `/api/dashboard/hackathons/${hackathonId}/results/calculate`\n )\n\n if (options.json) {\n console.log(formatJson(result))\n return\n }\n\n console.log(formatSuccess(result.message ?? \"Results calculated\"))\n}\n"],"mappings":";;AAGA,eAAsB,oBACpB,QACA,aACA,SACe;AACf,KAAI,CAAC,aAAa;AAChB,UAAQ,MAAM,oDAAoD;AAClE,UAAQ,KAAK,EAAE;;CAGjB,MAAM,SAAS,MAAM,OAAO,KAC1B,6BAA6B,YAAY,oBAC1C;AAED,KAAI,QAAQ,MAAM;AAChB,UAAQ,IAAI,WAAW,OAAO,CAAC;AAC/B;;AAGF,SAAQ,IAAI,cAAc,OAAO,WAAW,qBAAqB,CAAC"}
|
package/dist/_chunks/cancel.mjs
CHANGED
|
@@ -3,7 +3,7 @@ import * as p from "@clack/prompts";
|
|
|
3
3
|
//#region src/commands/jobs/cancel.ts
|
|
4
4
|
async function runJobsCancel(client, jobId, options) {
|
|
5
5
|
if (!jobId) {
|
|
6
|
-
console.error("Usage:
|
|
6
|
+
console.error("Usage: hackathon jobs cancel <job-id>");
|
|
7
7
|
process.exit(1);
|
|
8
8
|
}
|
|
9
9
|
if (!options.yes) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cancel.mjs","names":[],"sources":["../../src/commands/jobs/cancel.ts"],"sourcesContent":["import * as p from \"@clack/prompts\"\nimport type { OatmealClient } from \"../../client.js\"\nimport { formatSuccess } from \"../../output.js\"\n\nexport async function runJobsCancel(\n client: OatmealClient,\n jobId: string,\n options: { yes?: boolean }\n): Promise<void> {\n if (!jobId) {\n console.error(\"Usage:
|
|
1
|
+
{"version":3,"file":"cancel.mjs","names":[],"sources":["../../src/commands/jobs/cancel.ts"],"sourcesContent":["import * as p from \"@clack/prompts\"\nimport type { OatmealClient } from \"../../client.js\"\nimport { formatSuccess } from \"../../output.js\"\n\nexport async function runJobsCancel(\n client: OatmealClient,\n jobId: string,\n options: { yes?: boolean }\n): Promise<void> {\n if (!jobId) {\n console.error(\"Usage: hackathon jobs cancel <job-id>\")\n process.exit(1)\n }\n\n if (!options.yes) {\n const confirm = await p.confirm({ message: `Cancel job ${jobId}?` })\n if (p.isCancel(confirm) || !confirm) {\n p.log.info(\"Cancelled.\")\n return\n }\n }\n\n await client.post(`/api/v1/jobs/${jobId}/cancel`)\n console.log(formatSuccess(`Cancelled job ${jobId}`))\n}\n"],"mappings":";;;AAIA,eAAsB,cACpB,QACA,OACA,SACe;AACf,KAAI,CAAC,OAAO;AACV,UAAQ,MAAM,wCAAwC;AACtD,UAAQ,KAAK,EAAE;;AAGjB,KAAI,CAAC,QAAQ,KAAK;EAChB,MAAM,UAAU,MAAM,EAAE,QAAQ,EAAE,SAAS,cAAc,MAAM,IAAI,CAAC;AACpE,MAAI,EAAE,SAAS,QAAQ,IAAI,CAAC,SAAS;AACnC,KAAE,IAAI,KAAK,aAAa;AACxB;;;AAIJ,OAAM,OAAO,KAAK,gBAAgB,MAAM,SAAS;AACjD,SAAQ,IAAI,cAAc,iBAAiB,QAAQ,CAAC"}
|
package/dist/_chunks/config.mjs
CHANGED
|
@@ -14,7 +14,7 @@ var ApiError = class extends Error {
|
|
|
14
14
|
};
|
|
15
15
|
var AuthError = class extends Error {
|
|
16
16
|
constructor(message) {
|
|
17
|
-
super(message ?? "Not authenticated. Run \"
|
|
17
|
+
super(message ?? "Not authenticated. Run \"hackathon login\" first.");
|
|
18
18
|
this.name = "AuthError";
|
|
19
19
|
}
|
|
20
20
|
};
|
|
@@ -35,11 +35,11 @@ var ScopeError = class extends ApiError {
|
|
|
35
35
|
//#endregion
|
|
36
36
|
//#region src/config.ts
|
|
37
37
|
function loadConfig() {
|
|
38
|
-
const envKey = process.env.
|
|
39
|
-
const envUrl = process.env.
|
|
38
|
+
const envKey = process.env.HACKATHON_API_KEY;
|
|
39
|
+
const envUrl = process.env.HACKATHON_BASE_URL;
|
|
40
40
|
if (envKey) return {
|
|
41
41
|
apiKey: envKey,
|
|
42
|
-
baseUrl: envUrl ?? "https://
|
|
42
|
+
baseUrl: envUrl ?? "https://getoatmeal.com"
|
|
43
43
|
};
|
|
44
44
|
if (!existsSync(CONFIG_FILE)) return null;
|
|
45
45
|
try {
|
|
@@ -51,7 +51,7 @@ function loadConfig() {
|
|
|
51
51
|
baseUrl: envUrl ?? parsed.baseUrl
|
|
52
52
|
};
|
|
53
53
|
} catch {
|
|
54
|
-
throw new ConfigError(`Invalid config file at ${CONFIG_FILE}. Delete it and run "
|
|
54
|
+
throw new ConfigError(`Invalid config file at ${CONFIG_FILE}. Delete it and run "hackathon login" again.`);
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
57
|
function saveConfig(config) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.mjs","names":[],"sources":["../../src/errors.ts","../../src/config.ts"],"sourcesContent":["export class ApiError extends Error {\n constructor(\n public status: number,\n message: string,\n public hint?: string\n ) {\n super(message)\n this.name = \"ApiError\"\n }\n\n toString() {\n return `[${this.status}] ${this.message}`\n }\n}\n\nexport class AuthError extends Error {\n constructor(message?: string) {\n super(message ?? 'Not authenticated. Run \"
|
|
1
|
+
{"version":3,"file":"config.mjs","names":[],"sources":["../../src/errors.ts","../../src/config.ts"],"sourcesContent":["export class ApiError extends Error {\n constructor(\n public status: number,\n message: string,\n public hint?: string\n ) {\n super(message)\n this.name = \"ApiError\"\n }\n\n toString() {\n return `[${this.status}] ${this.message}`\n }\n}\n\nexport class AuthError extends Error {\n constructor(message?: string) {\n super(message ?? 'Not authenticated. Run \"hackathon login\" first.')\n this.name = \"AuthError\"\n }\n}\n\nexport class ConfigError extends Error {\n constructor(message: string) {\n super(message)\n this.name = \"ConfigError\"\n }\n}\n\nexport class ScopeError extends ApiError {\n constructor(\n public requiredScope: string,\n public currentScopes?: string[]\n ) {\n super(\n 403,\n `Missing required scope: ${requiredScope}`,\n `Your API key needs the \"${requiredScope}\" scope. Create a new key with the required scope at your dashboard.`\n )\n this.name = \"ScopeError\"\n }\n}\n","import { existsSync, mkdirSync, readFileSync, unlinkSync, writeFileSync } from \"node:fs\"\nimport { CONFIG_DIR, CONFIG_FILE, DEFAULT_BASE_URL } from \"./constants.js\"\nimport { ConfigError } from \"./errors.js\"\nimport type { CliConfig } from \"./types.js\"\n\nexport function loadConfig(): CliConfig | null {\n const envKey = process.env.HACKATHON_API_KEY\n const envUrl = process.env.HACKATHON_BASE_URL\n\n if (envKey) {\n return {\n apiKey: envKey,\n baseUrl: envUrl ?? DEFAULT_BASE_URL,\n }\n }\n\n if (!existsSync(CONFIG_FILE)) {\n return null\n }\n\n try {\n const raw = readFileSync(CONFIG_FILE, \"utf-8\")\n const parsed = JSON.parse(raw) as CliConfig\n return {\n ...parsed,\n apiKey: envKey ?? parsed.apiKey,\n baseUrl: envUrl ?? parsed.baseUrl,\n }\n } catch {\n throw new ConfigError(\n `Invalid config file at ${CONFIG_FILE}. Delete it and run \"hackathon login\" again.`\n )\n }\n}\n\nexport function saveConfig(config: CliConfig): void {\n if (!existsSync(CONFIG_DIR)) {\n mkdirSync(CONFIG_DIR, { recursive: true, mode: 0o700 })\n }\n\n writeFileSync(CONFIG_FILE, JSON.stringify(config, null, 2) + \"\\n\", {\n mode: 0o600,\n })\n}\n\nexport function clearConfig(): void {\n if (existsSync(CONFIG_FILE)) {\n unlinkSync(CONFIG_FILE)\n }\n}\n"],"mappings":";;;AAAA,IAAa,WAAb,cAA8B,MAAM;CAClC,YACE,QACA,SACA,MACA;AACA,QAAM,QAAQ;AAJP,OAAA,SAAA;AAEA,OAAA,OAAA;AAGP,OAAK,OAAO;;CAGd,WAAW;AACT,SAAO,IAAI,KAAK,OAAO,IAAI,KAAK;;;AAIpC,IAAa,YAAb,cAA+B,MAAM;CACnC,YAAY,SAAkB;AAC5B,QAAM,WAAW,oDAAkD;AACnE,OAAK,OAAO;;;AAIhB,IAAa,cAAb,cAAiC,MAAM;CACrC,YAAY,SAAiB;AAC3B,QAAM,QAAQ;AACd,OAAK,OAAO;;;AAIhB,IAAa,aAAb,cAAgC,SAAS;CACvC,YACE,eACA,eACA;AACA,QACE,KACA,2BAA2B,iBAC3B,2BAA2B,cAAc,sEAC1C;AAPM,OAAA,gBAAA;AACA,OAAA,gBAAA;AAOP,OAAK,OAAO;;;;;AClChB,SAAgB,aAA+B;CAC7C,MAAM,SAAS,QAAQ,IAAI;CAC3B,MAAM,SAAS,QAAQ,IAAI;AAE3B,KAAI,OACF,QAAO;EACL,QAAQ;EACR,SAAS,UAAA;EACV;AAGH,KAAI,CAAC,WAAW,YAAY,CAC1B,QAAO;AAGT,KAAI;EACF,MAAM,MAAM,aAAa,aAAa,QAAQ;EAC9C,MAAM,SAAS,KAAK,MAAM,IAAI;AAC9B,SAAO;GACL,GAAG;GACH,QAAQ,UAAU,OAAO;GACzB,SAAS,UAAU,OAAO;GAC3B;SACK;AACN,QAAM,IAAI,YACR,0BAA0B,YAAY,8CACvC;;;AAIL,SAAgB,WAAW,QAAyB;AAClD,KAAI,CAAC,WAAW,WAAW,CACzB,WAAU,YAAY;EAAE,WAAW;EAAM,MAAM;EAAO,CAAC;AAGzD,eAAc,aAAa,KAAK,UAAU,QAAQ,MAAM,EAAE,GAAG,MAAM,EACjE,MAAM,KACP,CAAC;;AAGJ,SAAgB,cAAoB;AAClC,KAAI,WAAW,YAAY,CACzB,YAAW,YAAY"}
|
|
@@ -2,8 +2,8 @@ import { homedir } from "node:os";
|
|
|
2
2
|
import { join } from "node:path";
|
|
3
3
|
//#region src/constants.ts
|
|
4
4
|
const VERSION = "0.1.0";
|
|
5
|
-
const DEFAULT_BASE_URL = "https://
|
|
6
|
-
const CONFIG_DIR = join(homedir(), ".
|
|
5
|
+
const DEFAULT_BASE_URL = "https://getoatmeal.com";
|
|
6
|
+
const CONFIG_DIR = join(homedir(), ".hackathon");
|
|
7
7
|
const CONFIG_FILE = join(CONFIG_DIR, "config.json");
|
|
8
8
|
const REQUEST_TIMEOUT_MS = 3e4;
|
|
9
9
|
const POLL_INTERVAL_MS = 2e3;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.mjs","names":[],"sources":["../../src/constants.ts"],"sourcesContent":["import { homedir } from \"node:os\"\nimport { join } from \"node:path\"\n\nexport const VERSION = \"0.1.0\"\nexport const DEFAULT_BASE_URL = \"https://
|
|
1
|
+
{"version":3,"file":"constants.mjs","names":[],"sources":["../../src/constants.ts"],"sourcesContent":["import { homedir } from \"node:os\"\nimport { join } from \"node:path\"\n\nexport const VERSION = \"0.1.0\"\nexport const DEFAULT_BASE_URL = \"https://getoatmeal.com\"\nexport const CONFIG_DIR = join(homedir(), \".hackathon\")\nexport const CONFIG_FILE = join(CONFIG_DIR, \"config.json\")\nexport const REQUEST_TIMEOUT_MS = 30_000\nexport const POLL_INTERVAL_MS = 2_000\nexport const AUTH_TIMEOUT_MS = 300_000\n"],"mappings":";;;AAGA,MAAa,UAAU;AACvB,MAAa,mBAAmB;AAChC,MAAa,aAAa,KAAK,SAAS,EAAE,aAAa;AACvD,MAAa,cAAc,KAAK,YAAY,cAAc;AAC1D,MAAa,qBAAqB;AAClC,MAAa,mBAAmB;AAChC,MAAa,kBAAkB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.mjs","names":[],"sources":["../../src/commands/hackathons/create.ts"],"sourcesContent":["import * as p from \"@clack/prompts\"\nimport type { OatmealClient } from \"../../client.js\"\nimport { formatJson, formatSuccess } from \"../../output.js\"\nimport type { Hackathon } from \"../../types.js\"\n\ninterface CreateOptions {\n name?: string\n slug?: string\n description?: string\n json?: boolean\n}\n\nexport function parseCreateOptions(args: string[]): CreateOptions {\n const options: CreateOptions = {}\n for (let i = 0; i < args.length; i++) {\n switch (args[i]) {\n case \"--name\":\n options.name = args[++i]\n break\n case \"--slug\":\n options.slug = args[++i]\n break\n case \"--description\":\n options.description = args[++i]\n break\n case \"--json\":\n options.json = true\n break\n }\n }\n return options\n}\n\nexport async function runHackathonsCreate(\n client: OatmealClient,\n args: string[]\n): Promise<void> {\n const options = parseCreateOptions(args)\n\n let name = options.name\n let slug = options.slug\n let description = options.description\n\n if (!name && process.stdout.isTTY) {\n const result = await p.text({ message: \"Hackathon name:\", validate: (v) => (v ? undefined : \"Name is required\") })\n if (p.isCancel(result)) return\n name = result\n }\n\n if (!name) {\n console.error(\"Error: --name is required\")\n process.exit(1)\n }\n\n if (!slug && process.stdout.isTTY) {\n const suggested = name.toLowerCase().replace(/[^a-z0-9]+/g, \"-\").replace(/^-|-$/g, \"\")\n const result = await p.text({ message: \"Slug:\", initialValue: suggested })\n if (p.isCancel(result)) return\n slug = result\n }\n\n if (!description && process.stdout.isTTY) {\n const result = await p.text({ message: \"Description (optional):\" })\n if (!p.isCancel(result)) description = result || undefined\n }\n\n const hackathon = await client.post<Hackathon>(\"/api/dashboard/hackathons\", {\n name,\n slug,\n description,\n })\n\n if (options.json) {\n console.log(formatJson(hackathon))\n return\n }\n\n console.log(formatSuccess(`Created hackathon \"${hackathon.name}\" (${hackathon.id})`))\n}\n"],"mappings":";;;AAYA,SAAgB,mBAAmB,MAA+B;CAChE,MAAM,UAAyB,EAAE;AACjC,MAAK,IAAI,IAAI,GAAG,IAAI,KAAK,QAAQ,IAC/B,SAAQ,KAAK,IAAb;EACE,KAAK;AACH,WAAQ,OAAO,KAAK,EAAE;AACtB;EACF,KAAK;AACH,WAAQ,OAAO,KAAK,EAAE;AACtB;EACF,KAAK;AACH,WAAQ,cAAc,KAAK,EAAE;AAC7B;EACF,KAAK;AACH,WAAQ,OAAO;AACf;;AAGN,QAAO;;AAGT,eAAsB,oBACpB,QACA,MACe;CACf,MAAM,UAAU,mBAAmB,KAAK;CAExC,IAAI,OAAO,QAAQ;CACnB,IAAI,OAAO,QAAQ;CACnB,IAAI,cAAc,QAAQ;AAE1B,KAAI,CAAC,QAAQ,QAAQ,OAAO,OAAO;EACjC,MAAM,SAAS,MAAM,EAAE,KAAK;GAAE,SAAS;GAAmB,WAAW,
|
|
1
|
+
{"version":3,"file":"create.mjs","names":[],"sources":["../../src/commands/hackathons/create.ts"],"sourcesContent":["import * as p from \"@clack/prompts\"\nimport type { OatmealClient } from \"../../client.js\"\nimport { formatJson, formatSuccess } from \"../../output.js\"\nimport type { Hackathon } from \"../../types.js\"\n\ninterface CreateOptions {\n name?: string\n slug?: string\n description?: string\n json?: boolean\n}\n\nexport function parseCreateOptions(args: string[]): CreateOptions {\n const options: CreateOptions = {}\n for (let i = 0; i < args.length; i++) {\n switch (args[i]) {\n case \"--name\":\n options.name = args[++i]\n break\n case \"--slug\":\n options.slug = args[++i]\n break\n case \"--description\":\n options.description = args[++i]\n break\n case \"--json\":\n options.json = true\n break\n }\n }\n return options\n}\n\nexport async function runHackathonsCreate(\n client: OatmealClient,\n args: string[]\n): Promise<void> {\n const options = parseCreateOptions(args)\n\n let name = options.name\n let slug = options.slug\n let description = options.description\n\n if (!name && process.stdout.isTTY) {\n const result = await p.text({ message: \"Hackathon name:\", validate: (v: string) => (v ? undefined : \"Name is required\") })\n if (p.isCancel(result)) return\n name = result\n }\n\n if (!name) {\n console.error(\"Error: --name is required\")\n process.exit(1)\n }\n\n if (!slug && process.stdout.isTTY) {\n const suggested = name.toLowerCase().replace(/[^a-z0-9]+/g, \"-\").replace(/^-|-$/g, \"\")\n const result = await p.text({ message: \"Slug:\", initialValue: suggested })\n if (p.isCancel(result)) return\n slug = result\n }\n\n if (!description && process.stdout.isTTY) {\n const result = await p.text({ message: \"Description (optional):\" })\n if (!p.isCancel(result)) description = result || undefined\n }\n\n const hackathon = await client.post<Hackathon>(\"/api/dashboard/hackathons\", {\n name,\n slug,\n description,\n })\n\n if (options.json) {\n console.log(formatJson(hackathon))\n return\n }\n\n console.log(formatSuccess(`Created hackathon \"${hackathon.name}\" (${hackathon.id})`))\n}\n"],"mappings":";;;AAYA,SAAgB,mBAAmB,MAA+B;CAChE,MAAM,UAAyB,EAAE;AACjC,MAAK,IAAI,IAAI,GAAG,IAAI,KAAK,QAAQ,IAC/B,SAAQ,KAAK,IAAb;EACE,KAAK;AACH,WAAQ,OAAO,KAAK,EAAE;AACtB;EACF,KAAK;AACH,WAAQ,OAAO,KAAK,EAAE;AACtB;EACF,KAAK;AACH,WAAQ,cAAc,KAAK,EAAE;AAC7B;EACF,KAAK;AACH,WAAQ,OAAO;AACf;;AAGN,QAAO;;AAGT,eAAsB,oBACpB,QACA,MACe;CACf,MAAM,UAAU,mBAAmB,KAAK;CAExC,IAAI,OAAO,QAAQ;CACnB,IAAI,OAAO,QAAQ;CACnB,IAAI,cAAc,QAAQ;AAE1B,KAAI,CAAC,QAAQ,QAAQ,OAAO,OAAO;EACjC,MAAM,SAAS,MAAM,EAAE,KAAK;GAAE,SAAS;GAAmB,WAAW,MAAe,IAAI,KAAA,IAAY;GAAqB,CAAC;AAC1H,MAAI,EAAE,SAAS,OAAO,CAAE;AACxB,SAAO;;AAGT,KAAI,CAAC,MAAM;AACT,UAAQ,MAAM,4BAA4B;AAC1C,UAAQ,KAAK,EAAE;;AAGjB,KAAI,CAAC,QAAQ,QAAQ,OAAO,OAAO;EACjC,MAAM,YAAY,KAAK,aAAa,CAAC,QAAQ,eAAe,IAAI,CAAC,QAAQ,UAAU,GAAG;EACtF,MAAM,SAAS,MAAM,EAAE,KAAK;GAAE,SAAS;GAAS,cAAc;GAAW,CAAC;AAC1E,MAAI,EAAE,SAAS,OAAO,CAAE;AACxB,SAAO;;AAGT,KAAI,CAAC,eAAe,QAAQ,OAAO,OAAO;EACxC,MAAM,SAAS,MAAM,EAAE,KAAK,EAAE,SAAS,2BAA2B,CAAC;AACnE,MAAI,CAAC,EAAE,SAAS,OAAO,CAAE,eAAc,UAAU,KAAA;;CAGnD,MAAM,YAAY,MAAM,OAAO,KAAgB,6BAA6B;EAC1E;EACA;EACA;EACD,CAAC;AAEF,KAAI,QAAQ,MAAM;AAChB,UAAQ,IAAI,WAAW,UAAU,CAAC;AAClC;;AAGF,SAAQ,IAAI,cAAc,sBAAsB,UAAU,KAAK,KAAK,UAAU,GAAG,GAAG,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create3.mjs","names":[],"sources":["../../src/commands/judge-display/create.ts"],"sourcesContent":["import * as p from \"@clack/prompts\"\nimport type { OatmealClient } from \"../../client.js\"\nimport { formatJson, formatSuccess } from \"../../output.js\"\nimport type { JudgeDisplayProfile } from \"../../types.js\"\n\ninterface JudgeDisplayCreateOptions {\n name?: string\n title?: string\n bio?: string\n json?: boolean\n}\n\nexport function parseJudgeDisplayCreateOptions(args: string[]): JudgeDisplayCreateOptions {\n const options: JudgeDisplayCreateOptions = {}\n for (let i = 0; i < args.length; i++) {\n switch (args[i]) {\n case \"--name\":\n options.name = args[++i]\n break\n case \"--title\":\n options.title = args[++i]\n break\n case \"--bio\":\n options.bio = args[++i]\n break\n case \"--json\":\n options.json = true\n break\n }\n }\n return options\n}\n\nexport async function runJudgeDisplayCreate(\n client: OatmealClient,\n hackathonId: string,\n args: string[]\n): Promise<void> {\n const options = parseJudgeDisplayCreateOptions(args)\n\n let name = options.name\n\n if (!name && process.stdout.isTTY) {\n const result = await p.text({ message: \"Judge name:\", validate: (v) => (v ? undefined : \"Required\") })\n if (p.isCancel(result)) return\n name = result\n }\n\n if (!name) {\n console.error(\"Error: --name is required\")\n process.exit(1)\n }\n\n const profile = await client.post<JudgeDisplayProfile>(\n `/api/dashboard/hackathons/${hackathonId}/judges/display`,\n { name, title: options.title, bio: options.bio }\n )\n\n if (options.json) {\n console.log(formatJson(profile))\n return\n }\n\n console.log(formatSuccess(`Created judge display profile \"${profile.name}\" (${profile.id})`))\n}\n"],"mappings":";;;AAYA,SAAgB,+BAA+B,MAA2C;CACxF,MAAM,UAAqC,EAAE;AAC7C,MAAK,IAAI,IAAI,GAAG,IAAI,KAAK,QAAQ,IAC/B,SAAQ,KAAK,IAAb;EACE,KAAK;AACH,WAAQ,OAAO,KAAK,EAAE;AACtB;EACF,KAAK;AACH,WAAQ,QAAQ,KAAK,EAAE;AACvB;EACF,KAAK;AACH,WAAQ,MAAM,KAAK,EAAE;AACrB;EACF,KAAK;AACH,WAAQ,OAAO;AACf;;AAGN,QAAO;;AAGT,eAAsB,sBACpB,QACA,aACA,MACe;CACf,MAAM,UAAU,+BAA+B,KAAK;CAEpD,IAAI,OAAO,QAAQ;AAEnB,KAAI,CAAC,QAAQ,QAAQ,OAAO,OAAO;EACjC,MAAM,SAAS,MAAM,EAAE,KAAK;GAAE,SAAS;GAAe,WAAW,
|
|
1
|
+
{"version":3,"file":"create3.mjs","names":[],"sources":["../../src/commands/judge-display/create.ts"],"sourcesContent":["import * as p from \"@clack/prompts\"\nimport type { OatmealClient } from \"../../client.js\"\nimport { formatJson, formatSuccess } from \"../../output.js\"\nimport type { JudgeDisplayProfile } from \"../../types.js\"\n\ninterface JudgeDisplayCreateOptions {\n name?: string\n title?: string\n bio?: string\n json?: boolean\n}\n\nexport function parseJudgeDisplayCreateOptions(args: string[]): JudgeDisplayCreateOptions {\n const options: JudgeDisplayCreateOptions = {}\n for (let i = 0; i < args.length; i++) {\n switch (args[i]) {\n case \"--name\":\n options.name = args[++i]\n break\n case \"--title\":\n options.title = args[++i]\n break\n case \"--bio\":\n options.bio = args[++i]\n break\n case \"--json\":\n options.json = true\n break\n }\n }\n return options\n}\n\nexport async function runJudgeDisplayCreate(\n client: OatmealClient,\n hackathonId: string,\n args: string[]\n): Promise<void> {\n const options = parseJudgeDisplayCreateOptions(args)\n\n let name = options.name\n\n if (!name && process.stdout.isTTY) {\n const result = await p.text({ message: \"Judge name:\", validate: (v: string) => (v ? undefined : \"Required\") })\n if (p.isCancel(result)) return\n name = result\n }\n\n if (!name) {\n console.error(\"Error: --name is required\")\n process.exit(1)\n }\n\n const profile = await client.post<JudgeDisplayProfile>(\n `/api/dashboard/hackathons/${hackathonId}/judges/display`,\n { name, title: options.title, bio: options.bio }\n )\n\n if (options.json) {\n console.log(formatJson(profile))\n return\n }\n\n console.log(formatSuccess(`Created judge display profile \"${profile.name}\" (${profile.id})`))\n}\n"],"mappings":";;;AAYA,SAAgB,+BAA+B,MAA2C;CACxF,MAAM,UAAqC,EAAE;AAC7C,MAAK,IAAI,IAAI,GAAG,IAAI,KAAK,QAAQ,IAC/B,SAAQ,KAAK,IAAb;EACE,KAAK;AACH,WAAQ,OAAO,KAAK,EAAE;AACtB;EACF,KAAK;AACH,WAAQ,QAAQ,KAAK,EAAE;AACvB;EACF,KAAK;AACH,WAAQ,MAAM,KAAK,EAAE;AACrB;EACF,KAAK;AACH,WAAQ,OAAO;AACf;;AAGN,QAAO;;AAGT,eAAsB,sBACpB,QACA,aACA,MACe;CACf,MAAM,UAAU,+BAA+B,KAAK;CAEpD,IAAI,OAAO,QAAQ;AAEnB,KAAI,CAAC,QAAQ,QAAQ,OAAO,OAAO;EACjC,MAAM,SAAS,MAAM,EAAE,KAAK;GAAE,SAAS;GAAe,WAAW,MAAe,IAAI,KAAA,IAAY;GAAa,CAAC;AAC9G,MAAI,EAAE,SAAS,OAAO,CAAE;AACxB,SAAO;;AAGT,KAAI,CAAC,MAAM;AACT,UAAQ,MAAM,4BAA4B;AAC1C,UAAQ,KAAK,EAAE;;CAGjB,MAAM,UAAU,MAAM,OAAO,KAC3B,6BAA6B,YAAY,kBACzC;EAAE;EAAM,OAAO,QAAQ;EAAO,KAAK,QAAQ;EAAK,CACjD;AAED,KAAI,QAAQ,MAAM;AAChB,UAAQ,IAAI,WAAW,QAAQ,CAAC;AAChC;;AAGF,SAAQ,IAAI,cAAc,kCAAkC,QAAQ,KAAK,KAAK,QAAQ,GAAG,GAAG,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create4.mjs","names":[],"sources":["../../src/commands/prizes/create.ts"],"sourcesContent":["import * as p from \"@clack/prompts\"\nimport type { OatmealClient } from \"../../client.js\"\nimport { formatJson, formatSuccess } from \"../../output.js\"\nimport type { Prize } from \"../../types.js\"\n\ninterface PrizeCreateOptions {\n name?: string\n description?: string\n type?: string\n value?: string\n json?: boolean\n}\n\nexport function parsePrizeCreateOptions(args: string[]): PrizeCreateOptions {\n const options: PrizeCreateOptions = {}\n for (let i = 0; i < args.length; i++) {\n switch (args[i]) {\n case \"--name\":\n options.name = args[++i]\n break\n case \"--description\":\n options.description = args[++i]\n break\n case \"--type\":\n options.type = args[++i]\n break\n case \"--value\":\n options.value = args[++i]\n break\n case \"--json\":\n options.json = true\n break\n }\n }\n return options\n}\n\nexport async function runPrizesCreate(\n client: OatmealClient,\n hackathonId: string,\n args: string[]\n): Promise<void> {\n const options = parsePrizeCreateOptions(args)\n\n let name = options.name\n\n if (!name && process.stdout.isTTY) {\n const result = await p.text({ message: \"Prize name:\", validate: (v) => (v ? undefined : \"Required\") })\n if (p.isCancel(result)) return\n name = result\n }\n\n if (!name) {\n console.error(\"Error: --name is required\")\n process.exit(1)\n }\n\n const prize = await client.post<Prize>(\n `/api/dashboard/hackathons/${hackathonId}/prizes`,\n {\n name,\n description: options.description,\n type: options.type,\n value: options.value,\n }\n )\n\n if (options.json) {\n console.log(formatJson(prize))\n return\n }\n\n console.log(formatSuccess(`Created prize \"${prize.name}\" (${prize.id})`))\n}\n"],"mappings":";;;AAaA,SAAgB,wBAAwB,MAAoC;CAC1E,MAAM,UAA8B,EAAE;AACtC,MAAK,IAAI,IAAI,GAAG,IAAI,KAAK,QAAQ,IAC/B,SAAQ,KAAK,IAAb;EACE,KAAK;AACH,WAAQ,OAAO,KAAK,EAAE;AACtB;EACF,KAAK;AACH,WAAQ,cAAc,KAAK,EAAE;AAC7B;EACF,KAAK;AACH,WAAQ,OAAO,KAAK,EAAE;AACtB;EACF,KAAK;AACH,WAAQ,QAAQ,KAAK,EAAE;AACvB;EACF,KAAK;AACH,WAAQ,OAAO;AACf;;AAGN,QAAO;;AAGT,eAAsB,gBACpB,QACA,aACA,MACe;CACf,MAAM,UAAU,wBAAwB,KAAK;CAE7C,IAAI,OAAO,QAAQ;AAEnB,KAAI,CAAC,QAAQ,QAAQ,OAAO,OAAO;EACjC,MAAM,SAAS,MAAM,EAAE,KAAK;GAAE,SAAS;GAAe,WAAW,
|
|
1
|
+
{"version":3,"file":"create4.mjs","names":[],"sources":["../../src/commands/prizes/create.ts"],"sourcesContent":["import * as p from \"@clack/prompts\"\nimport type { OatmealClient } from \"../../client.js\"\nimport { formatJson, formatSuccess } from \"../../output.js\"\nimport type { Prize } from \"../../types.js\"\n\ninterface PrizeCreateOptions {\n name?: string\n description?: string\n type?: string\n value?: string\n json?: boolean\n}\n\nexport function parsePrizeCreateOptions(args: string[]): PrizeCreateOptions {\n const options: PrizeCreateOptions = {}\n for (let i = 0; i < args.length; i++) {\n switch (args[i]) {\n case \"--name\":\n options.name = args[++i]\n break\n case \"--description\":\n options.description = args[++i]\n break\n case \"--type\":\n options.type = args[++i]\n break\n case \"--value\":\n options.value = args[++i]\n break\n case \"--json\":\n options.json = true\n break\n }\n }\n return options\n}\n\nexport async function runPrizesCreate(\n client: OatmealClient,\n hackathonId: string,\n args: string[]\n): Promise<void> {\n const options = parsePrizeCreateOptions(args)\n\n let name = options.name\n\n if (!name && process.stdout.isTTY) {\n const result = await p.text({ message: \"Prize name:\", validate: (v: string) => (v ? undefined : \"Required\") })\n if (p.isCancel(result)) return\n name = result\n }\n\n if (!name) {\n console.error(\"Error: --name is required\")\n process.exit(1)\n }\n\n const prize = await client.post<Prize>(\n `/api/dashboard/hackathons/${hackathonId}/prizes`,\n {\n name,\n description: options.description,\n type: options.type,\n value: options.value,\n }\n )\n\n if (options.json) {\n console.log(formatJson(prize))\n return\n }\n\n console.log(formatSuccess(`Created prize \"${prize.name}\" (${prize.id})`))\n}\n"],"mappings":";;;AAaA,SAAgB,wBAAwB,MAAoC;CAC1E,MAAM,UAA8B,EAAE;AACtC,MAAK,IAAI,IAAI,GAAG,IAAI,KAAK,QAAQ,IAC/B,SAAQ,KAAK,IAAb;EACE,KAAK;AACH,WAAQ,OAAO,KAAK,EAAE;AACtB;EACF,KAAK;AACH,WAAQ,cAAc,KAAK,EAAE;AAC7B;EACF,KAAK;AACH,WAAQ,OAAO,KAAK,EAAE;AACtB;EACF,KAAK;AACH,WAAQ,QAAQ,KAAK,EAAE;AACvB;EACF,KAAK;AACH,WAAQ,OAAO;AACf;;AAGN,QAAO;;AAGT,eAAsB,gBACpB,QACA,aACA,MACe;CACf,MAAM,UAAU,wBAAwB,KAAK;CAE7C,IAAI,OAAO,QAAQ;AAEnB,KAAI,CAAC,QAAQ,QAAQ,OAAO,OAAO;EACjC,MAAM,SAAS,MAAM,EAAE,KAAK;GAAE,SAAS;GAAe,WAAW,MAAe,IAAI,KAAA,IAAY;GAAa,CAAC;AAC9G,MAAI,EAAE,SAAS,OAAO,CAAE;AACxB,SAAO;;AAGT,KAAI,CAAC,MAAM;AACT,UAAQ,MAAM,4BAA4B;AAC1C,UAAQ,KAAK,EAAE;;CAGjB,MAAM,QAAQ,MAAM,OAAO,KACzB,6BAA6B,YAAY,UACzC;EACE;EACA,aAAa,QAAQ;EACrB,MAAM,QAAQ;EACd,OAAO,QAAQ;EAChB,CACF;AAED,KAAI,QAAQ,MAAM;AAChB,UAAQ,IAAI,WAAW,MAAM,CAAC;AAC9B;;AAGF,SAAQ,IAAI,cAAc,kBAAkB,MAAM,KAAK,KAAK,MAAM,GAAG,GAAG,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create5.mjs","names":[],"sources":["../../src/commands/schedules/create.ts"],"sourcesContent":["import * as p from \"@clack/prompts\"\nimport type { OatmealClient } from \"../../client.js\"\nimport { formatJson, formatSuccess } from \"../../output.js\"\nimport type { Schedule } from \"../../types.js\"\n\ninterface ScheduleCreateOptions {\n name?: string\n cron?: string\n json?: boolean\n}\n\nexport function parseScheduleCreateOptions(args: string[]): ScheduleCreateOptions {\n const options: ScheduleCreateOptions = {}\n for (let i = 0; i < args.length; i++) {\n switch (args[i]) {\n case \"--name\":\n options.name = args[++i]\n break\n case \"--cron\":\n options.cron = args[++i]\n break\n case \"--json\":\n options.json = true\n break\n }\n }\n return options\n}\n\nexport async function runSchedulesCreate(\n client: OatmealClient,\n args: string[]\n): Promise<void> {\n const options = parseScheduleCreateOptions(args)\n\n let name = options.name\n let cron = options.cron\n\n if (!name && process.stdout.isTTY) {\n const result = await p.text({ message: \"Schedule name:\", validate: (v) => (v ? undefined : \"Required\") })\n if (p.isCancel(result)) return\n name = result\n }\n\n if (!name) {\n console.error(\"Error: --name is required\")\n process.exit(1)\n }\n\n if (!cron && process.stdout.isTTY) {\n const result = await p.text({ message: \"Cron expression:\", validate: (v) => (v ? undefined : \"Required\") })\n if (p.isCancel(result)) return\n cron = result\n }\n\n if (!cron) {\n console.error(\"Error: --cron is required\")\n process.exit(1)\n }\n\n const schedule = await client.post<Schedule>(\"/api/dashboard/schedules\", {\n name,\n cron_expression: cron,\n })\n\n if (options.json) {\n console.log(formatJson(schedule))\n return\n }\n\n console.log(formatSuccess(`Created schedule \"${schedule.name}\" (${schedule.id})`))\n}\n"],"mappings":";;;AAWA,SAAgB,2BAA2B,MAAuC;CAChF,MAAM,UAAiC,EAAE;AACzC,MAAK,IAAI,IAAI,GAAG,IAAI,KAAK,QAAQ,IAC/B,SAAQ,KAAK,IAAb;EACE,KAAK;AACH,WAAQ,OAAO,KAAK,EAAE;AACtB;EACF,KAAK;AACH,WAAQ,OAAO,KAAK,EAAE;AACtB;EACF,KAAK;AACH,WAAQ,OAAO;AACf;;AAGN,QAAO;;AAGT,eAAsB,mBACpB,QACA,MACe;CACf,MAAM,UAAU,2BAA2B,KAAK;CAEhD,IAAI,OAAO,QAAQ;CACnB,IAAI,OAAO,QAAQ;AAEnB,KAAI,CAAC,QAAQ,QAAQ,OAAO,OAAO;EACjC,MAAM,SAAS,MAAM,EAAE,KAAK;GAAE,SAAS;GAAkB,WAAW,
|
|
1
|
+
{"version":3,"file":"create5.mjs","names":[],"sources":["../../src/commands/schedules/create.ts"],"sourcesContent":["import * as p from \"@clack/prompts\"\nimport type { OatmealClient } from \"../../client.js\"\nimport { formatJson, formatSuccess } from \"../../output.js\"\nimport type { Schedule } from \"../../types.js\"\n\ninterface ScheduleCreateOptions {\n name?: string\n cron?: string\n json?: boolean\n}\n\nexport function parseScheduleCreateOptions(args: string[]): ScheduleCreateOptions {\n const options: ScheduleCreateOptions = {}\n for (let i = 0; i < args.length; i++) {\n switch (args[i]) {\n case \"--name\":\n options.name = args[++i]\n break\n case \"--cron\":\n options.cron = args[++i]\n break\n case \"--json\":\n options.json = true\n break\n }\n }\n return options\n}\n\nexport async function runSchedulesCreate(\n client: OatmealClient,\n args: string[]\n): Promise<void> {\n const options = parseScheduleCreateOptions(args)\n\n let name = options.name\n let cron = options.cron\n\n if (!name && process.stdout.isTTY) {\n const result = await p.text({ message: \"Schedule name:\", validate: (v: string) => (v ? undefined : \"Required\") })\n if (p.isCancel(result)) return\n name = result\n }\n\n if (!name) {\n console.error(\"Error: --name is required\")\n process.exit(1)\n }\n\n if (!cron && process.stdout.isTTY) {\n const result = await p.text({ message: \"Cron expression:\", validate: (v: string) => (v ? undefined : \"Required\") })\n if (p.isCancel(result)) return\n cron = result\n }\n\n if (!cron) {\n console.error(\"Error: --cron is required\")\n process.exit(1)\n }\n\n const schedule = await client.post<Schedule>(\"/api/dashboard/schedules\", {\n name,\n cron_expression: cron,\n })\n\n if (options.json) {\n console.log(formatJson(schedule))\n return\n }\n\n console.log(formatSuccess(`Created schedule \"${schedule.name}\" (${schedule.id})`))\n}\n"],"mappings":";;;AAWA,SAAgB,2BAA2B,MAAuC;CAChF,MAAM,UAAiC,EAAE;AACzC,MAAK,IAAI,IAAI,GAAG,IAAI,KAAK,QAAQ,IAC/B,SAAQ,KAAK,IAAb;EACE,KAAK;AACH,WAAQ,OAAO,KAAK,EAAE;AACtB;EACF,KAAK;AACH,WAAQ,OAAO,KAAK,EAAE;AACtB;EACF,KAAK;AACH,WAAQ,OAAO;AACf;;AAGN,QAAO;;AAGT,eAAsB,mBACpB,QACA,MACe;CACf,MAAM,UAAU,2BAA2B,KAAK;CAEhD,IAAI,OAAO,QAAQ;CACnB,IAAI,OAAO,QAAQ;AAEnB,KAAI,CAAC,QAAQ,QAAQ,OAAO,OAAO;EACjC,MAAM,SAAS,MAAM,EAAE,KAAK;GAAE,SAAS;GAAkB,WAAW,MAAe,IAAI,KAAA,IAAY;GAAa,CAAC;AACjH,MAAI,EAAE,SAAS,OAAO,CAAE;AACxB,SAAO;;AAGT,KAAI,CAAC,MAAM;AACT,UAAQ,MAAM,4BAA4B;AAC1C,UAAQ,KAAK,EAAE;;AAGjB,KAAI,CAAC,QAAQ,QAAQ,OAAO,OAAO;EACjC,MAAM,SAAS,MAAM,EAAE,KAAK;GAAE,SAAS;GAAoB,WAAW,MAAe,IAAI,KAAA,IAAY;GAAa,CAAC;AACnH,MAAI,EAAE,SAAS,OAAO,CAAE;AACxB,SAAO;;AAGT,KAAI,CAAC,MAAM;AACT,UAAQ,MAAM,4BAA4B;AAC1C,UAAQ,KAAK,EAAE;;CAGjB,MAAM,WAAW,MAAM,OAAO,KAAe,4BAA4B;EACvE;EACA,iBAAiB;EAClB,CAAC;AAEF,KAAI,QAAQ,MAAM;AAChB,UAAQ,IAAI,WAAW,SAAS,CAAC;AACjC;;AAGF,SAAQ,IAAI,cAAc,qBAAqB,SAAS,KAAK,KAAK,SAAS,GAAG,GAAG,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create6.mjs","names":[],"sources":["../../src/commands/webhooks/create.ts"],"sourcesContent":["import * as p from \"@clack/prompts\"\nimport type { OatmealClient } from \"../../client.js\"\nimport { formatJson, formatSuccess, formatWarning } from \"../../output.js\"\nimport type { Webhook } from \"../../types.js\"\n\ninterface WebhookCreateOptions {\n url?: string\n events?: string[]\n json?: boolean\n}\n\nexport function parseWebhookCreateOptions(args: string[]): WebhookCreateOptions {\n const options: WebhookCreateOptions = {}\n for (let i = 0; i < args.length; i++) {\n switch (args[i]) {\n case \"--url\":\n options.url = args[++i]\n break\n case \"--events\":\n options.events = args[++i]?.split(\",\").map((s) => s.trim())\n break\n case \"--json\":\n options.json = true\n break\n }\n }\n return options\n}\n\nexport async function runWebhooksCreate(\n client: OatmealClient,\n args: string[]\n): Promise<void> {\n const options = parseWebhookCreateOptions(args)\n\n let url = options.url\n let events = options.events\n\n if (!url && process.stdout.isTTY) {\n const result = await p.text({ message: \"Webhook URL:\", validate: (v) => (v ? undefined : \"Required\") })\n if (p.isCancel(result)) return\n url = result\n }\n\n if (!url) {\n console.error(\"Error: --url is required\")\n process.exit(1)\n }\n\n if (!events?.length && process.stdout.isTTY) {\n const result = await p.text({ message: \"Events (comma-separated):\" })\n if (p.isCancel(result)) return\n events = result.split(\",\").map((s) => s.trim())\n }\n\n const webhook = await client.post<Webhook>(\"/api/v1/webhooks\", { url, events })\n\n if (options.json) {\n console.log(formatJson(webhook))\n return\n }\n\n console.log(formatSuccess(`Created webhook ${webhook.id}`))\n if (webhook.signing_secret) {\n console.log(formatWarning(\"Save this signing secret — it won't be shown again:\"))\n console.log(webhook.signing_secret)\n }\n}\n"],"mappings":";;;AAWA,SAAgB,0BAA0B,MAAsC;CAC9E,MAAM,UAAgC,EAAE;AACxC,MAAK,IAAI,IAAI,GAAG,IAAI,KAAK,QAAQ,IAC/B,SAAQ,KAAK,IAAb;EACE,KAAK;AACH,WAAQ,MAAM,KAAK,EAAE;AACrB;EACF,KAAK;AACH,WAAQ,SAAS,KAAK,EAAE,IAAI,MAAM,IAAI,CAAC,KAAK,MAAM,EAAE,MAAM,CAAC;AAC3D;EACF,KAAK;AACH,WAAQ,OAAO;AACf;;AAGN,QAAO;;AAGT,eAAsB,kBACpB,QACA,MACe;CACf,MAAM,UAAU,0BAA0B,KAAK;CAE/C,IAAI,MAAM,QAAQ;CAClB,IAAI,SAAS,QAAQ;AAErB,KAAI,CAAC,OAAO,QAAQ,OAAO,OAAO;EAChC,MAAM,SAAS,MAAM,EAAE,KAAK;GAAE,SAAS;GAAgB,WAAW,
|
|
1
|
+
{"version":3,"file":"create6.mjs","names":[],"sources":["../../src/commands/webhooks/create.ts"],"sourcesContent":["import * as p from \"@clack/prompts\"\nimport type { OatmealClient } from \"../../client.js\"\nimport { formatJson, formatSuccess, formatWarning } from \"../../output.js\"\nimport type { Webhook } from \"../../types.js\"\n\ninterface WebhookCreateOptions {\n url?: string\n events?: string[]\n json?: boolean\n}\n\nexport function parseWebhookCreateOptions(args: string[]): WebhookCreateOptions {\n const options: WebhookCreateOptions = {}\n for (let i = 0; i < args.length; i++) {\n switch (args[i]) {\n case \"--url\":\n options.url = args[++i]\n break\n case \"--events\":\n options.events = args[++i]?.split(\",\").map((s) => s.trim())\n break\n case \"--json\":\n options.json = true\n break\n }\n }\n return options\n}\n\nexport async function runWebhooksCreate(\n client: OatmealClient,\n args: string[]\n): Promise<void> {\n const options = parseWebhookCreateOptions(args)\n\n let url = options.url\n let events = options.events\n\n if (!url && process.stdout.isTTY) {\n const result = await p.text({ message: \"Webhook URL:\", validate: (v: string) => (v ? undefined : \"Required\") })\n if (p.isCancel(result)) return\n url = result\n }\n\n if (!url) {\n console.error(\"Error: --url is required\")\n process.exit(1)\n }\n\n if (!events?.length && process.stdout.isTTY) {\n const result = await p.text({ message: \"Events (comma-separated):\" })\n if (p.isCancel(result)) return\n events = result.split(\",\").map((s: string) => s.trim())\n }\n\n const webhook = await client.post<Webhook>(\"/api/v1/webhooks\", { url, events })\n\n if (options.json) {\n console.log(formatJson(webhook))\n return\n }\n\n console.log(formatSuccess(`Created webhook ${webhook.id}`))\n if (webhook.signing_secret) {\n console.log(formatWarning(\"Save this signing secret — it won't be shown again:\"))\n console.log(webhook.signing_secret)\n }\n}\n"],"mappings":";;;AAWA,SAAgB,0BAA0B,MAAsC;CAC9E,MAAM,UAAgC,EAAE;AACxC,MAAK,IAAI,IAAI,GAAG,IAAI,KAAK,QAAQ,IAC/B,SAAQ,KAAK,IAAb;EACE,KAAK;AACH,WAAQ,MAAM,KAAK,EAAE;AACrB;EACF,KAAK;AACH,WAAQ,SAAS,KAAK,EAAE,IAAI,MAAM,IAAI,CAAC,KAAK,MAAM,EAAE,MAAM,CAAC;AAC3D;EACF,KAAK;AACH,WAAQ,OAAO;AACf;;AAGN,QAAO;;AAGT,eAAsB,kBACpB,QACA,MACe;CACf,MAAM,UAAU,0BAA0B,KAAK;CAE/C,IAAI,MAAM,QAAQ;CAClB,IAAI,SAAS,QAAQ;AAErB,KAAI,CAAC,OAAO,QAAQ,OAAO,OAAO;EAChC,MAAM,SAAS,MAAM,EAAE,KAAK;GAAE,SAAS;GAAgB,WAAW,MAAe,IAAI,KAAA,IAAY;GAAa,CAAC;AAC/G,MAAI,EAAE,SAAS,OAAO,CAAE;AACxB,QAAM;;AAGR,KAAI,CAAC,KAAK;AACR,UAAQ,MAAM,2BAA2B;AACzC,UAAQ,KAAK,EAAE;;AAGjB,KAAI,CAAC,QAAQ,UAAU,QAAQ,OAAO,OAAO;EAC3C,MAAM,SAAS,MAAM,EAAE,KAAK,EAAE,SAAS,6BAA6B,CAAC;AACrE,MAAI,EAAE,SAAS,OAAO,CAAE;AACxB,WAAS,OAAO,MAAM,IAAI,CAAC,KAAK,MAAc,EAAE,MAAM,CAAC;;CAGzD,MAAM,UAAU,MAAM,OAAO,KAAc,oBAAoB;EAAE;EAAK;EAAQ,CAAC;AAE/E,KAAI,QAAQ,MAAM;AAChB,UAAQ,IAAI,WAAW,QAAQ,CAAC;AAChC;;AAGF,SAAQ,IAAI,cAAc,mBAAmB,QAAQ,KAAK,CAAC;AAC3D,KAAI,QAAQ,gBAAgB;AAC1B,UAAQ,IAAI,cAAc,sDAAsD,CAAC;AACjF,UAAQ,IAAI,QAAQ,eAAe"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"criteria-create.mjs","names":[],"sources":["../../src/commands/judging/criteria-create.ts"],"sourcesContent":["import * as p from \"@clack/prompts\"\nimport type { OatmealClient } from \"../../client.js\"\nimport { formatJson, formatSuccess } from \"../../output.js\"\nimport type { JudgingCriteria } from \"../../types.js\"\n\ninterface CriteriaCreateOptions {\n name?: string\n description?: string\n maxScore?: number\n weight?: number\n json?: boolean\n}\n\nexport function parseCriteriaCreateOptions(args: string[]): CriteriaCreateOptions {\n const options: CriteriaCreateOptions = {}\n for (let i = 0; i < args.length; i++) {\n switch (args[i]) {\n case \"--name\":\n options.name = args[++i]\n break\n case \"--description\":\n options.description = args[++i]\n break\n case \"--max-score\":\n options.maxScore = parseInt(args[++i], 10)\n break\n case \"--weight\":\n options.weight = parseFloat(args[++i])\n break\n case \"--json\":\n options.json = true\n break\n }\n }\n return options\n}\n\nexport async function runCriteriaCreate(\n client: OatmealClient,\n hackathonId: string,\n args: string[]\n): Promise<void> {\n const options = parseCriteriaCreateOptions(args)\n\n let name = options.name\n let maxScore = options.maxScore\n let weight = options.weight\n\n if (!name && process.stdout.isTTY) {\n const result = await p.text({ message: \"Criteria name:\", validate: (v) => (v ? undefined : \"Required\") })\n if (p.isCancel(result)) return\n name = result\n }\n\n if (!name) {\n console.error(\"Error: --name is required\")\n process.exit(1)\n }\n\n if (maxScore === undefined && process.stdout.isTTY) {\n const result = await p.text({ message: \"Max score:\", initialValue: \"10\" })\n if (p.isCancel(result)) return\n maxScore = parseInt(result, 10)\n }\n\n if (maxScore !== undefined && (isNaN(maxScore) || maxScore <= 0)) {\n console.error(\"Error: --max-score must be a positive integer\")\n process.exit(1)\n }\n\n if (weight === undefined && process.stdout.isTTY) {\n const result = await p.text({ message: \"Weight:\", initialValue: \"1\" })\n if (p.isCancel(result)) return\n weight = parseFloat(result)\n }\n\n const criteria = await client.post<JudgingCriteria>(\n `/api/dashboard/hackathons/${hackathonId}/judging/criteria`,\n {\n name,\n description: options.description,\n max_score: maxScore ?? 10,\n weight: weight ?? 1,\n }\n )\n\n if (options.json) {\n console.log(formatJson(criteria))\n return\n }\n\n console.log(formatSuccess(`Created criteria \"${criteria.name}\" (${criteria.id})`))\n}\n"],"mappings":";;;AAaA,SAAgB,2BAA2B,MAAuC;CAChF,MAAM,UAAiC,EAAE;AACzC,MAAK,IAAI,IAAI,GAAG,IAAI,KAAK,QAAQ,IAC/B,SAAQ,KAAK,IAAb;EACE,KAAK;AACH,WAAQ,OAAO,KAAK,EAAE;AACtB;EACF,KAAK;AACH,WAAQ,cAAc,KAAK,EAAE;AAC7B;EACF,KAAK;AACH,WAAQ,WAAW,SAAS,KAAK,EAAE,IAAI,GAAG;AAC1C;EACF,KAAK;AACH,WAAQ,SAAS,WAAW,KAAK,EAAE,GAAG;AACtC;EACF,KAAK;AACH,WAAQ,OAAO;AACf;;AAGN,QAAO;;AAGT,eAAsB,kBACpB,QACA,aACA,MACe;CACf,MAAM,UAAU,2BAA2B,KAAK;CAEhD,IAAI,OAAO,QAAQ;CACnB,IAAI,WAAW,QAAQ;CACvB,IAAI,SAAS,QAAQ;AAErB,KAAI,CAAC,QAAQ,QAAQ,OAAO,OAAO;EACjC,MAAM,SAAS,MAAM,EAAE,KAAK;GAAE,SAAS;GAAkB,WAAW,
|
|
1
|
+
{"version":3,"file":"criteria-create.mjs","names":[],"sources":["../../src/commands/judging/criteria-create.ts"],"sourcesContent":["import * as p from \"@clack/prompts\"\nimport type { OatmealClient } from \"../../client.js\"\nimport { formatJson, formatSuccess } from \"../../output.js\"\nimport type { JudgingCriteria } from \"../../types.js\"\n\ninterface CriteriaCreateOptions {\n name?: string\n description?: string\n maxScore?: number\n weight?: number\n json?: boolean\n}\n\nexport function parseCriteriaCreateOptions(args: string[]): CriteriaCreateOptions {\n const options: CriteriaCreateOptions = {}\n for (let i = 0; i < args.length; i++) {\n switch (args[i]) {\n case \"--name\":\n options.name = args[++i]\n break\n case \"--description\":\n options.description = args[++i]\n break\n case \"--max-score\":\n options.maxScore = parseInt(args[++i], 10)\n break\n case \"--weight\":\n options.weight = parseFloat(args[++i])\n break\n case \"--json\":\n options.json = true\n break\n }\n }\n return options\n}\n\nexport async function runCriteriaCreate(\n client: OatmealClient,\n hackathonId: string,\n args: string[]\n): Promise<void> {\n const options = parseCriteriaCreateOptions(args)\n\n let name = options.name\n let maxScore = options.maxScore\n let weight = options.weight\n\n if (!name && process.stdout.isTTY) {\n const result = await p.text({ message: \"Criteria name:\", validate: (v: string) => (v ? undefined : \"Required\") })\n if (p.isCancel(result)) return\n name = result\n }\n\n if (!name) {\n console.error(\"Error: --name is required\")\n process.exit(1)\n }\n\n if (maxScore === undefined && process.stdout.isTTY) {\n const result = await p.text({ message: \"Max score:\", initialValue: \"10\" })\n if (p.isCancel(result)) return\n maxScore = parseInt(result, 10)\n }\n\n if (maxScore !== undefined && (isNaN(maxScore) || maxScore <= 0)) {\n console.error(\"Error: --max-score must be a positive integer\")\n process.exit(1)\n }\n\n if (weight === undefined && process.stdout.isTTY) {\n const result = await p.text({ message: \"Weight:\", initialValue: \"1\" })\n if (p.isCancel(result)) return\n weight = parseFloat(result)\n }\n\n const criteria = await client.post<JudgingCriteria>(\n `/api/dashboard/hackathons/${hackathonId}/judging/criteria`,\n {\n name,\n description: options.description,\n max_score: maxScore ?? 10,\n weight: weight ?? 1,\n }\n )\n\n if (options.json) {\n console.log(formatJson(criteria))\n return\n }\n\n console.log(formatSuccess(`Created criteria \"${criteria.name}\" (${criteria.id})`))\n}\n"],"mappings":";;;AAaA,SAAgB,2BAA2B,MAAuC;CAChF,MAAM,UAAiC,EAAE;AACzC,MAAK,IAAI,IAAI,GAAG,IAAI,KAAK,QAAQ,IAC/B,SAAQ,KAAK,IAAb;EACE,KAAK;AACH,WAAQ,OAAO,KAAK,EAAE;AACtB;EACF,KAAK;AACH,WAAQ,cAAc,KAAK,EAAE;AAC7B;EACF,KAAK;AACH,WAAQ,WAAW,SAAS,KAAK,EAAE,IAAI,GAAG;AAC1C;EACF,KAAK;AACH,WAAQ,SAAS,WAAW,KAAK,EAAE,GAAG;AACtC;EACF,KAAK;AACH,WAAQ,OAAO;AACf;;AAGN,QAAO;;AAGT,eAAsB,kBACpB,QACA,aACA,MACe;CACf,MAAM,UAAU,2BAA2B,KAAK;CAEhD,IAAI,OAAO,QAAQ;CACnB,IAAI,WAAW,QAAQ;CACvB,IAAI,SAAS,QAAQ;AAErB,KAAI,CAAC,QAAQ,QAAQ,OAAO,OAAO;EACjC,MAAM,SAAS,MAAM,EAAE,KAAK;GAAE,SAAS;GAAkB,WAAW,MAAe,IAAI,KAAA,IAAY;GAAa,CAAC;AACjH,MAAI,EAAE,SAAS,OAAO,CAAE;AACxB,SAAO;;AAGT,KAAI,CAAC,MAAM;AACT,UAAQ,MAAM,4BAA4B;AAC1C,UAAQ,KAAK,EAAE;;AAGjB,KAAI,aAAa,KAAA,KAAa,QAAQ,OAAO,OAAO;EAClD,MAAM,SAAS,MAAM,EAAE,KAAK;GAAE,SAAS;GAAc,cAAc;GAAM,CAAC;AAC1E,MAAI,EAAE,SAAS,OAAO,CAAE;AACxB,aAAW,SAAS,QAAQ,GAAG;;AAGjC,KAAI,aAAa,KAAA,MAAc,MAAM,SAAS,IAAI,YAAY,IAAI;AAChE,UAAQ,MAAM,gDAAgD;AAC9D,UAAQ,KAAK,EAAE;;AAGjB,KAAI,WAAW,KAAA,KAAa,QAAQ,OAAO,OAAO;EAChD,MAAM,SAAS,MAAM,EAAE,KAAK;GAAE,SAAS;GAAW,cAAc;GAAK,CAAC;AACtE,MAAI,EAAE,SAAS,OAAO,CAAE;AACxB,WAAS,WAAW,OAAO;;CAG7B,MAAM,WAAW,MAAM,OAAO,KAC5B,6BAA6B,YAAY,oBACzC;EACE;EACA,aAAa,QAAQ;EACrB,WAAW,YAAY;EACvB,QAAQ,UAAU;EACnB,CACF;AAED,KAAI,QAAQ,MAAM;AAChB,UAAQ,IAAI,WAAW,SAAS,CAAC;AACjC;;AAGF,SAAQ,IAAI,cAAc,qBAAqB,SAAS,KAAK,KAAK,SAAS,GAAG,GAAG,CAAC"}
|
|
@@ -3,7 +3,7 @@ import * as p from "@clack/prompts";
|
|
|
3
3
|
//#region src/commands/judging/criteria-delete.ts
|
|
4
4
|
async function runCriteriaDelete(client, hackathonId, criteriaId, options) {
|
|
5
5
|
if (!criteriaId) {
|
|
6
|
-
console.error("Usage:
|
|
6
|
+
console.error("Usage: hackathon judging criteria delete <hackathon-id> <criteria-id>");
|
|
7
7
|
process.exit(1);
|
|
8
8
|
}
|
|
9
9
|
if (!options.yes) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"criteria-delete.mjs","names":[],"sources":["../../src/commands/judging/criteria-delete.ts"],"sourcesContent":["import * as p from \"@clack/prompts\"\nimport type { OatmealClient } from \"../../client.js\"\nimport { formatSuccess } from \"../../output.js\"\n\nexport async function runCriteriaDelete(\n client: OatmealClient,\n hackathonId: string,\n criteriaId: string,\n options: { yes?: boolean }\n): Promise<void> {\n if (!criteriaId) {\n console.error(\"Usage:
|
|
1
|
+
{"version":3,"file":"criteria-delete.mjs","names":[],"sources":["../../src/commands/judging/criteria-delete.ts"],"sourcesContent":["import * as p from \"@clack/prompts\"\nimport type { OatmealClient } from \"../../client.js\"\nimport { formatSuccess } from \"../../output.js\"\n\nexport async function runCriteriaDelete(\n client: OatmealClient,\n hackathonId: string,\n criteriaId: string,\n options: { yes?: boolean }\n): Promise<void> {\n if (!criteriaId) {\n console.error(\"Usage: hackathon judging criteria delete <hackathon-id> <criteria-id>\")\n process.exit(1)\n }\n\n if (!options.yes) {\n const confirm = await p.confirm({ message: `Delete criteria ${criteriaId}?` })\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/criteria/${criteriaId}`\n )\n console.log(formatSuccess(`Deleted criteria ${criteriaId}`))\n}\n"],"mappings":";;;AAIA,eAAsB,kBACpB,QACA,aACA,YACA,SACe;AACf,KAAI,CAAC,YAAY;AACf,UAAQ,MAAM,wEAAwE;AACtF,UAAQ,KAAK,EAAE;;AAGjB,KAAI,CAAC,QAAQ,KAAK;EAChB,MAAM,UAAU,MAAM,EAAE,QAAQ,EAAE,SAAS,mBAAmB,WAAW,IAAI,CAAC;AAC9E,MAAI,EAAE,SAAS,QAAQ,IAAI,CAAC,SAAS;AACnC,KAAE,IAAI,KAAK,aAAa;AACxB;;;AAIJ,OAAM,OAAO,OACX,6BAA6B,YAAY,oBAAoB,aAC9D;AACD,SAAQ,IAAI,cAAc,oBAAoB,aAAa,CAAC"}
|
|
@@ -23,7 +23,7 @@ function parseCriteriaUpdateOptions(args) {
|
|
|
23
23
|
}
|
|
24
24
|
async function runCriteriaUpdate(client, hackathonId, criteriaId, args) {
|
|
25
25
|
if (!criteriaId) {
|
|
26
|
-
console.error("Usage:
|
|
26
|
+
console.error("Usage: hackathon judging criteria update <hackathon-id> <criteria-id> [--name ...] [--max-score ...]");
|
|
27
27
|
process.exit(1);
|
|
28
28
|
}
|
|
29
29
|
const options = parseCriteriaUpdateOptions(args);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"criteria-update.mjs","names":[],"sources":["../../src/commands/judging/criteria-update.ts"],"sourcesContent":["import type { OatmealClient } from \"../../client.js\"\nimport { formatJson, formatSuccess } from \"../../output.js\"\nimport type { JudgingCriteria } from \"../../types.js\"\n\ninterface CriteriaUpdateOptions {\n name?: string\n description?: string\n maxScore?: number\n weight?: number\n json?: boolean\n}\n\nexport function parseCriteriaUpdateOptions(args: string[]): CriteriaUpdateOptions {\n const options: CriteriaUpdateOptions = {}\n for (let i = 0; i < args.length; i++) {\n switch (args[i]) {\n case \"--name\":\n options.name = args[++i]\n break\n case \"--description\":\n options.description = args[++i]\n break\n case \"--max-score\":\n options.maxScore = parseInt(args[++i], 10)\n break\n case \"--weight\":\n options.weight = parseFloat(args[++i])\n break\n case \"--json\":\n options.json = true\n break\n }\n }\n return options\n}\n\nexport async function runCriteriaUpdate(\n client: OatmealClient,\n hackathonId: string,\n criteriaId: string,\n args: string[]\n): Promise<void> {\n if (!criteriaId) {\n console.error(\"Usage:
|
|
1
|
+
{"version":3,"file":"criteria-update.mjs","names":[],"sources":["../../src/commands/judging/criteria-update.ts"],"sourcesContent":["import type { OatmealClient } from \"../../client.js\"\nimport { formatJson, formatSuccess } from \"../../output.js\"\nimport type { JudgingCriteria } from \"../../types.js\"\n\ninterface CriteriaUpdateOptions {\n name?: string\n description?: string\n maxScore?: number\n weight?: number\n json?: boolean\n}\n\nexport function parseCriteriaUpdateOptions(args: string[]): CriteriaUpdateOptions {\n const options: CriteriaUpdateOptions = {}\n for (let i = 0; i < args.length; i++) {\n switch (args[i]) {\n case \"--name\":\n options.name = args[++i]\n break\n case \"--description\":\n options.description = args[++i]\n break\n case \"--max-score\":\n options.maxScore = parseInt(args[++i], 10)\n break\n case \"--weight\":\n options.weight = parseFloat(args[++i])\n break\n case \"--json\":\n options.json = true\n break\n }\n }\n return options\n}\n\nexport async function runCriteriaUpdate(\n client: OatmealClient,\n hackathonId: string,\n criteriaId: string,\n args: string[]\n): Promise<void> {\n if (!criteriaId) {\n console.error(\"Usage: hackathon judging criteria update <hackathon-id> <criteria-id> [--name ...] [--max-score ...]\")\n process.exit(1)\n }\n\n const options = parseCriteriaUpdateOptions(args)\n const body: Record<string, unknown> = {}\n if (options.name) body.name = options.name\n if (options.description) body.description = options.description\n if (options.maxScore !== undefined) body.max_score = options.maxScore\n if (options.weight !== undefined) body.weight = options.weight\n\n if (Object.keys(body).length === 0) {\n console.error(\"Error: provide at least one field to update\")\n process.exit(1)\n }\n\n const criteria = await client.patch<JudgingCriteria>(\n `/api/dashboard/hackathons/${hackathonId}/judging/criteria/${criteriaId}`,\n body\n )\n\n if (options.json) {\n console.log(formatJson(criteria))\n return\n }\n\n console.log(formatSuccess(`Updated criteria \"${criteria.name}\"`))\n}\n"],"mappings":";;AAYA,SAAgB,2BAA2B,MAAuC;CAChF,MAAM,UAAiC,EAAE;AACzC,MAAK,IAAI,IAAI,GAAG,IAAI,KAAK,QAAQ,IAC/B,SAAQ,KAAK,IAAb;EACE,KAAK;AACH,WAAQ,OAAO,KAAK,EAAE;AACtB;EACF,KAAK;AACH,WAAQ,cAAc,KAAK,EAAE;AAC7B;EACF,KAAK;AACH,WAAQ,WAAW,SAAS,KAAK,EAAE,IAAI,GAAG;AAC1C;EACF,KAAK;AACH,WAAQ,SAAS,WAAW,KAAK,EAAE,GAAG;AACtC;EACF,KAAK;AACH,WAAQ,OAAO;AACf;;AAGN,QAAO;;AAGT,eAAsB,kBACpB,QACA,aACA,YACA,MACe;AACf,KAAI,CAAC,YAAY;AACf,UAAQ,MAAM,uGAAuG;AACrH,UAAQ,KAAK,EAAE;;CAGjB,MAAM,UAAU,2BAA2B,KAAK;CAChD,MAAM,OAAgC,EAAE;AACxC,KAAI,QAAQ,KAAM,MAAK,OAAO,QAAQ;AACtC,KAAI,QAAQ,YAAa,MAAK,cAAc,QAAQ;AACpD,KAAI,QAAQ,aAAa,KAAA,EAAW,MAAK,YAAY,QAAQ;AAC7D,KAAI,QAAQ,WAAW,KAAA,EAAW,MAAK,SAAS,QAAQ;AAExD,KAAI,OAAO,KAAK,KAAK,CAAC,WAAW,GAAG;AAClC,UAAQ,MAAM,8CAA8C;AAC5D,UAAQ,KAAK,EAAE;;CAGjB,MAAM,WAAW,MAAM,OAAO,MAC5B,6BAA6B,YAAY,oBAAoB,cAC7D,KACD;AAED,KAAI,QAAQ,MAAM;AAChB,UAAQ,IAAI,WAAW,SAAS,CAAC;AACjC;;AAGF,SAAQ,IAAI,cAAc,qBAAqB,SAAS,KAAK,GAAG,CAAC"}
|
package/dist/_chunks/delete.mjs
CHANGED
|
@@ -4,7 +4,7 @@ import * as p from "@clack/prompts";
|
|
|
4
4
|
//#region src/commands/hackathons/delete.ts
|
|
5
5
|
async function runHackathonsDelete(client, idOrSlug, options) {
|
|
6
6
|
if (!idOrSlug) {
|
|
7
|
-
console.error("Usage:
|
|
7
|
+
console.error("Usage: hackathon events delete <id-or-slug>");
|
|
8
8
|
process.exit(1);
|
|
9
9
|
}
|
|
10
10
|
const id = await resolveHackathonId(client, idOrSlug);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete.mjs","names":[],"sources":["../../src/commands/hackathons/delete.ts"],"sourcesContent":["import * as p from \"@clack/prompts\"\nimport type { OatmealClient } from \"../../client.js\"\nimport { formatSuccess } from \"../../output.js\"\nimport { resolveHackathonId } from \"./resolve.js\"\n\nexport async function runHackathonsDelete(\n client: OatmealClient,\n idOrSlug: string,\n options: { yes?: boolean }\n): Promise<void> {\n if (!idOrSlug) {\n console.error(\"Usage:
|
|
1
|
+
{"version":3,"file":"delete.mjs","names":[],"sources":["../../src/commands/hackathons/delete.ts"],"sourcesContent":["import * as p from \"@clack/prompts\"\nimport type { OatmealClient } from \"../../client.js\"\nimport { formatSuccess } from \"../../output.js\"\nimport { resolveHackathonId } from \"./resolve.js\"\n\nexport async function runHackathonsDelete(\n client: OatmealClient,\n idOrSlug: string,\n options: { yes?: boolean }\n): Promise<void> {\n if (!idOrSlug) {\n console.error(\"Usage: hackathon events delete <id-or-slug>\")\n process.exit(1)\n }\n\n const id = await resolveHackathonId(client, idOrSlug)\n\n if (!options.yes) {\n const confirm = await p.confirm({\n message: `Delete hackathon ${idOrSlug}? This cannot be undone.`,\n })\n if (p.isCancel(confirm) || !confirm) {\n p.log.info(\"Cancelled.\")\n return\n }\n }\n\n await client.delete(`/api/dashboard/hackathons/${id}`)\n console.log(formatSuccess(`Deleted hackathon ${idOrSlug}`))\n}\n"],"mappings":";;;;AAKA,eAAsB,oBACpB,QACA,UACA,SACe;AACf,KAAI,CAAC,UAAU;AACb,UAAQ,MAAM,8CAA8C;AAC5D,UAAQ,KAAK,EAAE;;CAGjB,MAAM,KAAK,MAAM,mBAAmB,QAAQ,SAAS;AAErD,KAAI,CAAC,QAAQ,KAAK;EAChB,MAAM,UAAU,MAAM,EAAE,QAAQ,EAC9B,SAAS,oBAAoB,SAAS,2BACvC,CAAC;AACF,MAAI,EAAE,SAAS,QAAQ,IAAI,CAAC,SAAS;AACnC,KAAE,IAAI,KAAK,aAAa;AACxB;;;AAIJ,OAAM,OAAO,OAAO,6BAA6B,KAAK;AACtD,SAAQ,IAAI,cAAc,qBAAqB,WAAW,CAAC"}
|
package/dist/_chunks/delete2.mjs
CHANGED
|
@@ -3,7 +3,7 @@ import * as p from "@clack/prompts";
|
|
|
3
3
|
//#region src/commands/judge-display/delete.ts
|
|
4
4
|
async function runJudgeDisplayDelete(client, hackathonId, profileId, options) {
|
|
5
5
|
if (!profileId) {
|
|
6
|
-
console.error("Usage:
|
|
6
|
+
console.error("Usage: hackathon judge-display delete <hackathon-id> <profile-id>");
|
|
7
7
|
process.exit(1);
|
|
8
8
|
}
|
|
9
9
|
if (!options.yes) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete2.mjs","names":[],"sources":["../../src/commands/judge-display/delete.ts"],"sourcesContent":["import * as p from \"@clack/prompts\"\nimport type { OatmealClient } from \"../../client.js\"\nimport { formatSuccess } from \"../../output.js\"\n\nexport async function runJudgeDisplayDelete(\n client: OatmealClient,\n hackathonId: string,\n profileId: string,\n options: { yes?: boolean }\n): Promise<void> {\n if (!profileId) {\n console.error(\"Usage:
|
|
1
|
+
{"version":3,"file":"delete2.mjs","names":[],"sources":["../../src/commands/judge-display/delete.ts"],"sourcesContent":["import * as p from \"@clack/prompts\"\nimport type { OatmealClient } from \"../../client.js\"\nimport { formatSuccess } from \"../../output.js\"\n\nexport async function runJudgeDisplayDelete(\n client: OatmealClient,\n hackathonId: string,\n profileId: string,\n options: { yes?: boolean }\n): Promise<void> {\n if (!profileId) {\n console.error(\"Usage: hackathon judge-display delete <hackathon-id> <profile-id>\")\n process.exit(1)\n }\n\n if (!options.yes) {\n const confirm = await p.confirm({ message: `Delete judge display profile ${profileId}?` })\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}/judges/display/${profileId}`\n )\n console.log(formatSuccess(`Deleted judge display profile ${profileId}`))\n}\n"],"mappings":";;;AAIA,eAAsB,sBACpB,QACA,aACA,WACA,SACe;AACf,KAAI,CAAC,WAAW;AACd,UAAQ,MAAM,oEAAoE;AAClF,UAAQ,KAAK,EAAE;;AAGjB,KAAI,CAAC,QAAQ,KAAK;EAChB,MAAM,UAAU,MAAM,EAAE,QAAQ,EAAE,SAAS,gCAAgC,UAAU,IAAI,CAAC;AAC1F,MAAI,EAAE,SAAS,QAAQ,IAAI,CAAC,SAAS;AACnC,KAAE,IAAI,KAAK,aAAa;AACxB;;;AAIJ,OAAM,OAAO,OACX,6BAA6B,YAAY,kBAAkB,YAC5D;AACD,SAAQ,IAAI,cAAc,iCAAiC,YAAY,CAAC"}
|
package/dist/_chunks/delete3.mjs
CHANGED
|
@@ -3,7 +3,7 @@ import * as p from "@clack/prompts";
|
|
|
3
3
|
//#region src/commands/prizes/delete.ts
|
|
4
4
|
async function runPrizesDelete(client, hackathonId, prizeId, options) {
|
|
5
5
|
if (!prizeId) {
|
|
6
|
-
console.error("Usage:
|
|
6
|
+
console.error("Usage: hackathon prizes delete <hackathon-id> <prize-id>");
|
|
7
7
|
process.exit(1);
|
|
8
8
|
}
|
|
9
9
|
if (!options.yes) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete3.mjs","names":[],"sources":["../../src/commands/prizes/delete.ts"],"sourcesContent":["import * as p from \"@clack/prompts\"\nimport type { OatmealClient } from \"../../client.js\"\nimport { formatSuccess } from \"../../output.js\"\n\nexport async function runPrizesDelete(\n client: OatmealClient,\n hackathonId: string,\n prizeId: string,\n options: { yes?: boolean }\n): Promise<void> {\n if (!prizeId) {\n console.error(\"Usage:
|
|
1
|
+
{"version":3,"file":"delete3.mjs","names":[],"sources":["../../src/commands/prizes/delete.ts"],"sourcesContent":["import * as p from \"@clack/prompts\"\nimport type { OatmealClient } from \"../../client.js\"\nimport { formatSuccess } from \"../../output.js\"\n\nexport async function runPrizesDelete(\n client: OatmealClient,\n hackathonId: string,\n prizeId: string,\n options: { yes?: boolean }\n): Promise<void> {\n if (!prizeId) {\n console.error(\"Usage: hackathon prizes delete <hackathon-id> <prize-id>\")\n process.exit(1)\n }\n\n if (!options.yes) {\n const confirm = await p.confirm({ message: `Delete prize ${prizeId}?` })\n if (p.isCancel(confirm) || !confirm) {\n p.log.info(\"Cancelled.\")\n return\n }\n }\n\n await client.delete(`/api/dashboard/hackathons/${hackathonId}/prizes/${prizeId}`)\n console.log(formatSuccess(`Deleted prize ${prizeId}`))\n}\n"],"mappings":";;;AAIA,eAAsB,gBACpB,QACA,aACA,SACA,SACe;AACf,KAAI,CAAC,SAAS;AACZ,UAAQ,MAAM,2DAA2D;AACzE,UAAQ,KAAK,EAAE;;AAGjB,KAAI,CAAC,QAAQ,KAAK;EAChB,MAAM,UAAU,MAAM,EAAE,QAAQ,EAAE,SAAS,gBAAgB,QAAQ,IAAI,CAAC;AACxE,MAAI,EAAE,SAAS,QAAQ,IAAI,CAAC,SAAS;AACnC,KAAE,IAAI,KAAK,aAAa;AACxB;;;AAIJ,OAAM,OAAO,OAAO,6BAA6B,YAAY,UAAU,UAAU;AACjF,SAAQ,IAAI,cAAc,iBAAiB,UAAU,CAAC"}
|
package/dist/_chunks/delete4.mjs
CHANGED
|
@@ -3,7 +3,7 @@ import * as p from "@clack/prompts";
|
|
|
3
3
|
//#region src/commands/schedules/delete.ts
|
|
4
4
|
async function runSchedulesDelete(client, scheduleId, options) {
|
|
5
5
|
if (!scheduleId) {
|
|
6
|
-
console.error("Usage:
|
|
6
|
+
console.error("Usage: hackathon schedules delete <schedule-id>");
|
|
7
7
|
process.exit(1);
|
|
8
8
|
}
|
|
9
9
|
if (!options.yes) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete4.mjs","names":[],"sources":["../../src/commands/schedules/delete.ts"],"sourcesContent":["import * as p from \"@clack/prompts\"\nimport type { OatmealClient } from \"../../client.js\"\nimport { formatSuccess } from \"../../output.js\"\n\nexport async function runSchedulesDelete(\n client: OatmealClient,\n scheduleId: string,\n options: { yes?: boolean }\n): Promise<void> {\n if (!scheduleId) {\n console.error(\"Usage:
|
|
1
|
+
{"version":3,"file":"delete4.mjs","names":[],"sources":["../../src/commands/schedules/delete.ts"],"sourcesContent":["import * as p from \"@clack/prompts\"\nimport type { OatmealClient } from \"../../client.js\"\nimport { formatSuccess } from \"../../output.js\"\n\nexport async function runSchedulesDelete(\n client: OatmealClient,\n scheduleId: string,\n options: { yes?: boolean }\n): Promise<void> {\n if (!scheduleId) {\n console.error(\"Usage: hackathon schedules delete <schedule-id>\")\n process.exit(1)\n }\n\n if (!options.yes) {\n const confirm = await p.confirm({ message: `Delete schedule ${scheduleId}?` })\n if (p.isCancel(confirm) || !confirm) {\n p.log.info(\"Cancelled.\")\n return\n }\n }\n\n await client.delete(`/api/dashboard/schedules/${scheduleId}`)\n console.log(formatSuccess(`Deleted schedule ${scheduleId}`))\n}\n"],"mappings":";;;AAIA,eAAsB,mBACpB,QACA,YACA,SACe;AACf,KAAI,CAAC,YAAY;AACf,UAAQ,MAAM,kDAAkD;AAChE,UAAQ,KAAK,EAAE;;AAGjB,KAAI,CAAC,QAAQ,KAAK;EAChB,MAAM,UAAU,MAAM,EAAE,QAAQ,EAAE,SAAS,mBAAmB,WAAW,IAAI,CAAC;AAC9E,MAAI,EAAE,SAAS,QAAQ,IAAI,CAAC,SAAS;AACnC,KAAE,IAAI,KAAK,aAAa;AACxB;;;AAIJ,OAAM,OAAO,OAAO,4BAA4B,aAAa;AAC7D,SAAQ,IAAI,cAAc,oBAAoB,aAAa,CAAC"}
|
package/dist/_chunks/delete5.mjs
CHANGED
|
@@ -3,7 +3,7 @@ import * as p from "@clack/prompts";
|
|
|
3
3
|
//#region src/commands/webhooks/delete.ts
|
|
4
4
|
async function runWebhooksDelete(client, webhookId, options) {
|
|
5
5
|
if (!webhookId) {
|
|
6
|
-
console.error("Usage:
|
|
6
|
+
console.error("Usage: hackathon webhooks delete <webhook-id>");
|
|
7
7
|
process.exit(1);
|
|
8
8
|
}
|
|
9
9
|
if (!options.yes) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete5.mjs","names":[],"sources":["../../src/commands/webhooks/delete.ts"],"sourcesContent":["import * as p from \"@clack/prompts\"\nimport type { OatmealClient } from \"../../client.js\"\nimport { formatSuccess } from \"../../output.js\"\n\nexport async function runWebhooksDelete(\n client: OatmealClient,\n webhookId: string,\n options: { yes?: boolean }\n): Promise<void> {\n if (!webhookId) {\n console.error(\"Usage:
|
|
1
|
+
{"version":3,"file":"delete5.mjs","names":[],"sources":["../../src/commands/webhooks/delete.ts"],"sourcesContent":["import * as p from \"@clack/prompts\"\nimport type { OatmealClient } from \"../../client.js\"\nimport { formatSuccess } from \"../../output.js\"\n\nexport async function runWebhooksDelete(\n client: OatmealClient,\n webhookId: string,\n options: { yes?: boolean }\n): Promise<void> {\n if (!webhookId) {\n console.error(\"Usage: hackathon webhooks delete <webhook-id>\")\n process.exit(1)\n }\n\n if (!options.yes) {\n const confirm = await p.confirm({ message: `Delete webhook ${webhookId}?` })\n if (p.isCancel(confirm) || !confirm) {\n p.log.info(\"Cancelled.\")\n return\n }\n }\n\n await client.delete(`/api/v1/webhooks/${webhookId}`)\n console.log(formatSuccess(`Deleted webhook ${webhookId}`))\n}\n"],"mappings":";;;AAIA,eAAsB,kBACpB,QACA,WACA,SACe;AACf,KAAI,CAAC,WAAW;AACd,UAAQ,MAAM,gDAAgD;AAC9D,UAAQ,KAAK,EAAE;;AAGjB,KAAI,CAAC,QAAQ,KAAK;EAChB,MAAM,UAAU,MAAM,EAAE,QAAQ,EAAE,SAAS,kBAAkB,UAAU,IAAI,CAAC;AAC5E,MAAI,EAAE,SAAS,QAAQ,IAAI,CAAC,SAAS;AACnC,KAAE,IAAI,KAAK,aAAa;AACxB;;;AAIJ,OAAM,OAAO,OAAO,oBAAoB,YAAY;AACpD,SAAQ,IAAI,cAAc,mBAAmB,YAAY,CAAC"}
|
package/dist/_chunks/get.mjs
CHANGED
|
@@ -3,7 +3,7 @@ import { t as resolveHackathonId } from "./resolve.mjs";
|
|
|
3
3
|
//#region src/commands/hackathons/get.ts
|
|
4
4
|
async function runHackathonsGet(client, idOrSlug, options) {
|
|
5
5
|
if (!idOrSlug) {
|
|
6
|
-
console.error("Usage:
|
|
6
|
+
console.error("Usage: hackathon events get <id-or-slug>");
|
|
7
7
|
process.exit(1);
|
|
8
8
|
}
|
|
9
9
|
const id = await resolveHackathonId(client, idOrSlug);
|
package/dist/_chunks/get.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get.mjs","names":[],"sources":["../../src/commands/hackathons/get.ts"],"sourcesContent":["import type { OatmealClient } from \"../../client.js\"\nimport { formatDetail, formatJson } from \"../../output.js\"\nimport type { Hackathon } from \"../../types.js\"\nimport { resolveHackathonId } from \"./resolve.js\"\n\nexport async function runHackathonsGet(\n client: OatmealClient,\n idOrSlug: string,\n options: { json?: boolean }\n): Promise<void> {\n if (!idOrSlug) {\n console.error(\"Usage:
|
|
1
|
+
{"version":3,"file":"get.mjs","names":[],"sources":["../../src/commands/hackathons/get.ts"],"sourcesContent":["import type { OatmealClient } from \"../../client.js\"\nimport { formatDetail, formatJson } from \"../../output.js\"\nimport type { Hackathon } from \"../../types.js\"\nimport { resolveHackathonId } from \"./resolve.js\"\n\nexport async function runHackathonsGet(\n client: OatmealClient,\n idOrSlug: string,\n options: { json?: boolean }\n): Promise<void> {\n if (!idOrSlug) {\n console.error(\"Usage: hackathon events get <id-or-slug>\")\n process.exit(1)\n }\n\n const id = await resolveHackathonId(client, idOrSlug)\n const hackathon = await client.get<Hackathon>(`/api/dashboard/hackathons/${id}`)\n\n if (options.json) {\n console.log(formatJson(hackathon))\n return\n }\n\n console.log(\n formatDetail([\n { label: \"ID\", value: hackathon.id },\n { label: \"Name\", value: hackathon.name },\n { label: \"Slug\", value: hackathon.slug },\n { label: \"Status\", value: hackathon.status },\n { label: \"Description\", value: hackathon.description },\n { label: \"Starts\", value: hackathon.starts_at },\n { label: \"Ends\", value: hackathon.ends_at },\n { label: \"Registration Opens\", value: hackathon.registration_opens_at },\n { label: \"Registration Closes\", value: hackathon.registration_closes_at },\n { label: \"Created\", value: hackathon.created_at },\n ])\n )\n}\n"],"mappings":";;;AAKA,eAAsB,iBACpB,QACA,UACA,SACe;AACf,KAAI,CAAC,UAAU;AACb,UAAQ,MAAM,2CAA2C;AACzD,UAAQ,KAAK,EAAE;;CAGjB,MAAM,KAAK,MAAM,mBAAmB,QAAQ,SAAS;CACrD,MAAM,YAAY,MAAM,OAAO,IAAe,6BAA6B,KAAK;AAEhF,KAAI,QAAQ,MAAM;AAChB,UAAQ,IAAI,WAAW,UAAU,CAAC;AAClC;;AAGF,SAAQ,IACN,aAAa;EACX;GAAE,OAAO;GAAM,OAAO,UAAU;GAAI;EACpC;GAAE,OAAO;GAAQ,OAAO,UAAU;GAAM;EACxC;GAAE,OAAO;GAAQ,OAAO,UAAU;GAAM;EACxC;GAAE,OAAO;GAAU,OAAO,UAAU;GAAQ;EAC5C;GAAE,OAAO;GAAe,OAAO,UAAU;GAAa;EACtD;GAAE,OAAO;GAAU,OAAO,UAAU;GAAW;EAC/C;GAAE,OAAO;GAAQ,OAAO,UAAU;GAAS;EAC3C;GAAE,OAAO;GAAsB,OAAO,UAAU;GAAuB;EACvE;GAAE,OAAO;GAAuB,OAAO,UAAU;GAAwB;EACzE;GAAE,OAAO;GAAW,OAAO,UAAU;;EACtC,CAAC,CACH"}
|
package/dist/_chunks/get2.mjs
CHANGED
|
@@ -2,7 +2,7 @@ import { n as formatJson, t as formatDetail } from "../cli.mjs";
|
|
|
2
2
|
//#region src/commands/jobs/get.ts
|
|
3
3
|
async function runJobsGet(client, jobId, options) {
|
|
4
4
|
if (!jobId) {
|
|
5
|
-
console.error("Usage:
|
|
5
|
+
console.error("Usage: hackathon jobs get <job-id>");
|
|
6
6
|
process.exit(1);
|
|
7
7
|
}
|
|
8
8
|
const job = await client.get(`/api/dashboard/jobs/${jobId}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get2.mjs","names":[],"sources":["../../src/commands/jobs/get.ts"],"sourcesContent":["import type { OatmealClient } from \"../../client.js\"\nimport { formatDetail, formatJson } from \"../../output.js\"\nimport type { Job } from \"../../types.js\"\n\nexport async function runJobsGet(\n client: OatmealClient,\n jobId: string,\n options: { json?: boolean }\n): Promise<void> {\n if (!jobId) {\n console.error(\"Usage:
|
|
1
|
+
{"version":3,"file":"get2.mjs","names":[],"sources":["../../src/commands/jobs/get.ts"],"sourcesContent":["import type { OatmealClient } from \"../../client.js\"\nimport { formatDetail, formatJson } from \"../../output.js\"\nimport type { Job } from \"../../types.js\"\n\nexport async function runJobsGet(\n client: OatmealClient,\n jobId: string,\n options: { json?: boolean }\n): Promise<void> {\n if (!jobId) {\n console.error(\"Usage: hackathon jobs get <job-id>\")\n process.exit(1)\n }\n\n const job = await client.get<Job>(`/api/dashboard/jobs/${jobId}`)\n\n if (options.json) {\n console.log(formatJson(job))\n return\n }\n\n console.log(\n formatDetail([\n { label: \"ID\", value: job.id },\n { label: \"Type\", value: job.type },\n { label: \"Status\", value: job.status },\n { label: \"Created\", value: job.created_at },\n { label: \"Completed\", value: job.completed_at },\n { label: \"Error\", value: job.error },\n ])\n )\n}\n"],"mappings":";;AAIA,eAAsB,WACpB,QACA,OACA,SACe;AACf,KAAI,CAAC,OAAO;AACV,UAAQ,MAAM,qCAAqC;AACnD,UAAQ,KAAK,EAAE;;CAGjB,MAAM,MAAM,MAAM,OAAO,IAAS,uBAAuB,QAAQ;AAEjE,KAAI,QAAQ,MAAM;AAChB,UAAQ,IAAI,WAAW,IAAI,CAAC;AAC5B;;AAGF,SAAQ,IACN,aAAa;EACX;GAAE,OAAO;GAAM,OAAO,IAAI;GAAI;EAC9B;GAAE,OAAO;GAAQ,OAAO,IAAI;GAAM;EAClC;GAAE,OAAO;GAAU,OAAO,IAAI;GAAQ;EACtC;GAAE,OAAO;GAAW,OAAO,IAAI;GAAY;EAC3C;GAAE,OAAO;GAAa,OAAO,IAAI;GAAc;EAC/C;GAAE,OAAO;GAAS,OAAO,IAAI;;EAC9B,CAAC,CACH"}
|
package/dist/_chunks/get3.mjs
CHANGED
|
@@ -2,7 +2,7 @@ import { i as formatTable, n as formatJson } from "../cli.mjs";
|
|
|
2
2
|
//#region src/commands/results/get.ts
|
|
3
3
|
async function runResultsGet(client, hackathonId, options) {
|
|
4
4
|
if (!hackathonId) {
|
|
5
|
-
console.error("Usage:
|
|
5
|
+
console.error("Usage: hackathon results get <hackathon-id>");
|
|
6
6
|
process.exit(1);
|
|
7
7
|
}
|
|
8
8
|
const data = await client.get(`/api/dashboard/hackathons/${hackathonId}/results`);
|
|
@@ -11,7 +11,7 @@ async function runResultsGet(client, hackathonId, options) {
|
|
|
11
11
|
return;
|
|
12
12
|
}
|
|
13
13
|
if (!data.rankings?.length) {
|
|
14
|
-
console.log("No results available. Run '
|
|
14
|
+
console.log("No results available. Run 'hackathon results calculate <id>' first.");
|
|
15
15
|
return;
|
|
16
16
|
}
|
|
17
17
|
console.log(formatTable(data.rankings, [
|
|
@@ -1 +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:
|
|
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: hackathon 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 'hackathon 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,8CAA8C;AAC5D,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,sEAAsE;AAClF;;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"}
|
package/dist/_chunks/get4.mjs
CHANGED
|
@@ -2,7 +2,7 @@ import { n as formatJson, t as formatDetail } from "../cli.mjs";
|
|
|
2
2
|
//#region src/commands/schedules/get.ts
|
|
3
3
|
async function runSchedulesGet(client, scheduleId, options) {
|
|
4
4
|
if (!scheduleId) {
|
|
5
|
-
console.error("Usage:
|
|
5
|
+
console.error("Usage: hackathon schedules get <schedule-id>");
|
|
6
6
|
process.exit(1);
|
|
7
7
|
}
|
|
8
8
|
const schedule = await client.get(`/api/dashboard/schedules/${scheduleId}`);
|
|
@@ -1 +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:
|
|
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: hackathon 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,+CAA+C;AAC7D,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"}
|
|
@@ -3,7 +3,7 @@ import * as p from "@clack/prompts";
|
|
|
3
3
|
//#region src/commands/judging/invitations-cancel.ts
|
|
4
4
|
async function runInvitationsCancel(client, hackathonId, invitationId, options) {
|
|
5
5
|
if (!invitationId) {
|
|
6
|
-
console.error("Usage:
|
|
6
|
+
console.error("Usage: hackathon judging invitations cancel <hackathon-id> <invitation-id>");
|
|
7
7
|
process.exit(1);
|
|
8
8
|
}
|
|
9
9
|
if (!options.yes) {
|
|
@@ -1 +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:
|
|
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: hackathon 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,6EAA6E;AAC3F,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"}
|
|
@@ -3,7 +3,7 @@ import * as p from "@clack/prompts";
|
|
|
3
3
|
//#region src/commands/judging/judges-remove.ts
|
|
4
4
|
async function runJudgesRemove(client, hackathonId, participantId, options) {
|
|
5
5
|
if (!participantId) {
|
|
6
|
-
console.error("Usage:
|
|
6
|
+
console.error("Usage: hackathon judging judges remove <hackathon-id> <participant-id>");
|
|
7
7
|
process.exit(1);
|
|
8
8
|
}
|
|
9
9
|
if (!options.yes) {
|
|
@@ -1 +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:
|
|
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: hackathon 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,yEAAyE;AACvF,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"}
|