Practica 1

parent d554e340
Showing with 236 additions and 0 deletions
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.ayto</groupId>
<artifactId>incidencias-backend</artifactId>
<version>1.0.0</version>
<properties>
<java.version>17</java.version>
<spring-boot.version>3.3.3</spring-boot.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type><scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>10</source>
<target>10</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
\ No newline at end of file
package com.ayto.incidencias.dominio;
public class CoordenadaGPS {
private Double latitud;
private Double longitud;
public Double getLatitud() { return latitud; }
public void setLatitud(Double latitud) { this.latitud = latitud; }
public Double getLongitud() { return longitud; }
public void setLongitud(Double longitud) { this.longitud = longitud; }
}
package com.ayto.incidencias.dominio;
public class Direccion {
private String calle;
private String numero;
private String ciudad;
private String provincia;
private String cp;
public String getCalle() { return calle; }
public void setCalle(String calle) { this.calle = calle; }
public String getNumero() { return numero; }
public void setNumero(String numero) { this.numero = numero; }
public String getCiudad() { return ciudad; }
public void setCiudad(String ciudad) { this.ciudad = ciudad; }
public String getProvincia() { return provincia; }
public void setProvincia(String provincia) { this.provincia = provincia; }
public String getCp() { return cp; }
public void setCp(String cp) { this.cp = cp; }
}
\ No newline at end of file
package com.ayto.incidencias.dominio;
public enum EstadoIncidencia {
PENDIENTE,
EVALUACION,
RESUELTA
}
package com.ayto.incidencias.dominio;
import java.time.LocalDateTime;
public class Incidencia {
private Long id;
private TipoIncidencia tipo;
private LocalDateTime fecha;
private String descripcion;
private Direccion direccion;
private CoordenadaGPS ubicacionGPS;
private EstadoIncidencia estado;
private Usuario autor;
public Long getId() { return id; }
public void setId(Long id) { this.id = id; }
public TipoIncidencia getTipo() { return tipo; }
public void setTipo(TipoIncidencia tipo) { this.tipo = tipo; }
public LocalDateTime getFecha() { return fecha; }
public void setFecha(LocalDateTime fecha) { this.fecha = fecha; }
public String getDescripcion() { return descripcion; }
public void setDescripcion(String descripcion) { this.descripcion = descripcion; }
public Direccion getDireccion() { return direccion; }
public void setDireccion(Direccion direccion) { this.direccion = direccion; }
public CoordenadaGPS getUbicacionGPS() { return ubicacionGPS; }
public void setUbicacionGPS(CoordenadaGPS ubicacionGPS) { this.ubicacionGPS = ubicacionGPS; }
public EstadoIncidencia getEstado() { return estado; }
public void setEstado(EstadoIncidencia estado) { this.estado = estado; }
public Usuario getAutor() { return autor; }
public void setAutor(Usuario autor) { this.autor = autor; }
}
\ No newline at end of file
package com.ayto.incidencias.dominio;
public enum RolUsuario {
ADMIN,
NORMAL
}
package com.ayto.incidencias.dominio;
public class TipoIncidencia {
private Long id;
private String nombre;
private String descripcion;
public Long getId() { return id; }
public void setId(Long id) { this.id = id; }
public String getNombre() { return nombre; }
public void setNombre(String nombre) { this.nombre = nombre; }
public String getDescripcion() { return descripcion; }
public void setDescripcion(String descripcion) { this.descripcion = descripcion; }
}
\ No newline at end of file
package com.ayto.incidencias.dominio;
import java.time.LocalDate;
import java.util.concurrent.atomic.AtomicLong;
public class Usuario {
private static final AtomicLong SEQ = new AtomicLong(0);
private Long id = SEQ.incrementAndGet();
private String apellidos;
private String nombre;
private LocalDate fechaNacimiento;
private String direccion;
private String telefono;
private String email;
private String login;
private String claveHash;
private RolUsuario rol = RolUsuario.NORMAL;
public Long getId() { return id; }
public void setId(Long id) { this.id = id; }
public String getApellidos() { return apellidos; }
public void setApellidos(String apellidos) { this.apellidos = apellidos; }
public String getNombre() { return nombre; }
public void setNombre(String nombre) { this.nombre = nombre; }
public LocalDate getFechaNacimiento() { return fechaNacimiento; }
public void setFechaNacimiento(LocalDate fechaNacimiento) { this.fechaNacimiento = fechaNacimiento; }
public String getDireccion() { return direccion; }
public void setDireccion(String direccion) { this.direccion = direccion; }
public String getTelefono() { return telefono; }
public void setTelefono(String telefono) { this.telefono = telefono; }
public String getEmail() { return email; }
public void setEmail(String email) { this.email = email; }
public String getLogin() { return login; }
public void setLogin(String login) { this.login = login; }
public String getClaveHash() { return claveHash; }
public void setClaveHash(String claveHash) { this.claveHash = claveHash; }
public RolUsuario getRol() { return rol; }
public void setRol(RolUsuario rol) { this.rol = rol; }
}
package com.ayto.incidencias.repo;
import com.ayto.incidencias.dominio.Incidencia;
import java.util.*;
public interface IncidenciaRepo {
Incidencia save(Incidencia i);
Optional<Incidencia> findById(Long id);
void delete(Long id);
List<Incidencia> findByAutor(Long usuarioId);
List<Incidencia> findAll();
}
\ No newline at end of file
package com.ayto.incidencias.repo;
import com.ayto.incidencias.dominio.TipoIncidencia;
import java.util.*;
public interface TipoIncidenciaRepo {
TipoIncidencia save(TipoIncidencia t);
void delete(Long id);
boolean existsByNombre(String nombre);
Optional<TipoIncidencia> findById(Long id);
List<TipoIncidencia> findAll();
}
package com.ayto.incidencias.repo;
import com.ayto.incidencias.dominio.Usuario;
import java.util.Optional;
public interface UsuarioRepo {
Usuario save(Usuario u);
Optional<Usuario> findByLogin(String login);
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment