actualizacion backend

This commit is contained in:
Cesar.Gomez 2024-05-12 10:40:51 -06:00
parent 7e8efdb4fb
commit 9971d7f9ba
15 changed files with 604 additions and 51 deletions

3
.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,3 @@
{
"java.configuration.updateBuildConfiguration": "interactive"
}

View File

@ -14,8 +14,8 @@
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
<maven.compiler.source>18</maven.compiler.source>
<maven.compiler.target>18</maven.compiler.target>
</properties>
<dependencies>
@ -25,51 +25,66 @@
<version>4.11</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
<dependency>
<groupId>com.sparkjava</groupId>
<artifactId>spark-core</artifactId>
<version>2.9.4</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.21</version>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.6</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.30</version> <!-- Utiliza la versión más reciente -->
</dependency>
</dependencies>
<build>
<plugins>
<!-- clean lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#clean_Lifecycle -->
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>3.1.0</version>
</plugin>
<!-- default lifecycle, jar packaging: see https://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_jar_packaging -->
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.2</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<version>2.3.2</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.1</version>
</plugin>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<version>3.0.2</version>
</plugin>
<plugin>
<artifactId>maven-install-plugin</artifactId>
<version>2.5.2</version>
</plugin>
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.2</version>
</plugin>
<!-- site lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#site_Lifecycle -->
<plugin>
<artifactId>maven-site-plugin</artifactId>
<version>3.7.1</version>
</plugin>
<plugin>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>3.0.0</version>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
<configuration>
<descriptorRefs>
<!-- This tells Maven to include all dependencies -->
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>mx.uv.App</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</build>
</project>

View File

