feat(account): 가계부 데이터 전체 삭제 API (DELETE /account/all)
Deploy / deploy (push) Failing after 12m1s

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
ByungCheol
2026-07-09 22:39:06 +09:00
parent ee644515cb
commit 795afc80ff
2 changed files with 23 additions and 0 deletions
@@ -30,4 +30,11 @@ public class BackupController {
backupService.restore(current.getId(), req); backupService.restore(current.getId(), req);
return ResponseEntity.noContent().build(); return ResponseEntity.noContent().build();
} }
@DeleteMapping("/all")
public ResponseEntity<Void> deleteAll(
@RequestAttribute(AuthInterceptor.CURRENT_MEMBER) SessionUser current) {
backupService.deleteAll(current.getId());
return ResponseEntity.noContent().build();
}
} }
@@ -38,6 +38,22 @@ public class BackupService {
private final BudgetService budgetService; private final BudgetService budgetService;
private final QuickEntryService quickEntryService; private final QuickEntryService quickEntryService;
@Transactional
public void deleteAll(Long memberId) {
backupMapper.deleteEntryTags(memberId);
backupMapper.deleteEntries(memberId);
backupMapper.deleteRecurrings(memberId);
backupMapper.deleteBudgets(memberId);
backupMapper.deleteBudgetIncome(memberId);
backupMapper.deleteQuickEntries(memberId);
backupMapper.deleteInvestTrades(memberId);
backupMapper.deleteInvestHoldings(memberId);
backupMapper.deleteCategories(memberId);
backupMapper.deleteTags(memberId);
backupMapper.deleteWallets(memberId);
log.info("[deleteAll] member={} — all account data deleted", memberId);
}
@Transactional @Transactional
public void restore(Long memberId, RestoreRequest req) { public void restore(Long memberId, RestoreRequest req) {
if (isEmpty(req)) { if (isEmpty(req)) {