/*
 * Created by WebID Solutions GmbH | www.webid-solutions.de.
 * See the file "LICENSE" for the full license governing this code.
 */
package de.webidsolutions.metaplugindemo

import java.net.URI

/**
 * Environment configuration for WebID endpoints for test usage.
 */
enum class EWebIDEnv(

    /**
     * Username of the client
     * Used for authentication of the client.
     */
    internal val username: String,

    /**
     * API Key of the client
     * Used for authentication of the client.
     */
    internal val apiKey: String,

    /**
     * The uri of the environment.
     * Used to determine the backend.
     */
    internal val uri: URI,

    /**
     * Sha pins of the environment.
     * Used for authentication
     */
    internal val shaPins: Array<String>
) {

    /**
     * WebID TEST environment.
     */
    TEST(
        BuildConfig.WEBID_DEMO_USERNAME_TEST,
        BuildConfig.WEBID_DEMO_APIKEY_TEST,
        URI.create("https://test.webid-solutions.de/"),
        arrayOf(
            "sha256/as7XCkNisiTXS8TZhc36fXD3YUXn6V4EuF6WcwVEbpQ=", // expires 2026.02.21
            "sha256/WcFCbp232usb2PlWzs2PYdr5K7pm21EG6kBms5LUDfY="  // expires 2025.02.22
        )
    ),

    /**
     * WebID PRODUCTION environment.
     */
    PRODUCTION(
        BuildConfig.WEBID_DEMO_USERNAME_PROD,
        BuildConfig.WEBID_DEMO_APIKEY_PROD,
        URI.create("https://webid-gateway.de/"),
        arrayOf(
            "sha256/FJ8bpW+Zzu86wDBFYA6GygAhw7DbpY10oDmtJl46Hdw="  // expires 2025.10.17
        )
    );
}