scheduler / api /storage.py
Owen Kosman
genesis
2f68b3a
raw
history blame contribute delete
631 Bytes
from __future__ import annotations
import json
from pathlib import Path
from typing import Any
def projects_root() -> Path:
root = Path("projects")
root.mkdir(parents=True, exist_ok=True)
return root
def create_project_dir(tenant_id: str, project_id: str) -> Path:
base = projects_root() / tenant_id / project_id
base.mkdir(parents=True, exist_ok=True)
return base
def write_artifact_text(base: Path, name: str, content: str) -> None:
(base / name).write_text(content)
def write_artifact_json(base: Path, name: str, obj: Any) -> None:
(base / name).write_text(json.dumps(obj, indent=2))