package com.example.elva.data.models.user

import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable

@Serializable
data class UserProfile(
    val id: Int,
    val uuid: String,
    val username: String? = null,
    val email: String,
    val phone: String? = null,
    @SerialName("phone_number")
    val phoneNumber: String? = null,
    @SerialName("first_name")
    val firstName: String? = null,
    @SerialName("last_name")
    val lastName: String? = null,
    @SerialName("full_name")
    val fullName: String? = null,
    @SerialName("date_of_birth")
    val dateOfBirth: String? = null,
    val bio: String? = null,
    @SerialName("avatar_url")
    val avatarUrl: String? = null,
    @SerialName("emergency_contact_1_name")
    val emergencyContact1Name: String? = null,
    @SerialName("emergency_contact_1_phone")
    val emergencyContact1Phone: String? = null,
    @SerialName("emergency_contact_2_name")
    val emergencyContact2Name: String? = null,
    @SerialName("emergency_contact_2_phone")
    val emergencyContact2Phone: String? = null,
    @SerialName("location_sharing_enabled")
    val locationSharingEnabled: Boolean = true,
    @SerialName("emergency_notifications_enabled")
    val emergencyNotificationsEnabled: Boolean = true,
    @SerialName("push_notifications_enabled")
    val pushNotificationsEnabled: Boolean = true,
    @SerialName("email_verified")
    val emailVerified: Boolean = false,
    @SerialName("phone_verified")
    val phoneVerified: Boolean = false,
    @SerialName("is_active")
    val isActive: Boolean = true
)

