Soft delete environment
(self, environment_id: str | None)
| 493 | return environments[env_index] |
| 494 | |
| 495 | def delete_environment(self, environment_id: str | None) -> bool: |
| 496 | """Soft delete environment""" |
| 497 | if not environment_id: |
| 498 | return False |
| 499 | |
| 500 | if environment_id == "prod": |
| 501 | raise ValueError("Cannot delete production environment") |
| 502 | |
| 503 | env = self.get_environment_by_id(environment_id) |
| 504 | if not env: |
| 505 | return False |
| 506 | |
| 507 | # Remove env vars for this environment |
| 508 | env_vars = self.env_vars.copy() |
| 509 | env_vars = [var for var in env_vars if var.get("environment") != env["slug"]] |
| 510 | self.env_vars = env_vars |
| 511 | |
| 512 | # Mark environment as deleted |
| 513 | env_index = next( |
| 514 | i for i, e in enumerate(self.environments) if e["id"] == environment_id |
| 515 | ) |
| 516 | environments = self.environments.copy() |
| 517 | environments[env_index] = {**environments[env_index], "status": "deleted"} |
| 518 | self.environments = environments |
| 519 | return True |
| 520 | |
| 521 | @property |
| 522 | def active_environments(self) -> list[dict]: |
no test coverage detected