Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -30,4 +30,11 @@ public class BackupController {
|
||||
backupService.restore(current.getId(), req);
|
||||
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 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
|
||||
public void restore(Long memberId, RestoreRequest req) {
|
||||
if (isEmpty(req)) {
|
||||
|
||||
Reference in New Issue
Block a user