cleaning
This commit is contained in:
		| @ -0,0 +1,55 @@ | ||||
| package ovh.herisson.Clyde.EndPoints; | ||||
|  | ||||
| import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; | ||||
| import org.springframework.web.bind.annotation.CrossOrigin; | ||||
| import org.springframework.web.bind.annotation.PostMapping; | ||||
| import org.springframework.web.bind.annotation.RestController; | ||||
| import ovh.herisson.Clyde.Repositories.TokenRepository; | ||||
| import ovh.herisson.Clyde.Repositories.UserRepository; | ||||
| import ovh.herisson.Clyde.Tables.Role; | ||||
| import ovh.herisson.Clyde.Tables.Token; | ||||
| import ovh.herisson.Clyde.Tables.User; | ||||
|  | ||||
| import java.util.ArrayList; | ||||
| import java.util.Arrays; | ||||
| import java.util.Date; | ||||
|  | ||||
| @RestController | ||||
| @CrossOrigin(origins = "http://localhost:5173") | ||||
|  | ||||
| public class MockController { | ||||
|     private final BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder(); | ||||
|  | ||||
|     public final UserRepository userRepo; | ||||
|     public final TokenRepository tokenRepo; | ||||
|  | ||||
|  | ||||
|     public MockController(UserRepository userRepo, TokenRepository tokenRepo){ | ||||
|         this.tokenRepo = tokenRepo; | ||||
|         this.userRepo = userRepo; | ||||
|     } | ||||
|  | ||||
|     /** Saves an example of each user type by : | ||||
|      * email : FooRole@FooRole.com, password : FooRole and token : FooRole | ||||
|      * For example the admin as "admin@admin.com" as email and "admin" as both password and token | ||||
|      * They all have silly names | ||||
|      */ | ||||
|  | ||||
|     @PostMapping("/generateMock") | ||||
|     public void postMock(){ | ||||
|  | ||||
|         User herobrine = new User("brine","hero","admin@admin.com","in your WalLs","ShadowsLand",new Date(0), Role.Admin,passwordEncoder.encode("admin")); | ||||
|         User joe = new User("Mama","Joe","student@student.com","roundabout","DaWarudo",new Date(0), Role.Student,passwordEncoder.encode("student")); | ||||
|         User meh = new User("Inspiration","lackOf","secretary@secretary.com","a Box","the street",new Date(0), Role.Teacher,passwordEncoder.encode("secretary")); | ||||
|         User joke = new User("CthemBalls","Lemme","teacher@teacher.com","lab","faculty",new Date(0), Role.Teacher,passwordEncoder.encode("teacher")); | ||||
|  | ||||
|  | ||||
|         ArrayList<User> users = new ArrayList<User>(Arrays.asList(herobrine,joe,meh,joke)); | ||||
|  | ||||
|         userRepo.saveAll(users); | ||||
|  | ||||
|         for (User user: users){ | ||||
|             tokenRepo.save(new Token(user,user.getPassword())); | ||||
|         } | ||||
|     } | ||||
| } | ||||
| @ -6,7 +6,7 @@ import org.springframework.http.HttpStatus; | ||||
| import org.springframework.http.ResponseEntity; | ||||
| import org.springframework.web.bind.annotation.*; | ||||
| import ovh.herisson.Clyde.Responses.UnauthorizedResponse; | ||||
| import ovh.herisson.Clyde.Services.TokenService; | ||||
| import ovh.herisson.Clyde.Services.AuthenticatorService; | ||||
| import ovh.herisson.Clyde.Services.UserService; | ||||
| import ovh.herisson.Clyde.Tables.User; | ||||
|  | ||||
| @ -16,24 +16,19 @@ import ovh.herisson.Clyde.Tables.User; | ||||
| public class UserController { | ||||
|  | ||||
|     private final UserService userService; | ||||
|  | ||||
|     private final TokenService tokenService; | ||||
|     public UserController(UserService userService, TokenService tokenService){ | ||||
|     private final AuthenticatorService authServ; | ||||
|     public UserController(UserService userService, AuthenticatorService authServ){ | ||||
|         this.userService = userService; | ||||
|         this.tokenService = tokenService; // todo find a way to be clearer | ||||
|  | ||||
|         tokenService.postMockToken(userService.postMockUsers());// todo find a better place to put that | ||||
|         this.authServ = authServ; | ||||
|     } | ||||
|  | ||||
|     @GetMapping("/user") | ||||
|     public ResponseEntity<User> getUsers(@RequestHeader("Authorization") String token){ | ||||
|  | ||||
|         User user = tokenService.getUserFromToken(token); | ||||
|  | ||||
|     public ResponseEntity<User> getUser(@RequestHeader("Authorization") String token){ | ||||
|         User user = authServ.getUserFromToken(token); | ||||
|         if (user == null) { | ||||
|             return new UnauthorizedResponse<User>(null); | ||||
|             return new UnauthorizedResponse<>(null); | ||||
|         } | ||||
|         return new ResponseEntity<User>(user, HttpStatus.OK); | ||||
|         return new ResponseEntity<>(user, HttpStatus.OK); | ||||
|     } | ||||
|  | ||||
|     @PostMapping("/user") | ||||
| @ -43,7 +38,7 @@ public class UserController { | ||||
|     } | ||||
|  | ||||
|     @GetMapping("/users") | ||||
|     public Iterable<User> getAllUsers(){//TODO ne l'accepter que si c'est le secrétariat | ||||
|     public Iterable<User> getAllUsers(){ | ||||
|         return userService.getAll(); | ||||
|     } | ||||
|  | ||||
|  | ||||
| @ -27,25 +27,11 @@ public class TokenService { | ||||
|         return token; | ||||
|     } | ||||
|  | ||||
|  | ||||
|     //todo potentiellement return bool pour savoir si token bien add | ||||
|     public void saveToken(String token, User user, Date expirationDate){ | ||||
|         tokenRepo.save(new Token(user,token)); | ||||
|     } | ||||
|  | ||||
|     public User getUserFromToken(String token){ | ||||
|         return tokenRepo.getByToken(token).getUser(); | ||||
|     } | ||||
|  | ||||
|     /** Take the list of mock user to save them in the Token DB | ||||
|      * With token being the password of the user (also his role) | ||||
|      * @param users an | ||||
|      */ | ||||
|     public void postMockToken(Iterable<User> users){ | ||||
|         for (User user: users){ | ||||
|             tokenRepo.save(new Token(user,user.getPassword())); | ||||
|         } | ||||
|     public void saveToken(String token, User user, Date expirationDate){// todo faire qlq chose de l'expDate | ||||
|         tokenRepo.save(new Token(user,token)); | ||||
|     } | ||||
|  | ||||
|  | ||||
| } | ||||
| @ -39,27 +39,6 @@ public class UserService { | ||||
|         return passwordEncoder.matches(tryingPassword,  user.getPassword()); | ||||
|     } | ||||
|  | ||||
|     /** Saves an example of : | ||||
|      * an Admin with id 1, email : admin@admin.com and password: admin | ||||
|      * a Student with id 2, email: student@student.com and password: student (no cursus yet) | ||||
|      * a Secretary with id 3, email: secretary@secretary.com and password: secretary | ||||
|      * a Teacher (same) | ||||
|      * and they all have silly names (hihi) | ||||
|      */ | ||||
|     public Iterable<User> postMockUsers(){ | ||||
|         User herobrine = new User("brine","hero","admin@admin.com","in your WalLs","ShadowsLand",new Date(0), Role.Admin,passwordEncoder.encode("admin")); | ||||
|         User Joe = new User("Mama","Joe","student@student.com","roundabout","DaWarudo",new Date(0), Role.Student,passwordEncoder.encode("student")); | ||||
|         User Meh = new User("Inspiration","lackOf","secretary@secretary.com","a Box","the street",new Date(0), Role.Teacher,passwordEncoder.encode("secretary")); | ||||
|         User joke = new User("CthemBalls","Lemme","teacher@teacher.com","lab","faculty",new Date(0), Role.Teacher,passwordEncoder.encode("teacher")); | ||||
|  | ||||
|         userRepo.save(herobrine); | ||||
|         userRepo.save(Joe); | ||||
|         userRepo.save(Meh); | ||||
|         userRepo.save(joke); | ||||
|  | ||||
|         return new ArrayList<User>(Arrays.asList(herobrine,Joe,Meh,joke)); | ||||
|     } | ||||
|  | ||||
|     public void save(User  user){ | ||||
|         userRepo.save(user); | ||||
|     } | ||||
|  | ||||
		Reference in New Issue
	
	Block a user