flip_api.model_services.get_all_models ====================================== .. py:module:: flip_api.model_services.get_all_models Attributes ---------- .. autoapisummary:: flip_api.model_services.get_all_models.router Functions --------- .. autoapisummary:: flip_api.model_services.get_all_models._parse_statuses flip_api.model_services.get_all_models.get_all_models_endpoint Module Contents --------------- .. py:data:: router .. py:function:: _parse_statuses(raw_status: str | None) -> list[flip_api.domain.schemas.status.ModelStatus] | None Validate the optional ``status`` query param (comma-separated) against ``ModelStatus``. A comma-separated list lets the group filter tiles narrow to several statuses at once (e.g. ``INITIATED,PENDING`` for "Queued"). :param raw_status: The raw ``status`` query param, if supplied. :type raw_status: str | None :returns: The parsed statuses, or None when no filter was requested. :rtype: list[ModelStatus] | None :raises HTTPException: 400 if any value does not match a known status. .. py:function:: get_all_models_endpoint(request: fastapi.Request, session: sqlmodel.Session = Depends(get_session), user_id: uuid.UUID = Depends(verify_token)) -> flip_api.domain.interfaces.model.IModelsListResponse Estate-wide model list, scoped to the projects the caller can access (issue #726). A caller sees models for projects they own or have been granted access to; a user with ``CAN_MANAGE_PROJECTS`` sees every model. Supports search (model or project name), a comma-separated ``status`` filter and pagination, and returns per-status tile counts. :param request: The HTTP request, used to read query params. :type request: Request :param session: The database session. :type session: Session :param user_id: The authenticated caller's id. :type user_id: UUID :returns: A page of models (project, owner, trusts) plus per-status counts. :rtype: IModelsListResponse