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.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map; import java.util.Map;
@ -30,7 +31,7 @@ public class UserController {
} }
@GetMapping("/user") @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); if (authorization == null) return new UnauthorizedResponse<>(null);
User user = authServ.getUserFromToken(authorization); User user = authServ.getUserFromToken(authorization);
@ -50,13 +51,13 @@ public class UserController {
} }
@GetMapping("/users") @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)) if (!isSecretaryOrAdmin(authorization))
return new UnauthorizedResponse<>(null); return new UnauthorizedResponse<>(null);
Iterable<User> users = userService.getAll(); Iterable<User> users = userService.getAll();
ArrayList<Object[]> withoutPassword = new ArrayList<>(); ArrayList<HashMap<String, Object>> withoutPassword = new ArrayList<>();
for (User u :users){ for (User u :users){
withoutPassword.add(userWithoutPassword(u)); withoutPassword.add(userWithoutPassword(u));
@ -82,8 +83,18 @@ public class UserController {
* @param user the user to return * @param user the user to return
* @return all the user data without the password * @return all the user data without the password
*/ */
private Object[] userWithoutPassword(User user){ private HashMap<String,Object> userWithoutPassword(User user){
return new Object[] {user.getRegNo(),user.getFirstName(),user.getLastName(),user.getBirthDate(),user.getCountry(),user.getAddress(),user.getRole()}; 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){ 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){ 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())){ if (poster.getRegNo().equals(target.getRegNo())){
for (Map.Entry<String, Object> entry : updates.entrySet()){ for (Map.Entry<String, Object> entry : updates.entrySet()){
@ -67,7 +66,7 @@ public class UserService {
target.setProfilePictureUrl((String) entry.getValue()); target.setProfilePictureUrl((String) entry.getValue());
break; break;
case "password": case "password":
target.setPassword(encodePassword((String) entry.getValue())); target.setPassword(passwordEncoder.encode((String) entry.getValue()));
break; break;
} }
} }
@ -97,14 +96,11 @@ public class UserService {
} }
public void save(User user){ public void save(User user){
user.setPassword(encodePassword(user.getPassword())); user.setPassword(passwordEncoder.encode(user.getPassword()));
userRepo.save(user); userRepo.save(user);
} }
public Iterable<User> getAll(){ public Iterable<User> getAll(){
return userRepo.findAll(); return userRepo.findAll();
} }
public String encodePassword(String rawPassword){
return passwordEncoder.encode(rawPassword);
}
} }