mirror of https://github.com/oxen-io/session-ios
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
1.0 KiB
Swift
32 lines
1.0 KiB
Swift
|
|
extension TSQuotedMessage {
|
|
|
|
/// To be used for outgoing messages only.
|
|
public static func from(_ quote: VisibleMessage.Quote?) -> TSQuotedMessage? {
|
|
guard let quote = quote else { return nil }
|
|
var attachments: [TSAttachment] = []
|
|
if let attachmentID = quote.attachmentID, let attachment = TSAttachment.fetch(uniqueId: attachmentID) {
|
|
attachments.append(attachment)
|
|
}
|
|
return TSQuotedMessage(
|
|
timestamp: quote.timestamp!,
|
|
authorId: quote.publicKey!,
|
|
body: quote.text,
|
|
quotedAttachmentsForSending: attachments
|
|
)
|
|
}
|
|
}
|
|
|
|
extension VisibleMessage.Quote {
|
|
|
|
public static func from(_ quote: TSQuotedMessage?) -> VisibleMessage.Quote? {
|
|
guard let quote = quote else { return nil }
|
|
let result = VisibleMessage.Quote()
|
|
result.timestamp = quote.timestamp
|
|
result.publicKey = quote.authorId
|
|
result.text = quote.body
|
|
result.attachmentID = quote.quotedAttachments.first?.attachmentId
|
|
return result
|
|
}
|
|
}
|