Skip to content

Commit

Permalink
πŸ”€ :: (ENTRY-90) 일정 μœ ν˜•λ³„ 쑰회 API
Browse files Browse the repository at this point in the history
πŸ”€ :: (ENTRY-90) 일정 μœ ν˜•λ³„ 쑰회 API
  • Loading branch information
lilseongwon authored Oct 8, 2023
2 parents 92c015a + eb58e29 commit aef466f
Show file tree
Hide file tree
Showing 6 changed files with 63 additions and 0 deletions.
Empty file.
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package hs.kr.equus.schedule.domain.schedule.exception

import hs.kr.equus.schedule.global.error.exception.EquusException
import hs.kr.equus.schedule.global.error.exception.ErrorCode

object ScheduleNotFoundException : EquusException(
ErrorCode.SCHEDULE_NOT_FOUND
)
Empty file.
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
package hs.kr.equus.schedule.domain.schedule.presentation

import hs.kr.equus.schedule.domain.schedule.presentation.dto.ScheduleDto
import hs.kr.equus.schedule.domain.schedule.presentation.dto.request.UpdateSchedulesRequest
import hs.kr.equus.schedule.domain.schedule.presentation.dto.response.SchedulesResponse
import hs.kr.equus.schedule.domain.schedule.service.QueryScheduleByTypeService
import hs.kr.equus.schedule.domain.schedule.service.QuerySchedulesService
import hs.kr.equus.schedule.domain.schedule.service.UpdateSchedulesService
import org.springframework.web.bind.annotation.GetMapping
import org.springframework.web.bind.annotation.PatchMapping
import org.springframework.web.bind.annotation.RequestBody
import org.springframework.web.bind.annotation.RequestMapping
import org.springframework.web.bind.annotation.RequestParam
import org.springframework.web.bind.annotation.RestController
import javax.validation.Valid

@RestController
@RequestMapping("/schedule")
class ScheduleController(
private val queryScheduleByTypeService: QueryScheduleByTypeService,
private val querySchedulesService: QuerySchedulesService,
private val updateSchedulesService: UpdateSchedulesService
) {
@GetMapping(params = ["type"])
fun queryScheduleByType(
@RequestParam type: String
): ScheduleDto = queryScheduleByTypeService.execute(type)

@GetMapping
fun querySchedules(): SchedulesResponse =
querySchedulesService.execute()

@PatchMapping
fun updateSchedules(
@RequestBody @Valid
request: UpdateSchedulesRequest
) =
updateSchedulesService.execute(request)
}
Empty file.
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package hs.kr.equus.schedule.domain.schedule.service

import hs.kr.equus.schedule.domain.schedule.domain.types.Type
import hs.kr.equus.schedule.domain.schedule.facade.ScheduleFacade
import hs.kr.equus.schedule.domain.schedule.presentation.dto.ScheduleDto
import org.springframework.stereotype.Service

@Service
class QueryScheduleByTypeService(
private val scheduleFacade: ScheduleFacade
) {
fun execute(type: String): ScheduleDto {
val schedule = scheduleFacade.getScheduleByType(Type.valueOf(type))
return ScheduleDto(schedule.type, schedule.date)
}
}

0 comments on commit aef466f

Please sign in to comment.