- 질문 데이터를 완전히 삭제하는 것이 아니라 데이터의 상태를 삭제 상태(deleted - boolean type)로 변경한다.
- 로그인 사용자와 질문한 사람이 같은 경우 삭제 가능하다.
- 답변이 없는 경우 삭제가 가능하다.
- 질문자와 답변글의 모든 답변자 같은 경우 삭제가 가능하다.
- 질문을 삭제할 때 답변 또한 삭제해야 하며, 답변의 삭제 또한 삭제 상태(deleted)를 변경한다.
- 질문자와 답변자가 다른 경우 답변을 삭제할수 없다.
- 질문과 답변 삭제 이력에 대한 정보를 DeleteHistory를 활용해 남긴다.
- Question
- 삭제 상태로 변경(비즈니스적 의미)
- 삭제전 질문, 답변 검증진행. 검증실패시 예외 발생
- 질문 : 삭제자 - 질문작성자 같은경우
- 삭제이력 생성
- 삭제전 질문, 답변 검증진행. 검증실패시 예외 발생
- 질문과 답변 삭제
- 삭제후 삭제이력 리턴 (질문 + 답변)
- 삭제 상태로 변경(비즈니스적 의미)
- Answer
- 삭제 상태로 변경
- 삭제전 검증후 실패시 예외발생
- 질문작성자 - 답변작성자 같은경우
- 삭제이력 생성
- 삭제전 검증후 실패시 예외발생
- 삭제 상태로 변경
- Answers
- 모든 답변 삭제
- DeleteHistories 생성
- 모두 삭제되었는지 판단
- 모든 답변 삭제
- DeleteHistory
- DeleteHistories