Newer
Older
import Foundation
public struct Attachment: Codable, Equatable, Hashable {
public enum Extension: Int64, Codable, CaseIterable {
case image
case audio
public static func from(_ string: String) -> Extension? {
self.allCases.first{ $0.written == string }
}
public var written: String {
switch self {
case .image:
return "jpeg"
case .audio:
return "m4a"
}
}
public var writtenExtended: String {
switch self {
case .image:
return "image"
case .audio:
return "voice message"
}
}
}
public let data: Data?
public let name: String
public var transferId: Data?
public let _extension: Extension
public var progress: Float = 0.0
public init(
name: String,
data: Data? = nil,
transferId: Data? = nil,
_extension: Extension
) {
self.data = data
self.name = name
self._extension = _extension
self.transferId = transferId
}
}