Skip to content

Commit

Permalink
Merge pull request #88 from guma2k2/cart-feature
Browse files Browse the repository at this point in the history
write CourseController.java
  • Loading branch information
guma2k2 authored Nov 25, 2024
2 parents d80b5d6 + 72587aa commit 914882b
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 914882b

Please sign in to comment.