mirror of
https://github.com/ichmagmaus111/ghostgram.git
synced 2026-04-29 19:27:49 +02:00
37 lines
1.3 KiB
Swift
37 lines
1.3 KiB
Swift
import Foundation
|
|
import Postbox
|
|
import TelegramApi
|
|
|
|
|
|
extension TelegramMediaTodo.Item {
|
|
init(apiItem: Api.TodoItem) {
|
|
switch apiItem {
|
|
case let .todoItem(todoItemData):
|
|
let (id, title) = (todoItemData.id, todoItemData.title)
|
|
let itemText: String
|
|
let itemEntities: [MessageTextEntity]
|
|
switch title {
|
|
case let .textWithEntities(textWithEntitiesData):
|
|
let (text, entities) = (textWithEntitiesData.text, textWithEntitiesData.entities)
|
|
itemText = text
|
|
itemEntities = messageTextEntitiesFromApiEntities(entities)
|
|
}
|
|
self.init(text: itemText, entities: itemEntities, id: id)
|
|
}
|
|
}
|
|
|
|
var apiItem: Api.TodoItem {
|
|
return .todoItem(.init(id: self.id, title: .textWithEntities(.init(text: self.text, entities: apiEntitiesFromMessageTextEntities(self.entities, associatedPeers: SimpleDictionary())))))
|
|
}
|
|
}
|
|
|
|
extension TelegramMediaTodo.Completion {
|
|
init(apiCompletion: Api.TodoCompletion) {
|
|
switch apiCompletion {
|
|
case let .todoCompletion(todoCompletionData):
|
|
let (id, completedBy, date) = (todoCompletionData.id, todoCompletionData.completedBy, todoCompletionData.date)
|
|
self.init(id: id, date: date, completedBy: completedBy.peerId)
|
|
}
|
|
}
|
|
}
|