def METHOD_NAME(domain):
    server, created = TableauServer.objects.get_or_create(domain=domain)
    visualizations = TableauVisualization.objects.all().filter(domain=domain)
    vis_list = []
    for vis in visualizations:
        vis_list.append({
            'domain': domain,
            'title': vis.title,
            'server': server,
            'view_url': vis.view_url,
            'id': vis.id,
        })
    return {
        'server': {
            'domain': domain,
            'server_type': server.server_type,
            'server_name': server.server_name,
            'validate_hostname': server.validate_hostname,
            'target_site': server.target_site,
        },
        'visualizations': vis_list,
    }