Source code for paperap.resources.document_suggestions

"""




----------------------------------------------------------------------------

METADATA:

File:    document_suggestions.py
        Project: paperap
Created: 2025-03-18
        Version: 0.0.9
Author:  Jess Mann
Email:   jess@jmann.me
        Copyright (c) 2025 Jess Mann

----------------------------------------------------------------------------

LAST MODIFIED:

2025-03-18     By Jess Mann

"""

from __future__ import annotations

from typing import Any

from typing_extensions import TypeVar

from paperap.const import URLS
from paperap.exceptions import APIError, BadResponseError, ResourceNotFoundError
from paperap.models.document.suggestions import DocumentSuggestions, DocumentSuggestionsQuerySet
from paperap.resources.base import BaseResource, StandardResource


[docs] class DocumentSuggestionsResource(StandardResource[DocumentSuggestions, DocumentSuggestionsQuerySet]): model_class = DocumentSuggestions queryset_class = DocumentSuggestionsQuerySet name: str = "document_suggestions" endpoints = { # Override the detail endpoint to point to suggestions "detail": URLS.suggestions, }
[docs] def get_suggestions(self, document_id: int) -> DocumentSuggestions: url = self.get_endpoint("detail", pk=document_id) response = self.client.request("GET", url) if not response: raise ResourceNotFoundError(f"Suggestions for document {document_id} not found", self.name) return self.parse_to_model(response)