Files
bakery-ia/shared/utils/seed_data_paths.py

46 lines
1.4 KiB
Python
Raw Normal View History

2026-01-21 17:17:16 +01:00
"""
Seed Data Path Utilities
Provides functions to locate seed data files for demo data creation
"""
from pathlib import Path
def get_seed_data_path(profile: str, filename: str, child_profile: str = None, child_id: str = None) -> Path:
"""
Get the path to a seed data file.
Args:
profile: Demo profile (professional/enterprise)
filename: Seed data filename
child_profile: Not used (kept for API compatibility)
child_id: Optional child tenant ID for enterprise child locations
Returns:
Path to the seed data file
Raises:
FileNotFoundError: If seed data file cannot be found
"""
base_path = Path(__file__).parent.parent / "demo" / "fixtures"
if child_id:
# Enterprise child location: enterprise/children/{child_id}/{filename}
file_path = base_path / profile / "children" / child_id / filename
elif profile == "enterprise":
# Enterprise parent: enterprise/parent/{filename}
file_path = base_path / profile / "parent" / filename
else:
# Professional: professional/{filename}
file_path = base_path / profile / filename
if not file_path.exists():
raise FileNotFoundError(
f"Seed data file not found: {file_path}\n"
f"Profile: {profile}\n"
f"Child ID: {child_id}\n"
f"Filename: {filename}"
)
return file_path