Add the remaining 22 simple-CRUD resources

Finishes the mechanical rollout: every resource using
resource_methods!/crud_methods! in the SDK (list/get/create/update/
delete, no bulk/uploads/entity-actions) is now wired up, 33 in
total. recurring_quotes.rs mirrors recurring_invoices.rs the same
way quotes.rs mirrors invoices.rs, since RecurringQuote is also a
type alias for RecurringInvoice in the SDK.

client_gateway_tokens, companies, and system_logs use the SDK's
crud_methods! rather than resource_methods! (no /bulk route in
Invoice Ninja for these) - doesn't change anything here, since this
CLI doesn't expose bulk actions yet either way.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-10-26 16:51:51 -04:00
co-authored by Claude Sonnet 5
parent a0a629cbfe
commit 96fba9a303
28 changed files with 3187 additions and 29 deletions
+10 -10
View File
@@ -3,11 +3,11 @@
A command-line client for the [Invoice Ninja](https://www.invoiceninja.com/)
v5 API, built on [`invoiceninja-sdk`](https://crates.io/crates/invoiceninja-sdk).
> **Early scaffold.** `clients`, `invoices`, `quotes`, `credits`, `payments`,
> `products`, `expenses`, `projects`, `tasks`, `vendors`, and
> `purchase-orders` are wired up so far, out of ~34 resources — see
> `CLAUDE.md` for the pattern the rest follow. [`GOALS.md`](GOALS.md) covers
> what the crate is for and what it is not.
> **Scaffold status.** Every resource with a simple list/get/create/update/
> delete API (33 of them) is wired up — see `CLAUDE.md` for what's still
> missing (bulk actions, uploads, entity actions, non-CRUD endpoints) and
> the pattern those will follow. [`GOALS.md`](GOALS.md) covers what the
> crate is for and what it is not.
## Development
@@ -49,8 +49,8 @@ table view's few key columns:
invoiceninja-cli --output json clients get <id>
```
Every other wired-up resource (`invoices`, `quotes`, `credits`, `payments`,
`products`, `expenses`, `projects`, `tasks`, `vendors`,
`purchase-orders`) follows the same `list`/`get`/`create`/`update`/`delete`
shape, e.g. `invoiceninja-cli invoices list --status active` or
`invoiceninja-cli purchase-orders get <id>`.
Every other wired-up resource follows the same
`list`/`get`/`create`/`update`/`delete` shape, e.g.
`invoiceninja-cli invoices list --status active` or
`invoiceninja-cli purchase-orders get <id>`. Run `invoiceninja-cli --help`
for the full list.