mirror of
https://github.com/langgenius/dify.git
synced 2026-10-16 15:35:32 +08:00
25 lines
783 B
Python
25 lines
783 B
Python
"""Single-source visibility filter for the /openapi/v1/* surface.
|
|
|
|
Keep every openapi-surface app query routed through ``_apply_openapi_gate``;
|
|
retiring or replacing the gate then becomes a one-line change here.
|
|
|
|
The Service API (/v1/* app-key surface) does NOT use this helper — that
|
|
surface has its own per-request guard (``service_api_disabled``) wired
|
|
into the legacy ``validate_app_token`` decorator.
|
|
"""
|
|
|
|
from __future__ import annotations
|
|
|
|
from typing import Any
|
|
|
|
from models.model import App
|
|
|
|
|
|
def apply_openapi_gate(query: Any) -> Any:
|
|
"""Filter a SQLAlchemy Select/Query to apps visible on /openapi/v1/*.
|
|
|
|
Works with both legacy ``Query.filter`` and 2.0-style ``Select.filter``
|
|
(alias of ``.where``).
|
|
"""
|
|
return query.filter(App.enable_api.is_(True))
|