from lib.services.redis.node_client import NodeClientInterface
from lib.api_schema.response.flava_services.redis.v1_0 import (
    node as schema,
)


class FlavaNodeClient(NodeClientInterface):
    """Service client for the Flava Node API.

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

    def get_schema(self):
        """Provide the response schema of the Node API."""
        return schema

    def get_node_redis_info_path(self, project_name, service_name, node_name):
        """Provide the API endpoint path for node redis info."""
        return f"/projects/{project_name}/services/{service_name}/nodes/{node_name}/redisInfo"
