Skip to content

release: v260325 - #161

Merged
wngktjd13 merged 8 commits into
mainfrom
develop
Mar 24, 2026
Merged

release: v260325#161
wngktjd13 merged 8 commits into
mainfrom
develop

Conversation

@wngktjd13

Copy link
Copy Markdown
Member

#️연관된 이슈

📝작업 내용

Google Calendar 단방향 연동 (서버 → 구글)

  • Service Account 기반 Google Calendar API 연동 인프라 구성
  • 세미나/휴가 생성·수정·삭제 시 공유 캘린더에 자동 반영
  • 세미나/휴가 엔티티에 googleEventId 필드 추가하여 이벤트 매핑
  • Calendar Bean 미설정 시 graceful degradation (로그만 남기고 정상
    처리)

세미나 시간 필드 추가

  • 세미나에 startTime, endTime 선택 필드 추가
  • 시간 입력 시 구글 캘린더에서 시간순 정렬 지원 (기존: 종일 이벤트
    → 가나다순)
  • 시간 미입력 시 기존처럼 종일(all-day) 이벤트로 생성

내 캘린더에 추가 기능

  • 세미나/휴가 조회 응답에 googleCalendarLink 필드 추가
  • 유저가 원하는 일정만 선택적으로 자신의 구글 캘린더에 추가 가능

도메인별 권한 체크

  • 도메인별 권한 체크 로직 추가 및 변경

- 과제: 삭제는 어드민만, 수정은 어드민+실무책임자만 가능하도록 변경
- 연구성과(논문/특허/학술발표/수상/저서): createdBy 컬럼 추가,
  수정/삭제 시 어드민 또는 작성자만 가능하도록 권한 체크 추가
- 저널: 등록/수정을 어드민만 가능하도록 권한 체크 추가
- 세미나 캘린더: 전원 수정/삭제 가능하도록 권한 체크 제거
구글 캘린더 연동을 위한 이벤트 ID 저장 필드 및 업데이트 메서드 추가
- GoogleCalendarConfig: ConditionalOnProperty로 키 없으면 비활성화
- GoogleCalendarService: 이벤트 CRUD + try-catch 실패 시 로그만 남김
- build.gradle: google-api-services-calendar 의존성 버전 수정
- application yml: google.calendar 환경변수 설정 추가
- SeminarService: 생성/수정/삭제 시 구글 캘린더 이벤트 동기화
- LeaveService: 승인/수정/삭제 시 구글 캘린더 이벤트 동기화
- 구글 캘린더 서비스 미등록 시(로컬) null 체크로 정상 동작
@ConditionalOnProperty/@ConditionalOnBean 방식에서 빈 문자열 처리 이슈로
Bean이 생성되지 않던 문제를 직접 null/blank 체크 방식으로 변경
세미나에 startTime/endTime 선택 필드를 추가하여 종일 이벤트 외에 시간 지정 이벤트도
구글 캘린더에 등록 가능하도록 개선. 시간 지정 시 구글 캘린더에서 시간순 정렬됨.
SeminarResponse와 LeaveDetail에 googleCalendarLink 필드를 추가하여
유저가 원하는 일정만 선택적으로 자신의 구글 캘린더에 추가할 수 있도록 지원.
@wngktjd13
wngktjd13 merged commit 5c190a6 into main Mar 24, 2026
4 checks passed
@wngktjd13 wngktjd13 changed the title feat: Google Calendar 연동 및 세미나 시간 필드 추가 release: v260325 Mar 24, 2026
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.

1 participant