diff --git a/src/main/java/com/sb/web/admin/controller/AdminTagController.java b/src/main/java/com/sb/web/admin/controller/AdminTagController.java index ed51555..6b14bd7 100644 --- a/src/main/java/com/sb/web/admin/controller/AdminTagController.java +++ b/src/main/java/com/sb/web/admin/controller/AdminTagController.java @@ -1,7 +1,5 @@ package com.sb.web.admin.controller; -import com.sb.web.board.dto.BoardSettingRequest; -import com.sb.web.board.dto.BoardSettingResponse; import com.sb.web.board.dto.TagCategoryRequest; import com.sb.web.board.dto.TagCategoryResponse; import com.sb.web.board.dto.TagRequest; @@ -68,16 +66,4 @@ public class AdminTagController { tagService.deleteTag(id); return ResponseEntity.noContent().build(); } - - /* ===== 게시판 설정 (사용할 태그 카테고리) ===== */ - - @GetMapping("/board-setting") - public BoardSettingResponse boardSetting() { - return tagService.getBoardSetting(); - } - - @PutMapping("/board-setting") - public BoardSettingResponse updateBoardSetting(@RequestBody BoardSettingRequest req) { - return tagService.setBoardSetting(req.getTagCategoryId()); - } } diff --git a/src/main/java/com/sb/web/board/dto/BoardSettingRequest.java b/src/main/java/com/sb/web/board/dto/BoardSettingRequest.java deleted file mode 100644 index 60d81b4..0000000 --- a/src/main/java/com/sb/web/board/dto/BoardSettingRequest.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.sb.web.board.dto; - -import lombok.Data; - -/** - * 게시판 설정 변경 요청 — 사용할 태그 카테고리(null 이면 제한 없음). - */ -@Data -public class BoardSettingRequest { - private Long tagCategoryId; -} diff --git a/src/main/java/com/sb/web/board/dto/BoardSettingResponse.java b/src/main/java/com/sb/web/board/dto/BoardSettingResponse.java deleted file mode 100644 index 5538521..0000000 --- a/src/main/java/com/sb/web/board/dto/BoardSettingResponse.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.sb.web.board.dto; - -import lombok.Builder; -import lombok.Data; - -/** - * 게시판 설정 응답. - */ -@Data -@Builder -public class BoardSettingResponse { - private Long tagCategoryId; -} diff --git a/src/main/java/com/sb/web/board/mapper/BoardSettingMapper.java b/src/main/java/com/sb/web/board/mapper/BoardSettingMapper.java deleted file mode 100644 index 12c960c..0000000 --- a/src/main/java/com/sb/web/board/mapper/BoardSettingMapper.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.sb.web.board.mapper; - -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; - -@Mapper -public interface BoardSettingMapper { - - /** 게시판에서 사용할 태그 카테고리 ID (없으면 null) */ - Long findTagCategoryId(); - - int updateTagCategoryId(@Param("categoryId") Long categoryId); -} diff --git a/src/main/java/com/sb/web/board/service/TagService.java b/src/main/java/com/sb/web/board/service/TagService.java index 9f9cf87..c80d29f 100644 --- a/src/main/java/com/sb/web/board/service/TagService.java +++ b/src/main/java/com/sb/web/board/service/TagService.java @@ -4,10 +4,8 @@ import com.sb.web.board.domain.Tag; import com.sb.web.board.domain.TagCategory; import com.sb.web.board.dto.TagCategoryRequest; import com.sb.web.board.dto.TagCategoryResponse; -import com.sb.web.board.dto.BoardSettingResponse; import com.sb.web.board.dto.TagRequest; import com.sb.web.board.dto.TagResponse; -import com.sb.web.board.mapper.BoardSettingMapper; import com.sb.web.board.mapper.TagCategoryBoardMapper; import com.sb.web.board.mapper.TagCategoryMapper; import com.sb.web.board.mapper.TagMapper; @@ -30,7 +28,6 @@ public class TagService { private final TagCategoryMapper categoryMapper; private final TagMapper tagMapper; - private final BoardSettingMapper boardSettingMapper; private final TagCategoryBoardMapper categoryBoardMapper; /** 게시판 매핑에 허용되는 값 */ @@ -50,6 +47,10 @@ public class TagService { * 매핑이 하나도 없는 그룹은 전체 게시판에서 노출(하위호환). */ public List listWritableGroups(String boardCategory) { + // 게시판 미지정(수정 화면 등) → 전체 그룹 (기존 글 태그 유실 방지) + if (boardCategory == null || boardCategory.isBlank()) { + return listGrouped(); + } List result = new ArrayList<>(); for (TagCategory c : categoryMapper.findAll()) { TagCategoryResponse g = toGroup(c); @@ -80,23 +81,6 @@ public class TagService { .forEach(b -> categoryBoardMapper.insert(categoryId, b)); } - /* ===================== 게시판 설정 ===================== */ - - public BoardSettingResponse getBoardSetting() { - return BoardSettingResponse.builder() - .tagCategoryId(boardSettingMapper.findTagCategoryId()) - .build(); - } - - @Transactional - public BoardSettingResponse setBoardSetting(Long tagCategoryId) { - if (tagCategoryId != null && categoryMapper.findById(tagCategoryId) == null) { - throw new ApiException(HttpStatus.NOT_FOUND, "카테고리를 찾을 수 없습니다."); - } - boardSettingMapper.updateTagCategoryId(tagCategoryId); - return BoardSettingResponse.builder().tagCategoryId(tagCategoryId).build(); - } - /* ===================== 카테고리 ===================== */ @Transactional diff --git a/src/main/resources/db/board.sql b/src/main/resources/db/board.sql index 8a1deee..431dd0f 100644 --- a/src/main/resources/db/board.sql +++ b/src/main/resources/db/board.sql @@ -71,16 +71,6 @@ CREATE TABLE IF NOT EXISTS post_tag ( KEY idx_post_tag_tag (tag_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; --- 게시판 설정 (단일 행) — 게시판에서 사용할 태그 카테고리 지정 -CREATE TABLE IF NOT EXISTS board_setting ( - id BIGINT NOT NULL, - tag_category_id BIGINT NULL COMMENT '이 게시판에서 사용 가능한 태그 카테고리', - updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - PRIMARY KEY (id) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - -INSERT IGNORE INTO board_setting (id, tag_category_id) VALUES (1, NULL); - -- 게시글 인라인 이미지 (DB 저장). 본문에는 /api/images/{id} URL 만 포함(base64 미사용). CREATE TABLE IF NOT EXISTS board_image ( id BIGINT NOT NULL AUTO_INCREMENT, diff --git a/src/main/resources/mapper/BoardSettingMapper.xml b/src/main/resources/mapper/BoardSettingMapper.xml deleted file mode 100644 index e201d14..0000000 --- a/src/main/resources/mapper/BoardSettingMapper.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - UPDATE board_setting SET tag_category_id = #{categoryId} WHERE id = 1 - - -