package com.radiola.domain.geo

import com.radiola.domain.model.Station

/**
 * Гео-ограничения станций. Украинские потоки (TavR Media: Radio ROKS, Kiss FM)
 * не отдаются на российские IP (geoblock) — для пользователей из РФ их полностью
 * скрываем (и сами станции, и их чипы-категории). При VPN (не-RU IP) — показываем,
 * т.к. потоки тогда доступны.
 */
object GeoBlock {
    // Хосты украинских станций. id 741 «Радио РОКС» (stream.roks.com) — российская,
    // под это правило НЕ попадает.
    private val UA_HOSTS = listOf("radioroks.ua", "kissfm.ua")
    private val BLOCKED_COUNTRIES = setOf("RU")

    fun isUaStation(station: Station): Boolean =
        UA_HOSTS.any { station.streamUrl.contains(it, ignoreCase = true) }

    /** Скрыта ли станция для пользователя из данной страны. */
    fun isHidden(station: Station, countryCode: String?): Boolean =
        countryCode in BLOCKED_COUNTRIES && isUaStation(station)

    /** Нужно ли вообще скрывать украинские станции в этой стране. */
    fun shouldHideUa(countryCode: String?): Boolean = countryCode in BLOCKED_COUNTRIES
}
