chore: pass args to render method from cli entry point
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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,
|
||||
},
|
||||
)
|
||||
|
||||
+9
-2
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user