feat: add strategy set CRUD operations (API + CLI)

This commit is contained in:
2026-04-03 08:37:04 +00:00
parent 908068d9aa
commit 1b0991c9cf
12 changed files with 510 additions and 5 deletions
+10
View File
@@ -13,6 +13,7 @@ class FakeRepo:
self._portfolio = portfolio
self.entries: list[LedgerEntry] = []
self.strategy_set = StrategySet(id="set-1", name="target_value", config="{}", nick="target_value:99914b932bd3")
self._strategy_sets: dict[str, StrategySet] = {self.strategy_set.id: self.strategy_set}
self.last_delete: tuple[str, bool] | None = None
def get(self, portfolio_id: str) -> Portfolio:
@@ -62,8 +63,17 @@ class FakeRepo:
def get_or_create_strategy_set(self, name: str, config: str) -> StrategySet:
self.strategy_set = StrategySet(id="set-1", name=name, config=config, nick=f"{name}:99914b932bd3")
self._strategy_sets[self.strategy_set.id] = self.strategy_set
return self.strategy_set
def list_strategy_sets(self) -> list[StrategySet]:
return sorted(self._strategy_sets.values(), key=lambda s: s.created_at or datetime.now(timezone.utc), reverse=True)
def delete_strategy_set(self, id: str) -> None:
# In tests, just remove from the fake storage
if id in self._strategy_sets:
del self._strategy_sets[id]
def save(
self,
portfolio: Portfolio,