metatext/DB/Sources/DB/Extensions/Instance+Extensions.swift
vollkorntomate 92ef66febc
Adapt maxTootChars to new API
Use JSON key configuration.statuses.max_characters instead of max_toot_chars
2022-12-22 23:42:43 +01:00

42 lines
1.3 KiB
Swift

// Copyright © 2020 Metabolist. All rights reserved.
import Foundation
import GRDB
import Mastodon
extension Instance {
func save(_ db: Database) throws {
if let contactAccount = contactAccount {
try AccountRecord(account: contactAccount).save(db)
}
try InstanceRecord(instance: self).save(db)
}
init(info: InstanceInfo) {
var contactAccount: Account?
if let contactAccountInfo = info.contactAccountInfo {
contactAccount = Account(info: contactAccountInfo)
}
self.init(record: info.record, contactAccount: contactAccount)
}
}
private extension Instance {
init(record: InstanceRecord, contactAccount: Account?) {
self.init(uri: record.uri,
title: record.title,
description: record.description,
shortDescription: record.shortDescription,
email: record.email,
version: record.version,
urls: record.urls,
stats: record.stats,
thumbnail: record.thumbnail,
contactAccount: contactAccount,
configuration: Configuration(statuses: Configuration.Statuses(maxCharacters: record.maxTootChars)))
}
}