"""
S3 utility functions for key normalization and URL building.
"""

from app.core.config import settings


def normalize_key(key: str) -> str:
    """Normalize S3 key by adding environment-based prefix, removing leading slash and converting backslashes to forward slashes."""
    if not key:
        # Determine prefix based on environment
        if settings.ENVIRONMENT.lower() == "production":
            return "live/"
        else:
            return "staging/"

    # Remove leading slash and convert backslashes to forward slashes
    normalized = key.lstrip("/").replace("\\", "/")

    # Determine prefix based on environment
    if settings.ENVIRONMENT.lower() == "production":
        prefix = "live/"
    else:
        prefix = "staging/"

    # Add environment-based directory prefix if not already present
    if not normalized.startswith(prefix):
        normalized = f"{prefix}{normalized}"

    return normalized
