[Developer] #424 add backoffice schema initialization action

This commit is contained in:
devmrko
2026-06-23 15:00:04 +09:00
parent be4f337802
commit d9a676d706
4 changed files with 275 additions and 2 deletions

View File

@@ -1,6 +1,8 @@
package com.cloudhandson.vpdbackoffice.web;
import com.cloudhandson.vpdbackoffice.service.BackofficeSchemaService;
import com.cloudhandson.vpdbackoffice.service.SettingService;
import org.springframework.dao.DataAccessException;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
@@ -12,14 +14,23 @@ import org.springframework.web.servlet.mvc.support.RedirectAttributes;
public class SettingController {
private final SettingService settingService;
private final BackofficeSchemaService backofficeSchemaService;
public SettingController(SettingService settingService) {
public SettingController(SettingService settingService, BackofficeSchemaService backofficeSchemaService) {
this.settingService = settingService;
this.backofficeSchemaService = backofficeSchemaService;
}
@GetMapping("/settings")
public String settings(Model model) {
model.addAttribute("ordsBaseUrl", settingService.ordsBaseUrl());
try {
model.addAttribute("ordsBaseUrl", settingService.ordsBaseUrl());
} catch (DataAccessException exception) {
RuntimeErrorMessage error = RuntimeErrorMessages.dataAccess(exception);
model.addAttribute("ordsBaseUrl", "");
model.addAttribute("runtimeErrorTitle", error.title());
model.addAttribute("runtimeErrorMessage", error.message());
}
return "settings";
}
@@ -32,4 +43,11 @@ public class SettingController {
redirectAttributes.addFlashAttribute("message", "ORDS 설정을 저장했습니다.");
return "redirect:/settings";
}
@PostMapping("/settings/schema/initialize")
public String initializeSchema(RedirectAttributes redirectAttributes) {
redirectAttributes.addFlashAttribute("schemaResults", backofficeSchemaService.initializeSchema());
redirectAttributes.addFlashAttribute("message", "백오피스 지원 테이블 DDL을 실행했습니다.");
return "redirect:/settings";
}
}