From f2bf132d6df251ea7d5224d0d86c2ca5b0c02320 Mon Sep 17 00:00:00 2001 From: Vitaly Takmazov Date: Wed, 15 May 2024 09:38:05 +0300 Subject: Integrate feeds from good old `tst` 2019 project --- JuickNext/Models.swift | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 JuickNext/Models.swift (limited to 'JuickNext/Models.swift') diff --git a/JuickNext/Models.swift b/JuickNext/Models.swift new file mode 100644 index 0000000..77a12f5 --- /dev/null +++ b/JuickNext/Models.swift @@ -0,0 +1,47 @@ +// +// Models.swift +// tst +// +// Created by Vitaly Takmazov on 10.12.2019. +// Copyright © 2019 com.juick. All rights reserved. +// + +import Foundation + + +typealias Model = Decodable & Identifiable + +typealias Root = Array + +struct Attachment: Decodable { + var url: String +} + +struct Entity: Decodable { + var type: String + var text: String + var link: String? + var start: Int? + var end: Int? +} + +struct User: Model { + var id: Int + var name: String + var avatar: String? + private enum CodingKeys : String, CodingKey { + case id = "uid", name = "uname", avatar + } +} + +struct Message : Model { + var id: Int + var user: User + var text : String? + var attachment: Attachment? + var entities: [Entity]? + var tags: [String]? + private enum CodingKeys : String, CodingKey { + case id = "mid", user, text = "body", attachment, entities, tags + } +} -- cgit v1.2.3