package de.tsschulz.tt_tagebuch.shared.api.models

import kotlinx.serialization.Serializable

@Serializable
data class Member(
    val id: Int,
    val firstName: String = "",
    val lastName: String = "",
    val clubId: Int? = null,
    val active: Boolean = true,
    val birthDate: String? = null,
    val gender: String? = null,
    val ttr: Int? = null,
    val qttr: Int? = null,
    val street: String? = null,
    val city: String? = null,
    val postalCode: String? = null,
    val phone: String? = null,
    val email: String? = null,
    val testMembership: Boolean? = null,
    val picsInInternetAllowed: Boolean? = null,
    val memberFormHandedOver: Boolean? = null,
    val clickTtApplicationSubmitted: Boolean? = null,
    val adultReleaseApproved: Boolean? = null,
    val adultReserveApproved: Boolean? = null,
    val lastTraining: String? = null,
    val trainingParticipations: Int? = null,
    val notInTraining: Boolean? = null,
    val missedTrainingWeeks: Int? = null,
    /** Aus Training-Stats gemergt (aktive Mitglieder); leer wenn keine Zuordnung. */
    val trainingGroups: List<TrainingStatsTrainingGroup> = emptyList(),
    val contacts: List<MemberContactDto> = emptyList(),
    val images: List<MemberImageDto> = emptyList(),
    val primaryImageId: Int? = null,
    val primaryImageUrl: String? = null,
    val imageUrl: String? = null,
    val hasImage: Boolean? = null,
    val myTischtennisPlayerId: String? = null,
    val myTischtennisHistoryPlayerId: String? = null,
)
