Skip to content

Commit

Permalink
write CourseController.java
Browse files Browse the repository at this point in the history
  • Loading branch information
guma2k2 committed Nov 25, 2024
1 parent 7e9ef95 commit 72587aa
Show file tree
Hide file tree
Showing 11 changed files with 109 additions and 20 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ public ResponseEntity<ClassroomVM> create (
return ResponseEntity.ok().body(classroomVM);
}

@PostMapping("/classrooms/{classroomId}")
@PutMapping("/classrooms/{classroomId}")
public ResponseEntity<ClassroomVM> update (
@RequestBody ClassroomPostVM classroomPostVM,
@PathVariable("classroomId") Long classroomId
Expand Down
Original file line number Diff line number Diff line change
@@ -1,17 +1,13 @@
package com.backend.elearning.domain.classroom;

import com.backend.elearning.domain.common.Curriculum;
import com.backend.elearning.domain.common.Event;
import com.backend.elearning.domain.common.EventType;
import com.backend.elearning.domain.course.Course;
import com.backend.elearning.domain.course.CourseRepository;
import com.backend.elearning.domain.meeting.Meeting;
import com.backend.elearning.domain.meeting.MeetingGetVM;
import com.backend.elearning.domain.referencefile.ReferenceFile;
import com.backend.elearning.domain.referencefile.ReferenceFileService;
import com.backend.elearning.domain.referencefile.ReferenceFileVM;
import com.backend.elearning.domain.section.Section;
import com.backend.elearning.domain.section.SectionVM;
import com.backend.elearning.exception.NotFoundException;
import com.backend.elearning.reference.Reference;
import com.backend.elearning.reference.ReferenceGetVM;
Expand All @@ -22,6 +18,9 @@
import java.util.Comparator;
import java.util.List;

import static com.backend.elearning.utils.DateTimeUtils.convertLocalDateTimeToMonthYearText;
import static com.backend.elearning.utils.DateTimeUtils.convertLocalDateTimeToString;

@Service
public class ClassroomServiceImpl implements ClassroomService {
private final ClassroomRepository classroomRepository;
Expand Down Expand Up @@ -50,10 +49,11 @@ public ClassroomVM create(ClassroomPostVM classroomPostVM) {

@Override
public ClassroomVM update(ClassroomPostVM classroomPostVM, Long classroomId) {

Classroom classroom = classroomRepository.findById(classroomId).orElseThrow();
classroom.setName(classroom.getName());
classroom.setDescription(classroomPostVM.description());
classroom.setImage(classroomPostVM.image());


Classroom updatedClassroom = classroomRepository.save(classroom);
return ClassroomVM.fromModel(updatedClassroom);
Expand Down Expand Up @@ -85,8 +85,8 @@ private List<Event> getByClassroom(Classroom classroom) {
meetingGetVM.setId(meeting.getId());
meetingGetVM.setCode(meeting.getCode());
meetingGetVM.setType(EventType.meeting);
meetingGetVM.setStartTime(meeting.getStartTime().toString());
meetingGetVM.setEndTime(meeting.getEndTime().toString());
meetingGetVM.setStartTime(convertLocalDateTimeToString(meeting.getStartTime()));
meetingGetVM.setEndTime(convertLocalDateTimeToString(meeting.getEndTime()));
meetingGetVM.setCreatedAt(meeting.getCreatedAt());
events.add(meetingGetVM);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,7 @@
import com.backend.elearning.domain.classroom.ClassroomPostVM;
import com.backend.elearning.domain.classroom.ClassroomVM;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;

@RestController
@RequestMapping("/api/v1")
Expand All @@ -26,4 +23,21 @@ public ResponseEntity<MeetingVM> create (
MeetingVM meetingVM = meetingService.create(meetingPostVM);
return ResponseEntity.ok().body(meetingVM);
}

@PutMapping("/meetings/{meetingId}")
public ResponseEntity<MeetingVM> update (
@RequestBody MeetingPostVM meetingPostVM,
@PathVariable("meetingId") Long meetingId
) {
MeetingVM meetingVM = meetingService.update(meetingPostVM, meetingId);
return ResponseEntity.ok().body(meetingVM);
}

@DeleteMapping("/meetings/{meetingId}")
public ResponseEntity<String> delete (
@PathVariable("meetingId") Long meetingId
) {
meetingService.delete( meetingId);
return ResponseEntity.ok().body("deleted");
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,8 @@ public interface MeetingService {

MeetingVM create(MeetingPostVM meetingPostVM);

MeetingVM update(MeetingPostVM meetingPostVM, Long meetingId);

void delete(Long meetingId);

}
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,27 @@ public MeetingVM create(MeetingPostVM meetingPostVM) {
.endTime(endTime)
.classroom(classroom)
.build();
meeting.setCreatedAt(LocalDateTime.now());
meeting.setUpdatedAt(LocalDateTime.now());
Meeting savedMeeting = meetingRepository.saveAndFlush(meeting);
return MeetingVM.fromModel(savedMeeting);
}

@Override
public MeetingVM update(MeetingPostVM meetingPostVM, Long meetingId) {
Meeting meeting = meetingRepository.findById(meetingId).orElseThrow();
LocalDateTime startTime = DateTimeUtils.convertStringToLocalDateTime(meetingPostVM.startTime(), DateTimeUtils.NORMAL_TYPE);
LocalDateTime endTime = DateTimeUtils.convertStringToLocalDateTime(meetingPostVM.endTime(), DateTimeUtils.NORMAL_TYPE);
meeting.setCode(meetingPostVM.code());
meeting.setStartTime(startTime);
meeting.setEndTime(endTime);
meeting.setUpdatedAt(LocalDateTime.now());
Meeting updatedMeeting = meetingRepository.saveAndFlush(meeting);
return MeetingVM.fromModel(updatedMeeting);
}

@Override
public void delete(Long meetingId) {
meetingRepository.deleteById(meetingId);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,7 @@
import com.backend.elearning.domain.meeting.MeetingPostVM;
import com.backend.elearning.domain.meeting.MeetingVM;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;

@RestController
@RequestMapping("/api/v1")
Expand All @@ -25,4 +22,13 @@ public ResponseEntity<ReferenceFileVM> create (
ReferenceFileVM referenceFileVM = referenceFileService.create(referenceFilePostVM);
return ResponseEntity.ok().body(referenceFileVM);
}


@DeleteMapping("/referencefiles/{id}")
public ResponseEntity<String> delete (
@PathVariable("id") Long referenceFileId
) {
referenceFileService.delete(referenceFileId);
return ResponseEntity.ok().body("deleted");
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,6 @@
public interface ReferenceFileService {
ReferenceFileVM create(ReferenceFilePostVM referenceFilePostVM);
List<ReferenceFileVM> getByReferenceId(Long referenceId);

void delete(Long referenceFileId);
}
Original file line number Diff line number Diff line change
Expand Up @@ -36,4 +36,9 @@ public List<ReferenceFileVM> getByReferenceId(Long referenceId) {
List<ReferenceFile> referenceFiles = referenceFileRepo.findByReferenceId(referenceId);
return referenceFiles.stream().map(referenceFile -> ReferenceFileVM.fromModel(referenceFile)).toList();
}

@Override
public void delete(Long referenceFileId) {
referenceFileRepo.deleteById(referenceFileId);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,7 @@
import com.backend.elearning.domain.meeting.MeetingService;
import com.backend.elearning.domain.meeting.MeetingVM;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;

@RestController
@RequestMapping("/api/v1")
Expand All @@ -26,4 +23,21 @@ public ResponseEntity<ReferenceVM> create (
ReferenceVM referenceVM = referenceService.create(referencePostVM);
return ResponseEntity.ok().body(referenceVM);
}

@PutMapping("/references/{referenceId}")
public ResponseEntity<ReferenceVM> update (
@RequestBody ReferencePostVM referencePostVM,
Long referenceId
) {
ReferenceVM referenceVM = referenceService.update(referencePostVM, referenceId);
return ResponseEntity.ok().body(referenceVM);
}

@DeleteMapping("/references/{referenceId}")
public ResponseEntity<String> delete (
@PathVariable("referenceId") Long referenceId
) {
referenceService.delete(referenceId);
return ResponseEntity.ok().body("deleted ");
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,9 @@
public interface ReferenceService {

ReferenceVM create(ReferencePostVM referencePostVM);

ReferenceVM update(ReferencePostVM referencePostVM, Long referenceId);

void delete(Long referenceId);

}
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
import com.backend.elearning.domain.classroom.ClassroomRepository;
import org.springframework.stereotype.Service;

import java.time.LocalDateTime;

@Service
public class ReferenceServiceImpl implements ReferenceService{

Expand All @@ -23,7 +25,24 @@ public ReferenceVM create(ReferencePostVM referencePostVM) {
.description(referencePostVM.description())
.classroom(classroom)
.build();

reference.setCreatedAt(LocalDateTime.now());
reference.setUpdatedAt(LocalDateTime.now());
Reference savedReference = referenceRepository.saveAndFlush(reference);
return ReferenceVM.fromModel(savedReference);
}

@Override
public ReferenceVM update(ReferencePostVM referencePostVM, Long referenceId) {
Reference reference = referenceRepository.findById(referenceId).orElseThrow();
reference.setDescription(referencePostVM.description());
reference.setUpdatedAt(LocalDateTime.now());
Reference savedReference = referenceRepository.saveAndFlush(reference);
return ReferenceVM.fromModel(savedReference);
}

@Override
public void delete(Long referenceId) {
referenceRepository.deleteById(referenceId);
}
}

0 comments on commit 72587aa

Please sign in to comment.