from lib.services.api_gateway.paths_client import PathsClientInterface
from lib.api_schema.response.flava_services.api_gateway.v1_0 import (
    paths as schema,
)


class FlavaPathsClient(PathsClientInterface):
    """Service client for the Flava API Gateway Paths resource.

    This client provides the schema and path to each API endpoint for dependency
    injection.
    """

    def get_schema(self):
        """Provide the response schema of the Paths resource."""
        return schema

    def get_paths_list_path(self, project, api_id):
        """Provide the API endpoint path for listing paths."""
        return f"/v1/projects/{project}/apis/{api_id}/paths"

    def get_path_detail_path(self, project, path_id):
        """Provide the API endpoint path for path details."""
        return f"/v1/projects/{project}/paths/{path_id}"
