Skip to content

Conversation

@kimyerak
Copy link
Collaborator

@kimyerak kimyerak commented Feb 2, 2025

시간표 기능과 관련된 총 14개의 API를 구현해놓았습니다.

  1. 시간표 api의 컨트롤러와 서비스는 각각 TimetableController, TimetableService에 위치합니다.
  2. 개인일정 api의 컨트롤러와 서비스는 각각 PrivacyController, PrivacyService에 위치합니다.
  3. 시간표속 강의/일정들이 서로 겹치는 일이 없도록 util에 TimelocationUtil을 만들어, 겹침이 있으면 추가가 불가능하게 했습니다.

PR 내용

📢 개요

시간표(Timetable) 및 개인 일정(Privacy) 관리 기능을 위한 14개의 API를 추가하였습니다.
추가된 API는 시간표 생성, 삭제, 강의 및 개인 일정 추가/제거, 이름 변경 및 조회 기능을 포함합니다.


🛠️ 구현된 API 목록

🟢 개인 일정 관련 API

HTTP Method Endpoint 설명
DELETE /api/privacy/{privacyId} 개인 일정 삭제
GET /api/privacy 사용자의 모든 개인 일정 조회
GET /api/privacy/timetable/{timetableId} 특정 시간표의 개인 일정 조회
POST /api/privacy 개인 일정 생성 (📌 요일 반드시 한 글자, 예: 월, 수, 토)
PUT /api/privacy/{privacyId} 개인 일정 수정 (📌 이름 & 장소만 변경 가능)

🟢 시간표 관련 API

HTTP Method Endpoint 설명
DELETE /api/timetables/{timetableId} 시간표 삭제
DELETE /api/timetables/{timetableId}/privacy/{privacyId} 시간표에서 개인 일정 제거
DELETE /api/timetables/{timetableId}/course/{courseId} 시간표에서 강의 제거
GET /api/timetables/{timetableId} 특정 시간표 조회
GET /api/timetables/names-and-ids 로그인된 사용자의 시간표 목록 조회
POST /api/timetables 시간표 생성
POST /api/timetables/{timetableId}/privacy/{privacyId} 시간표에 개인 일정 추가
POST /api/timetables/{timetableId}/course/{courseId} 시간표에 강의 추가
PUT /api/timetables/{timetableId} 시간표 이름 변경

🏗️ 테스트 방법 (Postman)

각 API는 Postman을 이용하여 아래와 같은 방식으로 테스트할 수 있습니다.

예제 1: 개인 일정 추가 (POST /api/privacy)

📌 요청 바디

{
    "name": "회의 일정",
    "day": "화",
    "startTime": "10:00:00",
    "finishTime": "12:00:00",
    "location": "회의실",
    "timetableIds": [3]
}

📌 성공 응답

{
    "status": "SUCCESS",
    "message": "개인 일정이 성공적으로 생성되었습니다.",
    "data": {
        "id": 5,
        "name": "회의 일정",
        "day": "화",
        "startTime": "10:00:00",
        "finishTime": "12:00:00",
        "location": "회의실"
    },
    "version": "v1.2.1-alpha"
}

예제 2: 시간표 삭제 (DELETE /api/timetables/{timetableId})

📌 요청 URL

DELETE /api/timetables/3

📌 성공 응답

{
    "status": "SUCCESS",
    "message": "시간표가 성공적으로 삭제되었습니다.",
    "version": "v1.2.1-alpha"
}

📌 추가 작업 예정

  • 🔍 DB ERD 업데이트
  • 🚀 프론트엔드 연동하면서 피드백 주세요~!

📌 리뷰 및 피드백 부탁드립니다! 🙌

@kimyerak kimyerak closed this Feb 2, 2025
@kimyerak
Copy link
Collaborator Author

kimyerak commented Feb 2, 2025

악 main으로 잘못 pr날림 ㅠ

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.

3 participants