Ei kuvausta

Flower.swift 1.3KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. //
  2. // Flower.swift
  3. // Flowerdex
  4. //
  5. // Created by Víctor A. Hernández on 11/11/20.
  6. //
  7. import Foundation
  8. struct Flower: Hashable, Codable, Identifiable {
  9. let id: Int
  10. let common_name: String?
  11. var commonName: String {
  12. if let cm = common_name {
  13. return cm
  14. } else {
  15. return scientificName
  16. }
  17. }
  18. let slug: String // *
  19. let scientific_name: String
  20. var scientificName: String { scientific_name }
  21. let image_url: String?
  22. var imageURL: String {
  23. if let iu = image_url {
  24. return iu
  25. } else {
  26. return "[Image URL]"
  27. }
  28. }
  29. let year: Int?
  30. let bibliography: String?
  31. let author: String? // *
  32. let family_common_name: String?
  33. var familyCommonName: String {
  34. if let fcn = family_common_name {
  35. return fcn
  36. } else {
  37. return "[Family Common Name]"
  38. }
  39. }
  40. let genus_id: Int // *
  41. var genusID: Int { genus_id }
  42. let status: String // *
  43. let rank: String // *
  44. let synonyms: [String]
  45. let genus: String
  46. let family: String
  47. let links: FlowerLinks
  48. // Properties added by us
  49. let isFavorite: Bool
  50. let hasBeenFound: Bool
  51. }
  52. struct FlowerLinks: Codable, Hashable {
  53. let `self`: String
  54. let plant: String
  55. let genus: String
  56. }