Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
package HalfFifty.HalfFifty_BE.translation.bean;

import HalfFifty.HalfFifty_BE.translation.bean.small.DeleteTranslationDAOBean;
import HalfFifty.HalfFifty_BE.translation.bean.small.GetTranslationDAOBean;
import HalfFifty.HalfFifty_BE.translation.domain.DTO.RequestTranslationDeleteDTO;
import HalfFifty.HalfFifty_BE.translation.domain.TranslationDAO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

@Component
public class DeleteTranslationBean {
DeleteTranslationDAOBean deleteTranslationDAOBean;
GetTranslationDAOBean getTranslationDAOBean;

@Autowired
public DeleteTranslationBean(DeleteTranslationDAOBean deleteTranslationDAOBean, GetTranslationDAOBean getTranslationDAOBean) {
this.deleteTranslationDAOBean = deleteTranslationDAOBean;
this.getTranslationDAOBean = getTranslationDAOBean;
}

// 번역 기록 삭제
public boolean exec(RequestTranslationDeleteDTO requestTranslationDeleteDTO) {
// translationId와 userId를 통해서 원하는 객체를 찾음
TranslationDAO translationDAO = getTranslationDAOBean.exec(requestTranslationDeleteDTO.getTranslationId(), requestTranslationDeleteDTO.getUserId());
if(translationDAO == null) return Boolean.FALSE;

// 찾은 객체를 삭제
deleteTranslationDAOBean.exec(translationDAO);

// 성공 여부 반환
return Boolean.TRUE;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package HalfFifty.HalfFifty_BE.translation.bean.small;

import HalfFifty.HalfFifty_BE.translation.domain.TranslationDAO;
import HalfFifty.HalfFifty_BE.translation.repository.TranslationRepositoryJPA;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

@Component
public class DeleteTranslationDAOBean {
TranslationRepositoryJPA translationRepositoryJPA;

@Autowired
public DeleteTranslationDAOBean(TranslationRepositoryJPA translationRepositoryJPA) {
this.translationRepositoryJPA = translationRepositoryJPA;
}

// Translation 객체 삭제
public void exec(TranslationDAO translationDAO) {
translationRepositoryJPA.delete(translationDAO);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
package HalfFifty.HalfFifty_BE.translation.bean.small;

import HalfFifty.HalfFifty_BE.translation.domain.TranslationDAO;
import HalfFifty.HalfFifty_BE.translation.repository.TranslationRepositoryJPA;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import java.util.UUID;

@Component
public class GetTranslationDAOBean {
TranslationRepositoryJPA translationRepositoryJPA;

@Autowired
public GetTranslationDAOBean(TranslationRepositoryJPA translationRepositoryJPA) {
this.translationRepositoryJPA = translationRepositoryJPA;
}

// translationId와 userId를 통해 원하는 객체 찾음
public TranslationDAO exec(UUID translationId, UUID userId) {
return translationRepositoryJPA.findByTranslationIdAndUserId(translationId, userId);
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package HalfFifty.HalfFifty_BE.translation.controller;

import HalfFifty.HalfFifty_BE.translation.domain.DTO.RequestSignLanguageDTO;
import HalfFifty.HalfFifty_BE.translation.domain.DTO.RequestTranslationDeleteDTO;
import HalfFifty.HalfFifty_BE.translation.domain.DTO.ResponseTranslationGetDTO;
import HalfFifty.HalfFifty_BE.translation.service.TranslationService;
import org.springframework.http.HttpStatus;
Expand Down Expand Up @@ -39,4 +40,19 @@ public ResponseEntity<Map<String, Object>> translateSignLanguage(@RequestBody Re

return ResponseEntity.status(HttpStatus.OK).body(responseMap);
}

@DeleteMapping
public ResponseEntity<Map<String, Object>> deleteTranslation(@RequestBody RequestTranslationDeleteDTO requestTranslationDeleteDTO) {
// 번역 기록 삭제 성공 여부
boolean success = translationService.deleteTranslation(requestTranslationDeleteDTO);

// Map을 통해 메시지 값 json 데이터로 변환
Map<String, Object> requestMap = new HashMap<>();
requestMap.put("success", success);
requestMap.put("message", success ? "번역 기록 삭제 성공" : "번역 기록 삭제 실패");

// status, body 설정해서 응답 리턴
return ResponseEntity.status(HttpStatus.OK).body(requestMap);

}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package HalfFifty.HalfFifty_BE.translation.domain.DTO;

import lombok.Data;

import java.util.UUID;

@Data
public class RequestTranslationDeleteDTO {
UUID translationId;
UUID userId;
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,7 @@

@Repository
public interface TranslationRepositoryJPA extends JpaRepository<TranslationDAO, UUID> {

// translationId와 userId를 통해 원하는 객체 찾음
TranslationDAO findByTranslationIdAndUserId(UUID translationId, UUID userId);
}
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
package HalfFifty.HalfFifty_BE.translation.service;

import HalfFifty.HalfFifty_BE.translation.bean.DeleteTranslationBean;
import HalfFifty.HalfFifty_BE.translation.bean.FlaskSignLanguageBean;
import HalfFifty.HalfFifty_BE.translation.bean.SaveTranslationBean;
import HalfFifty.HalfFifty_BE.translation.domain.DTO.RequestSignLanguageDTO;
import HalfFifty.HalfFifty_BE.translation.domain.DTO.RequestTranslationDeleteDTO;
import HalfFifty.HalfFifty_BE.translation.domain.DTO.ResponseTranslationGetDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
Expand All @@ -14,11 +16,13 @@
public class TranslationService {
SaveTranslationBean saveTranslationBean;
FlaskSignLanguageBean flaskSignLanguageBean;
DeleteTranslationBean deleteTranslationBean;

@Autowired
public TranslationService(SaveTranslationBean saveTranslationBean, FlaskSignLanguageBean flaskSignLanguageBean) {
public TranslationService(SaveTranslationBean saveTranslationBean, FlaskSignLanguageBean flaskSignLanguageBean, DeleteTranslationBean deleteTranslationBean) {
this.saveTranslationBean = saveTranslationBean;
this.flaskSignLanguageBean = flaskSignLanguageBean;
this.deleteTranslationBean = deleteTranslationBean;
}

public ResponseTranslationGetDTO signLanguageTranslation(RequestSignLanguageDTO requestSignLanguageDTO) {
Expand All @@ -33,4 +37,8 @@ public ResponseTranslationGetDTO signLanguageTranslation(RequestSignLanguageDTO
}
}

// 번역 기록 삭제
public boolean deleteTranslation(RequestTranslationDeleteDTO requestTranslationDeleteDTO) {
return deleteTranslationBean.exec(requestTranslationDeleteDTO);
}
}
Loading