Skip to content

Commit

Permalink
fix audiences
Browse files Browse the repository at this point in the history
  • Loading branch information
ttrubinov committed Jun 24, 2024
1 parent b603bd1 commit 4db82df
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 7 deletions.
Original file line number Diff line number Diff line change
@@ -1,15 +1,20 @@
package org.conferatus.timetable.backend.model.entity;

import jakarta.persistence.*;
import java.util.HashSet;
import java.util.Set;

import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.ManyToMany;
import jakarta.persistence.ManyToOne;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import org.conferatus.timetable.backend.dto.UserDto;

import java.util.HashSet;
import java.util.Set;

@Entity
@NoArgsConstructor
@AllArgsConstructor
Expand All @@ -31,7 +36,7 @@ public class User {
private University university;

public boolean checkUniversityAccess(long id) {
return university.id() == id;
return university != null && university.id() == id;
}

public UserDto toUserDto() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,8 @@ public Audience getAudienceByIdOrThrow(Long id) {

private Audience getAudienceByIdAndUserOrThrow(User user, Long id) {
var audience = audienceRepository.findAudienceById(id);
if (audience.isEmpty() || user != null && !user.checkUniversityAccess(audience.get().getUniversity().id())) {
if (audience.isEmpty() || audience.get().getUniversity() != null &&
!user.checkUniversityAccess(audience.get().getUniversity().id())) {
throw new ServerException(HttpStatus.NOT_FOUND,
String.format("Audience with id %s does dont exist within university %s",
id, user.getUniversity().id())
Expand All @@ -38,7 +39,9 @@ private Audience getAudienceByIdAndUserOrThrow(User user, Long id) {

private Audience getAudienceByNameAndUserOrThrow(User user, String name) {
var audience = audienceRepository.findAudienceByName(name);
if (audience.isEmpty() || user != null && !user.checkUniversityAccess(audience.get().getUniversity().id())) {
if (audience.isEmpty() ||
audience.get().getUniversity() != null &&
!user.checkUniversityAccess(audience.get().getUniversity().id())) {
throw new ServerException(HttpStatus.NOT_FOUND,
String.format("Audience with name %s does dont exist within university %s",
name, user.getUniversity().id())
Expand Down

0 comments on commit 4db82df

Please sign in to comment.