Swiftgram/submodules/SyncCore/Sources/SynchronizeInstalledStickerPacksOperations.swift
2019-10-21 16:58:00 +04:00

54 lines
1.7 KiB
Swift

import Foundation
#if os(macOS)
import PostboxMac
#else
import Postbox
#endif
public enum SynchronizeInstalledStickerPacksOperationNamespace: Int32 {
case stickers = 0
case masks = 1
}
public final class SynchronizeInstalledStickerPacksOperation: PostboxCoding {
public let previousPacks: [ItemCollectionId]
public let archivedPacks: [ItemCollectionId]
public init(previousPacks: [ItemCollectionId], archivedPacks: [ItemCollectionId]) {
self.previousPacks = previousPacks
self.archivedPacks = archivedPacks
}
public init(decoder: PostboxDecoder) {
self.previousPacks = ItemCollectionId.decodeArrayFromBuffer(decoder.decodeBytesForKey("p")!)
self.archivedPacks = decoder.decodeBytesForKey("ap").flatMap(ItemCollectionId.decodeArrayFromBuffer) ?? []
}
public func encode(_ encoder: PostboxEncoder) {
let buffer = WriteBuffer()
ItemCollectionId.encodeArrayToBuffer(self.previousPacks, buffer: buffer)
encoder.encodeBytes(buffer, forKey: "p")
buffer.reset()
ItemCollectionId.encodeArrayToBuffer(self.archivedPacks, buffer: buffer)
encoder.encodeBytes(buffer, forKey: "ap")
}
}
public final class SynchronizeMarkFeaturedStickerPacksAsSeenOperation: PostboxCoding {
public let ids: [ItemCollectionId]
public init(ids: [ItemCollectionId]) {
self.ids = ids
}
public init(decoder: PostboxDecoder) {
self.ids = ItemCollectionId.decodeArrayFromBuffer(decoder.decodeBytesForKey("p")!)
}
public func encode(_ encoder: PostboxEncoder) {
let buffer = WriteBuffer()
ItemCollectionId.encodeArrayToBuffer(self.ids, buffer: buffer)
encoder.encodeBytes(buffer, forKey: "p")
}
}