"""
Audience Constants (GENERATED - DO NOT EDIT)

Generated: 2025-10-23T18:08:59.021984
Source: ServiceConfigs/IdP/config/settings.yaml

To regenerate: python scripts/generate_audiences.py

Usage:
    from empowernow_common.aud import AUD_CRUD, AUD_MEMBERSHIP

    # In your backend validation:
    payload = jwt.decode(token, key, audience=AUD_MEMBERSHIP, ...)
"""

# WARNING: This file is automatically generated.
# Manual edits will be overwritten.
# Edit ServiceConfigs/IdP/config/settings.yaml instead.

# Analytics Service
# Usage analytics and reporting
AUD_ANALYTICS = "api://analytics"

# Orchestration Service
# Core workflow and data management
AUD_CRUD = "api://crud"

# Data Collector Service
# Data ingestion and processing
AUD_DATACOLLECTOR = "api://datacollector"

# IdP Admin API
# Identity provider administration
AUD_IDP_ADMIN = "api://idp-admin"

# Membership Service
# User and group management
AUD_MEMBERSHIP = "api://membership"

# Policy Decision Point
# Authorization decisions (AuthZEN)
AUD_PDP = "api://pdp"


# =============================================================================
# LOOKUP DICTIONARY (For dynamic usage)
# =============================================================================

ALL_AUDIENCES = {
    "api://analytics": AUD_ANALYTICS,
    "api://crud": AUD_CRUD,
    "api://datacollector": AUD_DATACOLLECTOR,
    "api://idp-admin": AUD_IDP_ADMIN,
    "api://membership": AUD_MEMBERSHIP,
    "api://pdp": AUD_PDP,
}

# Reverse lookup (canonical to service name)
AUDIENCE_NAMES = {
    AUD_ANALYTICS: "Analytics Service",
    AUD_CRUD: "Orchestration Service",
    AUD_DATACOLLECTOR: "Data Collector Service",
    AUD_IDP_ADMIN: "IdP Admin API",
    AUD_MEMBERSHIP: "Membership Service",
    AUD_PDP: "Policy Decision Point",
}
