from lib.services.api_gateway.access_control_client import AccessControlClientInterface
from lib.api_schema.response.flava_services.api_gateway.v1_0 import (
    access_control as schema,
)


class FlavaAccessControlClient(AccessControlClientInterface):
    """Service client for the Flava API Gateway Access Control 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 Access Control resource."""
        return schema

    def get_iam_roles_path(self, project):
        """Provide the API endpoint path for IAM roles."""
        return f"/v1/projects/{project}/iam-roles"
