Files
clan-core/pkgs/clan-cli/clan_cli/clan/update.py
Johannes Kirschbauer 6de58478fa Refactor: replace direct references to inventory
Deprecated. Inventory should be accessed via InventoryStore {read(),write(),...}
2025-05-16 11:30:41 +02:00

25 lines
634 B
Python

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
@dataclass
class UpdateOptions:
flake: Flake
meta: Meta
@API.register
def update_clan_meta(options: UpdateOptions) -> Inventory:
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