{% extends 'base.html' %} {% block content %}

CloudKit Sync

{{ running_syncs|default:0 }}
Running Syncs
{{ total_records }}
Total Records

CloudKit Configurations

{% if all_configs %} {% for c in all_configs %} {% endfor %}
Config Environment Container Status Progress Actions
{{ c.name }}{% if c.is_active %} ★{% endif %} {% if c.environment == 'production' %} Production {% else %} Development {% endif %} {{ c.container_id }} {% if c.is_active %} Active {% else %} Inactive {% endif %} - Edit
{% else %}

No CloudKit configuration found. Create one.

{% endif %}

Recent Sync Jobs

{% for sync in recent_syncs %} {% empty %} {% endfor %}
ID Config Status Type Trigger Started Duration Records
{{ sync.id }} {{ sync.configuration.name }} {% if sync.configuration.environment == 'production' %} Prod {% else %} Dev {% endif %} {% if sync.status == 'completed' %} Completed {% elif sync.status == 'running' %} Running {% elif sync.status == 'failed' %} Failed {% elif sync.status == 'cancelled' %} Cancelled {% else %} {{ sync.status|title }} {% endif %} {% if sync.record_type_filter %} {{ sync.record_type_filter }} {% else %} All {% endif %} {{ sync.triggered_by }} {% if sync.started_at %}{{ sync.started_at|timesince }} ago{% else %}-{% endif %} {{ sync.duration_display }} {% if sync.records_synced or sync.records_failed %} {{ sync.records_synced }} synced{% if sync.records_failed %}, {{ sync.records_failed }} failed{% endif %}
{% if sync.sports_synced or sync.sports_failed %} Sport: {{ sync.sports_synced }}{% if sync.sports_failed %}/{{ sync.sports_failed }}f{% endif %}
{% endif %} {% if sync.conferences_synced or sync.conferences_failed %} Conf: {{ sync.conferences_synced }}{% if sync.conferences_failed %}/{{ sync.conferences_failed }}f{% endif %}
{% endif %} {% if sync.divisions_synced or sync.divisions_failed %} Div: {{ sync.divisions_synced }}{% if sync.divisions_failed %}/{{ sync.divisions_failed }}f{% endif %}
{% endif %} {% if sync.teams_synced or sync.teams_failed %} Team: {{ sync.teams_synced }}{% if sync.teams_failed %}/{{ sync.teams_failed }}f{% endif %}
{% endif %} {% if sync.stadiums_synced or sync.stadiums_failed %} Stadium: {{ sync.stadiums_synced }}{% if sync.stadiums_failed %}/{{ sync.stadiums_failed }}f{% endif %}
{% endif %} {% if sync.games_synced or sync.games_failed %} Game: {{ sync.games_synced }}{% if sync.games_failed %}/{{ sync.games_failed }}f{% endif %}
{% endif %} {% if sync.team_aliases_synced or sync.team_aliases_failed %} TeamAlias: {{ sync.team_aliases_synced }}{% if sync.team_aliases_failed %}/{{ sync.team_aliases_failed }}f{% endif %}
{% endif %} {% if sync.stadium_aliases_synced or sync.stadium_aliases_failed %} StadiumAlias: {{ sync.stadium_aliases_synced }}{% if sync.stadium_aliases_failed %}/{{ sync.stadium_aliases_failed }}f{% endif %}
{% endif %}
{% else %}-{% endif %}
No sync jobs yet.
{% endblock %}