moved portective method to Static ProtectiveService
This commit is contained in:
parent
d855bbe911
commit
f7df234312
@ -6,10 +6,12 @@ import org.springframework.web.bind.annotation.*;
|
|||||||
import ovh.herisson.Clyde.Responses.UnauthorizedResponse;
|
import ovh.herisson.Clyde.Responses.UnauthorizedResponse;
|
||||||
import ovh.herisson.Clyde.Services.AuthenticatorService;
|
import ovh.herisson.Clyde.Services.AuthenticatorService;
|
||||||
import ovh.herisson.Clyde.Services.CourseService;
|
import ovh.herisson.Clyde.Services.CourseService;
|
||||||
|
import ovh.herisson.Clyde.Services.ProtectionService;
|
||||||
import ovh.herisson.Clyde.Services.TeacherCourseService;
|
import ovh.herisson.Clyde.Services.TeacherCourseService;
|
||||||
import ovh.herisson.Clyde.Tables.Course;
|
import ovh.herisson.Clyde.Tables.Course;
|
||||||
import ovh.herisson.Clyde.Tables.Role;
|
import ovh.herisson.Clyde.Tables.Role;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
@ -39,21 +41,27 @@ public class CourseController {
|
|||||||
if (foundCourse == null)
|
if (foundCourse == null)
|
||||||
return new ResponseEntity<>(HttpStatus.BAD_REQUEST);
|
return new ResponseEntity<>(HttpStatus.BAD_REQUEST);
|
||||||
|
|
||||||
return new ResponseEntity<>(courseWithoutPassword(foundCourse), HttpStatus.OK);
|
return new ResponseEntity<>(ProtectionService.courseWithoutPassword(foundCourse), HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/courses")
|
@GetMapping("/courses")
|
||||||
public ResponseEntity<Iterable<Course>> getAllCourses(@RequestHeader("Authorization") String token){
|
public ResponseEntity<Iterable<HashMap<String,Object>>> getAllCourses(@RequestHeader("Authorization") String token){
|
||||||
if (authServ.isNotIn(new Role[]{Role.Admin,Role.Secretary},token))
|
if (authServ.isNotIn(new Role[]{Role.Admin,Role.Secretary},token))
|
||||||
return new UnauthorizedResponse<>(null);
|
return new UnauthorizedResponse<>(null);
|
||||||
|
|
||||||
|
Iterable<Course> courses = courseServ.findAll();
|
||||||
|
ArrayList<HashMap<String,Object>> coursesWithoutPassword = new ArrayList<>();
|
||||||
|
|
||||||
return new ResponseEntity<>(courseServ.findAll(),HttpStatus.OK);
|
for (Course course: courses){
|
||||||
|
coursesWithoutPassword.add(ProtectionService.courseWithoutPassword(course));
|
||||||
|
}
|
||||||
|
|
||||||
|
return new ResponseEntity<>(coursesWithoutPassword,HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@PostMapping("/course")
|
@PostMapping("/course")
|
||||||
public ResponseEntity<Course> postCourse(@RequestHeader("Authorization") String token,
|
public ResponseEntity<Map<String ,Object>> postCourse(@RequestHeader("Authorization") String token,
|
||||||
@RequestBody Course course)
|
@RequestBody Course course)
|
||||||
{
|
{
|
||||||
|
|
||||||
@ -64,7 +72,7 @@ public class CourseController {
|
|||||||
if (createdCourse == null)
|
if (createdCourse == null)
|
||||||
return new ResponseEntity<>(null,HttpStatus.BAD_REQUEST);
|
return new ResponseEntity<>(null,HttpStatus.BAD_REQUEST);
|
||||||
|
|
||||||
return new ResponseEntity<>(createdCourse, HttpStatus.CREATED);
|
return new ResponseEntity<>(ProtectionService.courseWithoutPassword(createdCourse), HttpStatus.CREATED);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -100,16 +108,4 @@ public class CourseController {
|
|||||||
|
|
||||||
return new ResponseEntity<>(HttpStatus.OK);
|
return new ResponseEntity<>(HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private HashMap<String,Object> courseWithoutPassword(Course course){
|
|
||||||
HashMap<String ,Object> toReturn = new HashMap<>();
|
|
||||||
|
|
||||||
toReturn.put("courseId",course.getCourseID());
|
|
||||||
toReturn.put("credits",course.getCredits());
|
|
||||||
toReturn.put("title", course.getTitle());
|
|
||||||
toReturn.put("owner", authServ.userWithoutPassword(course.getOwner()));
|
|
||||||
return toReturn;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -5,6 +5,7 @@ import org.springframework.http.ResponseEntity;
|
|||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import ovh.herisson.Clyde.Responses.UnauthorizedResponse;
|
import ovh.herisson.Clyde.Responses.UnauthorizedResponse;
|
||||||
import ovh.herisson.Clyde.Services.AuthenticatorService;
|
import ovh.herisson.Clyde.Services.AuthenticatorService;
|
||||||
|
import ovh.herisson.Clyde.Services.ProtectionService;
|
||||||
import ovh.herisson.Clyde.Services.UserService;
|
import ovh.herisson.Clyde.Services.UserService;
|
||||||
import ovh.herisson.Clyde.Tables.Role;
|
import ovh.herisson.Clyde.Tables.Role;
|
||||||
import ovh.herisson.Clyde.Tables.User;
|
import ovh.herisson.Clyde.Tables.User;
|
||||||
@ -35,7 +36,7 @@ public class UserController {
|
|||||||
User user = authServ.getUserFromToken(token);
|
User user = authServ.getUserFromToken(token);
|
||||||
if (user == null) return new UnauthorizedResponse<>(null);
|
if (user == null) return new UnauthorizedResponse<>(null);
|
||||||
|
|
||||||
return new ResponseEntity<>(authServ.userWithoutPassword(user), HttpStatus.OK);
|
return new ResponseEntity<>(ProtectionService.userWithoutPassword(user), HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("/user")
|
@PostMapping("/user")
|
||||||
@ -44,7 +45,7 @@ public class UserController {
|
|||||||
if (authServ.isNotIn(new Role[]{Role.Admin,Role.InscriptionService,Role.Secretary},token))
|
if (authServ.isNotIn(new Role[]{Role.Admin,Role.InscriptionService,Role.Secretary},token))
|
||||||
return new UnauthorizedResponse<>(null);
|
return new UnauthorizedResponse<>(null);
|
||||||
|
|
||||||
return new ResponseEntity<>(authServ.userWithoutPassword(userService.save(user)),HttpStatus.CREATED);
|
return new ResponseEntity<>(ProtectionService.userWithoutPassword(userService.save(user)),HttpStatus.CREATED);
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/users")
|
@GetMapping("/users")
|
||||||
@ -57,7 +58,7 @@ public class UserController {
|
|||||||
ArrayList<HashMap<String, Object>> withoutPassword = new ArrayList<>();
|
ArrayList<HashMap<String, Object>> withoutPassword = new ArrayList<>();
|
||||||
|
|
||||||
for (User u :users){
|
for (User u :users){
|
||||||
withoutPassword.add(authServ.userWithoutPassword(u));
|
withoutPassword.add(ProtectionService.userWithoutPassword(u));
|
||||||
}
|
}
|
||||||
return new ResponseEntity<>(withoutPassword, HttpStatus.OK);
|
return new ResponseEntity<>(withoutPassword, HttpStatus.OK);
|
||||||
}
|
}
|
||||||
@ -95,7 +96,7 @@ public class UserController {
|
|||||||
ArrayList<HashMap<String, Object>> withoutPassword = new ArrayList<>();
|
ArrayList<HashMap<String, Object>> withoutPassword = new ArrayList<>();
|
||||||
|
|
||||||
for (User t: teachers){
|
for (User t: teachers){
|
||||||
withoutPassword.add(authServ.userWithoutPassword(t));
|
withoutPassword.add(ProtectionService.userWithoutPassword(t));
|
||||||
}
|
}
|
||||||
|
|
||||||
return new ResponseEntity<>(withoutPassword, HttpStatus.OK);
|
return new ResponseEntity<>(withoutPassword, HttpStatus.OK);
|
||||||
|
@ -1,10 +1,7 @@
|
|||||||
package ovh.herisson.Clyde.Services;
|
package ovh.herisson.Clyde.Services;
|
||||||
|
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import ovh.herisson.Clyde.Tables.InscriptionRequest;
|
import ovh.herisson.Clyde.Tables.*;
|
||||||
import ovh.herisson.Clyde.Tables.Role;
|
|
||||||
import ovh.herisson.Clyde.Tables.Token;
|
|
||||||
import ovh.herisson.Clyde.Tables.User;
|
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
@ -53,25 +50,5 @@ public class AuthenticatorService {
|
|||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/** return user's data except password
|
|
||||||
* @param user the user to return
|
|
||||||
* @return all the user data without the password
|
|
||||||
*/
|
|
||||||
public HashMap<String,Object> userWithoutPassword(User user){
|
|
||||||
HashMap<String,Object> toReturn = new HashMap<>();
|
|
||||||
toReturn.put("regNo",user.getRegNo());
|
|
||||||
toReturn.put("lastName",user.getLastName());
|
|
||||||
toReturn.put("firstName",user.getFirstName());
|
|
||||||
toReturn.put("email", user.getEmail());
|
|
||||||
toReturn.put("address",user.getAddress());
|
|
||||||
toReturn.put("birthDate",user.getBirthDate());
|
|
||||||
toReturn.put("country",user.getCountry());
|
|
||||||
toReturn.put("profilePictureUrl",user.getProfilePictureUrl());
|
|
||||||
toReturn.put("role",user.getRole());
|
|
||||||
return toReturn;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -36,11 +36,11 @@ public class CurriculumCourseService {
|
|||||||
return null;
|
return null;
|
||||||
|
|
||||||
HashMap<String ,Object> toReturn = new HashMap<>();
|
HashMap<String ,Object> toReturn = new HashMap<>();
|
||||||
ArrayList<Course> courses = new ArrayList<>();
|
ArrayList<Map<String ,Object>> courses = new ArrayList<>();
|
||||||
Iterable<Course> foundCourses = curriculumCourseRepo.findCoursesByCurriculum(curriculum);
|
Iterable<Course> foundCourses = curriculumCourseRepo.findCoursesByCurriculum(curriculum);
|
||||||
|
|
||||||
for (Course c: foundCourses){
|
for (Course c: foundCourses){
|
||||||
courses.add(c);
|
courses.add(ProtectionService.courseWithoutPassword(c));
|
||||||
}
|
}
|
||||||
toReturn.put("courses",courses);
|
toReturn.put("courses",courses);
|
||||||
toReturn.put("curriculumId", curriculum.getCurriculumId());
|
toReturn.put("curriculumId", curriculum.getCurriculumId());
|
||||||
@ -89,6 +89,5 @@ public class CurriculumCourseService {
|
|||||||
curriculumCourseRepo.save(new CurriculumCourse(curriculum,course));
|
curriculumCourseRepo.save(new CurriculumCourse(curriculum,course));
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,38 @@
|
|||||||
|
package ovh.herisson.Clyde.Services;
|
||||||
|
|
||||||
|
import ovh.herisson.Clyde.Tables.Course;
|
||||||
|
import ovh.herisson.Clyde.Tables.User;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
|
||||||
|
public class ProtectionService {
|
||||||
|
|
||||||
|
/** return user's data except password
|
||||||
|
* @param user the user to return
|
||||||
|
* @return all the user data without the password
|
||||||
|
*/
|
||||||
|
public static HashMap<String,Object> userWithoutPassword(User user){
|
||||||
|
HashMap<String,Object> toReturn = new HashMap<>();
|
||||||
|
toReturn.put("regNo",user.getRegNo());
|
||||||
|
toReturn.put("lastName",user.getLastName());
|
||||||
|
toReturn.put("firstName",user.getFirstName());
|
||||||
|
toReturn.put("email", user.getEmail());
|
||||||
|
toReturn.put("address",user.getAddress());
|
||||||
|
toReturn.put("birthDate",user.getBirthDate());
|
||||||
|
toReturn.put("country",user.getCountry());
|
||||||
|
toReturn.put("profilePictureUrl",user.getProfilePictureUrl());
|
||||||
|
toReturn.put("role",user.getRole());
|
||||||
|
return toReturn;
|
||||||
|
}
|
||||||
|
public static HashMap<String,Object> courseWithoutPassword(Course course){
|
||||||
|
HashMap<String ,Object> toReturn = new HashMap<>();
|
||||||
|
|
||||||
|
toReturn.put("courseId",course.getCourseID());
|
||||||
|
toReturn.put("credits",course.getCredits());
|
||||||
|
toReturn.put("title", course.getTitle());
|
||||||
|
toReturn.put("owner", userWithoutPassword(course.getOwner()));
|
||||||
|
return toReturn;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user