@ -4,10 +4,364 @@ package mx.uv;
* Hello world!
*
*/
import static spark.Spark.*;
import java.util.HashMap;
import java.util.List;
import java.util.UUID;
import com.google.gson.*;
public class App
{
static Gson gson = new Gson();
static HashMap<String, Usuario> usuarios = new HashMap<String, Usuario>();
static String correoG;
static String passwordG;
static String nombreG;
static String idG;
public static void main( String[] args )
{
System.out.println( "Hello World!" );
//port(80);
port(getHerokuAssignedPort());
options("/*", (request, response) -> {
String accessControlRequestHeaders = request.headers("Access-Control-Request-Headers");
if (accessControlRequestHeaders != null) {
response.header("Access-Control-Allow-Headers", accessControlRequestHeaders);
}
String accessControlRequestMethod = request.headers("Access-Control-Request-Method");
if (accessControlRequestMethod != null) {
response.header("Access-Control-Allow-Methods", accessControlRequestMethod);
}
return "OK";
});
before((request, response) -> response.header("Access-Control-Allow-Origin", "*"));
get("/backend/verificar-conexion", (request, response) -> {
response.type("application/json");
JsonObject respuesta = new JsonObject();
respuesta.addProperty("mensaje", "Conexión exitosa al backend");
return respuesta.toString();
});
post("/frontend/", (request, response)->{
response.type("application/json");
String payload = request.body();
JsonElement jsonElement = JsonParser.parseString(payload);
JsonObject jsonObject = jsonElement.getAsJsonObject();
Usuario usuario = gson.fromJson(jsonObject.get("datosFormulario"), Usuario.class);
System.out.println("usuario"+usuario);
System.out.println("payload "+payload);
String id = UUID.randomUUID().toString();
usuario.setId(id);
usuarios.put(id, usuario);
DAO.crearUsuario(usuario);
System.out.println("i "+usuario.getId());
System.out.println("n "+usuario.getCorreo());
System.out.println("p "+usuario.getPassword());
JsonObject respuesta = new JsonObject();
respuesta.addProperty("msj", "Se creo el usuario");
respuesta.addProperty("id", id);
return gson.toJson(usuario);
});
post("/frontend/correoExiste", (request, response) -> {
response.type("application/json");
// Obtener datos del formulario enviado
String payload = request.body();
// Parsear el cuerpo JSON
JsonObject jsonObject = JsonParser.parseString(payload).getAsJsonObject();
// Acceder a la clave "datosFormulario" y luego obtener la clave "correo"
String correo = jsonObject.getAsJsonObject("datosFormulario").get("correo").getAsString();
System.out.println("correo: "+correo);
// Verificar si el correo existe
boolean correoExistente = DAO.correoExistente(correo);
// Construir un objeto JSON con la información sobre si el correo existe
JsonObject resultadoJson = new JsonObject();
resultadoJson.addProperty("correoExistente", correoExistente);
return resultadoJson.toString();
});
post("/frontend/obtenerUsuario", (request, response) -> {
response.type("application/json");
// Puedes acceder a las variables globales directamente o utilizar métodos getter según tu implementación
String correo = correoG;
String password = passwordG;
String nombre = nombreG;
// Construir un objeto JSON con los datos del usuario
JsonObject usuarioJson = new JsonObject();
usuarioJson.addProperty("correo", correo);
usuarioJson.addProperty("password", password);
usuarioJson.addProperty("nombre", nombre);
System.out.println(nombre);;
System.out.println(usuarioJson);
return usuarioJson.toString();
});
post("/frontend/login", (request, response)->{
response.type("application/json");
String payload = request.body();
System.out.println("payload "+payload);
// DAO.crearUsuario(usuario);
String correo = "";
String password = "";
JsonElement jsonElement = JsonParser.parseString(payload);
JsonObject jsonObject = jsonElement.getAsJsonObject();
// Accede a la clave "datosFormulario" y luego obtén las claves "correo" y "password"
JsonObject datosFormulario = jsonObject.getAsJsonObject("datosFormulario");
if (datosFormulario != null && datosFormulario.has("correo") && datosFormulario.has("password")) {
correo = datosFormulario.get("correo").getAsString();
password = datosFormulario.get("password").getAsString();
System.out.println("Correogson: " + correo);
System.out.println("Passwordgson: " + password);
} else {
System.out.println("Las claves 'correo' y/o 'password' no están presentes en el JSON.");
}
boolean esUsuarioValido = DAO.validarUsuario(correo, password);
JsonObject respuesta = new JsonObject();
if (esUsuarioValido) {
correoG = correo;
passwordG = password;
String id = DAO.obtenerIdUsuario(correoG,passwordG);
idG = id;
System.out.println("correo valido "+correoG);
System.out.println("password valido "+passwordG);
System.out.println("id valido "+passwordG);
Usuario usuario = DAO.obtenerDatosUsuario(id);
nombreG = usuario.getNombre();
System.out.println("nombre valido: "+nombreG);
respuesta.addProperty("msj", "Valido");
respuesta.addProperty("nombre", usuario.getNombre());
respuesta.addProperty("id", id);
return gson.toJson(usuario);
} else {
respuesta.addProperty("msj", "Invalido");
return "Invalido";
}
});
post("/Login", (request, response) -> {
response.type("application/json");
// Puedes acceder a las variables globales directamente o utilizar métodos getter según tu implementación
String correo = correoG;
String password = passwordG;
String nombre = nombreG;
// Construir un objeto JSON con los datos del usuario
JsonObject usuarioJson = new JsonObject();
usuarioJson.addProperty("correo", correo);
usuarioJson.addProperty("password", password);
usuarioJson.addProperty("nombre", nombre);
System.out.println(nombre);;
System.out.println(usuarioJson);
return usuarioJson.toString();
});
post("/frontend/cerrarSesion", (request, response) -> {
response.type("application/json");
// Establecer las variables a null
correoG = null;
passwordG = null;
nombreG = null;
idG = null;
String correo = correoG;
String password = passwordG;
String nombre = nombreG;
// Construir un objeto JSON con los datos del usuario
JsonObject usuarioJson = new JsonObject();
usuarioJson.addProperty("correo", correo);
usuarioJson.addProperty("password", password);
usuarioJson.addProperty("nombre", nombre);
usuarioJson.addProperty("id", idG);
System.out.println(usuarioJson);
return usuarioJson.toString();
});
post("/frontend/login", (request, response)->{
response.type("application/json");
String payload = request.body();
System.out.println("payload "+payload);
// DAO.crearUsuario(usuario);
String correo = "";
String password = "";
JsonElement jsonElement = JsonParser.parseString(payload);
JsonObject jsonObject = jsonElement.getAsJsonObject();
// Accede a la clave "datosFormulario" y luego obtén las claves "correo" y "password"
JsonObject datosFormulario = jsonObject.getAsJsonObject("datosFormulario");
if (datosFormulario != null && datosFormulario.has("correo") && datosFormulario.has("password")) {
correo = datosFormulario.get("correo").getAsString();
password = datosFormulario.get("password").getAsString();
System.out.println("Correogson: " + correo);
System.out.println("Passwordgson: " + password);
} else {
System.out.println("Las claves 'correo' y/o 'password' no están presentes en el JSON.");
}
boolean esUsuarioValido = DAO.validarUsuario(correo, password);
JsonObject respuesta = new JsonObject();
if (esUsuarioValido) {
correoG = correo;
passwordG = password;
String id = DAO.obtenerIdUsuario(correoG,passwordG);
idG = id;
System.out.println("correo valido "+correoG);
System.out.println("password valido "+passwordG);
System.out.println("id valido "+passwordG);
Usuario usuario = DAO.obtenerDatosUsuario(id);
nombreG = usuario.getNombre();
System.out.println("nombre valido: "+nombreG);
respuesta.addProperty("msj", "Valido");
respuesta.addProperty("nombre", usuario.getNombre());
respuesta.addProperty("id", id);
return gson.toJson(usuario);
} else {
respuesta.addProperty("msj", "Invalido");
return "Invalido";
}
});
//Recuperar Contraseña:
post("/frontend/RecuperarContra", (request, response) -> {
response.type("application/json");
String payload = request.body();
System.out.println(payload);
String correo = "";
String password = "";
JsonElement jsonElement = JsonParser.parseString(payload);
JsonObject jsonObject = jsonElement.getAsJsonObject();
JsonObject datosFormulario = jsonObject.getAsJsonObject("datosFormulario");
if (datosFormulario != null && datosFormulario.has("correo") && datosFormulario.has("password")) {
correo = datosFormulario.get("correo").getAsString();
password = datosFormulario.get("password").getAsString();
System.out.println("Correo: " + correo);
System.out.println("Password: " + password);
} else {
System.out.println("Las claves 'correo' y/o 'password' no están presentes en el JSON.");
}
boolean existeUsuario = DAO.existeUsuarioPorCorreo(correo);
JsonObject respuesta = new JsonObject();
if (existeUsuario) {
respuesta.addProperty("msj", "Usuario encontrado");
return "Usuario encontrado";
} else {
respuesta.addProperty("msj", "Usuario no encontrado");
return "Usuario no encontrado";
}
});
post("/frontend/ColocarContra2", (request, response) -> {
response.type("application/json");
String payload = request.body();
String correo = "";
String password = "";
JsonElement jsonElement = JsonParser.parseString(payload);
JsonObject jsonObject = jsonElement.getAsJsonObject();
JsonObject datosFormulario = jsonObject.getAsJsonObject("datosFormulario");
if (datosFormulario != null && datosFormulario.has("correo") && datosFormulario.has("password")) {
correo = datosFormulario.get("correo").getAsString();
password = datosFormulario.get("password").getAsString();
System.out.println("Correo: " + correo);
System.out.println("Password: " + password);
} else {
System.out.println("Las claves 'correo' y/o 'password' no están presentes en el JSON.");
}
System.out.println(correo);
System.out.println(password);
DAO.cambiarContrasena(correo, password);
System.out.println(payload);
return "Actualizado";
});
post("/frontend/RecuperarContra", (request, response) -> {
response.type("application/json");
String payload = request.body();
System.out.println(payload);
String correo = "";
String password = "";
JsonElement jsonElement = JsonParser.parseString(payload);
JsonObject jsonObject = jsonElement.getAsJsonObject();
JsonObject datosFormulario = jsonObject.getAsJsonObject("datosFormulario");
if (datosFormulario != null && datosFormulario.has("correo") && datosFormulario.has("password")) {
correo = datosFormulario.get("correo").getAsString();
password = datosFormulario.get("password").getAsString();
System.out.println("Correo: " + correo);
System.out.println("Password: " + password);
} else {
System.out.println("Las claves 'correo' y/o 'password' no están presentes en el JSON.");
}
boolean existeUsuario = DAO.existeUsuarioPorCorreo(correo);
JsonObject respuesta = new JsonObject();
if (existeUsuario) {
respuesta.addProperty("msj", "Usuario encontrado");
return "Usuario encontrado";
} else {
respuesta.addProperty("msj", "Usuario no encontrado");
return "Usuario no encontrado";
}
});
}
static int getHerokuAssignedPort() {
ProcessBuilder processBuilder = new ProcessBuilder();
if (processBuilder.environment().get("PORT") != null) {
return Integer.parseInt(processBuilder.environment().get("PORT"));
}
return 4567; //return default port if heroku-port isn't set (i.e. on localhost)
}
}

