Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEATURE] Board 생성/수정/조회/활성화/비활성화, 특정 게시판 조회(제목+설명) #65

Open
wants to merge 14 commits into
base: develop
Choose a base branch
from

Conversation

u-genuine
Copy link
Member

@u-genuine u-genuine commented Jan 31, 2025


name: PULL_REQUEST_TEMPLATE
about: Describe this issue template's purpose here.
title: ''
labels: ''
assignees: ''


PR Type

<!— Please check the one that applies to this PR using "x". —>

  • 버그수정(Bugfix)
  • 기능개발(Feature)
  • 코드 스타일 변경(Code style update) (formatting, local variables)
  • 리팩토링 (no functional changes, no api changes)
  • 빌드 관련 변경
  • 문서 내용 변경
  • Other… Please describe:

요약(Summary)

  • Board 생성/수정/조회/활성화/비활성화
  • 기존 UniversityBoard 삭제 -> Board 엔티티로 통합
  • 특정 게시판 제목 + 설명 조회

상세 내용(Describe your changes)

1. 게시판 생성

image

성공 응답

{
    "status": "OK",
    "data": {
        "boardId": 10
    },
    "timestamp": "2025-01-31 18:55:20"
}

관리자가 아닌 경우

{
    "code": "USER-004",
    "message": "사용자가 관리자 권한을 갖고 있지 않습니다.",
    "method": "POST",
    "requestURI": "/v1/api/admin/boards"
}

학교 게시판 중복 생성하는 경우

{
    "code": "BOARD-004",
    "message": "이미 해당 대학 게시판이 존재합니다.",
    "method": "POST",
    "requestURI": "/v1/api/admin/boards"
}

필수 값이 누락된 경우

{
    "code": "COMMON-002",
    "message": "boardName: 널이어서는 안됩니다",
    "method": "POST",
    "requestURI": "/v1/api/admin/boards"
}
{
    "code": "COMMON-002",
    "message": "isCategoryRequired: 널이어서는 안됩니다",
    "method": "POST",
    "requestURI": "/v1/api/admin/boards"
}

2. 게시판 수정

image

성공 응답

{
    "status": "OK",
    "timestamp": "2025-01-31 19:24:45"
}

관리자가 아닌 경우

{
    "code": "USER-004",
    "message": "사용자가 관리자 권한을 갖고 있지 않습니다.",
    "method": "PUT",
    "requestURI": "/v1/api/admin/boards/1"
}

필수 값 누락된 경우

{
    "code": "COMMON-002",
    "message": "boardName: 널이어서는 안됩니다",
    "method": "PUT",
    "requestURI": "/v1/api/admin/boards/1"
}
{
    "code": "COMMON-002",
    "message": "isCategoryRequired: 널이어서는 안됩니다",
    "method": "PUT",
    "requestURI": "/v1/api/admin/boards/1"
}

3. 게시판 보관(비활성화)

image

성공 응답

{
    "status": "OK",
    "timestamp": "2025-01-31 19:28:49"
}

관리자가 아닌 경우

{
    "code": "USER-004",
    "message": "사용자가 관리자 권한을 갖고 있지 않습니다.",
    "method": "POST",
    "requestURI": "/v1/api/admin/boards/1/inactive"
}

중복 요청

{
    "code": "BOARD-005",
    "message": "이미 게시판이 비활성화 상태입니다.",
    "method": "POST",
    "requestURI": "/v1/api/admin/boards/1/inactive"
}

4. 게시판 활성화

image

성공 응답

{
    "status": "OK",
    "timestamp": "2025-01-31 19:28:49"
}

관리자가 아닌 경우

{
    "code": "USER-004",
    "message": "사용자가 관리자 권한을 갖고 있지 않습니다.",
    "method": "POST",
    "requestURI": "/v1/api/admin/boards/1/active"
}

중복 요청

{
    "code": "BOARD-006",
    "message": "이미 게시판이 활성화 상태입니다.",
    "method": "POST",
    "requestURI": "/v1/api/admin/boards/1/active"
}

5. 게시판 목록 조회 (관리자 페이지용)

image

성공 응답

{
    "status": "OK",
    "data": {
        "boardDetails": [
            {
                "boardId": 1,
                "boardName": "수정된 게시판",
                "universityId": 1,
                "description": "수정된 설명",
                "isCategoryRequired": false,
                "boardStatus": "ACTIVE",
                "postCount": 30
            },
            {
                "boardId": 2,
                "boardName": "board 2",
                "universityId": 2,
                "description": "",
                "isCategoryRequired": false,
                "boardStatus": "ACTIVE",
                "postCount": 1
            },
            {
                "boardId": 3,
                "boardName": "board 3",
                "universityId": null,
                "description": "",
                "isCategoryRequired": false,
                "boardStatus": "ACTIVE",
                "postCount": 0
            },
            {
                "boardId": 4,
                "boardName": "홍익대학교",
                "universityId": null,
                "description": "",
                "isCategoryRequired": false,
                "boardStatus": "ACTIVE",
                "postCount": 0
            },
            {
                "boardId": 5,
                "boardName": "홍익대학교",
                "universityId": null,
                "description": "",
                "isCategoryRequired": false,
                "boardStatus": "INACTIVE",
                "postCount": 0
            },
            {
                "boardId": 6,
                "boardName": "test board",
                "universityId": null,
                "description": "",
                "isCategoryRequired": true,
                "boardStatus": "INACTIVE",
                "postCount": 0
            },
            {
                "boardId": 7,
                "boardName": "test board",
                "universityId": null,
                "description": "",
                "isCategoryRequired": true,
                "boardStatus": "INACTIVE",
                "postCount": 0
            },
            {
                "boardId": 8,
                "boardName": "test board",
                "universityId": null,
                "description": "",
                "isCategoryRequired": true,
                "boardStatus": "ACTIVE",
                "postCount": 0
            },
            {
                "boardId": 9,
                "boardName": "modified board",
                "universityId": null,
                "description": "수정",
                "isCategoryRequired": true,
                "boardStatus": "ACTIVE",
                "postCount": 0
            },
            {
                "boardId": 10,
                "boardName": "자유게시판",
                "universityId": null,
                "description": "자유롭게 글을 쓰는 게시판입니다.",
                "isCategoryRequired": false,
                "boardStatus": "ACTIVE",
                "postCount": 0
            }
        ]
    },
    "timestamp": "2025-01-31 19:33:57"
}

관리자가 아닌 경우

{
    "code": "USER-004",
    "message": "사용자가 관리자 권한을 갖고 있지 않습니다.",
    "method": "GET",
    "requestURI": "/v1/api/admin/boards"
}

6. 특정 게시판 제목 + 설명 조회 (관리자 기능 X)

image

성공 응답

{
    "status": "OK",
    "data": {
        "boardName": "홍익대학교",
        "description": "수정된 설명"
    },
    "timestamp": "2025-01-31 20:12:23"
}

Issue Number or Link

#62

@u-genuine u-genuine linked an issue Jan 31, 2025 that may be closed by this pull request
5 tasks
@u-genuine u-genuine changed the title Feat/62 admin [FEATURE] Board 생성/수정/조회/활성화/비활성화 Jan 31, 2025
@u-genuine u-genuine changed the title [FEATURE] Board 생성/수정/조회/활성화/비활성화 [FEATURE] Board 생성/수정/조회/활성화/비활성화, 특정 게시판 조회(제목+설명) Jan 31, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[FEATURE] 관리자 페이지 기능 구현
1 participant