"""Constants for PI FYAD plugin."""

# ESI scopes required for PI data
PI_SCOPES = [
    "esi-planets.manage_planets.v1",
    "esi-planets.read_customs_offices.v1",
]

# Sync intervals (seconds)
PLANET_SYNC_INTERVAL = 15 * 60  # 15 minutes
CUSTOMS_SYNC_INTERVAL = 30 * 60  # 30 minutes

# EVE image server base URL
EVE_IMAGE_BASE = "https://images.evetech.net"

# Pin type group IDs from EVE SDE
PIN_GROUP_EXTRACTOR = 1063
PIN_GROUP_PROCESSOR_BASIC = 1064
PIN_GROUP_PROCESSOR_ADVANCED = 1065
PIN_GROUP_PROCESSOR_HIGHTECH = 1066
PIN_GROUP_STORAGE = 1058
PIN_GROUP_LAUNCHPAD = 1052
PIN_GROUP_COMMAND_CENTER = 1027

# Storage capacity mapping: type_id -> m3 capacity
# Covers standard PI structures; add custom entries as needed
STORAGE_CAPACITIES = {
    2256: 12000.0,   # Storage Facility
    2542: 10000.0,   # Launchpad
    2543: 10000.0,   # Launchpad (variant)
    2544: 10000.0,   # Launchpad (variant)
    2552: 500.0,     # Command Center (base)
    2553: 500.0,     # Command Center (variant)
    2554: 500.0,     # Command Center (variant)
    2555: 500.0,     # Command Center (variant)
    2556: 500.0,     # Command Center (variant)
    2557: 500.0,     # Command Center (variant)
}

# Schematic tier mapping: schematic_id -> tier
# STUB — populate from the EVE SDE
SCHEMATIC_TIER_MAP: dict[int, int] = {}

# Planet type IDs to names
PLANET_TYPES = {
    2014: "Temperate",
    2015: "Ice",
    2016: "Gas",
    2017: "Oceanic",
    2063: "Lava",
    2064: "Barren",
    2065: "Storm",
    2066: "Plasma",
    11: "Shattered",
}

# Extractor status labels
EXTRACTOR_STATUS_ACTIVE = "active"
EXTRACTOR_STATUS_IDLE = "idle"
EXTRACTOR_STATUS_EXPIRED = "expired"

# Template visibility choices
VISIBILITY_PRIVATE = "private"
VISIBILITY_CORP = "corp"
VISIBILITY_ALLIANCE = "alliance"
VISIBILITY_PUBLIC = "public"

VISIBILITY_CHOICES = [
    (VISIBILITY_PRIVATE, "Private"),
    (VISIBILITY_CORP, "Corporation"),
    (VISIBILITY_ALLIANCE, "Alliance"),
    (VISIBILITY_PUBLIC, "Public"),
]
