signing and commenting
This commit is contained in:
		@ -1,5 +1,13 @@
 | 
			
		||||
package ovh.herisson.Clyde.DTO.Msg;
 | 
			
		||||
 | 
			
		||||
/******************************************************
 | 
			
		||||
 * @file DiscussionDTO.java
 | 
			
		||||
 * @author Anthony Debucquoy
 | 
			
		||||
 * @scope Extension messagerie
 | 
			
		||||
 *
 | 
			
		||||
 * File to format a discussion using messageDTO 
 | 
			
		||||
 ******************************************************/
 | 
			
		||||
 | 
			
		||||
import java.util.ArrayList;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
import java.util.stream.Collectors;
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,13 @@
 | 
			
		||||
package ovh.herisson.Clyde.DTO.Msg;
 | 
			
		||||
 | 
			
		||||
/******************************************************
 | 
			
		||||
 * @file MessagesDTO.java
 | 
			
		||||
 * @author Anthony Debucquoy
 | 
			
		||||
 * @scope Extension messagerie
 | 
			
		||||
 *
 | 
			
		||||
 * File to Format the response adding the sender field
 | 
			
		||||
 ******************************************************/
 | 
			
		||||
 | 
			
		||||
import lombok.AllArgsConstructor;
 | 
			
		||||
import lombok.Data;
 | 
			
		||||
import ovh.herisson.Clyde.Tables.User;
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,13 @@
 | 
			
		||||
package ovh.herisson.Clyde.EndPoints.Msg;
 | 
			
		||||
 | 
			
		||||
/******************************************************
 | 
			
		||||
 * @file MessagesController.java
 | 
			
		||||
 * @author Anthony Debucquoy
 | 
			
		||||
 * @scope Extension messagerie
 | 
			
		||||
 *
 | 
			
		||||
 * Entry point for the messages application
 | 
			
		||||
 ******************************************************/
 | 
			
		||||
 | 
			
		||||
import org.springframework.beans.factory.annotation.Autowired;
 | 
			
		||||
import org.springframework.http.HttpStatus;
 | 
			
		||||
import org.springframework.http.ResponseEntity;
 | 
			
		||||
@ -48,6 +56,10 @@ public class MessagesController {
 | 
			
		||||
 | 
			
		||||
	@GetMapping("/discussion/{id}")
 | 
			
		||||
	public ResponseEntity<DiscussionDTO> getDiscussion(@RequestHeader("Authorization") String token, @PathVariable long id){
 | 
			
		||||
		User user = authServ.getUserFromToken(token);
 | 
			
		||||
		if(user == null || !discServ.hasDiscussion(user, id) ){
 | 
			
		||||
			return new UnauthorizedResponse<>(null);
 | 
			
		||||
		}
 | 
			
		||||
		return new ResponseEntity<>(DiscussionDTO.construct(discRepo.findById(id).orElse(null), authServ.getUserFromToken(token)), HttpStatus.OK);
 | 
			
		||||
	} 
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,14 @@
 | 
			
		||||
package ovh.herisson.Clyde.Repositories.Msg;
 | 
			
		||||
 | 
			
		||||
/******************************************************
 | 
			
		||||
 * @file DiscussionRepository.java
 | 
			
		||||
 * @author Anthony Debucquoy
 | 
			
		||||
 * @scope Extension messagerie
 | 
			
		||||
 *
 | 
			
		||||
 * Repository of Discussion allowing to fetch discussion by user 
 | 
			
		||||
 ******************************************************/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
import org.springframework.data.jpa.repository.Query;
 | 
			
		||||
 | 
			
		||||
@ -1,8 +1,14 @@
 | 
			
		||||
package ovh.herisson.Clyde.Repositories.Msg;
 | 
			
		||||
 | 
			
		||||
/******************************************************
 | 
			
		||||
 * @file MessageRepository.java
 | 
			
		||||
 * @author Anthony Debucquoy
 | 
			
		||||
 * @scope Extension messagerie
 | 
			
		||||
 ******************************************************/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
import org.springframework.data.repository.CrudRepository;
 | 
			
		||||
 | 
			
		||||
import ovh.herisson.Clyde.Tables.Msg.Message;
 | 
			
		||||
 | 
			
		||||
public interface MessageRepository extends CrudRepository<Message, Long> {
 | 
			
		||||
}
 | 
			
		||||
public interface MessageRepository extends CrudRepository<Message, Long> {}
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,16 @@
 | 
			
		||||
package ovh.herisson.Clyde.Services.Msg;
 | 
			
		||||
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
/******************************************************
 | 
			
		||||
 * @file DiscussionService.java
 | 
			
		||||
 * @author Anthony Debucquoy
 | 
			
		||||
 * @scope Extension messagerie
 | 
			
		||||
 *
 | 
			
		||||
 * Various function utilised by the messages application
 | 
			
		||||
 ******************************************************/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
import org.springframework.beans.factory.annotation.Autowired;
 | 
			
		||||
import org.springframework.stereotype.Service;
 | 
			
		||||
 | 
			
		||||
@ -20,12 +31,27 @@ public class DiscussionService {
 | 
			
		||||
		return discRepo.save(new Discussion(name, author));
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * list discussions owned by a certain user
 | 
			
		||||
	 */
 | 
			
		||||
	public Iterable<Discussion> getOwned(User author){
 | 
			
		||||
		return discRepo.findByMembership(author.getRegNo());
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Create a message and link it to it's discussion
 | 
			
		||||
	 */
 | 
			
		||||
	public Discussion CreateMessage(Discussion disc, Message msg){
 | 
			
		||||
		disc.addMessage(msg);
 | 
			
		||||
		return discRepo.save(disc);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Check if a user is in a discussion
 | 
			
		||||
	 */
 | 
			
		||||
    public boolean hasDiscussion(User user, long id) {
 | 
			
		||||
		Discussion disc = discRepo.findById(id).orElse(null);
 | 
			
		||||
		List<User> members = disc.getMembers();
 | 
			
		||||
		return members.contains(user);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,15 @@
 | 
			
		||||
package ovh.herisson.Clyde.Tables.Msg;
 | 
			
		||||
 | 
			
		||||
/******************************************************
 | 
			
		||||
 * @file Discussion.java
 | 
			
		||||
 * @author Anthony Debucquoy
 | 
			
		||||
 * @scope Extension messagerie
 | 
			
		||||
 *
 | 
			
		||||
 * Discussion allow to regroupe multiple user in and message together
 | 
			
		||||
 * for the messages application to work
 | 
			
		||||
 ******************************************************/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
import jakarta.persistence.CascadeType;
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,14 @@
 | 
			
		||||
package ovh.herisson.Clyde.Tables.Msg;
 | 
			
		||||
 | 
			
		||||
/******************************************************
 | 
			
		||||
 * @file Message.java
 | 
			
		||||
 * @author Anthony Debucquoy
 | 
			
		||||
 * @scope Extension messagerie
 | 
			
		||||
 *
 | 
			
		||||
 * Represent a message sent to a discussion
 | 
			
		||||
 ******************************************************/
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
import org.hibernate.annotations.CreationTimestamp;
 | 
			
		||||
import org.hibernate.annotations.UpdateTimestamp;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user