forked from tom.biard/ScienceQuest
parent
f05e64d724
commit
5ee71a4538
@ -0,0 +1,62 @@
|
||||
package fr.iut.sciencequest.sae.controllers;
|
||||
|
||||
import static org.springframework.hateoas.server.mvc.WebMvcLinkBuilder.*;
|
||||
|
||||
import fr.iut.sciencequest.sae.entities.Question;
|
||||
import fr.iut.sciencequest.sae.exceptions.IncorrectPageException;
|
||||
import fr.iut.sciencequest.sae.repositories.QuestionRepository;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.PageRequest;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.hateoas.CollectionModel;
|
||||
import org.springframework.hateoas.EntityModel;
|
||||
import org.springframework.hateoas.Link;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.Optional;
|
||||
import java.util.List;
|
||||
|
||||
@Controller
|
||||
@RequestMapping("/api/v1/questions")
|
||||
public class QuestionController {
|
||||
|
||||
private static final int PAGE_SIZE = 10;
|
||||
private final QuestionRepository questionRepository;
|
||||
|
||||
public QuestionController(QuestionRepository questionRepository) {
|
||||
this.questionRepository = questionRepository;
|
||||
}
|
||||
|
||||
@RequestMapping(method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
@ResponseBody
|
||||
public CollectionModel<EntityModel<Question>> getAllQuestions(@RequestParam(name = "page") Optional<Integer> page, HttpServletRequest request) {
|
||||
try {
|
||||
Pageable paging = PageRequest.of(page.orElse(0), PAGE_SIZE);
|
||||
Page<Question> pagedResult = questionRepository.findAll(paging);
|
||||
|
||||
List<EntityModel<Question>> questions = pagedResult.map(EntityModel::of).toList();
|
||||
|
||||
Link selfLink = linkTo(methodOn(QuestionController.class).getAllQuestions(page, request)).withSelfRel().expand(page.map(Object::toString).orElse("0"));
|
||||
|
||||
CollectionModel<EntityModel<Question>> result = CollectionModel.of(questions, selfLink);
|
||||
|
||||
if (pagedResult.hasPrevious()) {
|
||||
Link prevLink = linkTo(methodOn(QuestionController.class).getAllQuestions(Optional.of(pagedResult.previousPageable().getPageNumber()), request)).withRel("previous");
|
||||
result.add(prevLink.expand(pagedResult.previousPageable().getPageNumber()));
|
||||
}
|
||||
|
||||
if (pagedResult.hasNext()) {
|
||||
Link nextLink = linkTo(methodOn(QuestionController.class).getAllQuestions(Optional.of(pagedResult.nextPageable().getPageNumber()), request)).withRel("next");
|
||||
result.add(nextLink.expand(pagedResult.nextPageable().getPageNumber()));
|
||||
}
|
||||
|
||||
return result;
|
||||
} catch (IllegalArgumentException e) {
|
||||
throw new IncorrectPageException(request.getRequestURI(), "numéro de page incorrect");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,72 @@
|
||||
package fr.iut.sciencequest.sae.controllers;
|
||||
|
||||
import static org.springframework.hateoas.server.mvc.WebMvcLinkBuilder.*;
|
||||
|
||||
import fr.iut.sciencequest.sae.entities.Scientifique;
|
||||
import fr.iut.sciencequest.sae.exceptions.IncorrectPageException;
|
||||
import fr.iut.sciencequest.sae.exceptions.ScientifiqueNotFoundException;
|
||||
import fr.iut.sciencequest.sae.repositories.ScientifiqueRepository;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.PageRequest;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.hateoas.CollectionModel;
|
||||
import org.springframework.hateoas.EntityModel;
|
||||
import org.springframework.hateoas.Link;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
@Controller()
|
||||
@RequestMapping("/api/v1/scientifiques")
|
||||
public class ScientifiqueController {
|
||||
|
||||
private static final int PAGE_SIZE = 10;
|
||||
private final ScientifiqueRepository scientifiqueRepository;
|
||||
|
||||
public ScientifiqueController(ScientifiqueRepository scientifiqueRepository) {
|
||||
this.scientifiqueRepository = scientifiqueRepository;
|
||||
}
|
||||
|
||||
@RequestMapping(method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
@ResponseBody
|
||||
public CollectionModel<EntityModel<Scientifique>> getAllScientists(@RequestParam(name = "page") Optional<Integer> page, HttpServletRequest request) {
|
||||
try {
|
||||
Pageable paging = PageRequest.of(page.orElse(0), PAGE_SIZE);
|
||||
Page<Scientifique> pagedResult = scientifiqueRepository.findAll(paging);
|
||||
|
||||
List<EntityModel<Scientifique>> scientifiques = pagedResult.map(EntityModel::of).toList();
|
||||
|
||||
Link selfLink = linkTo(methodOn(ScientifiqueController.class).getAllScientists(page, request)).withSelfRel().expand(page.map(Object::toString).orElse("0"));
|
||||
|
||||
CollectionModel<EntityModel<Scientifique>> result = CollectionModel.of(scientifiques, selfLink);
|
||||
|
||||
if (pagedResult.hasPrevious()) {
|
||||
Link prevLink = linkTo(methodOn(QuestionController.class).getAllQuestions(Optional.of(pagedResult.previousPageable().getPageNumber()), request)).withRel("previous");
|
||||
result.add(prevLink.expand(pagedResult.previousPageable().getPageNumber()));
|
||||
}
|
||||
|
||||
if (pagedResult.hasNext()) {
|
||||
Link nextLink = linkTo(methodOn(QuestionController.class).getAllQuestions(Optional.of(pagedResult.nextPageable().getPageNumber()), request)).withRel("next");
|
||||
result.add(nextLink.expand(pagedResult.nextPageable().getPageNumber()));
|
||||
}
|
||||
|
||||
return result;
|
||||
} catch (IllegalArgumentException e) {
|
||||
throw new IncorrectPageException(request.getRequestURI(), "numéro de page incorrect");
|
||||
}
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/{id}", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
@ResponseBody
|
||||
public EntityModel<Optional<Scientifique>> getScientistById(@PathVariable int id, HttpServletRequest request) {
|
||||
Optional<Scientifique> scientifiqueOptional = this.scientifiqueRepository.findById(id);
|
||||
Scientifique scientifique = scientifiqueOptional.orElseThrow(() -> new ScientifiqueNotFoundException(request.getRequestURI(), "Scientifique non trouvé avec l'ID : " + id));
|
||||
|
||||
Link selfLink = linkTo(methodOn(ScientifiqueController.class).getScientistById(id, request)).withSelfRel();
|
||||
return EntityModel.of(Optional.ofNullable(scientifique), selfLink);
|
||||
}
|
||||
}
|
@ -0,0 +1,28 @@
|
||||
package fr.iut.sciencequest.sae.controllers;
|
||||
|
||||
import fr.iut.sciencequest.sae.entities.Thematique;
|
||||
import fr.iut.sciencequest.sae.repositories.ThematiqueRepository;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
@Controller
|
||||
@RequestMapping("/api/v1/thematiques")
|
||||
public class ThematiqueController {
|
||||
private final ThematiqueRepository thematiqueRepository;
|
||||
|
||||
public ThematiqueController(ThematiqueRepository thematiqueRepository) {
|
||||
this.thematiqueRepository = thematiqueRepository;
|
||||
}
|
||||
|
||||
@RequestMapping(method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
@ResponseBody
|
||||
public Iterable<Thematique> getAllThematiques() {
|
||||
return this.thematiqueRepository.findAll();
|
||||
}
|
||||
|
||||
@PostMapping(produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
|
||||
|
||||
@ResponseBody
|
||||
public Thematique postThematique(@)
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
package fr.iut.sciencequest.sae.entities;
|
||||
|
||||
import jakarta.persistence.*;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Data
|
||||
@Entity
|
||||
@Table(name="admin")
|
||||
public class Admin {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private int id;
|
||||
|
||||
private String email, password;
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
package fr.iut.sciencequest.sae.entities;
|
||||
|
||||
import jakarta.persistence.*;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Data
|
||||
@Entity
|
||||
@Table(name="difficulte")
|
||||
public class Difficulte {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private int id;
|
||||
private String libelle;
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
package fr.iut.sciencequest.sae.entities;
|
||||
|
||||
import jakarta.persistence.*;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Data
|
||||
@Entity
|
||||
@Table(name="indice")
|
||||
public class Indice {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private int id;
|
||||
private String libelle;
|
||||
//private Scientifique scientifique;
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
package fr.iut.sciencequest.sae.entities;
|
||||
|
||||
|
||||
import jakarta.persistence.*;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@AllArgsConstructor
|
||||
@Data
|
||||
@Entity
|
||||
@Table(name = "invite")
|
||||
public class Invite extends Joueur{
|
||||
}
|
@ -0,0 +1,20 @@
|
||||
package fr.iut.sciencequest.sae.entities;
|
||||
|
||||
import jakarta.persistence.*;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Data
|
||||
@Entity
|
||||
@Table(name="jeu")
|
||||
public class Jeu {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private int id;
|
||||
private String nom;
|
||||
@Column(name = "nbrparties")
|
||||
private int nbrParties;
|
||||
}
|
@ -0,0 +1,20 @@
|
||||
package fr.iut.sciencequest.sae.entities;
|
||||
|
||||
import jakarta.persistence.*;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Data
|
||||
@Inheritance ( strategy = InheritanceType.JOINED)
|
||||
@Entity
|
||||
@Table(name="joueur")
|
||||
public abstract class Joueur {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private int id;
|
||||
private String pseudo;
|
||||
//private Partie partie;
|
||||
}
|
@ -0,0 +1,33 @@
|
||||
package fr.iut.sciencequest.sae.entities;
|
||||
|
||||
import jakarta.persistence.*;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Data
|
||||
@Entity
|
||||
@Table(name="partie")
|
||||
public class Partie {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private int id;
|
||||
@Column(name = "codeinvitation")
|
||||
private String codeInvitation;
|
||||
/*private Jeu jeu;
|
||||
@Getter() private Set<Joueur> joueurs;
|
||||
|
||||
public boolean add(Joueur joueur){
|
||||
return this.joueurs.add(joueur);
|
||||
}
|
||||
|
||||
public boolean remove(Joueur joueur){
|
||||
return this.joueurs.remove(joueur);
|
||||
}
|
||||
*/
|
||||
}
|
@ -0,0 +1,24 @@
|
||||
package fr.iut.sciencequest.sae.entities;
|
||||
import jakarta.persistence.*;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Data
|
||||
@Entity
|
||||
@Table(name="question")
|
||||
public class Question {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private int id;
|
||||
private String question;
|
||||
|
||||
@OneToMany(mappedBy = "id")
|
||||
private List<Reponse> reponses;
|
||||
}
|
||||
|
@ -0,0 +1,19 @@
|
||||
package fr.iut.sciencequest.sae.entities;
|
||||
|
||||
import jakarta.persistence.*;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@Data
|
||||
@Entity
|
||||
@Table(name="reponse")
|
||||
public class Reponse {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private int id;
|
||||
private String reponse;
|
||||
|
||||
}
|
@ -0,0 +1,41 @@
|
||||
package fr.iut.sciencequest.sae.entities;
|
||||
|
||||
import jakarta.persistence.*;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.hibernate.annotations.Type;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
@AllArgsConstructor
|
||||
@RequiredArgsConstructor
|
||||
@Data
|
||||
@Entity
|
||||
@Table(name = "scientifique")
|
||||
public class Scientifique {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private int id;
|
||||
|
||||
@ManyToOne
|
||||
@JoinColumn(name="iddifficulte")
|
||||
private Difficulte difficulte;
|
||||
|
||||
@ManyToOne
|
||||
@JoinColumn(name="idthematique")
|
||||
private Thematique thematique;
|
||||
|
||||
@Column(name = "photo")
|
||||
private String pathToPhoto;
|
||||
|
||||
private String nom, prenom, descriptif;
|
||||
|
||||
@Column(name = "datenaissance")
|
||||
private Date dateNaissance;
|
||||
|
||||
private char sexe;
|
||||
|
||||
@Column(name = "ratiotrouvee")
|
||||
private double ratioTrouve;
|
||||
}
|
@ -0,0 +1,18 @@
|
||||
package fr.iut.sciencequest.sae.entities;
|
||||
|
||||
import jakarta.persistence.*;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Data
|
||||
@Entity
|
||||
@Table(name="thematique")
|
||||
public class Thematique {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private int id;
|
||||
private String libelle;
|
||||
}
|
@ -0,0 +1,22 @@
|
||||
package fr.iut.sciencequest.sae.entities;
|
||||
|
||||
|
||||
import jakarta.persistence.*;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Data
|
||||
@Entity
|
||||
@Table(name="utilisateur")
|
||||
public class Utilisateur extends Joueur{
|
||||
private String email;
|
||||
@Column(name = "motdepasse")
|
||||
private String motDePasse;
|
||||
private String pseudo;
|
||||
}
|
||||
|
@ -0,0 +1,9 @@
|
||||
package fr.iut.sciencequest.sae.exceptions;
|
||||
|
||||
public class IncorrectPageException extends RuntimeException {
|
||||
public final String uri;
|
||||
public IncorrectPageException(String uri, String exception) {
|
||||
super(exception);
|
||||
this.uri = uri;
|
||||
}
|
||||
}
|
@ -0,0 +1,10 @@
|
||||
package fr.iut.sciencequest.sae.exceptions;
|
||||
|
||||
public class ScientifiqueNotFoundException extends RuntimeException {
|
||||
public final String uri;
|
||||
|
||||
public ScientifiqueNotFoundException(String uri, String exception) {
|
||||
super(exception);
|
||||
this.uri = uri;
|
||||
}
|
||||
}
|
@ -0,0 +1,27 @@
|
||||
package fr.iut.sciencequest.sae.exceptions.advices;
|
||||
|
||||
import fr.iut.sciencequest.sae.exceptions.IncorrectPageException;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.web.bind.annotation.ControllerAdvice;
|
||||
import org.springframework.web.bind.annotation.ExceptionHandler;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import org.springframework.web.bind.annotation.ResponseStatus;
|
||||
|
||||
import java.sql.Timestamp;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
@ControllerAdvice
|
||||
public class IncorrectPageAdvice {
|
||||
@ResponseBody
|
||||
@ExceptionHandler(IncorrectPageException.class)
|
||||
@ResponseStatus(HttpStatus.NOT_ACCEPTABLE)
|
||||
Map<String, Object> exceptionHandler(IncorrectPageException ex) {
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put("timestamp", String.valueOf(new Timestamp(System.currentTimeMillis())));
|
||||
map.put("error", ex.getMessage());
|
||||
map.put("status", HttpStatus.NOT_ACCEPTABLE.value());
|
||||
map.put("path", ex.uri);
|
||||
return map;
|
||||
}
|
||||
}
|
@ -0,0 +1,27 @@
|
||||
package fr.iut.sciencequest.sae.exceptions.advices;
|
||||
|
||||
import fr.iut.sciencequest.sae.exceptions.IncorrectPageException;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.web.bind.annotation.ControllerAdvice;
|
||||
import org.springframework.web.bind.annotation.ExceptionHandler;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import org.springframework.web.bind.annotation.ResponseStatus;
|
||||
|
||||
import java.sql.Timestamp;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
@ControllerAdvice
|
||||
public class ScientifiqueNotFoundAdvice {
|
||||
@ResponseBody
|
||||
@ExceptionHandler(IncorrectPageException.class)
|
||||
@ResponseStatus(HttpStatus.NOT_FOUND)
|
||||
Map<String, Object> exceptionHandler(IncorrectPageException ex) {
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put("timestamp", String.valueOf(new Timestamp(System.currentTimeMillis())));
|
||||
map.put("error", ex.getMessage());
|
||||
map.put("status", HttpStatus.NOT_FOUND.value());
|
||||
map.put("path", ex.uri);
|
||||
return map;
|
||||
}
|
||||
}
|
@ -0,0 +1,6 @@
|
||||
package fr.iut.sciencequest.sae.repositories;
|
||||
|
||||
import fr.iut.sciencequest.sae.entities.Admin;
|
||||
import org.springframework.data.repository.CrudRepository;
|
||||
|
||||
public interface AdminRepository extends CrudRepository<Admin, Integer> {}
|
@ -0,0 +1,6 @@
|
||||
package fr.iut.sciencequest.sae.repositories;
|
||||
|
||||
import fr.iut.sciencequest.sae.entities.Difficulte;
|
||||
import org.springframework.data.repository.CrudRepository;
|
||||
|
||||
public interface DifficulteRepository extends CrudRepository<Difficulte, Integer> {}
|
@ -0,0 +1,6 @@
|
||||
package fr.iut.sciencequest.sae.repositories;
|
||||
|
||||
import fr.iut.sciencequest.sae.entities.Indice;
|
||||
import org.springframework.data.repository.CrudRepository;
|
||||
|
||||
public interface IndiceRepository extends CrudRepository<Indice, Integer> {}
|
@ -0,0 +1,6 @@
|
||||
package fr.iut.sciencequest.sae.repositories;
|
||||
|
||||
import fr.iut.sciencequest.sae.entities.Invite;
|
||||
import org.springframework.data.repository.CrudRepository;
|
||||
|
||||
public interface InviteRepository extends CrudRepository<Invite, Integer> {}
|
@ -0,0 +1,6 @@
|
||||
package fr.iut.sciencequest.sae.repositories;
|
||||
|
||||
import fr.iut.sciencequest.sae.entities.Jeu;
|
||||
import org.springframework.data.repository.CrudRepository;
|
||||
|
||||
public interface JeuRepository extends CrudRepository<Jeu, Integer> {}
|
@ -0,0 +1,6 @@
|
||||
package fr.iut.sciencequest.sae.repositories;
|
||||
|
||||
import fr.iut.sciencequest.sae.entities.Joueur;
|
||||
import org.springframework.data.repository.CrudRepository;
|
||||
|
||||
public interface JoueurRepository extends CrudRepository<Joueur, Integer> {}
|
@ -0,0 +1,6 @@
|
||||
package fr.iut.sciencequest.sae.repositories;
|
||||
|
||||
import fr.iut.sciencequest.sae.entities.Partie;
|
||||
import org.springframework.data.repository.CrudRepository;
|
||||
|
||||
public interface PartieRepository extends CrudRepository<Partie, Integer> {}
|
@ -0,0 +1,9 @@
|
||||
package fr.iut.sciencequest.sae.repositories;
|
||||
|
||||
import fr.iut.sciencequest.sae.entities.Question;
|
||||
import org.springframework.data.domain.PageRequest;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.data.repository.CrudRepository;
|
||||
import org.springframework.data.repository.PagingAndSortingRepository;
|
||||
|
||||
public interface QuestionRepository extends PagingAndSortingRepository<Question, Integer> {}
|
@ -0,0 +1,6 @@
|
||||
package fr.iut.sciencequest.sae.repositories;
|
||||
|
||||
import fr.iut.sciencequest.sae.entities.Reponse;
|
||||
import org.springframework.data.repository.CrudRepository;
|
||||
|
||||
public interface ReponseRepository extends CrudRepository<Reponse, Integer> {}
|
@ -0,0 +1,7 @@
|
||||
package fr.iut.sciencequest.sae.repositories;
|
||||
|
||||
import fr.iut.sciencequest.sae.entities.Scientifique;
|
||||
import org.springframework.data.repository.CrudRepository;
|
||||
import org.springframework.data.repository.PagingAndSortingRepository;
|
||||
|
||||
public interface ScientifiqueRepository extends PagingAndSortingRepository<Scientifique, Integer>, CrudRepository<Scientifique, Integer> {}
|
@ -0,0 +1,6 @@
|
||||
package fr.iut.sciencequest.sae.repositories;
|
||||
|
||||
import fr.iut.sciencequest.sae.entities.Thematique;
|
||||
import org.springframework.data.repository.CrudRepository;
|
||||
|
||||
public interface ThematiqueRepository extends CrudRepository<Thematique, Integer> {}
|
@ -0,0 +1,6 @@
|
||||
package fr.iut.sciencequest.sae.repositories;
|
||||
|
||||
import fr.iut.sciencequest.sae.entities.Utilisateur;
|
||||
import org.springframework.data.repository.CrudRepository;
|
||||
|
||||
public interface UtilisateurRepository extends CrudRepository<Utilisateur, Integer> {}
|
@ -1 +1,7 @@
|
||||
|
||||
spring.datasource.url=jdbc:postgresql://localhost:5432/postgres
|
||||
spring.datasource.username=iut
|
||||
spring.datasource.password=password974519874185$976
|
||||
spring.datasource.driver-class-name=org.postgresql.Driver
|
||||
spring.sql.init.mode=always
|
||||
spring.sql.init.schema-locations=classpath:schema.sql
|
||||
spring.jackson.serialization.indent_output = true
|
Loading…
Reference in new issue