from lib.services.api_gateway.monitoring_client import MonitoringClientInterface
from lib.api_schema.response.flava_services.api_gateway.v1_0 import (
    monitoring as schema,
)


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

    def list_stage_metrics_path(self, project, stage_id):
        """Provide the API endpoint path for stage metrics attributes."""
        return f"/v1/projects/{project}/stages/{stage_id}/metrics-attrs"
