diff --git a/.gitignore b/.gitignore index 4f896c7..ad4f918 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ target/ demo*/ .idea/dictionaries/ +etunicorn.db diff --git a/api.raml b/api.raml index 868ef88..a5ae0e4 100644 --- a/api.raml +++ b/api.raml @@ -40,7 +40,7 @@ securitySchemes: password: displayName: Mot de passe Polytech type: string - required: false + required: true responses: 200: description: Authentification réussie diff --git a/src/main/java/etunicorn/Application.java b/src/main/java/etunicorn/Application.java index a5b31e5..b03a5d4 100644 --- a/src/main/java/etunicorn/Application.java +++ b/src/main/java/etunicorn/Application.java @@ -4,14 +4,10 @@ import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.SpringBootApplication; -<<<<<<< HEAD -import org.springframework.context.annotation.Bean; -======= import org.springframework.boot.autoconfigure.jdbc.DataSourceBuilder; import org.springframework.context.annotation.Bean; import javax.sql.DataSource; ->>>>>>> 8cbe108cd842b37e3fe6c969ad942e5651d557b3 /** * Created by geoffrey on 28/01/17. @@ -34,6 +30,7 @@ public class Application { }; } + @Bean public DataSource dataSource(){ DataSourceBuilder dataSourceBuilder = DataSourceBuilder.create(); dataSourceBuilder.driverClassName("org.sqlite.JDBC"); diff --git a/src/main/java/etunicorn/LoginController.java b/src/main/java/etunicorn/LoginController.java new file mode 100644 index 0000000..b4eb279 --- /dev/null +++ b/src/main/java/etunicorn/LoginController.java @@ -0,0 +1,40 @@ +package etunicorn; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import java.util.Date; + +/** + * Created by geoffrey on 04/02/17. + */ +@RestController +public class LoginController implements etunicorn.generated.LoginController { + @Autowired + private PermissionRepository permissionRepository; + + @Override + public ResponseEntity updateLogin(@RequestParam String login, @RequestParam String password) { + // TODO C'est du debug ! + Role role = new Role(); + role.setNom("superman"); + for (Permission permission : permissionRepository.findAll()) { + role.addPermission(permission); + } + Personne personne = new Personne(); + personne.setLogin("gbontoux"); + personne.setCarte("39cdd9ed0b191d"); + personne.setNaissance(new Date("14-Feb-1997")); + personne.setRole(role); + return new ResponseEntity(personne, HttpStatus.OK); + } + + @Override + public ResponseEntity deleteLoginByToken(@PathVariable String token) { + return null; + } +} diff --git a/src/main/java/etunicorn/Role.java b/src/main/java/etunicorn/Role.java index c37e429..ce7deb9 100644 --- a/src/main/java/etunicorn/Role.java +++ b/src/main/java/etunicorn/Role.java @@ -4,6 +4,7 @@ import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.OneToMany; +import java.util.ArrayList; import java.util.Collection; import java.util.List; @@ -17,7 +18,7 @@ public class Role { private String nom = "etudiant"; @OneToMany - private List permissions; + private List permissions = new ArrayList<>(); public Role() { } diff --git a/src/main/java/etunicorn/Session.java b/src/main/java/etunicorn/Session.java deleted file mode 100644 index e44d66a..0000000 --- a/src/main/java/etunicorn/Session.java +++ /dev/null @@ -1,60 +0,0 @@ -package etunicorn; - -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.ManyToOne; -import java.math.BigInteger; -import java.security.SecureRandom; -import java.util.Date; - -/** - * Created by geoffrey on 04/02/17. - */ -@Entity -public class Session { - - // Durée par défaut d'une session en secondes - private static final int SESSION_DURATION = 10 * 60; - private static SecureRandom random = new SecureRandom(); - @ManyToOne - private Personne personne; - @Id - private String token; - // TODO Vérifier si c'est bien initialisé qu'une seule fois par éxecution car c'est lourd à initialiser - private Date validity; - - - public Session() { - } - - public Session(Personne personne) { - this.personne = personne; - // From http://stackoverflow.com/a/41156 - this.token = new BigInteger(130, random).toString(32); - this.validity = new Date(new Date().getTime() + SESSION_DURATION * 1000); - } - - public Personne getPersonne() { - return personne; - } - - public void setPersonne(Personne personne) { - this.personne = personne; - } - - public String getToken() { - return token; - } - - public void setToken(String token) { - this.token = token; - } - - public Date getValidity() { - return validity; - } - - public void setValidity(Date validity) { - this.validity = validity; - } -} diff --git a/src/main/java/etunicorn/SessionRepository.java b/src/main/java/etunicorn/SessionRepository.java deleted file mode 100644 index 324ef0f..0000000 --- a/src/main/java/etunicorn/SessionRepository.java +++ /dev/null @@ -1,10 +0,0 @@ -package etunicorn; - -import org.springframework.data.repository.CrudRepository; - -/** - * Created by geoffrey on 04/02/17. - */ -public interface SessionRepository extends CrudRepository { - Session findByToken(String token); -} -- libgit2 0.21.2