20231226 (화) TodoApp 제작기
2023. 12. 26. 21:12ㆍTIL
오늘은 하루종일 TodoApp을 만들기 위해 시간을 보냈다.
만드는데 시간이 제일 많이 들어간 파일 하나만 올리고 오늘은 쉬어야겠다.
TodoCardServiceImpl 파일
package com.example.mytodoapp.domain.todocard.service
import com.example.mytodoapp.domain.exception.IncorrectPasswordException
import com.example.mytodoapp.domain.exception.ModelNotFoundException
import com.example.mytodoapp.domain.todocard.dto.CreateTodoCardRequest
import com.example.mytodoapp.domain.todocard.dto.TodoCardResponse
import com.example.mytodoapp.domain.todocard.dto.UpdateTodoCardRequest
import com.example.mytodoapp.domain.todocard.model.TodoCard
import com.example.mytodoapp.domain.todocard.model.toResponse
import com.example.mytodoapp.domain.todocard.repository.TodoCardRepository
import jakarta.transaction.Transactional
import org.springframework.data.repository.findByIdOrNull
import org.springframework.stereotype.Service
@Service
class TodoCardServiceImpl(
private val todoCardRepository: TodoCardRepository
): TodoCardService {
override fun getAllTodoCardList(): List<TodoCardResponse> {
return todoCardRepository.findAll().map{ it.toResponse() }
}
override fun getTodoCardById(todoCardId: Long): TodoCardResponse {
val todoCard = todoCardRepository.findByIdOrNull(todoCardId)
?: throw ModelNotFoundException("TodoCard", todoCardId)
return todoCard.toResponse()
}
@Transactional
override fun createTodoCard(request: CreateTodoCardRequest): TodoCardResponse {
return todoCardRepository.save(
TodoCard(
app_user = request.user,
password = request.password
)
).toResponse()
}
@Transactional
override fun updateTodoCard(todoCardId: Long, request: UpdateTodoCardRequest): TodoCardResponse {
val todoCard = todoCardRepository.findByIdOrNull(todoCardId)
?: throw ModelNotFoundException("TodoCard", todoCardId)
val (user) = request
todoCard.app_user = user
return todoCardRepository.save(todoCard).toResponse()
}
@Transactional
override fun deleteTodoCard(todoCardId: Long, password: String) {
val todoCard = todoCardRepository.findByIdOrNull(todoCardId)
?: throw ModelNotFoundException("TodoCard", todoCardId)
if (password == "masterPW5946" || password == todoCard.password ){
todoCardRepository.delete(todoCard)
} else {
throw IncorrectPasswordException(password, todoCardId)
}
}
}
오늘의 한마디 : 튜터님께 자주 찾아가자
'TIL' 카테고리의 다른 글
20231228 (목) TodoApp 완성 (1) | 2023.12.28 |
---|---|
20231227 (수) TodoApp 막바지 (2) | 2023.12.27 |
20231222 (금) CourseRegistration 앱 마무리, Todo 앱 만들기 시작 (1) | 2023.12.22 |
20231221 (목) CourseRegistration 만들기 (1) | 2023.12.21 |
20231220 (수) 스프링 TIL (2) | 2023.12.20 |