Skip to content

Commit c9c322b

Browse files
authored
Merge pull request #45 from Halbes-Byte/meeting-fixes
Meeting fixes
2 parents 949b4b2 + 4b0bc95 commit c9c322b

File tree

14 files changed

+49
-21
lines changed

14 files changed

+49
-21
lines changed

server/src/main/java/com/studybuddies/server/domain/MeetingEntity.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ public class MeetingEntity {
3131
UUID superId;
3232

3333
@Column(nullable = false)
34-
String title;
34+
String module;
3535

3636
String description;
3737

server/src/main/java/com/studybuddies/server/persistance/StudyGroupId.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
@NoArgsConstructor
1616
@AllArgsConstructor
1717
public class StudyGroupId implements Serializable {
18-
1918
private UUID userId;
2019
private UUID meetingId;
2120
}

server/src/main/java/com/studybuddies/server/persistance/StudyGroupRepository.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,12 @@ public interface StudyGroupRepository extends CrudRepository<StudyGroupEntity, S
2121
@Transactional
2222
@Query("DELETE FROM StudyGroupEntity s WHERE s.id.userId = :userId AND s.id.meetingId = :meetingId")
2323
void deleteByUserIdAndMeetingId(@Param("userId") UUID userId, @Param("meetingId") UUID meetingId);
24+
25+
@Modifying
26+
@Transactional
27+
@Query("DELETE FROM StudyGroupEntity s WHERE s.user.id = :userId AND s.meeting.superId = :meetingSuperId")
28+
void deleteByUserIdAndSuperMeetingId(@Param("userId") UUID userId, @Param("meetingSuperId") UUID meetingSuperId);
29+
2430
}
2531

2632

server/src/main/java/com/studybuddies/server/services/StudyGroupService.java

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import org.springframework.stereotype.Service;
1919

2020
import java.util.List;
21+
import java.util.Objects;
2122

2223
@Service
2324
@AllArgsConstructor
@@ -41,16 +42,26 @@ public List<StudyGroupResponse> get(String id) {
4142

4243
@Override
4344
public void create(StudyGroupJoinRequest request, String clientUuid) {
44-
45-
MeetingEntity meetingEntity = meetingService.findMeetingByUUID(request.meetingId);
4645
UserEntity userEntity = userService.findByUUID(UUIDService.parseUUID(clientUuid));
4746

48-
joinMeeting(userEntity, meetingEntity);
47+
if (!Objects.equals(request.meetingId, "")) {
48+
MeetingEntity meetingEntity = meetingService.findMeetingByUUID(request.meetingId);
49+
joinMeeting(userEntity, meetingEntity);
50+
}
51+
else if (!Objects.equals(request.superMeetingID, "")) {
52+
List<MeetingEntity> meetingList = meetingService.findMeetingsBySuperID(request.superMeetingID);
53+
54+
for (MeetingEntity m : meetingList) {
55+
joinMeeting(userEntity, m);
56+
}
57+
}
4958
}
5059

5160
@Override
5261
public void delete(String targetUUID, String clientUUID) {
62+
// Restricted through the CRUD Interface :/
5363
leaveMeeting(clientUUID, targetUUID);
64+
leaveSuperMeeting(clientUUID, targetUUID);
5465
}
5566

5667
private void joinMeeting(UserEntity userEntity, MeetingEntity meetingEntity) {
@@ -69,6 +80,11 @@ private void leaveMeeting(String userUUID, String meetingUUID) {
6980
UUIDService.parseUUID(meetingUUID));
7081
}
7182

83+
private void leaveSuperMeeting(String userUUID, String meetingSuperUUID) {
84+
studyGroupRepository.deleteByUserIdAndSuperMeetingId(UUIDService.parseUUID(userUUID),
85+
UUIDService.parseUUID(meetingSuperUUID));
86+
}
87+
7288
private List<StudyGroupEntity> findStudyGroupsByUUID(String someUUID) {
7389
return studyGroupRepository.findByUserIdOrMeetingId(UUIDService.parseUUID(someUUID))
7490
.orElseThrow(() -> new InvalidUUIDException("UUID was invalid"));

server/src/main/java/com/studybuddies/server/services/meeting/MeetingCreationService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ private void setEndTime() {
107107
private MeetingEntity cloneMeetingEntity(MeetingEntity meetingEntity) {
108108
return MeetingEntity.builder()
109109
.superId(meetingEntity.getSuperId())
110-
.title(meetingEntity.getTitle())
110+
.module(meetingEntity.getModule())
111111
.description(meetingEntity.getDescription())
112112
.dateFrom(meetingEntity.getDateFrom())
113113
.dateUntil(meetingEntity.getDateUntil())

server/src/main/java/com/studybuddies/server/services/meeting/MeetingService.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,5 +87,9 @@ private List<MeetingResponse> findAllMeetingEntities() {
8787
public MeetingEntity findMeetingByUUID(String uuid) {
8888
return meetingRepository.findById(UUIDService.parseUUID(uuid)).orElse(null);
8989
}
90+
91+
public List<MeetingEntity> findMeetingsBySuperID(String superID) {
92+
return meetingRepository.findBySuperId(UUIDService.parseUUID(superID));
93+
}
9094
}
9195

server/src/main/java/com/studybuddies/server/web/StudyGroupController.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ public ResponseEntity<?> add(
2929
return new ResponseEntity<>(HttpStatus.OK);
3030
}
3131

32+
33+
3234
@DeleteMapping
3335
public ResponseEntity<?> delete(String targetUUID, HttpServletRequest request) {
3436
studyGroupService.delete(targetUUID, request.getUserPrincipal().getName());

server/src/main/java/com/studybuddies/server/web/dto/meeting/MeetingChangeRequest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
public class MeetingChangeRequest implements ChangeRequest {
1111

1212
public ChangeType changeType;
13-
public String title;
13+
public String module;
1414
public String description;
1515
public String dateFrom;
1616
public String dateUntil;

server/src/main/java/com/studybuddies/server/web/dto/meeting/MeetingCreationRequest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
public class MeetingCreationRequest implements CreationRequest {
99

1010
@NotBlank
11-
public String title;
11+
public String module;
1212
public String description;
1313
@NotBlank
1414
public String dateFrom;

server/src/main/java/com/studybuddies/server/web/dto/meeting/MeetingResponse.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ public class MeetingResponse implements Responses {
99
public String id;
1010
public String superId;
1111
@NotBlank
12-
public String title;
12+
public String module;
1313
public String description;
1414
@NotBlank
1515
public String dateFrom;

0 commit comments

Comments
 (0)