@athletelog/cli 0.1.0-beta.1 → 0.1.0-beta.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/index.js +20 -14
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -26,15 +26,21 @@ function readStored() {
|
|
|
26
26
|
function toRequestBase(raw) {
|
|
27
27
|
return raw.includes(".convex.cloud") ? raw.replace(".convex.cloud", ".convex.site") : raw;
|
|
28
28
|
}
|
|
29
|
+
function literalResult(url) {
|
|
30
|
+
return { baseUrl: toRequestBase(url), env: url.includes(".convex.") ? "dev" : "unknown" };
|
|
31
|
+
}
|
|
32
|
+
function namedResult(named) {
|
|
33
|
+
return { baseUrl: toRequestBase(ENV_BASE_URLS[named] ?? ENV_BASE_URLS.prod), env: named };
|
|
34
|
+
}
|
|
29
35
|
function resolveBaseUrl(o, stored) {
|
|
30
|
-
|
|
31
|
-
if (
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
return
|
|
36
|
+
if (o.url) return literalResult(o.url);
|
|
37
|
+
if (o.env) return namedResult(o.env);
|
|
38
|
+
if (process.env.ATHLETELOG_API_URL) return literalResult(process.env.ATHLETELOG_API_URL);
|
|
39
|
+
if (process.env.ATHLETELOG_ENV) return namedResult(process.env.ATHLETELOG_ENV);
|
|
40
|
+
if (stored.url) return literalResult(stored.url);
|
|
41
|
+
if (stored.convexUrl) return literalResult(stored.convexUrl);
|
|
42
|
+
if (stored.env) return namedResult(stored.env);
|
|
43
|
+
return namedResult("prod");
|
|
38
44
|
}
|
|
39
45
|
function loadConfig(overrides = {}) {
|
|
40
46
|
const stored = readStored();
|
|
@@ -195,7 +201,7 @@ async function apiRequest(baseUrl, path, opts) {
|
|
|
195
201
|
|
|
196
202
|
// src/commands/athletes-list.ts
|
|
197
203
|
async function runAthletesList(args) {
|
|
198
|
-
const config = loadConfig();
|
|
204
|
+
const config = loadConfig({ url: args.url, env: args.env });
|
|
199
205
|
const session = await createAuthSession(config);
|
|
200
206
|
const athletes = await apiRequest(config.baseUrl, "/athletelog/v1/athletes", { token: session.getToken() });
|
|
201
207
|
if (args.json) {
|
|
@@ -239,7 +245,7 @@ function toNumber(value) {
|
|
|
239
245
|
return value;
|
|
240
246
|
}
|
|
241
247
|
async function runCheckinImport(args) {
|
|
242
|
-
const config = loadConfig();
|
|
248
|
+
const config = loadConfig({ url: args.url, env: args.env });
|
|
243
249
|
const session = await createAuthSession(config);
|
|
244
250
|
const targetUserId = args.athlete;
|
|
245
251
|
if (!existsSync2(args.file)) throw new Error(`File not found: ${args.file}`);
|
|
@@ -339,7 +345,7 @@ async function runLogin(args) {
|
|
|
339
345
|
|
|
340
346
|
// src/commands/whoami.ts
|
|
341
347
|
async function runWhoami(args) {
|
|
342
|
-
const config = loadConfig();
|
|
348
|
+
const config = loadConfig({ url: args.url, env: args.env });
|
|
343
349
|
const session = await createAuthSession(config);
|
|
344
350
|
const me = await apiRequest(config.baseUrl, "/athletelog/v1/me", { token: session.getToken() });
|
|
345
351
|
if (args.json) {
|
|
@@ -420,7 +426,7 @@ ${usageFor()}`);
|
|
|
420
426
|
return;
|
|
421
427
|
}
|
|
422
428
|
if (group === "whoami") {
|
|
423
|
-
await runWhoami({ json });
|
|
429
|
+
await runWhoami({ json, url: values.url, env });
|
|
424
430
|
return;
|
|
425
431
|
}
|
|
426
432
|
if (group === "logout") {
|
|
@@ -428,14 +434,14 @@ ${usageFor()}`);
|
|
|
428
434
|
return;
|
|
429
435
|
}
|
|
430
436
|
if (group === "athletes" && action === "list") {
|
|
431
|
-
await runAthletesList({ json });
|
|
437
|
+
await runAthletesList({ json, url: values.url, env });
|
|
432
438
|
return;
|
|
433
439
|
}
|
|
434
440
|
if (group === "checkin" && action === "import") {
|
|
435
441
|
if (!values.athlete || !values.file) {
|
|
436
442
|
throw new Error("checkin import requires --athlete and --file");
|
|
437
443
|
}
|
|
438
|
-
await runCheckinImport({ json, athlete: values.athlete, file: values.file });
|
|
444
|
+
await runCheckinImport({ json, athlete: values.athlete, file: values.file, url: values.url, env });
|
|
439
445
|
return;
|
|
440
446
|
}
|
|
441
447
|
process.stderr.write(`Unknown command: ${group ?? ""} ${action ?? ""}
|