| 395 | } |
| 396 | |
| 397 | async function runRepoDelete(client: ArtifactClient, args: string[]): Promise<ArtifactsCLIResult> { |
| 398 | const parsed = parseFlags(args, {}); |
| 399 | if ("error" in parsed) return argvError("repo delete", parsed.error); |
| 400 | const name = parsed.positional[0]; |
| 401 | if (name === undefined) return argvError("repo delete", "missing <name>"); |
| 402 | if (parsed.positional.length > 1) { |
| 403 | return argvError("repo delete", `unexpected argument '${parsed.positional[1]}'`); |
| 404 | } |
| 405 | try { |
| 406 | const deleted = await client.delete(name); |
| 407 | if (!deleted) { |
| 408 | return fail(`artifacts repo delete: no such repo '${name}'`); |
| 409 | } |
| 410 | return ok(`Deleted ${name}\n`); |
| 411 | } catch (cause) { |
| 412 | return mapError("repo delete", cause); |
| 413 | } |
| 414 | } |
| 415 | |
| 416 | async function runRepoImport(client: ArtifactClient, args: string[]): Promise<ArtifactsCLIResult> { |
| 417 | const parsed = parseFlags(args, { |