import base64

from app.config import BASE_URL

SUPPORTED_RESIZE = [50, 740]


def proxied_media_url(url: str) -> str:
    if url.startswith(BASE_URL):
        return url

    return "/proxy/media/" + base64.urlsafe_b64encode(url.encode()).decode()


def resized_media_url(url: str, size: int) -> str:
    if size not in SUPPORTED_RESIZE:
        raise ValueError(f"Unsupported resize {size}")
    if url.startswith(BASE_URL):
        return url
    return proxied_media_url(url) + f"/{size}"