     init(from decoder: Decoder) throws {
         let values = try decoder.container(keyedBy: CodingKeys.self)
         
+        version = try values.decode(Versions.self, forKey: .version)
         if let data = try values.decodeIfPresent(Data.self, forKey: .accountData) {
             accountData =  try JSONSerialization.jsonObject(with: data, options: []) as? [AnyHashable: Any]
         }

import Foundation

struct MXSyncResponseStoreMetaDataModel {
    var accountData: [AnyHashable : Any]?
    var syncResponseIds: [String] = []
}


extension MXSyncResponseStoreMetaDataModel: Codable {
    enum CodingKeys: String, CodingKey {
        case accountData
        case syncResponseIds
    }

    
    func encode(to encoder: Encoder) throws {
        var container = encoder.container(keyedBy: CodingKeys.self)
        
        try container.encode(version, forKey: .version)
        if let accountData = accountData {
            let data = try JSONSerialization.data(withJSONObject: accountData)
            try container.encodeIfPresent(data, forKey: .accountData)
