purple: switch local testing to staging testing

This commit is contained in:
William Casarin
2024-01-28 17:32:44 -08:00
parent 0c63f2ee26
commit ff6b19578e
8 changed files with 25 additions and 15 deletions

View File

@@ -63,7 +63,7 @@ class DamusState: HeadlessDamusState {
self.video = video
self.ndb = ndb
self.purple = purple ?? DamusPurple(
environment: settings.purple_api_local_test_mode ? .local_test : .production,
settings: settings,
keypair: keypair
)
}

View File

@@ -8,12 +8,12 @@
import Foundation
class DamusPurple: StoreObserverDelegate {
let environment: ServerEnvironment
let settings: UserSettingsStore
let keypair: Keypair
var starred_profiles_cache: [Pubkey: UserBadgeInfo]
init(environment: ServerEnvironment, keypair: Keypair) {
self.environment = environment
init(settings: UserSettingsStore, keypair: Keypair) {
self.settings = settings
self.keypair = keypair
self.starred_profiles_cache = [:]
}
@@ -23,6 +23,10 @@ class DamusPurple: StoreObserverDelegate {
return await self.profile_purple_badge_info(pubkey: pubkey)?.active
}
var environment: ServerEnvironment {
self.settings.purple_api_staging ? .staging : .production
}
func profile_purple_badge_info(pubkey: Pubkey) async -> UserBadgeInfo? {
if let cached_result = self.starred_profiles_cache[pubkey] {
return cached_result
@@ -216,12 +220,12 @@ extension DamusPurple {
extension DamusPurple {
enum ServerEnvironment {
case local_test
case staging
case production
func get_base_url() -> URL {
switch self {
case .local_test:
case .staging:
Constants.PURPLE_API_TEST_BASE_URL
case .production:
Constants.PURPLE_API_PRODUCTION_BASE_URL

View File

@@ -205,8 +205,8 @@ class UserSettingsStore: ObservableObject {
@Setting(key: "enable_experimental_purple_api", default_value: false)
var enable_experimental_purple_api: Bool
@Setting(key: "purple_api_local_test_mode", default_value: false)
var purple_api_local_test_mode: Bool
@Setting(key: "purple_api_staging", default_value: false)
var purple_api_staging: Bool
@Setting(key: "emoji_reactions", default_value: default_emoji_reactions)
var emoji_reactions: [String]