package med.voll.api.domain.direccion;
import jakarta.persistence.Embeddable;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
@Embeddable
@Getter
@NoArgsConstructor
@AllArgsConstructor
public class Direccion {
    private String calle;
    private String distrito;
    private String ciudad;
    //private String provincia;
    //private String codigoPostal;
    //private String urbanizacion;
    private String numero;
    private String complemento;
public Direccion(DatosDireccion direccion) {
    this.calle = direccion.calle();
    this.distrito = direccion.distrito();
    this.ciudad = direccion.ciudad();
    this.numero = direccion.numero();
    this.complemento = direccion.complemento();
}
public Direccion actualizarDatos(DatosDireccion direccion) {
    this.calle = direccion.calle();
    this.distrito = direccion.distrito();
    this.ciudad = direccion.ciudad();
    this.numero = direccion.numero();
    this.complemento = direccion.complemento();
    return this;
}
public void atualizarInformacion(DatosActualizacionDireccion direccion) {}
}
package med.voll.api.domain.direccion;
import jakarta.validation.constraints.NotBlank;
public record DatosDireccion(
        @NotBlank String calle,
        @NotBlank String distrito,
        @NotBlank String ciudad,
        @NotBlank String numero,
        @NotBlank String complemento
) {
}
package med.voll.api.domain.direccion;
import jakarta.validation.constraints.NotBlank;
public record DatosActualizacionDireccion(
        @NotBlank String calle,
        @NotBlank String distrito,
        @NotBlank String ciudad,
        @NotBlank String numero,
        @NotBlank String complemento
) {
}
JSON MEDICO (Registrar)
{
    "nombre": "Carlos Becerra",
    "email": "c.becerra@voll.med",
    "documento": "105498",
    "telefono": "67668900",
    "especialidad": "ORTOPEDIA",
    "direccion": {
        "calle": "calle 10",
        "distrito": "distrito 3",
        "ciudad": "Chone",
        "numero": "50",
        "complemento": "K"
    }
}
JSON PACIENTE (Registrar)
{
    "nombre": "Anna Perez",
    "email": "a.perez@mail.com",
    "documentoIdentidad": "123.456.789-01",
    "telefono": "66655512",
    "direccion": {
        "calle": "las flores",
        "urbanización": "Mi Querencia",
        "distrito": "centro",
        "codigoPostal": "2054",
        "ciudad": "Carora",
        "numero": "30",
        "provincia": "Lara",
        "complemento": "A"
    }
}
La duda me salta es que el profesor no explica la parte de paciente pero deja planteado como hacerlo y en los video posteriores veo que solo tiene 1 clase de Dirección así que asumi que incluyo todos los campos de ambas entidades en esa clase Dirección