def generate_query_params_cache_key(request) -> str:
    """
    generates a cache key for a given request using query params
    """
    sorted_query_params = sorted(request.GET.keys(), key=lambda x: x.lower())
    return "-".join(f"{key}:{request.GET[key]}" for key in sorted_query_params)