class Usuario { constructor( id, nombre, apellido, matricula, contrasena, correo, nacionalidad, tipoSangre, fecha_nacimiento, curp, rol, idCarrera, inscrito ) { this.id = id; this.nombre = nombre; this.apellido = apellido; this.matricula = matricula; this.contrasena = contrasena || ''; // Valor predeterminado para contrasena this.correo = correo; this.nacionalidad = nacionalidad; this.tipoSangre = tipoSangre; this.fecha_nacimiento = fecha_nacimiento; this.curp = curp; this.rol = rol; this.idCarrera = idCarrera; this.inscrito = inscrito; } // Getters getId() { return this.id; } getNombre() { return this.nombre; } getApellido() { return this.apellido; } getMatricula() { return this.matricula; } getContrasena() { return this.contrasena; } getCorreo() { return this.correo; } getNacionalidad() { return this.nacionalidad; } getTipoSangre() { return this.tipoSangre; } getFecha_nacimiento() { return this.fecha_nacimiento; } getCurp() { return this.curp; } getRol() { return this.rol; } getIdCarrera() { return this.idCarrera; } getInscrito() { return this.inscrito; } // Setters setId(id) { this.id = id; } setNombre(nombre) { this.nombre = nombre; } setApellido(apellido) { this.apellido = apellido; } setMatricula(matricula) { this.matricula = matricula; } setContrasena(contrasena) { this.contrasena = contrasena; } setCorreo(correo) { this.correo = correo; } setNacionalidad(nacionalidad) { this.nacionalidad = nacionalidad; } setTipoSangre(tipoSangre) { this.tipoSangre = tipoSangre; } setFecha_nacimiento(fecha_nacimiento) { this.fecha_nacimiento = fecha_nacimiento; } setCurp(curp) { this.curp = curp; } setRol(rol) { this.rol = rol; } setIdCarrera(idCarrera) { this.idCarrera = idCarrera; } setInscrito(inscrito) { this.inscrito = inscrito; } crearToken() { const CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; let token = ''; for (let i = 0; i < 15; i++) { const index = Math.floor(Math.random() * CHARACTERS.length); token += CHARACTERS.charAt(index); } return token; } } export default Usuario;