From 00280bcbe647cee858b22aec4d34cb82a955bae9 Mon Sep 17 00:00:00 2001 From: Benjamin Labrecque Date: Fri, 3 Jul 2026 14:16:43 +0200 Subject: [PATCH] chore: pass args to render method from cli entry point --- cli/src/core/models.py | 4 +++- cli/src/core/render_templates.py | 22 +++++++++++++++------- cli/src/service.py | 11 +++++++++-- 3 files changed, 27 insertions(+), 10 deletions(-) diff --git a/cli/src/core/models.py b/cli/src/core/models.py index 0e66399..54b7b89 100644 --- a/cli/src/core/models.py +++ b/cli/src/core/models.py @@ -40,9 +40,11 @@ class ServiceRegistry(BaseModel): def get_services(self) -> list[Service]: return [Service(id=svc_id, **svc_data) for svc_id, svc_data in self.services.items()] - def add_service(self, name: str) -> None: + def add_service(self, name: str) -> int: s = Service(id=self.next_available_id, name=name, status=ServiceStatus.ACTIVE) self.services.update({s.id: s.to_dict()}) self.next_available_id += 1 with open(self.config_path, "w") as f: yaml.safe_dump(self.model_dump(), f) + + return self.next_available_id diff --git a/cli/src/core/render_templates.py b/cli/src/core/render_templates.py index 7ff2fd4..fb21e73 100644 --- a/cli/src/core/render_templates.py +++ b/cli/src/core/render_templates.py @@ -7,7 +7,13 @@ SERVICE_TEMPLATES_DIR = REPO_ROOT / "templates" / "service" SERVICE_DEST_DIR = REPO_ROOT / "services" -def render_new_service_templates(): +def render_new_service_templates( + service_id: int, + service_name: str, + ioc_host: str, + ioc_port: int, + user: str, +): """ Render template files for a new service """ @@ -15,11 +21,13 @@ def render_new_service_templates(): src_path=str(SERVICE_TEMPLATES_DIR), dst_path=str(SERVICE_DEST_DIR), data={ - "service_id": 9999, - "service_name": "TEST-SVC-NAME", - "service_name_lower": "test-svc-name", - "ioc_host": "ioc-host-dev", - "ioc_port": 50999, - "user": "labrec_b", + "service_id": service_id, + "service_name": service_name, + # TODO: make sure this is ok where used (need to replace some chars by '-'?) + "service_name_lower": service_name.lower(), + # TODO: restrict this, use enum + "ioc_host": ioc_host, + "ioc_port": ioc_port, + "user": user, }, ) diff --git a/cli/src/service.py b/cli/src/service.py index f861ca8..3acb6cb 100644 --- a/cli/src/service.py +++ b/cli/src/service.py @@ -10,9 +10,16 @@ service = typer.Typer(no_args_is_help=True) def add( name: str = typer.Option(..., "--name", "-n"), ): + # TODO: add restriction on name (maybe: [a-zA-Z0-9-]) registry = ServiceRegistry.read_from_config() - registry.add_service(name) - render_new_service_templates() + service_id = registry.add_service(name) + render_new_service_templates( + service_id=service_id, + service_name=name, + ioc_host="", + ioc_port=9999, + user="", + ) @service.command()