[UX] #599 separate database preparation from settings
This commit is contained in:
@@ -31,6 +31,11 @@ public class SettingController {
|
||||
model.addAttribute("runtimeErrorTitle", error.title());
|
||||
model.addAttribute("runtimeErrorMessage", error.message());
|
||||
}
|
||||
return "settings";
|
||||
}
|
||||
|
||||
@GetMapping("/settings/database")
|
||||
public String databaseSettings(Model model) {
|
||||
try {
|
||||
model.addAttribute("schemaPreflight", backofficeSchemaService.preflight());
|
||||
} catch (DataAccessException exception) {
|
||||
@@ -38,7 +43,7 @@ public class SettingController {
|
||||
model.addAttribute("schemaPreflightErrorTitle", error.title());
|
||||
model.addAttribute("schemaPreflightErrorMessage", error.message());
|
||||
}
|
||||
return "settings";
|
||||
return "settings-database";
|
||||
}
|
||||
|
||||
@PostMapping("/settings/ords")
|
||||
@@ -51,8 +56,16 @@ public class SettingController {
|
||||
return "redirect:/settings";
|
||||
}
|
||||
|
||||
@PostMapping("/settings/schema/initialize")
|
||||
public String initializeSchema(RedirectAttributes redirectAttributes) {
|
||||
@PostMapping("/settings/database/initialize")
|
||||
public String initializeSchema(
|
||||
@RequestParam String confirmation,
|
||||
RedirectAttributes redirectAttributes
|
||||
) {
|
||||
if (!"DB 준비 실행".equals(confirmation)) {
|
||||
redirectAttributes.addFlashAttribute(
|
||||
"error", "DB 지원 DDL을 실행하려면 확인 문구 ‘DB 준비 실행’을 정확히 입력하세요.");
|
||||
return "redirect:/settings/database";
|
||||
}
|
||||
var results = backofficeSchemaService.initializeSchema();
|
||||
long failures = results.stream()
|
||||
.filter(result -> "FAILED".equalsIgnoreCase(result.status()))
|
||||
@@ -63,6 +76,6 @@ public class SettingController {
|
||||
} else {
|
||||
redirectAttributes.addFlashAttribute("message", "백오피스 지원 테이블 DDL을 실행했습니다.");
|
||||
}
|
||||
return "redirect:/settings";
|
||||
return "redirect:/settings/database";
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user