Add `search issues <query>` and `search prs <query>`, the full-text escape hatch the forbidden `--search` flag on the list commands redirects to. Both hit Gitea's cross-repo issue-search endpoint with the query, a `type` of issues or pulls, and the owner param, then filter results to the current repository client-side via each result's `repository` field — the endpoint has no repo-name filter. The count line reports `count: N of T total` with `T` from the filtered set (ADR 0005), never the endpoint's cross-repo `X-Total-Count`. The positional query is required (VALIDATION_ERROR if missing). Flags: `--state` (default open), `--label` (comma-separated names passed straight through as the API `labels` param), `--limit` (default 30), and `--fields`. Default output is the locator schema (`number`, `title`, `state`, `author`, `created`) under `issues:` / `pull_requests:` blocks matching the list commands — search finds the number, `issue view` / `pr view` load the detail. Covered by fixture-server tests for both types, cross-repo filtering, the count rule, each flag, the empty state, and missing-query validation, plus end-to-end tests against a live Gitea instance.
This commit is contained in:
@@ -3,6 +3,7 @@ import { exitCodeForError, runAxiCli, AxiError } from "axi-sdk-js";
|
||||
import { issueCommand } from "./commands/issue.js";
|
||||
import { labelCommand } from "./commands/label.js";
|
||||
import { prCommand } from "./commands/pr.js";
|
||||
import { searchCommand } from "./commands/search.js";
|
||||
import { resolveRepoContext } from "./context.js";
|
||||
import type { CliDeps, GlobalFlags } from "./deps.js";
|
||||
import { consumeFlagValue, splitFlag } from "./flags.js";
|
||||
@@ -22,6 +23,8 @@ commands:
|
||||
pr comment Post a comment on a pull request
|
||||
label list List labels in the current repository
|
||||
label create Create a label
|
||||
search issues Full-text search for issues in the current repository
|
||||
search prs Full-text search for pull requests in the current repository
|
||||
|
||||
global flags:
|
||||
-R, --repo <OWNER/NAME> Override the repository detected from the git origin remote
|
||||
@@ -119,6 +122,7 @@ export async function runCli(options: RunCliOptions): Promise<number> {
|
||||
issue: issueCommand(deps),
|
||||
pr: prCommand(deps),
|
||||
label: labelCommand(deps),
|
||||
search: searchCommand(deps),
|
||||
},
|
||||
home: homeCommand(deps),
|
||||
stdout: options.stdout,
|
||||
|
||||
Reference in New Issue
Block a user