
- Comprehensive README update documenting v2.0 architectural changes - Updated git remote to ssh://rockvilleav@git.rockvilletollandsda.church:10443/RTSDA/RTSDA-iOS.git - Documented unified ChurchService and 60% code reduction - Added new features: Home Feed, responsive reading, enhanced UI - Corrected license information (GPL v3 with church content copyright) - Updated build instructions and technical stack details
76 lines
1.8 KiB
Swift
76 lines
1.8 KiB
Swift
import Foundation
|
|
|
|
struct Config: Codable {
|
|
let id: String
|
|
let churchName: String
|
|
let tagline: String
|
|
let contactEmail: String
|
|
let contactPhone: String
|
|
let churchAddress: String
|
|
let coordinates: Coordinates
|
|
let donationUrl: String
|
|
let brandColor: String
|
|
let googleMapsUrl: String
|
|
let aboutText: String
|
|
let poBox: String
|
|
let serviceTimes: [ServiceTime]
|
|
let apiKeys: APIKeys
|
|
|
|
enum CodingKeys: String, CodingKey {
|
|
case id
|
|
case churchName = "church_name"
|
|
case tagline
|
|
case contactEmail = "contact_email"
|
|
case contactPhone = "contact_phone"
|
|
case churchAddress = "church_address"
|
|
case coordinates
|
|
case donationUrl = "donation_url"
|
|
case brandColor = "brand_color"
|
|
case googleMapsUrl = "google_maps_url"
|
|
case aboutText = "about_text"
|
|
case poBox = "po_box"
|
|
case serviceTimes = "service_times"
|
|
case apiKeys = "api_keys"
|
|
}
|
|
|
|
struct Coordinates: Codable {
|
|
let lat: Double
|
|
let lng: Double
|
|
}
|
|
|
|
struct ServiceTime: Codable {
|
|
let day: String
|
|
let time: String
|
|
let service: String
|
|
}
|
|
|
|
struct APIKeys: Codable {
|
|
let bibleApiKey: String
|
|
let jellyfinApiKey: String
|
|
|
|
enum CodingKeys: String, CodingKey {
|
|
case bibleApiKey = "bible_api_key"
|
|
case jellyfinApiKey = "jellyfin_api_key"
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
struct ConfigResponse: Codable {
|
|
let page: Int
|
|
let perPage: Int
|
|
let totalPages: Int
|
|
let totalItems: Int
|
|
|
|
enum CodingKeys: String, CodingKey {
|
|
case page
|
|
case perPage = "per_page"
|
|
case totalPages = "total_pages"
|
|
case totalItems = "total_items"
|
|
case items
|
|
}
|
|
let items: [Config]
|
|
|
|
} |