LNFeedResponse.swift 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. //
  2. // LNFeedResponse.swift
  3. // Gami
  4. //
  5. // Created by OneeChan on 2026/3/4.
  6. //
  7. import Foundation
  8. import AutoCodable
  9. enum LNFeedMediaType: Int, Decodable {
  10. case image = 0
  11. case video = 1
  12. }
  13. @AutoCodable
  14. class LNFeedMediaVO: Decodable {
  15. var url: String = ""
  16. var type: LNFeedMediaType = .image
  17. var videoCover: String = ""
  18. init () { }
  19. }
  20. @AutoCodable
  21. class LNFeedItemVO: Decodable {
  22. var id: String = ""
  23. var createdAt: Int64 = 0
  24. var updatedAt: Int64 = 0
  25. var textContent: String = ""
  26. var medias: [LNFeedMediaVO] = []
  27. var likeCount: Int = 0
  28. var userNo: String = ""
  29. var nickname: String = ""
  30. var avatar: String = ""
  31. var liked: Bool = false
  32. var commentCount: Int = 0
  33. }
  34. @AutoCodable
  35. class LNFeedListResponse: Decodable {
  36. var list: [LNFeedItemVO] = []
  37. var next: String = ""
  38. }
  39. @AutoCodable
  40. class LNFeedDetailVO: Decodable {
  41. var id: String = ""
  42. var createdAt: Int = 0
  43. var updatedAt: Int = 0
  44. var textContent: String = ""
  45. var medias: [LNFeedMediaVO] = []
  46. var likeCount: Int = 0
  47. var userNo: String = ""
  48. var nickname: String = ""
  49. var avatar: String = ""
  50. var liked: Bool = false
  51. var commentCount: Int = 0
  52. }
  53. @AutoCodable
  54. class LNFeedCommentVO: Decodable {
  55. var id: String = ""
  56. var createdAt: Int = 0
  57. var updatedAt: Int = 0
  58. var trendId: String = ""
  59. var commentPid: String = ""
  60. var avatar: String = ""
  61. var nickname: String = ""
  62. var userNo: String = ""
  63. var textContent: String = ""
  64. var likeCount: Int = 0
  65. init() { }
  66. }
  67. @AutoCodable
  68. class LNFeedCommentListResponse: Decodable {
  69. var list: [LNFeedCommentVO] = []
  70. var next: String = ""
  71. var total: Int = 0
  72. }
  73. @AutoCodable
  74. class LNFeedLikeResponse: Decodable {
  75. var like: Bool = false
  76. var likeCount: Int = 0
  77. }