View File

@ -5,10 +5,10 @@ import java.sql.DriverManager;
import java.sql.SQLException;
public class Conexion {
private static String url = "jdbc:mysql://127.0.0.1:3306/?user=pastel";
private static String url = "jdbc:mysql://127.0.0.1:3306/dbpastel";
private static String driverName = "com.mysql.cj.jdbc.Driver";
private static String username = "dbpastel";
private static String password = "dbpastel";
private static String username = "root";
private static String password = "cesarin_11";
// variable de conexion
private static Connection connection = null;
@ -16,11 +16,13 @@ public class Conexion {
try {
Class.forName(driverName);
connection = DriverManager.getConnection(url, username, password);
System.out.println("conexion exitosa");
} catch (SQLException e) {
System.out.println(" SQL:" + e);
} catch (ClassNotFoundException e){
System.out.println("Driver:" + e);
}
return connection;
}
}

View File

@ -0,0 +1,98 @@
package mx.uv;
public class Pasteles {
String idPedido;
String idUsuario;
String idNombre;
String idPrecio;
String idTamaño;
String status;
String inscripcion;
String tipoRelleno;
public String getIdPedido() {
return idPedido;
}
public void setIdPedido(String idPedido) {
this.idPedido = idPedido;
}
public String getIdUsuario() {
return idUsuario;
}
public void setIdUsuario(String idUsuario) {
this.idUsuario = idUsuario;
}
public String getIdNombre() {
return idNombre;
}
public void setIdNombre(String idNombre) {
this.idNombre = idNombre;
}
public String getIdPrecio() {
return idPrecio;
}
public void setIdPrecio(String idPrecio) {
this.idPrecio = idPrecio;
}
public String getIdTamaño() {
return idTamaño;
}
public void setIdTamaño(String idTamaño) {
this.idTamaño = idTamaño;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getInscripcion() {
return inscripcion;
}
public void setInscripcion(String inscripcion) {
this.inscripcion = inscripcion;
}
public String getTipoRelleno() {
return tipoRelleno;
}
public void setTipoRelleno(String tipoRelleno) {
this.tipoRelleno = tipoRelleno;
}
public String toString() {
return "Pasteles [idPedido=" + idPedido + ", idUsuario=" + idUsuario + ", idNombre=" + idNombre + ", idPrecio=" + idPrecio
+ ", idTamaño=" + idTamaño + ", status=" + status + ", inscripcion=" + inscripcion + ", tipoRelleno=" + tipoRelleno + "]";
}
public Pasteles(){
}
public Pasteles(String idPedido, String idUsuario, String idNombre, String idPrecio, String idTamaño,
String status, String inscripcion, String tipoRelleno) {
this.idPedido = idPedido;
this.idUsuario = idUsuario;
this.idNombre = idNombre;
this.idPrecio = idPrecio;
this.idTamaño = idTamaño;
this.status = status;
this.inscripcion = inscripcion;
this.tipoRelleno = tipoRelleno;
}
}

View File

@ -0,0 +1,83 @@
package mx.uv;
public class Reservaciones {
String idR;
String idU;
String idH;
String nombre;
String precio;
String checkIn;
String checkOut;
String personas;
public String getIdR() {
return idR;
}
public void setIdR(String idR) {
this.idR = idR;
}
public String getIdU() {
return idU;
}
public void setIdU(String idU) {
this.idU = idU;
}
public String getIdH() {
return idH;
}
public void setIdH(String idH) {
this.idH = idH;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public String getPrecio() {
return precio;
}
public void setPrecio(String precio) {
this.precio = precio;
}
public String getCheckIn() {
return checkIn;
}
public void setCheckIn(String checkIn) {
this.checkIn = checkIn;
}
public String getCheckOut() {
return checkOut;
}
public void setCheckOut(String checkOut) {
this.checkOut = checkOut;
}
public String getPersonas() {
return personas;
}
public void setPersonas(String personas) {
this.personas = personas;
}
public String toString() {
return "Reservaciones [id=" + idR + ", nombre=" + nombre + ", precio=" + precio + ", checkIn=" + checkIn + ", checkOut=" + checkOut + ", personas=" + personas +"]";
}
public Reservaciones(){
}
public Reservaciones(String idR, String idU, String idH, String nombre, String precio, String checkIn,
String checkOut, String personas) {
this.idR = idR;
this.idU = idU;
this.idH = idH;
this.nombre = nombre;
this.precio = precio;
this.checkIn = checkIn;
this.checkOut = checkOut;
this.personas = personas;
}
}

Binary file not shown.

Binary file not shown.

View File

@ -1 +0,0 @@
C:\Users\natal\OneDrive\Escritorio\ProyectoFinal-DS\BackPastel\backend\src\main\java\mx\uv\App.java