UserAccount.swift 817 B

123456789101112131415161718192021222324252627282930
  1. import Foundation
  2. /// Data model representing a registered user account in CelestiaTrace.
  3. struct UserAccount: Codable, Identifiable, Equatable {
  4. let id: String
  5. var username: String
  6. var email: String?
  7. var phoneNumber: String?
  8. var avatarURL: String?
  9. var token: String
  10. var registeredAt: Date
  11. init(
  12. id: String = UUID().uuidString,
  13. username: String,
  14. email: String? = nil,
  15. phoneNumber: String? = nil,
  16. avatarURL: String? = nil,
  17. token: String = UUID().uuidString,
  18. registeredAt: Date = Date()
  19. ) {
  20. self.id = id
  21. self.username = username
  22. self.email = email
  23. self.phoneNumber = phoneNumber
  24. self.avatarURL = avatarURL
  25. self.token = token
  26. self.registeredAt = registeredAt
  27. }
  28. }