6
respostas

[Bug] nao copila a classe usuario em relacao ao recurso admin

package med.Vol.api.usuarios;

import jakarta.persistence.*; import lombok.EqualsAndHashCode; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; import med.Vol.api.direccion.Direccion; import med.Vol.api.medicos.DatosActualizaMedicos; import med.Vol.api.medicos.DatosRegistroMedicos;

@Getter @Setter @NoArgsConstructor @EqualsAndHashCode(of = "id") @Entity(name = "Usuario") @Table(name = "usuarios")

public class Usuario {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String nombre;
private String correo;
private String telefono;
private Boolean admin = false; 
@Embedded
private Direccion direccion;

public Usuario (DatosRegistroUsuarios datos) {
    this.nombre = datos.nombre();
    this.correo = datos.correo();
    this.telefono = datos.telefono();
    this.direccion = new Direccion(datos.direccion();
    this.admin = *******
    );
}

public void actualizaInformaciones(DatosActualizaUsuarios datos) {
        if(datos.nombre() != null){ 
            this.nombre = datos.nombre();
        }
        if(datos.telefono() != null){
            this.telefono = datos.telefono();
        }
        if(datos.admin() != null){
            this.admin= datos.*********
        }
        if(datos.direccion() != null){
            this.direccion.actualizacionInformacion(datos.direccion());
        }
    }

}

o resto nao apresenta problemas so nao consigo como fazer colocar a opcao de mudar de False para True e vice-versa.. ten como me ajudar?

6 respostas

Angela, bom dia.

Poderia nos mandar o log de mensagem de erros ?

package med.Vol.api.usuarios;

import ...

@Getter @Setter @NoArgsConstructor @EqualsAndHashCode(of = "id") @Entity(name = "Usuario") @Table(name = "usuarios")

public class Usuario {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String nombre;
private String correo;
private String telefono;
private Boolean admin = false;  // ESTARIAM CORRETO?
@Embedded
private Direccion direccion;

public Usuario (DatosRegistroUsuarios datos) {
    this.admin = false;                     // ESTARIAM CORRETO?
    this.nombre = datos.nombre();
    this.correo = datos.correo();
    this.telefono = datos.telefono();
    this.direccion = new Direccion(datos.direccion()
    );
}

public void actualizaInformaciones(DatosActualizaUsuarios datos) {
        if(datos.nombre() != null){
            this.nombre = datos.nombre();
        }
        if(datos.telefono() != null){
            this.telefono = datos.telefono();
        }
        if(datos.admin() != true){
                    this.admin= Boolean.FALSE; // ESTARIAM CORRETO?
        }
 
        if(datos.direccion() != null){
            this.direccion.actualizacionInformacion(datos.direccion());
        }
    }

}

package med.Vol.api.usuarios;

import ...

public record DatosRegistroUsuarios(

    @NotBlank         // ACHEI QUE DEVERIA SER OBRIGRATORIO  
    boolean admin, // ESTARIAM CORRETO?
    @NotBlank
    String nombre,
    @NotBlank
    @Email 
    String correo,
    @NotBlank
    String telefono,

    @NotNull
    @Valid
    DatosDireccion direccion

) { }

consegui colocar default que qulaquer novo usuario seja false.. mas nao consigo registrar un novo usuario como true en "admin" ![](Insira aqui a descrição dessa imagem para ajudar na acessibilidade )

Olá, Angela!

A anotação @NotBlank é utilizada nos campos String. Mude para @NotNull na variável admin e teste novamente, acredito que resolverá seu problema.

copila.. mas so que continuo sem poder editar no insônia o Admin.. nao consigo colocar ele como True

qual erro aparece dessa vez?