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