Linking front for forum creation

This commit is contained in:
2024-04-09 17:27:26 +02:00
parent 5f483216b9
commit 61e269eb27
7 changed files with 50 additions and 19 deletions

View File

@ -24,6 +24,7 @@ import ovh.herisson.Clyde.Services.AuthenticatorService;
import ovh.herisson.Clyde.Services.CourseService;
import ovh.herisson.Clyde.Services.Msg.ForumService;
import ovh.herisson.Clyde.Tables.Course;
import ovh.herisson.Clyde.Tables.Role;
import ovh.herisson.Clyde.Tables.Token;
import ovh.herisson.Clyde.Tables.User;
import ovh.herisson.Clyde.Tables.Msg.Forum;
@ -46,7 +47,7 @@ public class ForumController {
@GetMapping("/forums/{id}")
public ResponseEntity<List<Forum>> getForumFromCourseId(@RequestHeader("Authorization") String token, @PathVariable long id){
User u = authServ.getUserFromToken(token);
if(u != null){
if(u == null){
return new UnauthorizedResponse<>(null);
}
return new ResponseEntity<>(courseRepo.findById(id).getForums(), HttpStatus.OK);
@ -56,7 +57,7 @@ public class ForumController {
public ResponseEntity<Forum> createForumOfCourse(@RequestHeader("Authorization") String token, @PathVariable long id, @RequestBody Forum data){
User u = authServ.getUserFromToken(token);
Course c = courseRepo.findById(id);
if(!c.getOwner().equals(u)){
if(!(c.getOwner().equals(u) || u.getRole() == Role.Admin)){
return new UnauthorizedResponse<>(null);
}
forumServ.createForum(c, data);

View File

@ -1,4 +1,4 @@
package ovh.herisson.Clyde.EndPoints.Msg;
package ovh.herisson.Clyde.Repositories.Msg;
import org.springframework.data.repository.CrudRepository;

View File

@ -1,6 +1,5 @@
package ovh.herisson.Clyde.Services.Msg;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import lombok.AllArgsConstructor;

View File

@ -24,7 +24,7 @@ public class Course {
private User owner;
//// Extension Messagerie /////
@OneToMany
@OneToMany(cascade = CascadeType.ALL)
private List<Forum> forums;
public void addForum(Forum f){

View File

@ -15,7 +15,7 @@ public class Forum {
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
@ManyToOne(cascade = CascadeType.ALL)
@ManyToOne
private Course course;
private String name;