|
35 | 35 | Adds the core listing machinery plus the `list` command. `search` (Task 2) reuses `_run_listing`. |
36 | 36 |
|
37 | 37 | **Files:** |
| 38 | + |
38 | 39 | - Modify: `infrahub_sdk/ctl/marketplace.py` |
39 | 40 | - Test: `tests/unit/ctl/test_marketplace_app.py` |
40 | 41 |
|
41 | 42 | **Interfaces:** |
| 43 | + |
42 | 44 | - Produces: |
43 | 45 | - `_list_url(base_url: str, item_type: MarketplaceItemType) -> str` |
44 | 46 | - `_fetch_listing(client: httpx.AsyncClient, base_url: str, item_type: MarketplaceItemType, *, search: str | None, limit: int | None) -> tuple[list[dict[str, Any]], int]` |
@@ -357,10 +359,12 @@ git commit -m "feat(ctl): add marketplace list command" |
357 | 359 | Thin command over `_run_listing` with the `search=` term. |
358 | 360 |
|
359 | 361 | **Files:** |
| 362 | + |
360 | 363 | - Modify: `infrahub_sdk/ctl/marketplace.py` |
361 | 364 | - Test: `tests/unit/ctl/test_marketplace_app.py` |
362 | 365 |
|
363 | 366 | **Interfaces:** |
| 367 | + |
364 | 368 | - Consumes: `_run_listing` (Task 1), `_listing_json`/`_schema_item` test helpers (Task 1). |
365 | 369 | - Produces: `search` command (function `search`). |
366 | 370 |
|
@@ -477,10 +481,12 @@ git commit -m "feat(ctl): add marketplace search command" |
477 | 481 | ### Task 3: `show` command — schema (auto-detect, versions, tags, dependencies, `--json`) |
478 | 482 |
|
479 | 483 | **Files:** |
| 484 | + |
480 | 485 | - Modify: `infrahub_sdk/ctl/marketplace.py` |
481 | 486 | - Test: `tests/unit/ctl/test_marketplace_app.py` |
482 | 487 |
|
483 | 488 | **Interfaces:** |
| 489 | + |
484 | 490 | - Produces: |
485 | 491 | - `_detail_url(base_url: str, item_type: MarketplaceItemType, namespace: str, name: str) -> str` |
486 | 492 | - `_fetch_detail(client: httpx.AsyncClient, base_url: str, namespace: str, name: str, *, force_collection: bool) -> tuple[MarketplaceItemType, dict[str, Any]]` |
@@ -731,9 +737,11 @@ git commit -m "feat(ctl): add marketplace show command for schemas" |
731 | 737 | ### Task 4: `show` collection (members, `--collection` force, not-found) |
732 | 738 |
|
733 | 739 | **Files:** |
| 740 | + |
734 | 741 | - Modify: `tests/unit/ctl/test_marketplace_app.py` (behaviour already implemented in Task 3; this task proves the collection path and not-found handling) |
735 | 742 |
|
736 | 743 | **Interfaces:** |
| 744 | + |
737 | 745 | - Consumes: `show` command, `_fetch_detail`, `_render_detail` (Task 3). |
738 | 746 |
|
739 | 747 | - [ ] **Step 1: Write the collection `show` tests** |
@@ -838,6 +846,7 @@ git commit -m "test(ctl): cover marketplace show for collections and errors" |
838 | 846 | ### Task 5: Docs regeneration and changelog |
839 | 847 |
|
840 | 848 | **Files:** |
| 849 | + |
841 | 850 | - Modify (generated): `docs/docs/infrahubctl/infrahubctl-marketplace.mdx` |
842 | 851 | - Create: `changelog/<issue>.added.md` |
843 | 852 |
|
|
0 commit comments