feat(ckeditor5,board,ecommerce,page,core,admin_basic): 미참조 에디터 업로드 이미지 정리 신설 + 업로드 고아 동종 결함 7건 전수 해소
공개 (@Tuwasduliebst 제보) 대응. - ckeditor5: 미참조 이미지 정리 엔진 신설 — 참조 판정(hash + 파일명 2토큰, filter_reference_sources 훅으로 확장 콘텐츠 등록) + 정리 커맨드(기본 꺼짐 옵트인, 3중 게이트) + 업로드 관리 화면(권한 분리·참조 배지·개별/선택 삭제) + 기설치본 설정 백필 upgrade step - board: 임시 첨부 GC(상시) + 소프트삭제 첨부 영구 정리(옵트인) + 설정 UI, 저장 payload 누락(F4)·빈 temp 디렉토리 잔존(F5) 수정 - ecommerce: 임시 상품 이미지 GC + 카테고리 삭제 시 이미지 파일 미삭제(S4) 수정 - page: 임시 첨부 GC - 코어: 고아 첨부 정리 커맨드(옵트인, site_logo 보호) + 사이트 로고 교체 시 구 로고 재편입 차단(S6) + DB 백업 미구현 501 정직화(B3) + 플러그인 관리자 메뉴 설치·업데이트 자동 동기화(F1·F7) - 동반: 플러그인 설정 검증 오류 필드명 라벨화(F3), Toggle 노드 type 정정 수평 전개(marketing 1.0.2 bump·gdpr·ecommerce), ja 언어팩 4종, API 문서, hooks.md, 시나리오 매니페스트 8종, Playwright E2E 4종
This commit is contained in:
@@ -188,23 +188,21 @@ class SettingsController extends AdminBaseController
|
||||
}
|
||||
|
||||
/**
|
||||
* 데이터베이스를 백업합니다.
|
||||
* 데이터베이스 백업 — 아직 제공하지 않는 기능임을 알립니다.
|
||||
*
|
||||
* @return JsonResponse 백업 결과 JSON 응답
|
||||
* 코어에는 DB 덤프 수단이 없어 이 엔드포인트는 구현된 적이 없다.
|
||||
* 종전에는 존재하지 않는 `SettingsService::backupDatabase()` 를 호출했고,
|
||||
* PHP 가 던지는 `Error` 는 `catch (\Exception)` 에 걸리지 않아 그대로 500 이 되면서
|
||||
* 내부 메서드 이름까지 응답에 실려 나갔다 (공개 #115 부록 B3).
|
||||
*
|
||||
* 기능 부재는 서버 고장이 아니므로 501(Not Implemented)로 답한다.
|
||||
* 설정 파일 백업은 `POST /api/admin/settings/backup` 이 담당한다.
|
||||
*
|
||||
* @return JsonResponse 미제공 안내 JSON 응답 (501)
|
||||
*/
|
||||
public function backupDatabase(): JsonResponse
|
||||
{
|
||||
try {
|
||||
$result = $this->settingsService->backupDatabase();
|
||||
|
||||
if ($result) {
|
||||
return $this->success('settings.backup_success');
|
||||
} else {
|
||||
return $this->error('settings.backup_failed');
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
return $this->error('settings.backup_error', 500, $e->getMessage());
|
||||
}
|
||||
return $this->error('settings.database_backup_unavailable', 501);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user