30 lines
968 B
Python
30 lines
968 B
Python
"""Manage the cached setup completion flag stored on application state."""
|
|
|
|
from __future__ import annotations
|
|
|
|
from typing import TYPE_CHECKING
|
|
|
|
from app.utils.runtime_state import get_runtime_state
|
|
|
|
if TYPE_CHECKING: # pragma: no cover
|
|
from fastapi import FastAPI
|
|
|
|
|
|
def is_setup_complete_cached(app: FastAPI) -> bool:
|
|
"""Return the cached setup completion state from the runtime state manager."""
|
|
return get_runtime_state(app).setup_complete_cached
|
|
|
|
|
|
def set_setup_complete_cache(app: FastAPI, completed: bool) -> None:
|
|
"""Set the cached setup completion state on the runtime state manager."""
|
|
get_runtime_state(app).setup_complete_cached = completed
|
|
|
|
|
|
def invalidate_setup_complete_cache(app: FastAPI) -> None:
|
|
"""Reset the cached setup completion state.
|
|
|
|
This helper exists so the cache can be invalidated explicitly if the
|
|
application state changes during runtime.
|
|
"""
|
|
get_runtime_state(app).setup_complete_cached = False
|