1
0
forked from PGL/Clyde

updated tonitch's reviews

This commit is contained in:
Bartha Maxime 2024-03-13 15:28:17 +01:00
parent 044648674c
commit 4b1db883e2
2 changed files with 18 additions and 11 deletions

View File

@ -15,6 +15,7 @@ import ovh.herisson.Clyde.Tables.User;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
@ -30,7 +31,7 @@ public class UserController {
}
@GetMapping("/user")
public ResponseEntity<Object[]> getUser(@RequestHeader("Authorization") String authorization){
public ResponseEntity<HashMap<String,Object>> getUser(@RequestHeader("Authorization") String authorization){
if (authorization == null) return new UnauthorizedResponse<>(null);
User user = authServ.getUserFromToken(authorization);
@ -50,13 +51,13 @@ public class UserController {
}
@GetMapping("/users")
public ResponseEntity<Iterable<Object[]>> getAllUsers(@RequestHeader("Authorization") String authorization){
public ResponseEntity<Iterable<HashMap<String,Object>>> getAllUsers(@RequestHeader("Authorization") String authorization){
if (!isSecretaryOrAdmin(authorization))
return new UnauthorizedResponse<>(null);
Iterable<User> users = userService.getAll();
ArrayList<Object[]> withoutPassword = new ArrayList<>();
ArrayList<HashMap<String, Object>> withoutPassword = new ArrayList<>();
for (User u :users){
withoutPassword.add(userWithoutPassword(u));
@ -82,8 +83,18 @@ public class UserController {
* @param user the user to return
* @return all the user data without the password
*/
private Object[] userWithoutPassword(User user){
return new Object[] {user.getRegNo(),user.getFirstName(),user.getLastName(),user.getBirthDate(),user.getCountry(),user.getAddress(),user.getRole()};
private HashMap<String,Object> userWithoutPassword(User user){
HashMap<String,Object> toReturn = new HashMap<>();
toReturn.put("regNo",user.getRegNo());
toReturn.put("firstName",user.getFirstName());
toReturn.put("lastName",user.getLastName());
toReturn.put("birthDate",user.getBirthDate());
toReturn.put("country",user.getCountry());
toReturn.put("address",user.getAddress());
toReturn.put("role",user.getRole());
return toReturn;
}
private boolean isSecretaryOrAdmin(String authorization){

View File

@ -38,7 +38,6 @@ public class UserService {
*/
public boolean modifyData(User poster, Map<String ,Object> updates, User target){
System.out.printf("%s and %s",poster.getRegNo(),target.getRegNo());
if (poster.getRegNo().equals(target.getRegNo())){
for (Map.Entry<String, Object> entry : updates.entrySet()){
@ -67,7 +66,7 @@ public class UserService {
target.setProfilePictureUrl((String) entry.getValue());
break;
case "password":
target.setPassword(encodePassword((String) entry.getValue()));
target.setPassword(passwordEncoder.encode((String) entry.getValue()));
break;
}
}
@ -97,14 +96,11 @@ public class UserService {
}
public void save(User user){
user.setPassword(encodePassword(user.getPassword()));
user.setPassword(passwordEncoder.encode(user.getPassword()));
userRepo.save(user);
}
public Iterable<User> getAll(){
return userRepo.findAll();
}
public String encodePassword(String rawPassword){
return passwordEncoder.encode(rawPassword);
}
}