Added auth to the /event/del endpoint
This commit is contained in:
		@@ -15,6 +15,7 @@ import org.springframework.web.server.ResponseStatusException;
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import java.sql.Time;
 | 
					import java.sql.Time;
 | 
				
			||||||
import java.text.SimpleDateFormat;
 | 
					import java.text.SimpleDateFormat;
 | 
				
			||||||
 | 
					import java.util.Optional;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@Controller
 | 
					@Controller
 | 
				
			||||||
@RequestMapping(path = "/event")
 | 
					@RequestMapping(path = "/event")
 | 
				
			||||||
@@ -109,6 +110,13 @@ public class EventController {
 | 
				
			|||||||
            return new ResponseEntity<>( "Du hast keine Rechte um den Termin zu löschen", HttpStatus.UNAUTHORIZED);
 | 
					            return new ResponseEntity<>( "Du hast keine Rechte um den Termin zu löschen", HttpStatus.UNAUTHORIZED);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        Optional<Event> event = eventRepository.findById(eventId);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if (event.isEmpty()){
 | 
				
			||||||
 | 
					            return new ResponseEntity<>( "Der Termin exestiert nicht", HttpStatus.BAD_REQUEST);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        eventRepository.deleteUserEventsById(Long.valueOf(eventId));
 | 
					        eventRepository.deleteUserEventsById(Long.valueOf(eventId));
 | 
				
			||||||
        eventRepository.deleteById(Long.valueOf(eventId));
 | 
					        eventRepository.deleteById(Long.valueOf(eventId));
 | 
				
			||||||
        return new ResponseEntity<>("", HttpStatus.OK);
 | 
					        return new ResponseEntity<>("", HttpStatus.OK);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -11,7 +11,8 @@ import javax.transaction.Transactional;
 | 
				
			|||||||
// CRUD refers Create, Read, Update, Delete
 | 
					// CRUD refers Create, Read, Update, Delete
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public interface EventRepository extends CrudRepository<Event, Integer> {
 | 
					public interface EventRepository extends CrudRepository<Event, Integer> {
 | 
				
			||||||
    @Query(value = "SELECT e.id AS eid, e.name AS ename, e.start, e.end, e.priority , e.is_full_day, " +
 | 
					    @Query(
 | 
				
			||||||
 | 
					            value = "SELECT e.id AS eid, e.name AS ename, e.start, e.end, e.priority , e.is_full_day, " +
 | 
				
			||||||
            "ue.date, " +
 | 
					            "ue.date, " +
 | 
				
			||||||
            "u.id AS uid, u.forename, u.name AS uname " +
 | 
					            "u.id AS uid, u.forename, u.name AS uname " +
 | 
				
			||||||
            "FROM event e " +
 | 
					            "FROM event e " +
 | 
				
			||||||
@@ -21,27 +22,41 @@ public interface EventRepository extends CrudRepository<Event, Integer> {
 | 
				
			|||||||
            "ON ue.user_id = u.id " +
 | 
					            "ON ue.user_id = u.id " +
 | 
				
			||||||
            "WHERE u.id = ?1 " +
 | 
					            "WHERE u.id = ?1 " +
 | 
				
			||||||
            "OR e.is_private = 0",
 | 
					            "OR e.is_private = 0",
 | 
				
			||||||
            nativeQuery = true)
 | 
					            nativeQuery = true
 | 
				
			||||||
 | 
					    )
 | 
				
			||||||
    Object[] findAllVisibleByUserId(long id);
 | 
					    Object[] findAllVisibleByUserId(long id);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Query(value = "SELECT * " +
 | 
					    @Query(
 | 
				
			||||||
 | 
					            value = "SELECT * " +
 | 
				
			||||||
            "FROM event e " +
 | 
					            "FROM event e " +
 | 
				
			||||||
            "INNER JOIN user_event ue " +
 | 
					            "INNER JOIN user_event ue " +
 | 
				
			||||||
            "ON e.id = ue.event_id " +
 | 
					            "ON e.id = ue.event_id " +
 | 
				
			||||||
            "WHERE ue.user_id = ?1",
 | 
					            "WHERE ue.user_id = ?1",
 | 
				
			||||||
            nativeQuery = true)
 | 
					            nativeQuery = true
 | 
				
			||||||
 | 
					    )
 | 
				
			||||||
    Object[] findAllByUserId(long id);
 | 
					    Object[] findAllByUserId(long id);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @Query(
 | 
				
			||||||
 | 
					            value = "DELETE ue FROM user_event ue WHERE ue.event_id = ?1",
 | 
				
			||||||
 | 
					            nativeQuery = true
 | 
				
			||||||
 | 
					    )
 | 
				
			||||||
 | 
					    Object[] findUserIdByEventId(long id);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Modifying
 | 
					    @Modifying
 | 
				
			||||||
    @Transactional
 | 
					    @Transactional
 | 
				
			||||||
    @Query(value = "DELETE ue FROM user_event ue WHERE ue.event_id = ?1",
 | 
					    @Query(
 | 
				
			||||||
    nativeQuery = true)
 | 
					            value = "DELETE ue FROM user_event ue WHERE ue.event_id = ?1",
 | 
				
			||||||
 | 
					            nativeQuery = true
 | 
				
			||||||
 | 
					    )
 | 
				
			||||||
    void deleteUserEventsById(long id);
 | 
					    void deleteUserEventsById(long id);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Modifying
 | 
					    @Modifying
 | 
				
			||||||
    @Transactional
 | 
					    @Transactional
 | 
				
			||||||
    @Query(value = "DELETE e FROM event e WHERE e.id = ?1",
 | 
					    @Query(
 | 
				
			||||||
            nativeQuery = true)
 | 
					            value = "DELETE e FROM event e WHERE e.id = ?1",
 | 
				
			||||||
 | 
					            nativeQuery = true
 | 
				
			||||||
 | 
					    )
 | 
				
			||||||
    void deleteById(long id);
 | 
					    void deleteById(long id);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
		Reference in New Issue
	
	Block a user