Bubble/Threaded/Data/Instance.swift

62 lines
1.6 KiB
Swift

//Made by Lumaa
import Foundation
public struct Instance: Codable, Sendable {
public struct Stats: Codable, Sendable {
public let userCount: Int
public let statusCount: Int
public let domainCount: Int
}
public struct Configuration: Codable, Sendable {
public struct Statuses: Codable, Sendable {
public let maxCharacters: Int
public let maxMediaAttachments: Int
}
public struct Polls: Codable, Sendable {
public let maxOptions: Int
public let maxCharactersPerOption: Int
public let minExpiration: Int
public let maxExpiration: Int
}
public let statuses: Statuses
public let polls: Polls
}
public struct Rule: Codable, Identifiable, Sendable {
public let id: String
public let text: String
}
public struct URLs: Codable, Sendable {
public let streamingApi: URL?
}
public let title: String
public let shortDescription: String
public let email: String
public let version: String
public let stats: Stats
public let languages: [String]?
public let registrations: Bool
public let thumbnail: URL?
public let configuration: Configuration?
public let rules: [Rule]?
public let urls: URLs?
}
public struct InstanceApp: Codable, Identifiable {
public let id: String
public let name: String
public let website: URL?
public let redirectUri: String
public let clientId: String
public let clientSecret: String
public let vapidKey: String?
}
extension InstanceApp: Sendable {}