Refactor: replace direct references to inventory

Deprecated. Inventory should be accessed via InventoryStore {read(),write(),...}
This commit is contained in:
Johannes Kirschbauer
2025-05-16 11:30:41 +02:00
parent 2544e8df8c
commit 6de58478fa
6 changed files with 37 additions and 27 deletions

View File

@@ -2,9 +2,10 @@ from dataclasses import dataclass
from clan_lib.api import API
from clan_lib.nix_models.inventory import Inventory, Meta
from clan_lib.persist.inventory_store import InventoryStore
from clan_lib.persist.util import apply_patch
from clan_cli.flake import Flake
from clan_cli.inventory import load_inventory_json, set_inventory
@dataclass
@@ -15,9 +16,9 @@ class UpdateOptions:
@API.register
def update_clan_meta(options: UpdateOptions) -> Inventory:
inventory = load_inventory_json(options.flake)
inventory["meta"] = options.meta
set_inventory(inventory, options.flake, "Update clan metadata")
inventory_store = InventoryStore(options.flake)
inventory = inventory_store.read()
apply_patch(inventory, "meta", options.meta)
inventory_store.write(inventory, message="Update clan metadata")
return inventory