corvix.web.app

Litestar app serving Corvix dashboard data and UI.

Attributes

Functions

_asset_version_token(→ str)

index(→ litestar.Response[str])

Serve the dashboard single-page UI.

dashboard_index(→ litestar.Response[str])

Serve the dashboard SPA for bookmarkable dashboard URLs.

health(→ dict[str, str])

Health endpoint for container checks.

api_themes(→ dict[str, object])

Return available theme presets.

dashboards(→ dict[str, object])

List configured dashboard names.

snapshot(→ dict[str, object])

Return the selected dashboard data from cache.

dismiss_notification(→ litestar.Response[None])

Dismiss a notification thread (removes it from the GitHub inbox).

dismiss_notification_default_account(...)

Backward-compatible dismiss endpoint for default account.

mark_notification_read(→ litestar.Response[None])

Mark a notification thread as read in GitHub and local storage.

mark_notification_read_default_account(...)

Backward-compatible mark-read endpoint for default account.

_dismiss_notification_impl(→ litestar.Response[None])

_mark_notification_read_impl(→ litestar.Response[None])

_require_account(→ corvix.config.GitHubAccountConfig)

_default_account_id(→ str)

_load_runtime_config(→ corvix.config.AppConfig)

_select_dashboard(→ corvix.config.DashboardSpec)

_dashboard_names(→ list[str])

run(→ None)

Run app with uvicorn.

Module Contents

corvix.web.app.logger[source][source]
corvix.web.app.THEMES: dict[str, dict[str, str]][source][source]
corvix.web.app._STATIC_ROOT[source][source]
corvix.web.app._STATIC_ASSETS_DIR = ''[source][source]
corvix.web.app._ASSET_FILENAMES = ('app.js', 'index.css', 'favicon.svg')[source][source]
corvix.web.app._ASSET_CACHE_CONTROL[source][source]
corvix.web.app._asset_version_token() str[source][source]
corvix.web.app._INDEX_HTML_TEMPLATE[source][source]
corvix.web.app.INDEX_HTML[source][source]
corvix.web.app.index() litestar.Response[str][source][source]

Serve the dashboard single-page UI.

corvix.web.app.dashboard_index(dashboard_name: str) litestar.Response[str][source][source]

Serve the dashboard SPA for bookmarkable dashboard URLs.

corvix.web.app.health() dict[str, str][source][source]

Health endpoint for container checks.

corvix.web.app.api_themes() dict[str, object][source][source]

Return available theme presets.

corvix.web.app.dashboards() dict[str, object][source][source]

List configured dashboard names.

corvix.web.app.snapshot(dashboard: str | None = None) dict[str, object][source][source]

Return the selected dashboard data from cache.

corvix.web.app.dismiss_notification(account_id: str, thread_id: str) litestar.Response[None][source][source]

Dismiss a notification thread (removes it from the GitHub inbox).

Calls DELETE /notifications/threads/{id} on GitHub, then marks the record as dismissed in local storage. Returns 204 No Content on success.

corvix.web.app.dismiss_notification_default_account(thread_id: str) litestar.Response[None][source][source]

Backward-compatible dismiss endpoint for default account.

corvix.web.app.mark_notification_read(account_id: str, thread_id: str) litestar.Response[None][source][source]

Mark a notification thread as read in GitHub and local storage.

corvix.web.app.mark_notification_read_default_account(thread_id: str) litestar.Response[None][source][source]

Backward-compatible mark-read endpoint for default account.

corvix.web.app._dismiss_notification_impl(account_id: str, thread_id: str) litestar.Response[None][source][source]
corvix.web.app._mark_notification_read_impl(account_id: str, thread_id: str) litestar.Response[None][source][source]
corvix.web.app._require_account(config: corvix.config.AppConfig, account_id: str) corvix.config.GitHubAccountConfig[source][source]
corvix.web.app._default_account_id(config: corvix.config.AppConfig) str[source][source]
corvix.web.app._load_runtime_config() corvix.config.AppConfig[source][source]
corvix.web.app._select_dashboard(dashboards: list[corvix.config.DashboardSpec], selected_name: str | None) corvix.config.DashboardSpec[source][source]
corvix.web.app._dashboard_names(dashboards: list[corvix.config.DashboardSpec]) list[str][source][source]
corvix.web.app.app[source][source]
corvix.web.app.run() None[source][source]

Run app with uvicorn.