{% extends "base.html" %} {% from "components/ui.html" import page_header %} {% block title %}{{ _('Integration Health') }}{% endblock %} {% block content %} {{ page_header( icon_class='fas fa-heartbeat', title_text='Integration Health', subtitle_text='Overview of integration status, last sync results, and credentials expiry.', breadcrumbs=[ {'text': 'Integrations', 'url': url_for('integrations.list_integrations')}, {'text': 'Health'} ] ) }}
| {{ _('Provider') }} | {{ _('Scope') }} | {{ _('Active') }} | {{ _('Last sync') }} | {{ _('Last status') }} | {{ _('Credentials') }} | {{ _('Last error') }} | {{ _('Actions') }} |
|---|---|---|---|---|---|---|---|
| {{ integ.name }} | {% if integ.is_global %} {{ _('Global') }} {% else %} {{ _('User') }} {% endif %} | {% if integ.is_active %} {{ _('Yes') }} {% else %} {{ _('No') }} {% endif %} | {% if integ.last_sync_at %} {{ integ.last_sync_at.strftime('%Y-%m-%d %H:%M') }} {% else %} — {% endif %} | {% if integ.last_sync_status == 'success' %} {{ _('Success') }} {% elif integ.last_sync_status == 'partial' %} {{ _('Partial') }} {% elif integ.last_sync_status == 'error' %} {{ _('Error') }} {% elif integ.last_sync_status %} {{ integ.last_sync_status }} {% else %} — {% endif %} |
{% if r.has_credentials %}
{% if r.token_is_expired %}
{{ _('Expired') }}
{% elif r.token_needs_refresh %}
{{ _('Needs refresh') }}
{% else %}
{{ _('OK') }}
{% endif %}
{% if r.token_expires_at %}
{{ _('Expires') }}: {{ r.token_expires_at.strftime('%Y-%m-%d %H:%M') }}
{% endif %}
{% else %}
{{ _('Not configured') }}
{% endif %}
|
{% if integ.last_error %}
{{ integ.last_error }}
{% else %}
—
{% endif %}
|