Telegram-iOS/Telegram/WatchApp/tgwatch Watch App/SecretsValidator.swift
isaac 78267e8902 Vendor tgwatch sources into Telegram/WatchApp; build from in-repo snapshot
Vendor the standalone tgwatch watch-app sources into Telegram/WatchApp/ as a
tracked snapshot and build it from there by default (tracked Bazel inputs).
Make.py drives embedding via --embedWatchApp (--watchAppSourcePath removed);
the filegroup excludes .swiftpm/.build. Documented in CLAUDE.md.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-26 23:12:16 +02:00

22 lines
780 B
Swift

import Foundation
enum ConfigError: Equatable, Swift.Error {
case missingApiId
case missingApiHash
case placeholderApiHash
var humanMessage: String {
switch self {
case .missingApiId, .missingApiHash, .placeholderApiHash:
return "Missing API credentials. Copy Config/Secrets.example.xcconfig to Config/Secrets.xcconfig and fill in your values."
}
}
}
func validateSecrets(apiId: Int, apiHash: String) -> Result<Void, ConfigError> {
if apiId <= 0 { return .failure(.missingApiId) }
let trimmed = apiHash.trimmingCharacters(in: .whitespaces)
if trimmed.isEmpty { return .failure(.missingApiHash) }
if trimmed == "replace_with_32_hex_chars" { return .failure(.placeholderApiHash) }
return .success(())
}