forked from shadowfacts/Tusker
48 lines
1.3 KiB
Swift
48 lines
1.3 KiB
Swift
//
|
|
// InstanceInfo.swift
|
|
// InstanceFeatures
|
|
//
|
|
// Created by Shadowfacts on 5/28/23.
|
|
//
|
|
|
|
import Foundation
|
|
import Pachyderm
|
|
|
|
public struct InstanceInfo {
|
|
public var version: String
|
|
public var maxStatusCharacters: Int?
|
|
public var configuration: InstanceV1.Configuration?
|
|
public var pollsConfiguration: InstanceV1.PollsConfiguration?
|
|
public var translation: Bool
|
|
|
|
public init(
|
|
version: String,
|
|
maxStatusCharacters: Int?,
|
|
configuration: InstanceV1.Configuration?,
|
|
pollsConfiguration: InstanceV1.PollsConfiguration?,
|
|
translation: Bool
|
|
) {
|
|
self.version = version
|
|
self.maxStatusCharacters = maxStatusCharacters
|
|
self.configuration = configuration
|
|
self.pollsConfiguration = pollsConfiguration
|
|
self.translation = translation
|
|
}
|
|
}
|
|
|
|
extension InstanceInfo {
|
|
public init(v1 instance: InstanceV1) {
|
|
self.init(
|
|
version: instance.version,
|
|
maxStatusCharacters: instance.maxStatusCharacters,
|
|
configuration: instance.configuration,
|
|
pollsConfiguration: instance.pollsConfiguration,
|
|
translation: false
|
|
)
|
|
}
|
|
|
|
public mutating func update(v2: InstanceV2) {
|
|
translation = v2.configuration.translation.enabled
|
|
}
|
|
}
|