1
Fork 0
This repository has been archived on 2025-04-08. You can view files and clone it, but cannot push or open issues or pull requests.
mobilefort/MobileFort/MobileFort/Common.swift

71 lines
1.6 KiB
Swift

import Foundation
enum PostType: String, Decodable {
case text, picture
}
struct Media: Decodable, Identifiable {
let id: Int
let url: String
}
struct OriginalPost: Decodable, Identifiable {
let id: Int
let title: String?
}
struct Post: Decodable, Identifiable {
let id: Int
let title: String?
let content: String
let postType: PostType
let media: [Media]
let username: String
let originalUsername: String?
let originalPost: OriginalPost?
let avatarUrl: String
func isReblogged() -> Bool {
return originalUsername != nil
}
func getTitle() -> String? {
if isReblogged() {
return originalPost?.title
} else {
return title
}
}
}
let mediaURL = "https://homepages.cae.wisc.edu/~ece533/images/airplane.png"
let testMedia = Media(id: 0,
url: mediaURL)
let fooPost = Post(id: 0,
title: "Foo",
content: "",
postType: .picture,
media: [testMedia],
username: "foobar",
originalUsername: nil,
originalPost: nil,
avatarUrl: mediaURL)
let fooPostReblog = Post(id: 1,
title: nil,
content: "",
postType: .picture,
media: [testMedia],
username: "foobar",
originalUsername: "foobar2",
originalPost: nil,
avatarUrl: mediaURL)