TM-SGNL-iOS/SignalServiceKit/Contacts/NicknameRecord/NicknameRecord.swift
TeleMessage developers dde0620daf initial commit
2025-05-03 12:28:28 -07:00

35 lines
1.1 KiB
Swift

//
// Copyright 2024 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
//
import Foundation
public import GRDB
public struct NicknameRecord: Codable, FetchableRecord, PersistableRecord, Equatable {
public static let databaseTableName: String = "NicknameRecord"
enum CodingKeys: String, CodingKey, ColumnExpression {
case recipientRowID
case givenName
case familyName
case note
}
public let recipientRowID: Int64
public let givenName: String?
public let familyName: String?
public let note: String?
public init?(recipient: SignalRecipient, givenName: String?, familyName: String?, note: String?) {
guard let recipientRowID = recipient.id else { return nil }
self.init(recipientRowID: recipientRowID, givenName: givenName, familyName: familyName, note: note)
}
public init(recipientRowID: Int64, givenName: String?, familyName: String?, note: String?) {
self.recipientRowID = recipientRowID
self.givenName = givenName
self.familyName = familyName
self.note = note
}
}