from lib.services.api_gateway.methods_client import MethodsClientInterface
from lib.api_schema.response.flava_services.api_gateway.v1_0 import (
    methods as schema,
)


class FlavaMethodsClient(MethodsClientInterface):
    """Service client for the Flava API Gateway Methods 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 Methods resource."""
        return schema

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

    def get_method_detail_path(self, project, method_id):
        """Provide the API endpoint path for method details."""
        return f"/v1/projects/{project}/methods/{method_id}"
