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

fix: 기존 objectMapper 설정 오버라이드 #132

Merged
merged 2 commits into from
Sep 18, 2023
Merged

Conversation

leeeryboy
Copy link
Contributor

JacksonConfig 파일 수정

한줄 요약

LocalDateTime 응답 수정하면서 objectMapper를 새로 만든것 때문에 기존에 스프링부트가 autoConfigure하던 세팅들이 바뀌어서 response가 의도치 않게 바뀌는 부분을 복구하였습니다.

상세 설명

[889b499]: LocalDateTime 이외 기존 설정 유지

@leeeryboy leeeryboy added the Fix label Sep 18, 2023
@leeeryboy leeeryboy requested a review from a team September 18, 2023 06:01
@leeeryboy leeeryboy self-assigned this Sep 18, 2023
@github-actions
Copy link

github-actions bot commented Sep 18, 2023

Test Results

  9 files    9 suites   1s ⏱️
36 tests 36 ✔️ 0 💤 0
40 runs  40 ✔️ 0 💤 0

Results for commit 0ad1fea.

♻️ This comment has been updated with latest results.

Copy link
Collaborator

@huGgW huGgW left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

고생하셨습니다!

@leeeryboy leeeryboy merged commit 467e25f into develop Sep 18, 2023
@leeeryboy leeeryboy deleted the fix/object-mapper branch September 18, 2023 14:31
leeeryboy added a commit that referenced this pull request Sep 18, 2023
* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* ✨ 패키지 및 엔티티 생성

* ✨ BaseTimeEntity 생성, PostEntity 기본 내용 작성

* ✨ PostController 생성 및 기본 내용 작성

* ✨ postService 생성

* ✨ Exceptions.kt 생성

* ✨ postDto 생성

* ✨ postRepository 생성 및 기본 내용 작성

* 💚 application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

* fix: main에서 develop으로 pr (#16)

* feat: merge develop to main (#13)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* ✨ 패키지 및 엔티티 생성

* ✨ BaseTimeEntity 생성, PostEntity 기본 내용 작성

* ✨ PostController 생성 및 기본 내용 작성

* ✨ postService 생성

* ✨ Exceptions.kt 생성

* ✨ postDto 생성

* ✨ postRepository 생성 및 기본 내용 작성

* 💚 application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* hotfix: 사용하지않는 Dto 및 엔티티 삭제 (#14)

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* feat: seminar 패키지 추가 (#17)

* feat: createSeminar, readSeminar, updateSeminar 추가

* feat: deleteSeminar, searchSeminar 추가

* fix: distinct 삭제

* hotfix: 불필요한 dto 삭제 (#20)

* hotfix: 불필요한 dto 삭제

* build.gradle 수정

* fix: 이미지 uri 필드 추가 및 프론트 요구사항 반영 (#21)

* feat: 이미지 uri 필드 추가 및 isActive 대신 status 추가

* fix: 행정직원 전체 조회 응답에서 task 삭제

* fix: 교수진 페이지 응답 수정

* feat: introduction 패키지, undergraduate 패키지 추가 (#22)

* feat: createUndergraduate, readUndergraduate 추가

* feat: readAllCourses, createCourse, readCourse 추가

* introduction 패키지 추가

* fix: dto에서 postType 삭제

* fix: postType pathVariable->requestBody 수정, 오타 수정

* fix: 프론트와 협의하여 이름 등 변경

* feat: academics 패키지 대학원도 가능하도록 추가

* feat: 장학제도 세부 장학금 create, read 추가

* fix: 수정

* fix:수정

* feat: admissions, research 패키지 추가 (#23)

* feat: admissions-학부 에서 create, read 추가

* feat: admissions-대학원도 작성 가능하도록 추가

* feat: createResearch 추가

* feat: createLab 추가

* fix: 다른 패키지에 맞게 수정

* research-groups, research-centers에서 read, update 추가

* fix: admissions, research에서 프론트와 협의하여 이름 등 수정

* fix: 오타 수정

* fix: enum 추가, pr 리뷰 반영

* feat: oidc 로그인 (#27)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: idsnucse 다운 되었을때 에러 처리

* feat: idsnucse 다운 되었을때 에러 처리

* feat: cors 설정 (#30)

* fix: cors 추가 설정 (#32)

* feat: cors 설정

* feat: cors 설정

* fix: CORS (#34)

* feat: cors 설정

* feat: cors 설정

* feat: cors 설정

* fix: about, academics, admissions 패키지 수정 (#25)

* fix: admissions, about 컨트롤러 변경

* fix: academics 컨트롤러 수정

* 커밋중

* fix: pr 리뷰 반영

* feat: readMain 추가

* pr 리뷰 반영

* feat: 일반 예약 및 정기 예약 API (#28)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: 예약 엔티티 및 DTO 설계

* feat: 일반 예약 및 정기 예약

* feat: 예약 조회 API (#39)

* feat: 권한 관리 위해 커스텀 어노테이션 생성

* feat: 예약 단건, 주별, 월별 조회 API

* fix: 로컬 DB 설정 수정

* feat: 유저 조회 중복 쿼리 방지

* feat: 예약 응답에 recurrenceId 추가

* feat: 동시 예약 방지

* fix: 시큐리티 로그 다시 로컬에서만 보이도록 변경

* feat: 목데이터 날라가지 않도록 ddl-auto 수정

* feat: about, member, news, seminar 메인 이미지 업로드 추가 (#38)

* feat: uploadImage 추가

* feat: about, member 사진 업로드 추가

* feat: news, seminar 사진 업로드 추가

* refactor: imageEntity 추가 리팩토링

* fix: gif 삭제

* fix: application.yaml 수정

* fix: newsService 태그 -> 이미지로 순서 변경

* fix: pr 리뷰 수정

* fix: extension 없애고, mainImage로 바꾸고, uuid 없애기

* fix: var 삭제

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* CICD: Change deploy port to 8080 (#40)

* [Merge] (#41) (#42)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* ✨ 패키지 및 엔티티 생성

* ✨ BaseTimeEntity 생성, PostEntity 기본 내용 작성

* ✨ PostController 생성 및 기본 내용 작성

* ✨ postService 생성

* ✨ Exceptions.kt 생성

* ✨ postDto 생성

* ✨ postRepository 생성 및 기본 내용 작성

* 💚 application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

* fix: main에서 develop으로 pr (#16)

* feat: merge develop to main (#13)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* ✨ 패키지 및 엔티티 생성

* ✨ BaseTimeEntity 생성, PostEntity 기본 내용 작성

* ✨ PostController 생성 및 기본 내용 작성

* ✨ postService 생성

* ✨ Exceptions.kt 생성

* ✨ postDto 생성

* ✨ postRepository 생성 및 기본 내용 작성

* 💚 application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

---------




* hotfix: 사용하지않는 Dto 및 엔티티 삭제 (#14)

---------




* feat: seminar 패키지 추가 (#17)

* feat: createSeminar, readSeminar, updateSeminar 추가

* feat: deleteSeminar, searchSeminar 추가

* fix: distinct 삭제

* hotfix: 불필요한 dto 삭제 (#20)

* hotfix: 불필요한 dto 삭제

* build.gradle 수정

* fix: 이미지 uri 필드 추가 및 프론트 요구사항 반영 (#21)

* feat: 이미지 uri 필드 추가 및 isActive 대신 status 추가

* fix: 행정직원 전체 조회 응답에서 task 삭제

* fix: 교수진 페이지 응답 수정

* feat: introduction 패키지, undergraduate 패키지 추가 (#22)

* feat: createUndergraduate, readUndergraduate 추가

* feat: readAllCourses, createCourse, readCourse 추가

* introduction 패키지 추가

* fix: dto에서 postType 삭제

* fix: postType pathVariable->requestBody 수정, 오타 수정

* fix: 프론트와 협의하여 이름 등 변경

* feat: academics 패키지 대학원도 가능하도록 추가

* feat: 장학제도 세부 장학금 create, read 추가

* fix: 수정

* fix:수정

* feat: admissions, research 패키지 추가 (#23)

* feat: admissions-학부 에서 create, read 추가

* feat: admissions-대학원도 작성 가능하도록 추가

* feat: createResearch 추가

* feat: createLab 추가

* fix: 다른 패키지에 맞게 수정

* research-groups, research-centers에서 read, update 추가

* fix: admissions, research에서 프론트와 협의하여 이름 등 수정

* fix: 오타 수정

* fix: enum 추가, pr 리뷰 반영

* feat: oidc 로그인 (#27)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: idsnucse 다운 되었을때 에러 처리

* feat: idsnucse 다운 되었을때 에러 처리

* feat: cors 설정 (#30)

* fix: cors 추가 설정 (#32)

* feat: cors 설정

* feat: cors 설정

* fix: CORS (#34)

* feat: cors 설정

* feat: cors 설정

* feat: cors 설정

* fix: about, academics, admissions 패키지 수정 (#25)

* fix: admissions, about 컨트롤러 변경

* fix: academics 컨트롤러 수정

* 커밋중

* fix: pr 리뷰 반영

* feat: readMain 추가

* pr 리뷰 반영

* feat: 일반 예약 및 정기 예약 API (#28)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: 예약 엔티티 및 DTO 설계

* feat: 일반 예약 및 정기 예약

* feat: 예약 조회 API (#39)

* feat: 권한 관리 위해 커스텀 어노테이션 생성

* feat: 예약 단건, 주별, 월별 조회 API

* fix: 로컬 DB 설정 수정

* feat: 유저 조회 중복 쿼리 방지

* feat: 예약 응답에 recurrenceId 추가

* feat: 동시 예약 방지

* fix: 시큐리티 로그 다시 로컬에서만 보이도록 변경

* feat: 목데이터 날라가지 않도록 ddl-auto 수정

* feat: about, member, news, seminar 메인 이미지 업로드 추가 (#38)

* feat: uploadImage 추가

* feat: about, member 사진 업로드 추가

* feat: news, seminar 사진 업로드 추가

* refactor: imageEntity 추가 리팩토링

* fix: gif 삭제

* fix: application.yaml 수정

* fix: newsService 태그 -> 이미지로 순서 변경

* fix: pr 리뷰 수정

* fix: extension 없애고, mainImage로 바꾸고, uuid 없애기

* fix: var 삭제

---------



* CICD: Change deploy port to 8080 (#40)

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>

* feat: 장학제도 GET API 및 장학제도 페이지 응답 수정 (#44)

* feat: 장학제도 GET API

* feat: 장학제도 메인페이지 GET API 응답 수정

* feat: custom metadata 설정 + 리다이렉트 엔드포인트 변경 (#45)

* feat: yml 파일에 custom metadata endpoint 추가

* feat: 로그인/로그아웃 성공 리다이렉트 엔드포인트 변경

* feat: attachments 패키지 추가, news와 seminar request에 attachments 추가 (#43)

* feat: attachments 추가, news request에 attachments 추가

* feat: seminar request에 attachments 추가

* fix: mappedBy 추가 + bringAttachments null 없앰

* fix: 경로 분리

* fix: isDeleted false로 수정

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* feat: Top Conference List GET API (#47)

* feat: Top Conference List GET API

* feat: db에서 가져올때 정렬

* feat: 파일 서빙, 다운로드, 삭제 API (#48)

* feat: 파일 서빙, 다운로드, 삭제 API

* fix: extension 중복, 경로 수정

* feat: 공지사항 글쓴이 추가 (#49)

* CI/CD: Https 적용 및 백엔드, 데이터베이스, 프록시 서버 배포 분리 (#50)

* Config: Add gitignore for caddy files.

* CICD: Add caddy config file

* CICD: Seperate docker compose file for db and backend server.

* CICD: Docker Compose file for caddy proxy server.

* CICD: Add path condition for only act when source file has changed.

* CICD: Add workflow for deploying database changes.

* CICD: Add workflow for proxy server changes.

* Refactor: Add /api/v1 in front of all endpoints (except swagger-ui)

* Refactor: Add v1 to Main Image url.

* Refactor: change backend, frontend, login redirect uri to get from env.

* CICD: Add url to .env

* Fix: Change job name of database workflow, fix indent level.

* Fix: Remove duplicated restcontroller mapping.

* Fix: Set reverse proxy for swagger-ui/* for swagger.

* Docs: Set swagger to only scan /api/**

* Fix: add caddy to reverse api-docs/* for springdoc.

* Fix: Add login uris for reverse proxying to backend server.

* CICD: Remove testing branch condition.

* CICD: Add logout uri to reverse proxy to backend server.

* CICD: Remove test branch

* fix: 프론트랑 협의하여 내용 변경 + news, seminar에 image, attachments update 추가 (#51)

* feat: attachments 추가, news request에 attachments 추가

* feat: seminar request에 attachments 추가

* feat: about request에 attachments 추가

* feat: academics request에 attachments 추가

* fix: isPinned 삭제

* fix: image -> mainImage 변경, about에 greetings 추가

* fix: news, seminar update 수정

* fix: 전체적으로 image -> mainImage 변경

* fix: research 패키지 프론트에 맞춰 협의 (#52)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* fix: pr 리뷰 수정

* fix: 오타 수정

* [Refactor] 로그인, file uri 배포 환경에 맞게 수정 (#53)

* Refactor: Change mapping of file to append /api/v1 in front.

* Refactor: Change login, logout redirect uri

* fix: https 적용 관련 로그인 수정 (#56)

* fix: notice 패키지 프론트에 맞게 협의 (#54)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* feat: notice에 attachments 추가

* fix: fix_with_front1 변경 사항에 맞게 수정

* feat: isImportant 추가

* feat: NoticeSearchDto에 hasAttachment 추가

* fix: update에서 attachmetnts가 null일 때 빈 목록 반환

* feat: 공지사항 선택 고정해제, 선택 삭제 추가

* fix: news, seminar에 isImportant 추가

* fix: pr 리뷰 수정

* fix: 수정했던거 다시 복구

* feat: 신임교수초빙 (#59)

* feat: 행정실 권한 체크 API (#60)

* [CICD] mainImage, attachment 경로 mount 설정 (#55)

* CICD: Add mainImage, attachment directory for mounting

* CICD: Add volumes to mount with server directory. (for attachment)

* [Feat] 예전 url과 비슷하게 이전 파일(사진)들 접근할 수 있도록 controller 생성 (#58)

* Config: Add oldFiles path for properties.

* Feat: Add deprecated file controller for getting old files temporarily.

* CICD: Add volume mounting for old files.

* CICD: Add dir to mount for old files.

* Refactor: Change api to /sites/default/files/{PATH}

* CICD: Add reverse proxy for old file serving.

* fix: 예약 dto에 지도교수, 반복 횟수 추가 (#61)

* fix: 로그아웃 엔드포인트 변경 (#64)

* fix: 로그아웃 엔드포인트 변경

* fix: 로그아웃 성공 리다이렉트 엔드포인트 변경

* [Fix] Notice, News Description TEXT type으로 변환 (#65)

* Fix: Change notice and news entity description type as TEXT.

* Fix: Change to mediumtext

* fix: newsSearchResponse, seminarSearchResponse 수정 (#66)

* fix: newsSearchResponse 수정

* fix: SeminarSearchResponse 수정

* fix: 오타수정

* fix: 파일 업로드 경로 통일 (#68)

* fix: 갯수만 fetch하도록 최적화 (#70)

* Fix: Change type of additionalNote column on SeminarEntity to "TEXT" (#71)

* fix: academics 패키지 프론트에 맞춰 협의, admin 패키지 추가 (#69)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* feat: notice에 attachments 추가

* fix: fix_with_front1 변경 사항에 맞게 수정

* feat: isImportant 추가

* feat: NoticeSearchDto에 hasAttachment 추가

* fix: update에서 attachmetnts가 null일 때 빈 목록 반환

* feat: 공지사항 선택 고정해제, 선택 삭제 추가

* fix: news, seminar에 isImportant 추가

* fix: pr 리뷰 수정

* fix: 수정했던거 다시 복구

* fix: course response 수정

* feat: academics에서 연도별로 주는 response 추가

* feat: academics YearResponses 추가

* fix: createScholarship 합치기

* fix: scholarship 패키지의 내용을 academics 하위로 옮김

* feat: createScholarshipDetail 추가

* fix: 필수 교양과목 response 변경

* feat: admin 패키지에서 readAllSlides 추가

* feat: admin 패키지 readAllImportants 추가

* feat: admin 패키지 중요안내 추가

* Refactor: HTML로부터 텍스트 추출 함수 Utils로 이동 (#73)

* Feat: Add cleanTextFromHtml.

* Refactor: Remove private clean method, replace to Utils.cleanTextFromHtml.

* Refactor: Remove unused imports.

* Feat: Add plain text description for notice (#74)

* Feat: Add cleanTextFromHtml.

* Refactor: Remove private clean method, replace to Utils.cleanTextFromHtml.

* Refactor: Remove unused imports.

* Feat: Add plainTextDescription.

* Feat: Add plainTextDescription in createNotice.

* Feat: add updating plainTextDescription when updating description.

* fix: admissions 패키지 프론트에 맞게 협의 (#76)

* fix: admissions 프론트에 맞게 협의

* fix: seminarEntity time 삭제

* fix: admissionsEntity pageName 추가

* fix: 불필요한 파일 삭제

* 커밋

* fix: 이전 글 다음 글만 fetch 하도록 쿼리 최적화 (#75)

* fix: 이전 글 다음 글만 fetch 하도록 쿼리 최적화

* fix: distinct 수정

* fix: 쿼리 최적화

* fix: total Long 타입으로 수정

* CI/CD: Test 설정 (#77)

* Config: Add kotest, mockk, h2 db for testing.

* Config: Add test profile.

* Config: Add testconfig for jpaqueryfactory.

* CICD: Add build, test workflow

* Fix: Revert local datasource url change.

* [Test] Notice create, update 시 plainTextDescription 동작 테스트 (#78)

* Config: Add test profile.

* Test: Add Tests for Create, Update Notice, in perspective of plainTextDescription

* Fix: Change life cycle hook resolution to container.

* [Feat] Seminar plain text field 추가 (#79)

* Feat: Add plain text column for description, introduction, additionalnote.

* Feat: Add description, introduction, additionalnote for dto -> entity.

* Feat: Change to update plain description, introduction, additional note.

* Feat: Use plainTextDesription for searchdto.

* Test: Test for create, update of plain texts.

* Test: Fix seminar service test.

* Feat: News plain text field 추가 (#80)

* Feat: Add plainTextDescription field for news entity

* Feat: Add to create, and update plainTextDescription.

* Feat: Change to use plainTextDescription when making newssearchdto.

* Test: Test for create/update plainTextDescription.

* Feat: 구성원 검색 위한 table 추가. (#81)

* Feat: MemberSearchEntity 추가.

* Feat: MemberSearchRepository 추가

* Feat: MemberSearchService 추가

* Feat: ProfessorEntity, StaffEntity에 MemberSearch 추가.

* Feat: ProfessorStatus에 한글 값 추가.

* Feat: professor create, update 시 memberSearch도 반영하도록 추가.

* Feat: seminar create, update 시 memberSearch도 반영하도록 추가.

* Test: ProfessorService 테스트 추가.

* Test: StaffServiceTest 추가.

* fix: 새소식 세미나 쿼리 수정 (#82)

* refactor: 유틸 패키지 생성 및 FixedPageRequest 분리

* feat: 새소식 세미나 이전 다음 글 및 total 쿼리 최적화

* fix: pageNum 값으로 usePageBtn 값 설정

* fix: import 경로 수정

* fix: local db port 3306

* 중복 삭제

* fix: prod endpoint https로 변경

* fix: main 프론트에 맞게 협의, notice 태그 enum 추가 (#83)

* fix: mainResponse 다시 작성

* feat: TagInNoticeEnum 추가

* feat: notice enum 추가

* fix: 코드 수정

* fix: isPublic -> isPrivate으로 정리 (#86)

* fix: rebase 정리

* fix: 오타 수정

* feat: 로컬 로그인 테스트용 엔드포인트로 임시 변경 (#87)

* Feat: 구성원 검색 API 추가 (#85)

* Feat: Add mysql custom dialect with MATCH AGAINST BOOLEAN MODE function.

* CICD: Add config for mysql db

* CICD: Add volumes for config file.

* CICD: Add db_config for condition for db deploy

* Feat: Add search top, and search query.

* Feat: Add DTOs

* Feat: Add Controller for member search only top, and page.

* Feat: Add dialect config for application.yaml

* Feat: Add controller for member search.

* Refactor: Change exception message to korean.

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>

* fix: 세미나 시간 타입 변경 (#91)

* fix: 세미나 시간 LocalDateTime으로 변경

* test: 테스트 수정

* fix: 태그 항목 수정 (#92)

* fix: news tag 추가 (#90)

* fix: news tag 추가

* fix: 일반인은 isPrivate = false인 것만, 직원은 모든 게시글 보여주기

* feat: 졸업생 창업 진로, 졸업생 진로 response 추가 (#94)

* fix: news tag 추가

* fix: 일반인은 isPrivate = false인 것만, 직원은 모든 게시글 보여주기

* feat: about  졸업생 read 추가

* fix: 오타 수정

* fix: conference 주소 추가 (#95)

* Feat: 연구 탭 통합검색 위한 Table 생성. (#97)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Fix: Fix typo, import library.

* Feat: Lab Update API 추가 (#98)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Feat: Add update method for labentity.

* Feat: Add update lab service.

* Feat: Add update lab controller.

* Test: Add ResearchServiceTest.

* Feat: Add deleteAttachment (marking)

* Fix: Add typo, add import library.

* Feat: Conference page 수정 API (#99)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Feat: Add update method for labentity.

* Feat: Add update lab service.

* Feat: Add update lab controller.

* Test: Add ResearchServiceTest.

* Feat: Add Conference Repository.

* Feat: add conferenc eentity method for create, update entity.

* Feat: Change variables to mutable.

* Feat: Add id in conferencedto.

* Feat: Add to sort the conferenceList.

* Feat: Add deleteAttachment (marking)

* Feat add service to modify conference page (create, modify, delete conferences)

* Feat: Add api for modify conference page.

* Test: Add test for conference service.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 파일 관련 수정 (#100)

* fix: 업로드 파일 사이즈 제한

* fix: 원본 첨부파일 이름으로 응답

* refactor: 세미나 업데이트 시 삭제할 첨부파일 id만 받도록 변경

* fix: 파일 api 경로 수정

* fix: deleteAttachment

* fix: GET notice 권한 관련 로직 수정 (#101)

* Refactor: Extract Full Text Query Template to CommonRepository (#102)

* Feat: Extract full text search template to common repository.

* Feat: Change full text search to use extracted repository.

* Feat: Add for 4 elements.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Notice Seminar News Search to Full Text Query (#105)

* Feat: Extract full text search template to common repository.

* Feat: Change full text search to use extracted repository.

* Feat: Add for 4 elements.

* Feat: Add more args cnt.

* Feat: Change keyword boolean builder to full text.

* Feat: Change keyword boolean builder to full text.

* Feat: Change keyword boolean builder to full text.

* Hotfix: Change mount volume. (#103)

* feat: api 권한 설정 (#84)

* fix: GET notice 권한 관련 로직 수정 (#109)

* fix: 필요한 column만 select (#111)

* refactor: 공지 태그 응답 한국어로 변경 및 리팩토링 (#113)

* refactor: 공지 태그 응답 한국어로 수정 및 리팩토링

* refactor: 새소식 태그 리팩토링

* fix: NewsRepository

* fix: 공지 새소식 PATCH 로직 수정 (#114)

* fix: 공지 새소식 PATCH 로직 수정

* test: 테스트 수정

* fix: news 엔티티에 날짜 추가 (#115)

* Feat: 검색 결과에서 keyword 위치, 적절한 substring 추출 위한 method 추가 (#116)

* Feat: Add utils substringAroundKeyword

* Test: Add test for Utils.kt

* fix: total 더미 값 + pageNum null일때만 더미 값 주기 (#117)

* fix: 예약 조회 권한 분리 및 응답 단순화 (#119)

* fix: 예약 단건 조회 권한 분리

* feat: 월별,주별 조회용 SimpleReservationDto

* fix: 로그인 리다이렉트 엔드포인트 복구 (#121)

* feat: migrateAbout, migrateFutureCareers 추가 (#118)

* feat: AboutRequest, migrateAbout 추가

* feat: future-careers 마이그레이션 추가

* feat: request 패키지 추가

* fix: AboutRequest 간소화

* fix: future-careers description aboutEntity에 저장

* feat: about 패키지 마이그레이션 추가 (#120)

* feat: AboutRequest, migrateAbout 추가

* feat: future-careers 마이그레이션 추가

* feat: request 패키지 추가

* fix: 불필요한 dto 삭제

* feat: migrateStudentClubs 추가

* feat: migrateFacilities 추가

* feat: migrateDirections 추가

* fix: 불필요한 dto 삭제

* fix: request 패키지 삭제

* fix: 오타 수정

* fix: news, notice에 titleForMain 추가 (#125)

* fix: 소식3총사 titleForMain 데이터 생성

* fix: 테스트에 titleForMain  추가

* Revert "fix: 테스트에 titleForMain  추가"

This reverts commit e824ad34e60e0785f1d4c4e187776d4b8bf53dfa.

* fix: 테스트에 titleForMain 추가

* fix: seminar titleForMain 추가

* fix: seminar test titleForMain 추가

* feat: LocalDateTime 응답 마지막에 Z 추가 (#126)

* refactor: deleteIds request 내부로 이동 (#127)

* refactor: deleteIds request 내부로 이동

* test: 테스트 수정

* fix: 확장자 중복 버그 (#128)

* feat: 관리자는 새소식, 세미나 목록에서 비공개 글 확인 가능 (#129)

* feat: research, member 패키지 migrate 추가 (#130)

* feat: migrateProfessors 추가

* feat: migrateResearchDetail 추가

* feat: migrateLabs 추가

* fix: migrate 엔티티 description에 mediumText 추가

* feat: migrateStaff 추가

* fix: 빠진거 수정

* fix: 중복 패키지 삭제

* fix: 너무 안긴거 text로 수정

* fix: noticeSearchDto에도 private 추가 (#131)

* fix: noticeSearchDto에도 private 추가

* fix: json 추가

* fix: 수정 및 추가

* fix: 수정

* Fix: 키워드 추출 함수 수정 (#122)

* Fix: Fix IndexOutOfBoundException, change to return index based on substring.

* Fix: Change to check index exclude case, and set front, back index to better contains keyword.

* Test: Update Test.

* Feat: 통합검색 Notice API 구현 (#123)

* Feat: Add dtos for notice total search.

* Feat: Add repository for notice total search.

* Feat: Add service, controller for notice total search

* Feat: News 통합 검색 API 구현 (#124)

* Feat: Add dto for total search of news.

* Feat: Add repository for total search.

* Feat: Add service, controller for news total search.

* Fix: Fix conflict issues.

* fix: 기존 objectMapper 설정 오버라이드 (#132)

* feat: 파일 업로드 컨트롤러 구현 (#133)

* Feat: Change titleForMain column to TEXT type. (#134)

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
leeeryboy added a commit that referenced this pull request Sep 19, 2023
* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* ✨ 패키지 및 엔티티 생성

* ✨ BaseTimeEntity 생성, PostEntity 기본 내용 작성

* ✨ PostController 생성 및 기본 내용 작성

* ✨ postService 생성

* ✨ Exceptions.kt 생성

* ✨ postDto 생성

* ✨ postRepository 생성 및 기본 내용 작성

* 💚 application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

* fix: main에서 develop으로 pr (#16)

* feat: merge develop to main (#13)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* ✨ 패키지 및 엔티티 생성

* ✨ BaseTimeEntity 생성, PostEntity 기본 내용 작성

* ✨ PostController 생성 및 기본 내용 작성

* ✨ postService 생성

* ✨ Exceptions.kt 생성

* ✨ postDto 생성

* ✨ postRepository 생성 및 기본 내용 작성

* 💚 application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* hotfix: 사용하지않는 Dto 및 엔티티 삭제 (#14)

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* feat: seminar 패키지 추가 (#17)

* feat: createSeminar, readSeminar, updateSeminar 추가

* feat: deleteSeminar, searchSeminar 추가

* fix: distinct 삭제

* hotfix: 불필요한 dto 삭제 (#20)

* hotfix: 불필요한 dto 삭제

* build.gradle 수정

* fix: 이미지 uri 필드 추가 및 프론트 요구사항 반영 (#21)

* feat: 이미지 uri 필드 추가 및 isActive 대신 status 추가

* fix: 행정직원 전체 조회 응답에서 task 삭제

* fix: 교수진 페이지 응답 수정

* feat: introduction 패키지, undergraduate 패키지 추가 (#22)

* feat: createUndergraduate, readUndergraduate 추가

* feat: readAllCourses, createCourse, readCourse 추가

* introduction 패키지 추가

* fix: dto에서 postType 삭제

* fix: postType pathVariable->requestBody 수정, 오타 수정

* fix: 프론트와 협의하여 이름 등 변경

* feat: academics 패키지 대학원도 가능하도록 추가

* feat: 장학제도 세부 장학금 create, read 추가

* fix: 수정

* fix:수정

* feat: admissions, research 패키지 추가 (#23)

* feat: admissions-학부 에서 create, read 추가

* feat: admissions-대학원도 작성 가능하도록 추가

* feat: createResearch 추가

* feat: createLab 추가

* fix: 다른 패키지에 맞게 수정

* research-groups, research-centers에서 read, update 추가

* fix: admissions, research에서 프론트와 협의하여 이름 등 수정

* fix: 오타 수정

* fix: enum 추가, pr 리뷰 반영

* feat: oidc 로그인 (#27)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: idsnucse 다운 되었을때 에러 처리

* feat: idsnucse 다운 되었을때 에러 처리

* feat: cors 설정 (#30)

* fix: cors 추가 설정 (#32)

* feat: cors 설정

* feat: cors 설정

* fix: CORS (#34)

* feat: cors 설정

* feat: cors 설정

* feat: cors 설정

* fix: about, academics, admissions 패키지 수정 (#25)

* fix: admissions, about 컨트롤러 변경

* fix: academics 컨트롤러 수정

* 커밋중

* fix: pr 리뷰 반영

* feat: readMain 추가

* pr 리뷰 반영

* feat: 일반 예약 및 정기 예약 API (#28)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: 예약 엔티티 및 DTO 설계

* feat: 일반 예약 및 정기 예약

* feat: 예약 조회 API (#39)

* feat: 권한 관리 위해 커스텀 어노테이션 생성

* feat: 예약 단건, 주별, 월별 조회 API

* fix: 로컬 DB 설정 수정

* feat: 유저 조회 중복 쿼리 방지

* feat: 예약 응답에 recurrenceId 추가

* feat: 동시 예약 방지

* fix: 시큐리티 로그 다시 로컬에서만 보이도록 변경

* feat: 목데이터 날라가지 않도록 ddl-auto 수정

* feat: about, member, news, seminar 메인 이미지 업로드 추가 (#38)

* feat: uploadImage 추가

* feat: about, member 사진 업로드 추가

* feat: news, seminar 사진 업로드 추가

* refactor: imageEntity 추가 리팩토링

* fix: gif 삭제

* fix: application.yaml 수정

* fix: newsService 태그 -> 이미지로 순서 변경

* fix: pr 리뷰 수정

* fix: extension 없애고, mainImage로 바꾸고, uuid 없애기

* fix: var 삭제

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* CICD: Change deploy port to 8080 (#40)

* [Merge] (#41) (#42)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* ✨ 패키지 및 엔티티 생성

* ✨ BaseTimeEntity 생성, PostEntity 기본 내용 작성

* ✨ PostController 생성 및 기본 내용 작성

* ✨ postService 생성

* ✨ Exceptions.kt 생성

* ✨ postDto 생성

* ✨ postRepository 생성 및 기본 내용 작성

* 💚 application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

* fix: main에서 develop으로 pr (#16)

* feat: merge develop to main (#13)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* ✨ 패키지 및 엔티티 생성

* ✨ BaseTimeEntity 생성, PostEntity 기본 내용 작성

* ✨ PostController 생성 및 기본 내용 작성

* ✨ postService 생성

* ✨ Exceptions.kt 생성

* ✨ postDto 생성

* ✨ postRepository 생성 및 기본 내용 작성

* 💚 application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

---------




* hotfix: 사용하지않는 Dto 및 엔티티 삭제 (#14)

---------




* feat: seminar 패키지 추가 (#17)

* feat: createSeminar, readSeminar, updateSeminar 추가

* feat: deleteSeminar, searchSeminar 추가

* fix: distinct 삭제

* hotfix: 불필요한 dto 삭제 (#20)

* hotfix: 불필요한 dto 삭제

* build.gradle 수정

* fix: 이미지 uri 필드 추가 및 프론트 요구사항 반영 (#21)

* feat: 이미지 uri 필드 추가 및 isActive 대신 status 추가

* fix: 행정직원 전체 조회 응답에서 task 삭제

* fix: 교수진 페이지 응답 수정

* feat: introduction 패키지, undergraduate 패키지 추가 (#22)

* feat: createUndergraduate, readUndergraduate 추가

* feat: readAllCourses, createCourse, readCourse 추가

* introduction 패키지 추가

* fix: dto에서 postType 삭제

* fix: postType pathVariable->requestBody 수정, 오타 수정

* fix: 프론트와 협의하여 이름 등 변경

* feat: academics 패키지 대학원도 가능하도록 추가

* feat: 장학제도 세부 장학금 create, read 추가

* fix: 수정

* fix:수정

* feat: admissions, research 패키지 추가 (#23)

* feat: admissions-학부 에서 create, read 추가

* feat: admissions-대학원도 작성 가능하도록 추가

* feat: createResearch 추가

* feat: createLab 추가

* fix: 다른 패키지에 맞게 수정

* research-groups, research-centers에서 read, update 추가

* fix: admissions, research에서 프론트와 협의하여 이름 등 수정

* fix: 오타 수정

* fix: enum 추가, pr 리뷰 반영

* feat: oidc 로그인 (#27)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: idsnucse 다운 되었을때 에러 처리

* feat: idsnucse 다운 되었을때 에러 처리

* feat: cors 설정 (#30)

* fix: cors 추가 설정 (#32)

* feat: cors 설정

* feat: cors 설정

* fix: CORS (#34)

* feat: cors 설정

* feat: cors 설정

* feat: cors 설정

* fix: about, academics, admissions 패키지 수정 (#25)

* fix: admissions, about 컨트롤러 변경

* fix: academics 컨트롤러 수정

* 커밋중

* fix: pr 리뷰 반영

* feat: readMain 추가

* pr 리뷰 반영

* feat: 일반 예약 및 정기 예약 API (#28)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: 예약 엔티티 및 DTO 설계

* feat: 일반 예약 및 정기 예약

* feat: 예약 조회 API (#39)

* feat: 권한 관리 위해 커스텀 어노테이션 생성

* feat: 예약 단건, 주별, 월별 조회 API

* fix: 로컬 DB 설정 수정

* feat: 유저 조회 중복 쿼리 방지

* feat: 예약 응답에 recurrenceId 추가

* feat: 동시 예약 방지

* fix: 시큐리티 로그 다시 로컬에서만 보이도록 변경

* feat: 목데이터 날라가지 않도록 ddl-auto 수정

* feat: about, member, news, seminar 메인 이미지 업로드 추가 (#38)

* feat: uploadImage 추가

* feat: about, member 사진 업로드 추가

* feat: news, seminar 사진 업로드 추가

* refactor: imageEntity 추가 리팩토링

* fix: gif 삭제

* fix: application.yaml 수정

* fix: newsService 태그 -> 이미지로 순서 변경

* fix: pr 리뷰 수정

* fix: extension 없애고, mainImage로 바꾸고, uuid 없애기

* fix: var 삭제

---------



* CICD: Change deploy port to 8080 (#40)

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>

* feat: 장학제도 GET API 및 장학제도 페이지 응답 수정 (#44)

* feat: 장학제도 GET API

* feat: 장학제도 메인페이지 GET API 응답 수정

* feat: custom metadata 설정 + 리다이렉트 엔드포인트 변경 (#45)

* feat: yml 파일에 custom metadata endpoint 추가

* feat: 로그인/로그아웃 성공 리다이렉트 엔드포인트 변경

* feat: attachments 패키지 추가, news와 seminar request에 attachments 추가 (#43)

* feat: attachments 추가, news request에 attachments 추가

* feat: seminar request에 attachments 추가

* fix: mappedBy 추가 + bringAttachments null 없앰

* fix: 경로 분리

* fix: isDeleted false로 수정

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* feat: Top Conference List GET API (#47)

* feat: Top Conference List GET API

* feat: db에서 가져올때 정렬

* feat: 파일 서빙, 다운로드, 삭제 API (#48)

* feat: 파일 서빙, 다운로드, 삭제 API

* fix: extension 중복, 경로 수정

* feat: 공지사항 글쓴이 추가 (#49)

* CI/CD: Https 적용 및 백엔드, 데이터베이스, 프록시 서버 배포 분리 (#50)

* Config: Add gitignore for caddy files.

* CICD: Add caddy config file

* CICD: Seperate docker compose file for db and backend server.

* CICD: Docker Compose file for caddy proxy server.

* CICD: Add path condition for only act when source file has changed.

* CICD: Add workflow for deploying database changes.

* CICD: Add workflow for proxy server changes.

* Refactor: Add /api/v1 in front of all endpoints (except swagger-ui)

* Refactor: Add v1 to Main Image url.

* Refactor: change backend, frontend, login redirect uri to get from env.

* CICD: Add url to .env

* Fix: Change job name of database workflow, fix indent level.

* Fix: Remove duplicated restcontroller mapping.

* Fix: Set reverse proxy for swagger-ui/* for swagger.

* Docs: Set swagger to only scan /api/**

* Fix: add caddy to reverse api-docs/* for springdoc.

* Fix: Add login uris for reverse proxying to backend server.

* CICD: Remove testing branch condition.

* CICD: Add logout uri to reverse proxy to backend server.

* CICD: Remove test branch

* fix: 프론트랑 협의하여 내용 변경 + news, seminar에 image, attachments update 추가 (#51)

* feat: attachments 추가, news request에 attachments 추가

* feat: seminar request에 attachments 추가

* feat: about request에 attachments 추가

* feat: academics request에 attachments 추가

* fix: isPinned 삭제

* fix: image -> mainImage 변경, about에 greetings 추가

* fix: news, seminar update 수정

* fix: 전체적으로 image -> mainImage 변경

* fix: research 패키지 프론트에 맞춰 협의 (#52)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* fix: pr 리뷰 수정

* fix: 오타 수정

* [Refactor] 로그인, file uri 배포 환경에 맞게 수정 (#53)

* Refactor: Change mapping of file to append /api/v1 in front.

* Refactor: Change login, logout redirect uri

* fix: https 적용 관련 로그인 수정 (#56)

* fix: notice 패키지 프론트에 맞게 협의 (#54)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* feat: notice에 attachments 추가

* fix: fix_with_front1 변경 사항에 맞게 수정

* feat: isImportant 추가

* feat: NoticeSearchDto에 hasAttachment 추가

* fix: update에서 attachmetnts가 null일 때 빈 목록 반환

* feat: 공지사항 선택 고정해제, 선택 삭제 추가

* fix: news, seminar에 isImportant 추가

* fix: pr 리뷰 수정

* fix: 수정했던거 다시 복구

* feat: 신임교수초빙 (#59)

* feat: 행정실 권한 체크 API (#60)

* [CICD] mainImage, attachment 경로 mount 설정 (#55)

* CICD: Add mainImage, attachment directory for mounting

* CICD: Add volumes to mount with server directory. (for attachment)

* [Feat] 예전 url과 비슷하게 이전 파일(사진)들 접근할 수 있도록 controller 생성 (#58)

* Config: Add oldFiles path for properties.

* Feat: Add deprecated file controller for getting old files temporarily.

* CICD: Add volume mounting for old files.

* CICD: Add dir to mount for old files.

* Refactor: Change api to /sites/default/files/{PATH}

* CICD: Add reverse proxy for old file serving.

* fix: 예약 dto에 지도교수, 반복 횟수 추가 (#61)

* fix: 로그아웃 엔드포인트 변경 (#64)

* fix: 로그아웃 엔드포인트 변경

* fix: 로그아웃 성공 리다이렉트 엔드포인트 변경

* [Fix] Notice, News Description TEXT type으로 변환 (#65)

* Fix: Change notice and news entity description type as TEXT.

* Fix: Change to mediumtext

* fix: newsSearchResponse, seminarSearchResponse 수정 (#66)

* fix: newsSearchResponse 수정

* fix: SeminarSearchResponse 수정

* fix: 오타수정

* fix: 파일 업로드 경로 통일 (#68)

* fix: 갯수만 fetch하도록 최적화 (#70)

* Fix: Change type of additionalNote column on SeminarEntity to "TEXT" (#71)

* fix: academics 패키지 프론트에 맞춰 협의, admin 패키지 추가 (#69)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* feat: notice에 attachments 추가

* fix: fix_with_front1 변경 사항에 맞게 수정

* feat: isImportant 추가

* feat: NoticeSearchDto에 hasAttachment 추가

* fix: update에서 attachmetnts가 null일 때 빈 목록 반환

* feat: 공지사항 선택 고정해제, 선택 삭제 추가

* fix: news, seminar에 isImportant 추가

* fix: pr 리뷰 수정

* fix: 수정했던거 다시 복구

* fix: course response 수정

* feat: academics에서 연도별로 주는 response 추가

* feat: academics YearResponses 추가

* fix: createScholarship 합치기

* fix: scholarship 패키지의 내용을 academics 하위로 옮김

* feat: createScholarshipDetail 추가

* fix: 필수 교양과목 response 변경

* feat: admin 패키지에서 readAllSlides 추가

* feat: admin 패키지 readAllImportants 추가

* feat: admin 패키지 중요안내 추가

* Refactor: HTML로부터 텍스트 추출 함수 Utils로 이동 (#73)

* Feat: Add cleanTextFromHtml.

* Refactor: Remove private clean method, replace to Utils.cleanTextFromHtml.

* Refactor: Remove unused imports.

* Feat: Add plain text description for notice (#74)

* Feat: Add cleanTextFromHtml.

* Refactor: Remove private clean method, replace to Utils.cleanTextFromHtml.

* Refactor: Remove unused imports.

* Feat: Add plainTextDescription.

* Feat: Add plainTextDescription in createNotice.

* Feat: add updating plainTextDescription when updating description.

* fix: admissions 패키지 프론트에 맞게 협의 (#76)

* fix: admissions 프론트에 맞게 협의

* fix: seminarEntity time 삭제

* fix: admissionsEntity pageName 추가

* fix: 불필요한 파일 삭제

* 커밋

* fix: 이전 글 다음 글만 fetch 하도록 쿼리 최적화 (#75)

* fix: 이전 글 다음 글만 fetch 하도록 쿼리 최적화

* fix: distinct 수정

* fix: 쿼리 최적화

* fix: total Long 타입으로 수정

* CI/CD: Test 설정 (#77)

* Config: Add kotest, mockk, h2 db for testing.

* Config: Add test profile.

* Config: Add testconfig for jpaqueryfactory.

* CICD: Add build, test workflow

* Fix: Revert local datasource url change.

* [Test] Notice create, update 시 plainTextDescription 동작 테스트 (#78)

* Config: Add test profile.

* Test: Add Tests for Create, Update Notice, in perspective of plainTextDescription

* Fix: Change life cycle hook resolution to container.

* [Feat] Seminar plain text field 추가 (#79)

* Feat: Add plain text column for description, introduction, additionalnote.

* Feat: Add description, introduction, additionalnote for dto -> entity.

* Feat: Change to update plain description, introduction, additional note.

* Feat: Use plainTextDesription for searchdto.

* Test: Test for create, update of plain texts.

* Test: Fix seminar service test.

* Feat: News plain text field 추가 (#80)

* Feat: Add plainTextDescription field for news entity

* Feat: Add to create, and update plainTextDescription.

* Feat: Change to use plainTextDescription when making newssearchdto.

* Test: Test for create/update plainTextDescription.

* Feat: 구성원 검색 위한 table 추가. (#81)

* Feat: MemberSearchEntity 추가.

* Feat: MemberSearchRepository 추가

* Feat: MemberSearchService 추가

* Feat: ProfessorEntity, StaffEntity에 MemberSearch 추가.

* Feat: ProfessorStatus에 한글 값 추가.

* Feat: professor create, update 시 memberSearch도 반영하도록 추가.

* Feat: seminar create, update 시 memberSearch도 반영하도록 추가.

* Test: ProfessorService 테스트 추가.

* Test: StaffServiceTest 추가.

* fix: 새소식 세미나 쿼리 수정 (#82)

* refactor: 유틸 패키지 생성 및 FixedPageRequest 분리

* feat: 새소식 세미나 이전 다음 글 및 total 쿼리 최적화

* fix: pageNum 값으로 usePageBtn 값 설정

* fix: import 경로 수정

* fix: local db port 3306

* 중복 삭제

* fix: prod endpoint https로 변경

* fix: main 프론트에 맞게 협의, notice 태그 enum 추가 (#83)

* fix: mainResponse 다시 작성

* feat: TagInNoticeEnum 추가

* feat: notice enum 추가

* fix: 코드 수정

* fix: isPublic -> isPrivate으로 정리 (#86)

* fix: rebase 정리

* fix: 오타 수정

* feat: 로컬 로그인 테스트용 엔드포인트로 임시 변경 (#87)

* Feat: 구성원 검색 API 추가 (#85)

* Feat: Add mysql custom dialect with MATCH AGAINST BOOLEAN MODE function.

* CICD: Add config for mysql db

* CICD: Add volumes for config file.

* CICD: Add db_config for condition for db deploy

* Feat: Add search top, and search query.

* Feat: Add DTOs

* Feat: Add Controller for member search only top, and page.

* Feat: Add dialect config for application.yaml

* Feat: Add controller for member search.

* Refactor: Change exception message to korean.

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>

* fix: 세미나 시간 타입 변경 (#91)

* fix: 세미나 시간 LocalDateTime으로 변경

* test: 테스트 수정

* fix: 태그 항목 수정 (#92)

* fix: news tag 추가 (#90)

* fix: news tag 추가

* fix: 일반인은 isPrivate = false인 것만, 직원은 모든 게시글 보여주기

* feat: 졸업생 창업 진로, 졸업생 진로 response 추가 (#94)

* fix: news tag 추가

* fix: 일반인은 isPrivate = false인 것만, 직원은 모든 게시글 보여주기

* feat: about  졸업생 read 추가

* fix: 오타 수정

* fix: conference 주소 추가 (#95)

* Feat: 연구 탭 통합검색 위한 Table 생성. (#97)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Fix: Fix typo, import library.

* Feat: Lab Update API 추가 (#98)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Feat: Add update method for labentity.

* Feat: Add update lab service.

* Feat: Add update lab controller.

* Test: Add ResearchServiceTest.

* Feat: Add deleteAttachment (marking)

* Fix: Add typo, add import library.

* Feat: Conference page 수정 API (#99)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Feat: Add update method for labentity.

* Feat: Add update lab service.

* Feat: Add update lab controller.

* Test: Add ResearchServiceTest.

* Feat: Add Conference Repository.

* Feat: add conferenc eentity method for create, update entity.

* Feat: Change variables to mutable.

* Feat: Add id in conferencedto.

* Feat: Add to sort the conferenceList.

* Feat: Add deleteAttachment (marking)

* Feat add service to modify conference page (create, modify, delete conferences)

* Feat: Add api for modify conference page.

* Test: Add test for conference service.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 파일 관련 수정 (#100)

* fix: 업로드 파일 사이즈 제한

* fix: 원본 첨부파일 이름으로 응답

* refactor: 세미나 업데이트 시 삭제할 첨부파일 id만 받도록 변경

* fix: 파일 api 경로 수정

* fix: deleteAttachment

* fix: GET notice 권한 관련 로직 수정 (#101)

* Refactor: Extract Full Text Query Template to CommonRepository (#102)

* Feat: Extract full text search template to common repository.

* Feat: Change full text search to use extracted repository.

* Feat: Add for 4 elements.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Notice Seminar News Search to Full Text Query (#105)

* Feat: Extract full text search template to common repository.

* Feat: Change full text search to use extracted repository.

* Feat: Add for 4 elements.

* Feat: Add more args cnt.

* Feat: Change keyword boolean builder to full text.

* Feat: Change keyword boolean builder to full text.

* Feat: Change keyword boolean builder to full text.

* Hotfix: Change mount volume. (#103)

* feat: api 권한 설정 (#84)

* fix: GET notice 권한 관련 로직 수정 (#109)

* fix: 필요한 column만 select (#111)

* refactor: 공지 태그 응답 한국어로 변경 및 리팩토링 (#113)

* refactor: 공지 태그 응답 한국어로 수정 및 리팩토링

* refactor: 새소식 태그 리팩토링

* fix: NewsRepository

* fix: 공지 새소식 PATCH 로직 수정 (#114)

* fix: 공지 새소식 PATCH 로직 수정

* test: 테스트 수정

* fix: news 엔티티에 날짜 추가 (#115)

* Feat: 검색 결과에서 keyword 위치, 적절한 substring 추출 위한 method 추가 (#116)

* Feat: Add utils substringAroundKeyword

* Test: Add test for Utils.kt

* fix: total 더미 값 + pageNum null일때만 더미 값 주기 (#117)

* fix: 예약 조회 권한 분리 및 응답 단순화 (#119)

* fix: 예약 단건 조회 권한 분리

* feat: 월별,주별 조회용 SimpleReservationDto

* fix: 로그인 리다이렉트 엔드포인트 복구 (#121)

* feat: migrateAbout, migrateFutureCareers 추가 (#118)

* feat: AboutRequest, migrateAbout 추가

* feat: future-careers 마이그레이션 추가

* feat: request 패키지 추가

* fix: AboutRequest 간소화

* fix: future-careers description aboutEntity에 저장

* feat: about 패키지 마이그레이션 추가 (#120)

* feat: AboutRequest, migrateAbout 추가

* feat: future-careers 마이그레이션 추가

* feat: request 패키지 추가

* fix: 불필요한 dto 삭제

* feat: migrateStudentClubs 추가

* feat: migrateFacilities 추가

* feat: migrateDirections 추가

* fix: 불필요한 dto 삭제

* fix: request 패키지 삭제

* fix: 오타 수정

* fix: news, notice에 titleForMain 추가 (#125)

* fix: 소식3총사 titleForMain 데이터 생성

* fix: 테스트에 titleForMain  추가

* Revert "fix: 테스트에 titleForMain  추가"

This reverts commit e824ad34e60e0785f1d4c4e187776d4b8bf53dfa.

* fix: 테스트에 titleForMain 추가

* fix: seminar titleForMain 추가

* fix: seminar test titleForMain 추가

* feat: LocalDateTime 응답 마지막에 Z 추가 (#126)

* refactor: deleteIds request 내부로 이동 (#127)

* refactor: deleteIds request 내부로 이동

* test: 테스트 수정

* fix: 확장자 중복 버그 (#128)

* feat: 관리자는 새소식, 세미나 목록에서 비공개 글 확인 가능 (#129)

* feat: research, member 패키지 migrate 추가 (#130)

* feat: migrateProfessors 추가

* feat: migrateResearchDetail 추가

* feat: migrateLabs 추가

* fix: migrate 엔티티 description에 mediumText 추가

* feat: migrateStaff 추가

* fix: 빠진거 수정

* fix: 중복 패키지 삭제

* fix: 너무 안긴거 text로 수정

* fix: noticeSearchDto에도 private 추가 (#131)

* fix: noticeSearchDto에도 private 추가

* fix: json 추가

* fix: 수정 및 추가

* fix: 수정

* Fix: 키워드 추출 함수 수정 (#122)

* Fix: Fix IndexOutOfBoundException, change to return index based on substring.

* Fix: Change to check index exclude case, and set front, back index to better contains keyword.

* Test: Update Test.

* Feat: 통합검색 Notice API 구현 (#123)

* Feat: Add dtos for notice total search.

* Feat: Add repository for notice total search.

* Feat: Add service, controller for notice total search

* Feat: News 통합 검색 API 구현 (#124)

* Feat: Add dto for total search of news.

* Feat: Add repository for total search.

* Feat: Add service, controller for news total search.

* Fix: Fix conflict issues.

* fix: 기존 objectMapper 설정 오버라이드 (#132)

* feat: 파일 업로드 컨트롤러 구현 (#133)

* Feat: Change titleForMain column to TEXT type. (#134)

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* hotfix: mixed content issue (#136)

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
leeeryboy added a commit that referenced this pull request Sep 19, 2023
* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* ✨ 패키지 및 엔티티 생성

* ✨ BaseTimeEntity 생성, PostEntity 기본 내용 작성

* ✨ PostController 생성 및 기본 내용 작성

* ✨ postService 생성

* ✨ Exceptions.kt 생성

* ✨ postDto 생성

* ✨ postRepository 생성 및 기본 내용 작성

* 💚 application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

* fix: main에서 develop으로 pr (#16)

* feat: merge develop to main (#13)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* ✨ 패키지 및 엔티티 생성

* ✨ BaseTimeEntity 생성, PostEntity 기본 내용 작성

* ✨ PostController 생성 및 기본 내용 작성

* ✨ postService 생성

* ✨ Exceptions.kt 생성

* ✨ postDto 생성

* ✨ postRepository 생성 및 기본 내용 작성

* 💚 application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* hotfix: 사용하지않는 Dto 및 엔티티 삭제 (#14)

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* feat: seminar 패키지 추가 (#17)

* feat: createSeminar, readSeminar, updateSeminar 추가

* feat: deleteSeminar, searchSeminar 추가

* fix: distinct 삭제

* hotfix: 불필요한 dto 삭제 (#20)

* hotfix: 불필요한 dto 삭제

* build.gradle 수정

* fix: 이미지 uri 필드 추가 및 프론트 요구사항 반영 (#21)

* feat: 이미지 uri 필드 추가 및 isActive 대신 status 추가

* fix: 행정직원 전체 조회 응답에서 task 삭제

* fix: 교수진 페이지 응답 수정

* feat: introduction 패키지, undergraduate 패키지 추가 (#22)

* feat: createUndergraduate, readUndergraduate 추가

* feat: readAllCourses, createCourse, readCourse 추가

* introduction 패키지 추가

* fix: dto에서 postType 삭제

* fix: postType pathVariable->requestBody 수정, 오타 수정

* fix: 프론트와 협의하여 이름 등 변경

* feat: academics 패키지 대학원도 가능하도록 추가

* feat: 장학제도 세부 장학금 create, read 추가

* fix: 수정

* fix:수정

* feat: admissions, research 패키지 추가 (#23)

* feat: admissions-학부 에서 create, read 추가

* feat: admissions-대학원도 작성 가능하도록 추가

* feat: createResearch 추가

* feat: createLab 추가

* fix: 다른 패키지에 맞게 수정

* research-groups, research-centers에서 read, update 추가

* fix: admissions, research에서 프론트와 협의하여 이름 등 수정

* fix: 오타 수정

* fix: enum 추가, pr 리뷰 반영

* feat: oidc 로그인 (#27)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: idsnucse 다운 되었을때 에러 처리

* feat: idsnucse 다운 되었을때 에러 처리

* feat: cors 설정 (#30)

* fix: cors 추가 설정 (#32)

* feat: cors 설정

* feat: cors 설정

* fix: CORS (#34)

* feat: cors 설정

* feat: cors 설정

* feat: cors 설정

* fix: about, academics, admissions 패키지 수정 (#25)

* fix: admissions, about 컨트롤러 변경

* fix: academics 컨트롤러 수정

* 커밋중

* fix: pr 리뷰 반영

* feat: readMain 추가

* pr 리뷰 반영

* feat: 일반 예약 및 정기 예약 API (#28)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: 예약 엔티티 및 DTO 설계

* feat: 일반 예약 및 정기 예약

* feat: 예약 조회 API (#39)

* feat: 권한 관리 위해 커스텀 어노테이션 생성

* feat: 예약 단건, 주별, 월별 조회 API

* fix: 로컬 DB 설정 수정

* feat: 유저 조회 중복 쿼리 방지

* feat: 예약 응답에 recurrenceId 추가

* feat: 동시 예약 방지

* fix: 시큐리티 로그 다시 로컬에서만 보이도록 변경

* feat: 목데이터 날라가지 않도록 ddl-auto 수정

* feat: about, member, news, seminar 메인 이미지 업로드 추가 (#38)

* feat: uploadImage 추가

* feat: about, member 사진 업로드 추가

* feat: news, seminar 사진 업로드 추가

* refactor: imageEntity 추가 리팩토링

* fix: gif 삭제

* fix: application.yaml 수정

* fix: newsService 태그 -> 이미지로 순서 변경

* fix: pr 리뷰 수정

* fix: extension 없애고, mainImage로 바꾸고, uuid 없애기

* fix: var 삭제

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* CICD: Change deploy port to 8080 (#40)

* [Merge] (#41) (#42)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* ✨ 패키지 및 엔티티 생성

* ✨ BaseTimeEntity 생성, PostEntity 기본 내용 작성

* ✨ PostController 생성 및 기본 내용 작성

* ✨ postService 생성

* ✨ Exceptions.kt 생성

* ✨ postDto 생성

* ✨ postRepository 생성 및 기본 내용 작성

* 💚 application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

* fix: main에서 develop으로 pr (#16)

* feat: merge develop to main (#13)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* ✨ 패키지 및 엔티티 생성

* ✨ BaseTimeEntity 생성, PostEntity 기본 내용 작성

* ✨ PostController 생성 및 기본 내용 작성

* ✨ postService 생성

* ✨ Exceptions.kt 생성

* ✨ postDto 생성

* ✨ postRepository 생성 및 기본 내용 작성

* 💚 application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

---------




* hotfix: 사용하지않는 Dto 및 엔티티 삭제 (#14)

---------




* feat: seminar 패키지 추가 (#17)

* feat: createSeminar, readSeminar, updateSeminar 추가

* feat: deleteSeminar, searchSeminar 추가

* fix: distinct 삭제

* hotfix: 불필요한 dto 삭제 (#20)

* hotfix: 불필요한 dto 삭제

* build.gradle 수정

* fix: 이미지 uri 필드 추가 및 프론트 요구사항 반영 (#21)

* feat: 이미지 uri 필드 추가 및 isActive 대신 status 추가

* fix: 행정직원 전체 조회 응답에서 task 삭제

* fix: 교수진 페이지 응답 수정

* feat: introduction 패키지, undergraduate 패키지 추가 (#22)

* feat: createUndergraduate, readUndergraduate 추가

* feat: readAllCourses, createCourse, readCourse 추가

* introduction 패키지 추가

* fix: dto에서 postType 삭제

* fix: postType pathVariable->requestBody 수정, 오타 수정

* fix: 프론트와 협의하여 이름 등 변경

* feat: academics 패키지 대학원도 가능하도록 추가

* feat: 장학제도 세부 장학금 create, read 추가

* fix: 수정

* fix:수정

* feat: admissions, research 패키지 추가 (#23)

* feat: admissions-학부 에서 create, read 추가

* feat: admissions-대학원도 작성 가능하도록 추가

* feat: createResearch 추가

* feat: createLab 추가

* fix: 다른 패키지에 맞게 수정

* research-groups, research-centers에서 read, update 추가

* fix: admissions, research에서 프론트와 협의하여 이름 등 수정

* fix: 오타 수정

* fix: enum 추가, pr 리뷰 반영

* feat: oidc 로그인 (#27)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: idsnucse 다운 되었을때 에러 처리

* feat: idsnucse 다운 되었을때 에러 처리

* feat: cors 설정 (#30)

* fix: cors 추가 설정 (#32)

* feat: cors 설정

* feat: cors 설정

* fix: CORS (#34)

* feat: cors 설정

* feat: cors 설정

* feat: cors 설정

* fix: about, academics, admissions 패키지 수정 (#25)

* fix: admissions, about 컨트롤러 변경

* fix: academics 컨트롤러 수정

* 커밋중

* fix: pr 리뷰 반영

* feat: readMain 추가

* pr 리뷰 반영

* feat: 일반 예약 및 정기 예약 API (#28)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: 예약 엔티티 및 DTO 설계

* feat: 일반 예약 및 정기 예약

* feat: 예약 조회 API (#39)

* feat: 권한 관리 위해 커스텀 어노테이션 생성

* feat: 예약 단건, 주별, 월별 조회 API

* fix: 로컬 DB 설정 수정

* feat: 유저 조회 중복 쿼리 방지

* feat: 예약 응답에 recurrenceId 추가

* feat: 동시 예약 방지

* fix: 시큐리티 로그 다시 로컬에서만 보이도록 변경

* feat: 목데이터 날라가지 않도록 ddl-auto 수정

* feat: about, member, news, seminar 메인 이미지 업로드 추가 (#38)

* feat: uploadImage 추가

* feat: about, member 사진 업로드 추가

* feat: news, seminar 사진 업로드 추가

* refactor: imageEntity 추가 리팩토링

* fix: gif 삭제

* fix: application.yaml 수정

* fix: newsService 태그 -> 이미지로 순서 변경

* fix: pr 리뷰 수정

* fix: extension 없애고, mainImage로 바꾸고, uuid 없애기

* fix: var 삭제

---------



* CICD: Change deploy port to 8080 (#40)

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>

* feat: 장학제도 GET API 및 장학제도 페이지 응답 수정 (#44)

* feat: 장학제도 GET API

* feat: 장학제도 메인페이지 GET API 응답 수정

* feat: custom metadata 설정 + 리다이렉트 엔드포인트 변경 (#45)

* feat: yml 파일에 custom metadata endpoint 추가

* feat: 로그인/로그아웃 성공 리다이렉트 엔드포인트 변경

* feat: attachments 패키지 추가, news와 seminar request에 attachments 추가 (#43)

* feat: attachments 추가, news request에 attachments 추가

* feat: seminar request에 attachments 추가

* fix: mappedBy 추가 + bringAttachments null 없앰

* fix: 경로 분리

* fix: isDeleted false로 수정

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* feat: Top Conference List GET API (#47)

* feat: Top Conference List GET API

* feat: db에서 가져올때 정렬

* feat: 파일 서빙, 다운로드, 삭제 API (#48)

* feat: 파일 서빙, 다운로드, 삭제 API

* fix: extension 중복, 경로 수정

* feat: 공지사항 글쓴이 추가 (#49)

* CI/CD: Https 적용 및 백엔드, 데이터베이스, 프록시 서버 배포 분리 (#50)

* Config: Add gitignore for caddy files.

* CICD: Add caddy config file

* CICD: Seperate docker compose file for db and backend server.

* CICD: Docker Compose file for caddy proxy server.

* CICD: Add path condition for only act when source file has changed.

* CICD: Add workflow for deploying database changes.

* CICD: Add workflow for proxy server changes.

* Refactor: Add /api/v1 in front of all endpoints (except swagger-ui)

* Refactor: Add v1 to Main Image url.

* Refactor: change backend, frontend, login redirect uri to get from env.

* CICD: Add url to .env

* Fix: Change job name of database workflow, fix indent level.

* Fix: Remove duplicated restcontroller mapping.

* Fix: Set reverse proxy for swagger-ui/* for swagger.

* Docs: Set swagger to only scan /api/**

* Fix: add caddy to reverse api-docs/* for springdoc.

* Fix: Add login uris for reverse proxying to backend server.

* CICD: Remove testing branch condition.

* CICD: Add logout uri to reverse proxy to backend server.

* CICD: Remove test branch

* fix: 프론트랑 협의하여 내용 변경 + news, seminar에 image, attachments update 추가 (#51)

* feat: attachments 추가, news request에 attachments 추가

* feat: seminar request에 attachments 추가

* feat: about request에 attachments 추가

* feat: academics request에 attachments 추가

* fix: isPinned 삭제

* fix: image -> mainImage 변경, about에 greetings 추가

* fix: news, seminar update 수정

* fix: 전체적으로 image -> mainImage 변경

* fix: research 패키지 프론트에 맞춰 협의 (#52)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* fix: pr 리뷰 수정

* fix: 오타 수정

* [Refactor] 로그인, file uri 배포 환경에 맞게 수정 (#53)

* Refactor: Change mapping of file to append /api/v1 in front.

* Refactor: Change login, logout redirect uri

* fix: https 적용 관련 로그인 수정 (#56)

* fix: notice 패키지 프론트에 맞게 협의 (#54)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* feat: notice에 attachments 추가

* fix: fix_with_front1 변경 사항에 맞게 수정

* feat: isImportant 추가

* feat: NoticeSearchDto에 hasAttachment 추가

* fix: update에서 attachmetnts가 null일 때 빈 목록 반환

* feat: 공지사항 선택 고정해제, 선택 삭제 추가

* fix: news, seminar에 isImportant 추가

* fix: pr 리뷰 수정

* fix: 수정했던거 다시 복구

* feat: 신임교수초빙 (#59)

* feat: 행정실 권한 체크 API (#60)

* [CICD] mainImage, attachment 경로 mount 설정 (#55)

* CICD: Add mainImage, attachment directory for mounting

* CICD: Add volumes to mount with server directory. (for attachment)

* [Feat] 예전 url과 비슷하게 이전 파일(사진)들 접근할 수 있도록 controller 생성 (#58)

* Config: Add oldFiles path for properties.

* Feat: Add deprecated file controller for getting old files temporarily.

* CICD: Add volume mounting for old files.

* CICD: Add dir to mount for old files.

* Refactor: Change api to /sites/default/files/{PATH}

* CICD: Add reverse proxy for old file serving.

* fix: 예약 dto에 지도교수, 반복 횟수 추가 (#61)

* fix: 로그아웃 엔드포인트 변경 (#64)

* fix: 로그아웃 엔드포인트 변경

* fix: 로그아웃 성공 리다이렉트 엔드포인트 변경

* [Fix] Notice, News Description TEXT type으로 변환 (#65)

* Fix: Change notice and news entity description type as TEXT.

* Fix: Change to mediumtext

* fix: newsSearchResponse, seminarSearchResponse 수정 (#66)

* fix: newsSearchResponse 수정

* fix: SeminarSearchResponse 수정

* fix: 오타수정

* fix: 파일 업로드 경로 통일 (#68)

* fix: 갯수만 fetch하도록 최적화 (#70)

* Fix: Change type of additionalNote column on SeminarEntity to "TEXT" (#71)

* fix: academics 패키지 프론트에 맞춰 협의, admin 패키지 추가 (#69)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* feat: notice에 attachments 추가

* fix: fix_with_front1 변경 사항에 맞게 수정

* feat: isImportant 추가

* feat: NoticeSearchDto에 hasAttachment 추가

* fix: update에서 attachmetnts가 null일 때 빈 목록 반환

* feat: 공지사항 선택 고정해제, 선택 삭제 추가

* fix: news, seminar에 isImportant 추가

* fix: pr 리뷰 수정

* fix: 수정했던거 다시 복구

* fix: course response 수정

* feat: academics에서 연도별로 주는 response 추가

* feat: academics YearResponses 추가

* fix: createScholarship 합치기

* fix: scholarship 패키지의 내용을 academics 하위로 옮김

* feat: createScholarshipDetail 추가

* fix: 필수 교양과목 response 변경

* feat: admin 패키지에서 readAllSlides 추가

* feat: admin 패키지 readAllImportants 추가

* feat: admin 패키지 중요안내 추가

* Refactor: HTML로부터 텍스트 추출 함수 Utils로 이동 (#73)

* Feat: Add cleanTextFromHtml.

* Refactor: Remove private clean method, replace to Utils.cleanTextFromHtml.

* Refactor: Remove unused imports.

* Feat: Add plain text description for notice (#74)

* Feat: Add cleanTextFromHtml.

* Refactor: Remove private clean method, replace to Utils.cleanTextFromHtml.

* Refactor: Remove unused imports.

* Feat: Add plainTextDescription.

* Feat: Add plainTextDescription in createNotice.

* Feat: add updating plainTextDescription when updating description.

* fix: admissions 패키지 프론트에 맞게 협의 (#76)

* fix: admissions 프론트에 맞게 협의

* fix: seminarEntity time 삭제

* fix: admissionsEntity pageName 추가

* fix: 불필요한 파일 삭제

* 커밋

* fix: 이전 글 다음 글만 fetch 하도록 쿼리 최적화 (#75)

* fix: 이전 글 다음 글만 fetch 하도록 쿼리 최적화

* fix: distinct 수정

* fix: 쿼리 최적화

* fix: total Long 타입으로 수정

* CI/CD: Test 설정 (#77)

* Config: Add kotest, mockk, h2 db for testing.

* Config: Add test profile.

* Config: Add testconfig for jpaqueryfactory.

* CICD: Add build, test workflow

* Fix: Revert local datasource url change.

* [Test] Notice create, update 시 plainTextDescription 동작 테스트 (#78)

* Config: Add test profile.

* Test: Add Tests for Create, Update Notice, in perspective of plainTextDescription

* Fix: Change life cycle hook resolution to container.

* [Feat] Seminar plain text field 추가 (#79)

* Feat: Add plain text column for description, introduction, additionalnote.

* Feat: Add description, introduction, additionalnote for dto -> entity.

* Feat: Change to update plain description, introduction, additional note.

* Feat: Use plainTextDesription for searchdto.

* Test: Test for create, update of plain texts.

* Test: Fix seminar service test.

* Feat: News plain text field 추가 (#80)

* Feat: Add plainTextDescription field for news entity

* Feat: Add to create, and update plainTextDescription.

* Feat: Change to use plainTextDescription when making newssearchdto.

* Test: Test for create/update plainTextDescription.

* Feat: 구성원 검색 위한 table 추가. (#81)

* Feat: MemberSearchEntity 추가.

* Feat: MemberSearchRepository 추가

* Feat: MemberSearchService 추가

* Feat: ProfessorEntity, StaffEntity에 MemberSearch 추가.

* Feat: ProfessorStatus에 한글 값 추가.

* Feat: professor create, update 시 memberSearch도 반영하도록 추가.

* Feat: seminar create, update 시 memberSearch도 반영하도록 추가.

* Test: ProfessorService 테스트 추가.

* Test: StaffServiceTest 추가.

* fix: 새소식 세미나 쿼리 수정 (#82)

* refactor: 유틸 패키지 생성 및 FixedPageRequest 분리

* feat: 새소식 세미나 이전 다음 글 및 total 쿼리 최적화

* fix: pageNum 값으로 usePageBtn 값 설정

* fix: import 경로 수정

* fix: local db port 3306

* 중복 삭제

* fix: prod endpoint https로 변경

* fix: main 프론트에 맞게 협의, notice 태그 enum 추가 (#83)

* fix: mainResponse 다시 작성

* feat: TagInNoticeEnum 추가

* feat: notice enum 추가

* fix: 코드 수정

* fix: isPublic -> isPrivate으로 정리 (#86)

* fix: rebase 정리

* fix: 오타 수정

* feat: 로컬 로그인 테스트용 엔드포인트로 임시 변경 (#87)

* Feat: 구성원 검색 API 추가 (#85)

* Feat: Add mysql custom dialect with MATCH AGAINST BOOLEAN MODE function.

* CICD: Add config for mysql db

* CICD: Add volumes for config file.

* CICD: Add db_config for condition for db deploy

* Feat: Add search top, and search query.

* Feat: Add DTOs

* Feat: Add Controller for member search only top, and page.

* Feat: Add dialect config for application.yaml

* Feat: Add controller for member search.

* Refactor: Change exception message to korean.

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>

* fix: 세미나 시간 타입 변경 (#91)

* fix: 세미나 시간 LocalDateTime으로 변경

* test: 테스트 수정

* fix: 태그 항목 수정 (#92)

* fix: news tag 추가 (#90)

* fix: news tag 추가

* fix: 일반인은 isPrivate = false인 것만, 직원은 모든 게시글 보여주기

* feat: 졸업생 창업 진로, 졸업생 진로 response 추가 (#94)

* fix: news tag 추가

* fix: 일반인은 isPrivate = false인 것만, 직원은 모든 게시글 보여주기

* feat: about  졸업생 read 추가

* fix: 오타 수정

* fix: conference 주소 추가 (#95)

* Feat: 연구 탭 통합검색 위한 Table 생성. (#97)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Fix: Fix typo, import library.

* Feat: Lab Update API 추가 (#98)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Feat: Add update method for labentity.

* Feat: Add update lab service.

* Feat: Add update lab controller.

* Test: Add ResearchServiceTest.

* Feat: Add deleteAttachment (marking)

* Fix: Add typo, add import library.

* Feat: Conference page 수정 API (#99)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Feat: Add update method for labentity.

* Feat: Add update lab service.

* Feat: Add update lab controller.

* Test: Add ResearchServiceTest.

* Feat: Add Conference Repository.

* Feat: add conferenc eentity method for create, update entity.

* Feat: Change variables to mutable.

* Feat: Add id in conferencedto.

* Feat: Add to sort the conferenceList.

* Feat: Add deleteAttachment (marking)

* Feat add service to modify conference page (create, modify, delete conferences)

* Feat: Add api for modify conference page.

* Test: Add test for conference service.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 파일 관련 수정 (#100)

* fix: 업로드 파일 사이즈 제한

* fix: 원본 첨부파일 이름으로 응답

* refactor: 세미나 업데이트 시 삭제할 첨부파일 id만 받도록 변경

* fix: 파일 api 경로 수정

* fix: deleteAttachment

* fix: GET notice 권한 관련 로직 수정 (#101)

* Refactor: Extract Full Text Query Template to CommonRepository (#102)

* Feat: Extract full text search template to common repository.

* Feat: Change full text search to use extracted repository.

* Feat: Add for 4 elements.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Notice Seminar News Search to Full Text Query (#105)

* Feat: Extract full text search template to common repository.

* Feat: Change full text search to use extracted repository.

* Feat: Add for 4 elements.

* Feat: Add more args cnt.

* Feat: Change keyword boolean builder to full text.

* Feat: Change keyword boolean builder to full text.

* Feat: Change keyword boolean builder to full text.

* Hotfix: Change mount volume. (#103)

* feat: api 권한 설정 (#84)

* fix: GET notice 권한 관련 로직 수정 (#109)

* fix: 필요한 column만 select (#111)

* refactor: 공지 태그 응답 한국어로 변경 및 리팩토링 (#113)

* refactor: 공지 태그 응답 한국어로 수정 및 리팩토링

* refactor: 새소식 태그 리팩토링

* fix: NewsRepository

* fix: 공지 새소식 PATCH 로직 수정 (#114)

* fix: 공지 새소식 PATCH 로직 수정

* test: 테스트 수정

* fix: news 엔티티에 날짜 추가 (#115)

* Feat: 검색 결과에서 keyword 위치, 적절한 substring 추출 위한 method 추가 (#116)

* Feat: Add utils substringAroundKeyword

* Test: Add test for Utils.kt

* fix: total 더미 값 + pageNum null일때만 더미 값 주기 (#117)

* fix: 예약 조회 권한 분리 및 응답 단순화 (#119)

* fix: 예약 단건 조회 권한 분리

* feat: 월별,주별 조회용 SimpleReservationDto

* fix: 로그인 리다이렉트 엔드포인트 복구 (#121)

* feat: migrateAbout, migrateFutureCareers 추가 (#118)

* feat: AboutRequest, migrateAbout 추가

* feat: future-careers 마이그레이션 추가

* feat: request 패키지 추가

* fix: AboutRequest 간소화

* fix: future-careers description aboutEntity에 저장

* feat: about 패키지 마이그레이션 추가 (#120)

* feat: AboutRequest, migrateAbout 추가

* feat: future-careers 마이그레이션 추가

* feat: request 패키지 추가

* fix: 불필요한 dto 삭제

* feat: migrateStudentClubs 추가

* feat: migrateFacilities 추가

* feat: migrateDirections 추가

* fix: 불필요한 dto 삭제

* fix: request 패키지 삭제

* fix: 오타 수정

* fix: news, notice에 titleForMain 추가 (#125)

* fix: 소식3총사 titleForMain 데이터 생성

* fix: 테스트에 titleForMain  추가

* Revert "fix: 테스트에 titleForMain  추가"

This reverts commit e824ad34e60e0785f1d4c4e187776d4b8bf53dfa.

* fix: 테스트에 titleForMain 추가

* fix: seminar titleForMain 추가

* fix: seminar test titleForMain 추가

* feat: LocalDateTime 응답 마지막에 Z 추가 (#126)

* refactor: deleteIds request 내부로 이동 (#127)

* refactor: deleteIds request 내부로 이동

* test: 테스트 수정

* fix: 확장자 중복 버그 (#128)

* feat: 관리자는 새소식, 세미나 목록에서 비공개 글 확인 가능 (#129)

* feat: research, member 패키지 migrate 추가 (#130)

* feat: migrateProfessors 추가

* feat: migrateResearchDetail 추가

* feat: migrateLabs 추가

* fix: migrate 엔티티 description에 mediumText 추가

* feat: migrateStaff 추가

* fix: 빠진거 수정

* fix: 중복 패키지 삭제

* fix: 너무 안긴거 text로 수정

* fix: noticeSearchDto에도 private 추가 (#131)

* fix: noticeSearchDto에도 private 추가

* fix: json 추가

* fix: 수정 및 추가

* fix: 수정

* Fix: 키워드 추출 함수 수정 (#122)

* Fix: Fix IndexOutOfBoundException, change to return index based on substring.

* Fix: Change to check index exclude case, and set front, back index to better contains keyword.

* Test: Update Test.

* Feat: 통합검색 Notice API 구현 (#123)

* Feat: Add dtos for notice total search.

* Feat: Add repository for notice total search.

* Feat: Add service, controller for notice total search

* Feat: News 통합 검색 API 구현 (#124)

* Feat: Add dto for total search of news.

* Feat: Add repository for total search.

* Feat: Add service, controller for news total search.

* Fix: Fix conflict issues.

* fix: 기존 objectMapper 설정 오버라이드 (#132)

* feat: 파일 업로드 컨트롤러 구현 (#133)

* Feat: Change titleForMain column to TEXT type. (#134)

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* hotfix: mixed content issue (#136)

* hotfix: loginPage to https (#139)

* hotfix: mixed content issue

* hotfix: loginPage

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
leeeryboy added a commit that referenced this pull request Sep 19, 2023
* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* ✨ 패키지 및 엔티티 생성

* ✨ BaseTimeEntity 생성, PostEntity 기본 내용 작성

* ✨ PostController 생성 및 기본 내용 작성

* ✨ postService 생성

* ✨ Exceptions.kt 생성

* ✨ postDto 생성

* ✨ postRepository 생성 및 기본 내용 작성

* 💚 application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

* fix: main에서 develop으로 pr (#16)

* feat: merge develop to main (#13)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* ✨ 패키지 및 엔티티 생성

* ✨ BaseTimeEntity 생성, PostEntity 기본 내용 작성

* ✨ PostController 생성 및 기본 내용 작성

* ✨ postService 생성

* ✨ Exceptions.kt 생성

* ✨ postDto 생성

* ✨ postRepository 생성 및 기본 내용 작성

* 💚 application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* hotfix: 사용하지않는 Dto 및 엔티티 삭제 (#14)

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* feat: seminar 패키지 추가 (#17)

* feat: createSeminar, readSeminar, updateSeminar 추가

* feat: deleteSeminar, searchSeminar 추가

* fix: distinct 삭제

* hotfix: 불필요한 dto 삭제 (#20)

* hotfix: 불필요한 dto 삭제

* build.gradle 수정

* fix: 이미지 uri 필드 추가 및 프론트 요구사항 반영 (#21)

* feat: 이미지 uri 필드 추가 및 isActive 대신 status 추가

* fix: 행정직원 전체 조회 응답에서 task 삭제

* fix: 교수진 페이지 응답 수정

* feat: introduction 패키지, undergraduate 패키지 추가 (#22)

* feat: createUndergraduate, readUndergraduate 추가

* feat: readAllCourses, createCourse, readCourse 추가

* introduction 패키지 추가

* fix: dto에서 postType 삭제

* fix: postType pathVariable->requestBody 수정, 오타 수정

* fix: 프론트와 협의하여 이름 등 변경

* feat: academics 패키지 대학원도 가능하도록 추가

* feat: 장학제도 세부 장학금 create, read 추가

* fix: 수정

* fix:수정

* feat: admissions, research 패키지 추가 (#23)

* feat: admissions-학부 에서 create, read 추가

* feat: admissions-대학원도 작성 가능하도록 추가

* feat: createResearch 추가

* feat: createLab 추가

* fix: 다른 패키지에 맞게 수정

* research-groups, research-centers에서 read, update 추가

* fix: admissions, research에서 프론트와 협의하여 이름 등 수정

* fix: 오타 수정

* fix: enum 추가, pr 리뷰 반영

* feat: oidc 로그인 (#27)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: idsnucse 다운 되었을때 에러 처리

* feat: idsnucse 다운 되었을때 에러 처리

* feat: cors 설정 (#30)

* fix: cors 추가 설정 (#32)

* feat: cors 설정

* feat: cors 설정

* fix: CORS (#34)

* feat: cors 설정

* feat: cors 설정

* feat: cors 설정

* fix: about, academics, admissions 패키지 수정 (#25)

* fix: admissions, about 컨트롤러 변경

* fix: academics 컨트롤러 수정

* 커밋중

* fix: pr 리뷰 반영

* feat: readMain 추가

* pr 리뷰 반영

* feat: 일반 예약 및 정기 예약 API (#28)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: 예약 엔티티 및 DTO 설계

* feat: 일반 예약 및 정기 예약

* feat: 예약 조회 API (#39)

* feat: 권한 관리 위해 커스텀 어노테이션 생성

* feat: 예약 단건, 주별, 월별 조회 API

* fix: 로컬 DB 설정 수정

* feat: 유저 조회 중복 쿼리 방지

* feat: 예약 응답에 recurrenceId 추가

* feat: 동시 예약 방지

* fix: 시큐리티 로그 다시 로컬에서만 보이도록 변경

* feat: 목데이터 날라가지 않도록 ddl-auto 수정

* feat: about, member, news, seminar 메인 이미지 업로드 추가 (#38)

* feat: uploadImage 추가

* feat: about, member 사진 업로드 추가

* feat: news, seminar 사진 업로드 추가

* refactor: imageEntity 추가 리팩토링

* fix: gif 삭제

* fix: application.yaml 수정

* fix: newsService 태그 -> 이미지로 순서 변경

* fix: pr 리뷰 수정

* fix: extension 없애고, mainImage로 바꾸고, uuid 없애기

* fix: var 삭제

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* CICD: Change deploy port to 8080 (#40)

* [Merge] (#41) (#42)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* ✨ 패키지 및 엔티티 생성

* ✨ BaseTimeEntity 생성, PostEntity 기본 내용 작성

* ✨ PostController 생성 및 기본 내용 작성

* ✨ postService 생성

* ✨ Exceptions.kt 생성

* ✨ postDto 생성

* ✨ postRepository 생성 및 기본 내용 작성

* 💚 application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

* fix: main에서 develop으로 pr (#16)

* feat: merge develop to main (#13)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* ✨ 패키지 및 엔티티 생성

* ✨ BaseTimeEntity 생성, PostEntity 기본 내용 작성

* ✨ PostController 생성 및 기본 내용 작성

* ✨ postService 생성

* ✨ Exceptions.kt 생성

* ✨ postDto 생성

* ✨ postRepository 생성 및 기본 내용 작성

* 💚 application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

---------




* hotfix: 사용하지않는 Dto 및 엔티티 삭제 (#14)

---------




* feat: seminar 패키지 추가 (#17)

* feat: createSeminar, readSeminar, updateSeminar 추가

* feat: deleteSeminar, searchSeminar 추가

* fix: distinct 삭제

* hotfix: 불필요한 dto 삭제 (#20)

* hotfix: 불필요한 dto 삭제

* build.gradle 수정

* fix: 이미지 uri 필드 추가 및 프론트 요구사항 반영 (#21)

* feat: 이미지 uri 필드 추가 및 isActive 대신 status 추가

* fix: 행정직원 전체 조회 응답에서 task 삭제

* fix: 교수진 페이지 응답 수정

* feat: introduction 패키지, undergraduate 패키지 추가 (#22)

* feat: createUndergraduate, readUndergraduate 추가

* feat: readAllCourses, createCourse, readCourse 추가

* introduction 패키지 추가

* fix: dto에서 postType 삭제

* fix: postType pathVariable->requestBody 수정, 오타 수정

* fix: 프론트와 협의하여 이름 등 변경

* feat: academics 패키지 대학원도 가능하도록 추가

* feat: 장학제도 세부 장학금 create, read 추가

* fix: 수정

* fix:수정

* feat: admissions, research 패키지 추가 (#23)

* feat: admissions-학부 에서 create, read 추가

* feat: admissions-대학원도 작성 가능하도록 추가

* feat: createResearch 추가

* feat: createLab 추가

* fix: 다른 패키지에 맞게 수정

* research-groups, research-centers에서 read, update 추가

* fix: admissions, research에서 프론트와 협의하여 이름 등 수정

* fix: 오타 수정

* fix: enum 추가, pr 리뷰 반영

* feat: oidc 로그인 (#27)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: idsnucse 다운 되었을때 에러 처리

* feat: idsnucse 다운 되었을때 에러 처리

* feat: cors 설정 (#30)

* fix: cors 추가 설정 (#32)

* feat: cors 설정

* feat: cors 설정

* fix: CORS (#34)

* feat: cors 설정

* feat: cors 설정

* feat: cors 설정

* fix: about, academics, admissions 패키지 수정 (#25)

* fix: admissions, about 컨트롤러 변경

* fix: academics 컨트롤러 수정

* 커밋중

* fix: pr 리뷰 반영

* feat: readMain 추가

* pr 리뷰 반영

* feat: 일반 예약 및 정기 예약 API (#28)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: 예약 엔티티 및 DTO 설계

* feat: 일반 예약 및 정기 예약

* feat: 예약 조회 API (#39)

* feat: 권한 관리 위해 커스텀 어노테이션 생성

* feat: 예약 단건, 주별, 월별 조회 API

* fix: 로컬 DB 설정 수정

* feat: 유저 조회 중복 쿼리 방지

* feat: 예약 응답에 recurrenceId 추가

* feat: 동시 예약 방지

* fix: 시큐리티 로그 다시 로컬에서만 보이도록 변경

* feat: 목데이터 날라가지 않도록 ddl-auto 수정

* feat: about, member, news, seminar 메인 이미지 업로드 추가 (#38)

* feat: uploadImage 추가

* feat: about, member 사진 업로드 추가

* feat: news, seminar 사진 업로드 추가

* refactor: imageEntity 추가 리팩토링

* fix: gif 삭제

* fix: application.yaml 수정

* fix: newsService 태그 -> 이미지로 순서 변경

* fix: pr 리뷰 수정

* fix: extension 없애고, mainImage로 바꾸고, uuid 없애기

* fix: var 삭제

---------



* CICD: Change deploy port to 8080 (#40)

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>

* feat: 장학제도 GET API 및 장학제도 페이지 응답 수정 (#44)

* feat: 장학제도 GET API

* feat: 장학제도 메인페이지 GET API 응답 수정

* feat: custom metadata 설정 + 리다이렉트 엔드포인트 변경 (#45)

* feat: yml 파일에 custom metadata endpoint 추가

* feat: 로그인/로그아웃 성공 리다이렉트 엔드포인트 변경

* feat: attachments 패키지 추가, news와 seminar request에 attachments 추가 (#43)

* feat: attachments 추가, news request에 attachments 추가

* feat: seminar request에 attachments 추가

* fix: mappedBy 추가 + bringAttachments null 없앰

* fix: 경로 분리

* fix: isDeleted false로 수정

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* feat: Top Conference List GET API (#47)

* feat: Top Conference List GET API

* feat: db에서 가져올때 정렬

* feat: 파일 서빙, 다운로드, 삭제 API (#48)

* feat: 파일 서빙, 다운로드, 삭제 API

* fix: extension 중복, 경로 수정

* feat: 공지사항 글쓴이 추가 (#49)

* CI/CD: Https 적용 및 백엔드, 데이터베이스, 프록시 서버 배포 분리 (#50)

* Config: Add gitignore for caddy files.

* CICD: Add caddy config file

* CICD: Seperate docker compose file for db and backend server.

* CICD: Docker Compose file for caddy proxy server.

* CICD: Add path condition for only act when source file has changed.

* CICD: Add workflow for deploying database changes.

* CICD: Add workflow for proxy server changes.

* Refactor: Add /api/v1 in front of all endpoints (except swagger-ui)

* Refactor: Add v1 to Main Image url.

* Refactor: change backend, frontend, login redirect uri to get from env.

* CICD: Add url to .env

* Fix: Change job name of database workflow, fix indent level.

* Fix: Remove duplicated restcontroller mapping.

* Fix: Set reverse proxy for swagger-ui/* for swagger.

* Docs: Set swagger to only scan /api/**

* Fix: add caddy to reverse api-docs/* for springdoc.

* Fix: Add login uris for reverse proxying to backend server.

* CICD: Remove testing branch condition.

* CICD: Add logout uri to reverse proxy to backend server.

* CICD: Remove test branch

* fix: 프론트랑 협의하여 내용 변경 + news, seminar에 image, attachments update 추가 (#51)

* feat: attachments 추가, news request에 attachments 추가

* feat: seminar request에 attachments 추가

* feat: about request에 attachments 추가

* feat: academics request에 attachments 추가

* fix: isPinned 삭제

* fix: image -> mainImage 변경, about에 greetings 추가

* fix: news, seminar update 수정

* fix: 전체적으로 image -> mainImage 변경

* fix: research 패키지 프론트에 맞춰 협의 (#52)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* fix: pr 리뷰 수정

* fix: 오타 수정

* [Refactor] 로그인, file uri 배포 환경에 맞게 수정 (#53)

* Refactor: Change mapping of file to append /api/v1 in front.

* Refactor: Change login, logout redirect uri

* fix: https 적용 관련 로그인 수정 (#56)

* fix: notice 패키지 프론트에 맞게 협의 (#54)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* feat: notice에 attachments 추가

* fix: fix_with_front1 변경 사항에 맞게 수정

* feat: isImportant 추가

* feat: NoticeSearchDto에 hasAttachment 추가

* fix: update에서 attachmetnts가 null일 때 빈 목록 반환

* feat: 공지사항 선택 고정해제, 선택 삭제 추가

* fix: news, seminar에 isImportant 추가

* fix: pr 리뷰 수정

* fix: 수정했던거 다시 복구

* feat: 신임교수초빙 (#59)

* feat: 행정실 권한 체크 API (#60)

* [CICD] mainImage, attachment 경로 mount 설정 (#55)

* CICD: Add mainImage, attachment directory for mounting

* CICD: Add volumes to mount with server directory. (for attachment)

* [Feat] 예전 url과 비슷하게 이전 파일(사진)들 접근할 수 있도록 controller 생성 (#58)

* Config: Add oldFiles path for properties.

* Feat: Add deprecated file controller for getting old files temporarily.

* CICD: Add volume mounting for old files.

* CICD: Add dir to mount for old files.

* Refactor: Change api to /sites/default/files/{PATH}

* CICD: Add reverse proxy for old file serving.

* fix: 예약 dto에 지도교수, 반복 횟수 추가 (#61)

* fix: 로그아웃 엔드포인트 변경 (#64)

* fix: 로그아웃 엔드포인트 변경

* fix: 로그아웃 성공 리다이렉트 엔드포인트 변경

* [Fix] Notice, News Description TEXT type으로 변환 (#65)

* Fix: Change notice and news entity description type as TEXT.

* Fix: Change to mediumtext

* fix: newsSearchResponse, seminarSearchResponse 수정 (#66)

* fix: newsSearchResponse 수정

* fix: SeminarSearchResponse 수정

* fix: 오타수정

* fix: 파일 업로드 경로 통일 (#68)

* fix: 갯수만 fetch하도록 최적화 (#70)

* Fix: Change type of additionalNote column on SeminarEntity to "TEXT" (#71)

* fix: academics 패키지 프론트에 맞춰 협의, admin 패키지 추가 (#69)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* feat: notice에 attachments 추가

* fix: fix_with_front1 변경 사항에 맞게 수정

* feat: isImportant 추가

* feat: NoticeSearchDto에 hasAttachment 추가

* fix: update에서 attachmetnts가 null일 때 빈 목록 반환

* feat: 공지사항 선택 고정해제, 선택 삭제 추가

* fix: news, seminar에 isImportant 추가

* fix: pr 리뷰 수정

* fix: 수정했던거 다시 복구

* fix: course response 수정

* feat: academics에서 연도별로 주는 response 추가

* feat: academics YearResponses 추가

* fix: createScholarship 합치기

* fix: scholarship 패키지의 내용을 academics 하위로 옮김

* feat: createScholarshipDetail 추가

* fix: 필수 교양과목 response 변경

* feat: admin 패키지에서 readAllSlides 추가

* feat: admin 패키지 readAllImportants 추가

* feat: admin 패키지 중요안내 추가

* Refactor: HTML로부터 텍스트 추출 함수 Utils로 이동 (#73)

* Feat: Add cleanTextFromHtml.

* Refactor: Remove private clean method, replace to Utils.cleanTextFromHtml.

* Refactor: Remove unused imports.

* Feat: Add plain text description for notice (#74)

* Feat: Add cleanTextFromHtml.

* Refactor: Remove private clean method, replace to Utils.cleanTextFromHtml.

* Refactor: Remove unused imports.

* Feat: Add plainTextDescription.

* Feat: Add plainTextDescription in createNotice.

* Feat: add updating plainTextDescription when updating description.

* fix: admissions 패키지 프론트에 맞게 협의 (#76)

* fix: admissions 프론트에 맞게 협의

* fix: seminarEntity time 삭제

* fix: admissionsEntity pageName 추가

* fix: 불필요한 파일 삭제

* 커밋

* fix: 이전 글 다음 글만 fetch 하도록 쿼리 최적화 (#75)

* fix: 이전 글 다음 글만 fetch 하도록 쿼리 최적화

* fix: distinct 수정

* fix: 쿼리 최적화

* fix: total Long 타입으로 수정

* CI/CD: Test 설정 (#77)

* Config: Add kotest, mockk, h2 db for testing.

* Config: Add test profile.

* Config: Add testconfig for jpaqueryfactory.

* CICD: Add build, test workflow

* Fix: Revert local datasource url change.

* [Test] Notice create, update 시 plainTextDescription 동작 테스트 (#78)

* Config: Add test profile.

* Test: Add Tests for Create, Update Notice, in perspective of plainTextDescription

* Fix: Change life cycle hook resolution to container.

* [Feat] Seminar plain text field 추가 (#79)

* Feat: Add plain text column for description, introduction, additionalnote.

* Feat: Add description, introduction, additionalnote for dto -> entity.

* Feat: Change to update plain description, introduction, additional note.

* Feat: Use plainTextDesription for searchdto.

* Test: Test for create, update of plain texts.

* Test: Fix seminar service test.

* Feat: News plain text field 추가 (#80)

* Feat: Add plainTextDescription field for news entity

* Feat: Add to create, and update plainTextDescription.

* Feat: Change to use plainTextDescription when making newssearchdto.

* Test: Test for create/update plainTextDescription.

* Feat: 구성원 검색 위한 table 추가. (#81)

* Feat: MemberSearchEntity 추가.

* Feat: MemberSearchRepository 추가

* Feat: MemberSearchService 추가

* Feat: ProfessorEntity, StaffEntity에 MemberSearch 추가.

* Feat: ProfessorStatus에 한글 값 추가.

* Feat: professor create, update 시 memberSearch도 반영하도록 추가.

* Feat: seminar create, update 시 memberSearch도 반영하도록 추가.

* Test: ProfessorService 테스트 추가.

* Test: StaffServiceTest 추가.

* fix: 새소식 세미나 쿼리 수정 (#82)

* refactor: 유틸 패키지 생성 및 FixedPageRequest 분리

* feat: 새소식 세미나 이전 다음 글 및 total 쿼리 최적화

* fix: pageNum 값으로 usePageBtn 값 설정

* fix: import 경로 수정

* fix: local db port 3306

* 중복 삭제

* fix: prod endpoint https로 변경

* fix: main 프론트에 맞게 협의, notice 태그 enum 추가 (#83)

* fix: mainResponse 다시 작성

* feat: TagInNoticeEnum 추가

* feat: notice enum 추가

* fix: 코드 수정

* fix: isPublic -> isPrivate으로 정리 (#86)

* fix: rebase 정리

* fix: 오타 수정

* feat: 로컬 로그인 테스트용 엔드포인트로 임시 변경 (#87)

* Feat: 구성원 검색 API 추가 (#85)

* Feat: Add mysql custom dialect with MATCH AGAINST BOOLEAN MODE function.

* CICD: Add config for mysql db

* CICD: Add volumes for config file.

* CICD: Add db_config for condition for db deploy

* Feat: Add search top, and search query.

* Feat: Add DTOs

* Feat: Add Controller for member search only top, and page.

* Feat: Add dialect config for application.yaml

* Feat: Add controller for member search.

* Refactor: Change exception message to korean.

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>

* fix: 세미나 시간 타입 변경 (#91)

* fix: 세미나 시간 LocalDateTime으로 변경

* test: 테스트 수정

* fix: 태그 항목 수정 (#92)

* fix: news tag 추가 (#90)

* fix: news tag 추가

* fix: 일반인은 isPrivate = false인 것만, 직원은 모든 게시글 보여주기

* feat: 졸업생 창업 진로, 졸업생 진로 response 추가 (#94)

* fix: news tag 추가

* fix: 일반인은 isPrivate = false인 것만, 직원은 모든 게시글 보여주기

* feat: about  졸업생 read 추가

* fix: 오타 수정

* fix: conference 주소 추가 (#95)

* Feat: 연구 탭 통합검색 위한 Table 생성. (#97)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Fix: Fix typo, import library.

* Feat: Lab Update API 추가 (#98)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Feat: Add update method for labentity.

* Feat: Add update lab service.

* Feat: Add update lab controller.

* Test: Add ResearchServiceTest.

* Feat: Add deleteAttachment (marking)

* Fix: Add typo, add import library.

* Feat: Conference page 수정 API (#99)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Feat: Add update method for labentity.

* Feat: Add update lab service.

* Feat: Add update lab controller.

* Test: Add ResearchServiceTest.

* Feat: Add Conference Repository.

* Feat: add conferenc eentity method for create, update entity.

* Feat: Change variables to mutable.

* Feat: Add id in conferencedto.

* Feat: Add to sort the conferenceList.

* Feat: Add deleteAttachment (marking)

* Feat add service to modify conference page (create, modify, delete conferences)

* Feat: Add api for modify conference page.

* Test: Add test for conference service.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 파일 관련 수정 (#100)

* fix: 업로드 파일 사이즈 제한

* fix: 원본 첨부파일 이름으로 응답

* refactor: 세미나 업데이트 시 삭제할 첨부파일 id만 받도록 변경

* fix: 파일 api 경로 수정

* fix: deleteAttachment

* fix: GET notice 권한 관련 로직 수정 (#101)

* Refactor: Extract Full Text Query Template to CommonRepository (#102)

* Feat: Extract full text search template to common repository.

* Feat: Change full text search to use extracted repository.

* Feat: Add for 4 elements.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Notice Seminar News Search to Full Text Query (#105)

* Feat: Extract full text search template to common repository.

* Feat: Change full text search to use extracted repository.

* Feat: Add for 4 elements.

* Feat: Add more args cnt.

* Feat: Change keyword boolean builder to full text.

* Feat: Change keyword boolean builder to full text.

* Feat: Change keyword boolean builder to full text.

* Hotfix: Change mount volume. (#103)

* feat: api 권한 설정 (#84)

* fix: GET notice 권한 관련 로직 수정 (#109)

* fix: 필요한 column만 select (#111)

* refactor: 공지 태그 응답 한국어로 변경 및 리팩토링 (#113)

* refactor: 공지 태그 응답 한국어로 수정 및 리팩토링

* refactor: 새소식 태그 리팩토링

* fix: NewsRepository

* fix: 공지 새소식 PATCH 로직 수정 (#114)

* fix: 공지 새소식 PATCH 로직 수정

* test: 테스트 수정

* fix: news 엔티티에 날짜 추가 (#115)

* Feat: 검색 결과에서 keyword 위치, 적절한 substring 추출 위한 method 추가 (#116)

* Feat: Add utils substringAroundKeyword

* Test: Add test for Utils.kt

* fix: total 더미 값 + pageNum null일때만 더미 값 주기 (#117)

* fix: 예약 조회 권한 분리 및 응답 단순화 (#119)

* fix: 예약 단건 조회 권한 분리

* feat: 월별,주별 조회용 SimpleReservationDto

* fix: 로그인 리다이렉트 엔드포인트 복구 (#121)

* feat: migrateAbout, migrateFutureCareers 추가 (#118)

* feat: AboutRequest, migrateAbout 추가

* feat: future-careers 마이그레이션 추가

* feat: request 패키지 추가

* fix: AboutRequest 간소화

* fix: future-careers description aboutEntity에 저장

* feat: about 패키지 마이그레이션 추가 (#120)

* feat: AboutRequest, migrateAbout 추가

* feat: future-careers 마이그레이션 추가

* feat: request 패키지 추가

* fix: 불필요한 dto 삭제

* feat: migrateStudentClubs 추가

* feat: migrateFacilities 추가

* feat: migrateDirections 추가

* fix: 불필요한 dto 삭제

* fix: request 패키지 삭제

* fix: 오타 수정

* fix: news, notice에 titleForMain 추가 (#125)

* fix: 소식3총사 titleForMain 데이터 생성

* fix: 테스트에 titleForMain  추가

* Revert "fix: 테스트에 titleForMain  추가"

This reverts commit e824ad34e60e0785f1d4c4e187776d4b8bf53dfa.

* fix: 테스트에 titleForMain 추가

* fix: seminar titleForMain 추가

* fix: seminar test titleForMain 추가

* feat: LocalDateTime 응답 마지막에 Z 추가 (#126)

* refactor: deleteIds request 내부로 이동 (#127)

* refactor: deleteIds request 내부로 이동

* test: 테스트 수정

* fix: 확장자 중복 버그 (#128)

* feat: 관리자는 새소식, 세미나 목록에서 비공개 글 확인 가능 (#129)

* feat: research, member 패키지 migrate 추가 (#130)

* feat: migrateProfessors 추가

* feat: migrateResearchDetail 추가

* feat: migrateLabs 추가

* fix: migrate 엔티티 description에 mediumText 추가

* feat: migrateStaff 추가

* fix: 빠진거 수정

* fix: 중복 패키지 삭제

* fix: 너무 안긴거 text로 수정

* fix: noticeSearchDto에도 private 추가 (#131)

* fix: noticeSearchDto에도 private 추가

* fix: json 추가

* fix: 수정 및 추가

* fix: 수정

* Fix: 키워드 추출 함수 수정 (#122)

* Fix: Fix IndexOutOfBoundException, change to return index based on substring.

* Fix: Change to check index exclude case, and set front, back index to better contains keyword.

* Test: Update Test.

* Feat: 통합검색 Notice API 구현 (#123)

* Feat: Add dtos for notice total search.

* Feat: Add repository for notice total search.

* Feat: Add service, controller for notice total search

* Feat: News 통합 검색 API 구현 (#124)

* Feat: Add dto for total search of news.

* Feat: Add repository for total search.

* Feat: Add service, controller for news total search.

* Fix: Fix conflict issues.

* fix: 기존 objectMapper 설정 오버라이드 (#132)

* feat: 파일 업로드 컨트롤러 구현 (#133)

* Feat: Change titleForMain column to TEXT type. (#134)

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* hotfix: mixed content issue (#136)

* hotfix: loginPage to https (#139)

* hotfix: mixed content issue

* hotfix: loginPage

* fix: false로 수정 (#141)

* fix: 이전 다음 글에서 비공개 글 제외 (#143)

* fix: 이전 다음글 비공개 제외

* fix: prev-next

* CBT 위해서 예약 GET 권한체크 주석처리

* Feat: 뉴스 날짜로 정렬 (#144)

* Feat: Change date field to NOT NULLABLE.

* Feat: Change to sort by date, not createdat.

* Test: Fix test.

* Test: Move news test dir.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Add description for slide. (#146)

* style: ktlint (#145)

* style: ktlint

* Feat: change to ktlint_disabled_rules

* Refactor: fix to lint using ktlint.

* Refactor: After merge.

* Fix: After merge.

* Refactor: ReReLint

---------

Co-authored-by: huGgW <whjoon0225@naver.com>

* fix: 텍스트 인코딩 (#147)

* fix: content-dispostion

* fix: 텍스트 인코딩

* fix: 강제 다운로드

* style: ktlint

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* Update ktlint-check.yml

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
leeeryboy added a commit that referenced this pull request Sep 19, 2023
* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* ✨ 패키지 및 엔티티 생성

* ✨ BaseTimeEntity 생성, PostEntity 기본 내용 작성

* ✨ PostController 생성 및 기본 내용 작성

* ✨ postService 생성

* ✨ Exceptions.kt 생성

* ✨ postDto 생성

* ✨ postRepository 생성 및 기본 내용 작성

* 💚 application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

* fix: main에서 develop으로 pr (#16)

* feat: merge develop to main (#13)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* ✨ 패키지 및 엔티티 생성

* ✨ BaseTimeEntity 생성, PostEntity 기본 내용 작성

* ✨ PostController 생성 및 기본 내용 작성

* ✨ postService 생성

* ✨ Exceptions.kt 생성

* ✨ postDto 생성

* ✨ postRepository 생성 및 기본 내용 작성

* 💚 application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* hotfix: 사용하지않는 Dto 및 엔티티 삭제 (#14)

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* feat: seminar 패키지 추가 (#17)

* feat: createSeminar, readSeminar, updateSeminar 추가

* feat: deleteSeminar, searchSeminar 추가

* fix: distinct 삭제

* hotfix: 불필요한 dto 삭제 (#20)

* hotfix: 불필요한 dto 삭제

* build.gradle 수정

* fix: 이미지 uri 필드 추가 및 프론트 요구사항 반영 (#21)

* feat: 이미지 uri 필드 추가 및 isActive 대신 status 추가

* fix: 행정직원 전체 조회 응답에서 task 삭제

* fix: 교수진 페이지 응답 수정

* feat: introduction 패키지, undergraduate 패키지 추가 (#22)

* feat: createUndergraduate, readUndergraduate 추가

* feat: readAllCourses, createCourse, readCourse 추가

* introduction 패키지 추가

* fix: dto에서 postType 삭제

* fix: postType pathVariable->requestBody 수정, 오타 수정

* fix: 프론트와 협의하여 이름 등 변경

* feat: academics 패키지 대학원도 가능하도록 추가

* feat: 장학제도 세부 장학금 create, read 추가

* fix: 수정

* fix:수정

* feat: admissions, research 패키지 추가 (#23)

* feat: admissions-학부 에서 create, read 추가

* feat: admissions-대학원도 작성 가능하도록 추가

* feat: createResearch 추가

* feat: createLab 추가

* fix: 다른 패키지에 맞게 수정

* research-groups, research-centers에서 read, update 추가

* fix: admissions, research에서 프론트와 협의하여 이름 등 수정

* fix: 오타 수정

* fix: enum 추가, pr 리뷰 반영

* feat: oidc 로그인 (#27)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: idsnucse 다운 되었을때 에러 처리

* feat: idsnucse 다운 되었을때 에러 처리

* feat: cors 설정 (#30)

* fix: cors 추가 설정 (#32)

* feat: cors 설정

* feat: cors 설정

* fix: CORS (#34)

* feat: cors 설정

* feat: cors 설정

* feat: cors 설정

* fix: about, academics, admissions 패키지 수정 (#25)

* fix: admissions, about 컨트롤러 변경

* fix: academics 컨트롤러 수정

* 커밋중

* fix: pr 리뷰 반영

* feat: readMain 추가

* pr 리뷰 반영

* feat: 일반 예약 및 정기 예약 API (#28)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: 예약 엔티티 및 DTO 설계

* feat: 일반 예약 및 정기 예약

* feat: 예약 조회 API (#39)

* feat: 권한 관리 위해 커스텀 어노테이션 생성

* feat: 예약 단건, 주별, 월별 조회 API

* fix: 로컬 DB 설정 수정

* feat: 유저 조회 중복 쿼리 방지

* feat: 예약 응답에 recurrenceId 추가

* feat: 동시 예약 방지

* fix: 시큐리티 로그 다시 로컬에서만 보이도록 변경

* feat: 목데이터 날라가지 않도록 ddl-auto 수정

* feat: about, member, news, seminar 메인 이미지 업로드 추가 (#38)

* feat: uploadImage 추가

* feat: about, member 사진 업로드 추가

* feat: news, seminar 사진 업로드 추가

* refactor: imageEntity 추가 리팩토링

* fix: gif 삭제

* fix: application.yaml 수정

* fix: newsService 태그 -> 이미지로 순서 변경

* fix: pr 리뷰 수정

* fix: extension 없애고, mainImage로 바꾸고, uuid 없애기

* fix: var 삭제

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* CICD: Change deploy port to 8080 (#40)

* [Merge] (#41) (#42)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* ✨ 패키지 및 엔티티 생성

* ✨ BaseTimeEntity 생성, PostEntity 기본 내용 작성

* ✨ PostController 생성 및 기본 내용 작성

* ✨ postService 생성

* ✨ Exceptions.kt 생성

* ✨ postDto 생성

* ✨ postRepository 생성 및 기본 내용 작성

* 💚 application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

* fix: main에서 develop으로 pr (#16)

* feat: merge develop to main (#13)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* ✨ 패키지 및 엔티티 생성

* ✨ BaseTimeEntity 생성, PostEntity 기본 내용 작성

* ✨ PostController 생성 및 기본 내용 작성

* ✨ postService 생성

* ✨ Exceptions.kt 생성

* ✨ postDto 생성

* ✨ postRepository 생성 및 기본 내용 작성

* 💚 application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

---------




* hotfix: 사용하지않는 Dto 및 엔티티 삭제 (#14)

---------




* feat: seminar 패키지 추가 (#17)

* feat: createSeminar, readSeminar, updateSeminar 추가

* feat: deleteSeminar, searchSeminar 추가

* fix: distinct 삭제

* hotfix: 불필요한 dto 삭제 (#20)

* hotfix: 불필요한 dto 삭제

* build.gradle 수정

* fix: 이미지 uri 필드 추가 및 프론트 요구사항 반영 (#21)

* feat: 이미지 uri 필드 추가 및 isActive 대신 status 추가

* fix: 행정직원 전체 조회 응답에서 task 삭제

* fix: 교수진 페이지 응답 수정

* feat: introduction 패키지, undergraduate 패키지 추가 (#22)

* feat: createUndergraduate, readUndergraduate 추가

* feat: readAllCourses, createCourse, readCourse 추가

* introduction 패키지 추가

* fix: dto에서 postType 삭제

* fix: postType pathVariable->requestBody 수정, 오타 수정

* fix: 프론트와 협의하여 이름 등 변경

* feat: academics 패키지 대학원도 가능하도록 추가

* feat: 장학제도 세부 장학금 create, read 추가

* fix: 수정

* fix:수정

* feat: admissions, research 패키지 추가 (#23)

* feat: admissions-학부 에서 create, read 추가

* feat: admissions-대학원도 작성 가능하도록 추가

* feat: createResearch 추가

* feat: createLab 추가

* fix: 다른 패키지에 맞게 수정

* research-groups, research-centers에서 read, update 추가

* fix: admissions, research에서 프론트와 협의하여 이름 등 수정

* fix: 오타 수정

* fix: enum 추가, pr 리뷰 반영

* feat: oidc 로그인 (#27)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: idsnucse 다운 되었을때 에러 처리

* feat: idsnucse 다운 되었을때 에러 처리

* feat: cors 설정 (#30)

* fix: cors 추가 설정 (#32)

* feat: cors 설정

* feat: cors 설정

* fix: CORS (#34)

* feat: cors 설정

* feat: cors 설정

* feat: cors 설정

* fix: about, academics, admissions 패키지 수정 (#25)

* fix: admissions, about 컨트롤러 변경

* fix: academics 컨트롤러 수정

* 커밋중

* fix: pr 리뷰 반영

* feat: readMain 추가

* pr 리뷰 반영

* feat: 일반 예약 및 정기 예약 API (#28)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: 예약 엔티티 및 DTO 설계

* feat: 일반 예약 및 정기 예약

* feat: 예약 조회 API (#39)

* feat: 권한 관리 위해 커스텀 어노테이션 생성

* feat: 예약 단건, 주별, 월별 조회 API

* fix: 로컬 DB 설정 수정

* feat: 유저 조회 중복 쿼리 방지

* feat: 예약 응답에 recurrenceId 추가

* feat: 동시 예약 방지

* fix: 시큐리티 로그 다시 로컬에서만 보이도록 변경

* feat: 목데이터 날라가지 않도록 ddl-auto 수정

* feat: about, member, news, seminar 메인 이미지 업로드 추가 (#38)

* feat: uploadImage 추가

* feat: about, member 사진 업로드 추가

* feat: news, seminar 사진 업로드 추가

* refactor: imageEntity 추가 리팩토링

* fix: gif 삭제

* fix: application.yaml 수정

* fix: newsService 태그 -> 이미지로 순서 변경

* fix: pr 리뷰 수정

* fix: extension 없애고, mainImage로 바꾸고, uuid 없애기

* fix: var 삭제

---------



* CICD: Change deploy port to 8080 (#40)

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>

* feat: 장학제도 GET API 및 장학제도 페이지 응답 수정 (#44)

* feat: 장학제도 GET API

* feat: 장학제도 메인페이지 GET API 응답 수정

* feat: custom metadata 설정 + 리다이렉트 엔드포인트 변경 (#45)

* feat: yml 파일에 custom metadata endpoint 추가

* feat: 로그인/로그아웃 성공 리다이렉트 엔드포인트 변경

* feat: attachments 패키지 추가, news와 seminar request에 attachments 추가 (#43)

* feat: attachments 추가, news request에 attachments 추가

* feat: seminar request에 attachments 추가

* fix: mappedBy 추가 + bringAttachments null 없앰

* fix: 경로 분리

* fix: isDeleted false로 수정

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* feat: Top Conference List GET API (#47)

* feat: Top Conference List GET API

* feat: db에서 가져올때 정렬

* feat: 파일 서빙, 다운로드, 삭제 API (#48)

* feat: 파일 서빙, 다운로드, 삭제 API

* fix: extension 중복, 경로 수정

* feat: 공지사항 글쓴이 추가 (#49)

* CI/CD: Https 적용 및 백엔드, 데이터베이스, 프록시 서버 배포 분리 (#50)

* Config: Add gitignore for caddy files.

* CICD: Add caddy config file

* CICD: Seperate docker compose file for db and backend server.

* CICD: Docker Compose file for caddy proxy server.

* CICD: Add path condition for only act when source file has changed.

* CICD: Add workflow for deploying database changes.

* CICD: Add workflow for proxy server changes.

* Refactor: Add /api/v1 in front of all endpoints (except swagger-ui)

* Refactor: Add v1 to Main Image url.

* Refactor: change backend, frontend, login redirect uri to get from env.

* CICD: Add url to .env

* Fix: Change job name of database workflow, fix indent level.

* Fix: Remove duplicated restcontroller mapping.

* Fix: Set reverse proxy for swagger-ui/* for swagger.

* Docs: Set swagger to only scan /api/**

* Fix: add caddy to reverse api-docs/* for springdoc.

* Fix: Add login uris for reverse proxying to backend server.

* CICD: Remove testing branch condition.

* CICD: Add logout uri to reverse proxy to backend server.

* CICD: Remove test branch

* fix: 프론트랑 협의하여 내용 변경 + news, seminar에 image, attachments update 추가 (#51)

* feat: attachments 추가, news request에 attachments 추가

* feat: seminar request에 attachments 추가

* feat: about request에 attachments 추가

* feat: academics request에 attachments 추가

* fix: isPinned 삭제

* fix: image -> mainImage 변경, about에 greetings 추가

* fix: news, seminar update 수정

* fix: 전체적으로 image -> mainImage 변경

* fix: research 패키지 프론트에 맞춰 협의 (#52)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* fix: pr 리뷰 수정

* fix: 오타 수정

* [Refactor] 로그인, file uri 배포 환경에 맞게 수정 (#53)

* Refactor: Change mapping of file to append /api/v1 in front.

* Refactor: Change login, logout redirect uri

* fix: https 적용 관련 로그인 수정 (#56)

* fix: notice 패키지 프론트에 맞게 협의 (#54)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* feat: notice에 attachments 추가

* fix: fix_with_front1 변경 사항에 맞게 수정

* feat: isImportant 추가

* feat: NoticeSearchDto에 hasAttachment 추가

* fix: update에서 attachmetnts가 null일 때 빈 목록 반환

* feat: 공지사항 선택 고정해제, 선택 삭제 추가

* fix: news, seminar에 isImportant 추가

* fix: pr 리뷰 수정

* fix: 수정했던거 다시 복구

* feat: 신임교수초빙 (#59)

* feat: 행정실 권한 체크 API (#60)

* [CICD] mainImage, attachment 경로 mount 설정 (#55)

* CICD: Add mainImage, attachment directory for mounting

* CICD: Add volumes to mount with server directory. (for attachment)

* [Feat] 예전 url과 비슷하게 이전 파일(사진)들 접근할 수 있도록 controller 생성 (#58)

* Config: Add oldFiles path for properties.

* Feat: Add deprecated file controller for getting old files temporarily.

* CICD: Add volume mounting for old files.

* CICD: Add dir to mount for old files.

* Refactor: Change api to /sites/default/files/{PATH}

* CICD: Add reverse proxy for old file serving.

* fix: 예약 dto에 지도교수, 반복 횟수 추가 (#61)

* fix: 로그아웃 엔드포인트 변경 (#64)

* fix: 로그아웃 엔드포인트 변경

* fix: 로그아웃 성공 리다이렉트 엔드포인트 변경

* [Fix] Notice, News Description TEXT type으로 변환 (#65)

* Fix: Change notice and news entity description type as TEXT.

* Fix: Change to mediumtext

* fix: newsSearchResponse, seminarSearchResponse 수정 (#66)

* fix: newsSearchResponse 수정

* fix: SeminarSearchResponse 수정

* fix: 오타수정

* fix: 파일 업로드 경로 통일 (#68)

* fix: 갯수만 fetch하도록 최적화 (#70)

* Fix: Change type of additionalNote column on SeminarEntity to "TEXT" (#71)

* fix: academics 패키지 프론트에 맞춰 협의, admin 패키지 추가 (#69)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* feat: notice에 attachments 추가

* fix: fix_with_front1 변경 사항에 맞게 수정

* feat: isImportant 추가

* feat: NoticeSearchDto에 hasAttachment 추가

* fix: update에서 attachmetnts가 null일 때 빈 목록 반환

* feat: 공지사항 선택 고정해제, 선택 삭제 추가

* fix: news, seminar에 isImportant 추가

* fix: pr 리뷰 수정

* fix: 수정했던거 다시 복구

* fix: course response 수정

* feat: academics에서 연도별로 주는 response 추가

* feat: academics YearResponses 추가

* fix: createScholarship 합치기

* fix: scholarship 패키지의 내용을 academics 하위로 옮김

* feat: createScholarshipDetail 추가

* fix: 필수 교양과목 response 변경

* feat: admin 패키지에서 readAllSlides 추가

* feat: admin 패키지 readAllImportants 추가

* feat: admin 패키지 중요안내 추가

* Refactor: HTML로부터 텍스트 추출 함수 Utils로 이동 (#73)

* Feat: Add cleanTextFromHtml.

* Refactor: Remove private clean method, replace to Utils.cleanTextFromHtml.

* Refactor: Remove unused imports.

* Feat: Add plain text description for notice (#74)

* Feat: Add cleanTextFromHtml.

* Refactor: Remove private clean method, replace to Utils.cleanTextFromHtml.

* Refactor: Remove unused imports.

* Feat: Add plainTextDescription.

* Feat: Add plainTextDescription in createNotice.

* Feat: add updating plainTextDescription when updating description.

* fix: admissions 패키지 프론트에 맞게 협의 (#76)

* fix: admissions 프론트에 맞게 협의

* fix: seminarEntity time 삭제

* fix: admissionsEntity pageName 추가

* fix: 불필요한 파일 삭제

* 커밋

* fix: 이전 글 다음 글만 fetch 하도록 쿼리 최적화 (#75)

* fix: 이전 글 다음 글만 fetch 하도록 쿼리 최적화

* fix: distinct 수정

* fix: 쿼리 최적화

* fix: total Long 타입으로 수정

* CI/CD: Test 설정 (#77)

* Config: Add kotest, mockk, h2 db for testing.

* Config: Add test profile.

* Config: Add testconfig for jpaqueryfactory.

* CICD: Add build, test workflow

* Fix: Revert local datasource url change.

* [Test] Notice create, update 시 plainTextDescription 동작 테스트 (#78)

* Config: Add test profile.

* Test: Add Tests for Create, Update Notice, in perspective of plainTextDescription

* Fix: Change life cycle hook resolution to container.

* [Feat] Seminar plain text field 추가 (#79)

* Feat: Add plain text column for description, introduction, additionalnote.

* Feat: Add description, introduction, additionalnote for dto -> entity.

* Feat: Change to update plain description, introduction, additional note.

* Feat: Use plainTextDesription for searchdto.

* Test: Test for create, update of plain texts.

* Test: Fix seminar service test.

* Feat: News plain text field 추가 (#80)

* Feat: Add plainTextDescription field for news entity

* Feat: Add to create, and update plainTextDescription.

* Feat: Change to use plainTextDescription when making newssearchdto.

* Test: Test for create/update plainTextDescription.

* Feat: 구성원 검색 위한 table 추가. (#81)

* Feat: MemberSearchEntity 추가.

* Feat: MemberSearchRepository 추가

* Feat: MemberSearchService 추가

* Feat: ProfessorEntity, StaffEntity에 MemberSearch 추가.

* Feat: ProfessorStatus에 한글 값 추가.

* Feat: professor create, update 시 memberSearch도 반영하도록 추가.

* Feat: seminar create, update 시 memberSearch도 반영하도록 추가.

* Test: ProfessorService 테스트 추가.

* Test: StaffServiceTest 추가.

* fix: 새소식 세미나 쿼리 수정 (#82)

* refactor: 유틸 패키지 생성 및 FixedPageRequest 분리

* feat: 새소식 세미나 이전 다음 글 및 total 쿼리 최적화

* fix: pageNum 값으로 usePageBtn 값 설정

* fix: import 경로 수정

* fix: local db port 3306

* 중복 삭제

* fix: prod endpoint https로 변경

* fix: main 프론트에 맞게 협의, notice 태그 enum 추가 (#83)

* fix: mainResponse 다시 작성

* feat: TagInNoticeEnum 추가

* feat: notice enum 추가

* fix: 코드 수정

* fix: isPublic -> isPrivate으로 정리 (#86)

* fix: rebase 정리

* fix: 오타 수정

* feat: 로컬 로그인 테스트용 엔드포인트로 임시 변경 (#87)

* Feat: 구성원 검색 API 추가 (#85)

* Feat: Add mysql custom dialect with MATCH AGAINST BOOLEAN MODE function.

* CICD: Add config for mysql db

* CICD: Add volumes for config file.

* CICD: Add db_config for condition for db deploy

* Feat: Add search top, and search query.

* Feat: Add DTOs

* Feat: Add Controller for member search only top, and page.

* Feat: Add dialect config for application.yaml

* Feat: Add controller for member search.

* Refactor: Change exception message to korean.

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>

* fix: 세미나 시간 타입 변경 (#91)

* fix: 세미나 시간 LocalDateTime으로 변경

* test: 테스트 수정

* fix: 태그 항목 수정 (#92)

* fix: news tag 추가 (#90)

* fix: news tag 추가

* fix: 일반인은 isPrivate = false인 것만, 직원은 모든 게시글 보여주기

* feat: 졸업생 창업 진로, 졸업생 진로 response 추가 (#94)

* fix: news tag 추가

* fix: 일반인은 isPrivate = false인 것만, 직원은 모든 게시글 보여주기

* feat: about  졸업생 read 추가

* fix: 오타 수정

* fix: conference 주소 추가 (#95)

* Feat: 연구 탭 통합검색 위한 Table 생성. (#97)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Fix: Fix typo, import library.

* Feat: Lab Update API 추가 (#98)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Feat: Add update method for labentity.

* Feat: Add update lab service.

* Feat: Add update lab controller.

* Test: Add ResearchServiceTest.

* Feat: Add deleteAttachment (marking)

* Fix: Add typo, add import library.

* Feat: Conference page 수정 API (#99)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Feat: Add update method for labentity.

* Feat: Add update lab service.

* Feat: Add update lab controller.

* Test: Add ResearchServiceTest.

* Feat: Add Conference Repository.

* Feat: add conferenc eentity method for create, update entity.

* Feat: Change variables to mutable.

* Feat: Add id in conferencedto.

* Feat: Add to sort the conferenceList.

* Feat: Add deleteAttachment (marking)

* Feat add service to modify conference page (create, modify, delete conferences)

* Feat: Add api for modify conference page.

* Test: Add test for conference service.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 파일 관련 수정 (#100)

* fix: 업로드 파일 사이즈 제한

* fix: 원본 첨부파일 이름으로 응답

* refactor: 세미나 업데이트 시 삭제할 첨부파일 id만 받도록 변경

* fix: 파일 api 경로 수정

* fix: deleteAttachment

* fix: GET notice 권한 관련 로직 수정 (#101)

* Refactor: Extract Full Text Query Template to CommonRepository (#102)

* Feat: Extract full text search template to common repository.

* Feat: Change full text search to use extracted repository.

* Feat: Add for 4 elements.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Notice Seminar News Search to Full Text Query (#105)

* Feat: Extract full text search template to common repository.

* Feat: Change full text search to use extracted repository.

* Feat: Add for 4 elements.

* Feat: Add more args cnt.

* Feat: Change keyword boolean builder to full text.

* Feat: Change keyword boolean builder to full text.

* Feat: Change keyword boolean builder to full text.

* Hotfix: Change mount volume. (#103)

* feat: api 권한 설정 (#84)

* fix: GET notice 권한 관련 로직 수정 (#109)

* fix: 필요한 column만 select (#111)

* refactor: 공지 태그 응답 한국어로 변경 및 리팩토링 (#113)

* refactor: 공지 태그 응답 한국어로 수정 및 리팩토링

* refactor: 새소식 태그 리팩토링

* fix: NewsRepository

* fix: 공지 새소식 PATCH 로직 수정 (#114)

* fix: 공지 새소식 PATCH 로직 수정

* test: 테스트 수정

* fix: news 엔티티에 날짜 추가 (#115)

* Feat: 검색 결과에서 keyword 위치, 적절한 substring 추출 위한 method 추가 (#116)

* Feat: Add utils substringAroundKeyword

* Test: Add test for Utils.kt

* fix: total 더미 값 + pageNum null일때만 더미 값 주기 (#117)

* fix: 예약 조회 권한 분리 및 응답 단순화 (#119)

* fix: 예약 단건 조회 권한 분리

* feat: 월별,주별 조회용 SimpleReservationDto

* fix: 로그인 리다이렉트 엔드포인트 복구 (#121)

* feat: migrateAbout, migrateFutureCareers 추가 (#118)

* feat: AboutRequest, migrateAbout 추가

* feat: future-careers 마이그레이션 추가

* feat: request 패키지 추가

* fix: AboutRequest 간소화

* fix: future-careers description aboutEntity에 저장

* feat: about 패키지 마이그레이션 추가 (#120)

* feat: AboutRequest, migrateAbout 추가

* feat: future-careers 마이그레이션 추가

* feat: request 패키지 추가

* fix: 불필요한 dto 삭제

* feat: migrateStudentClubs 추가

* feat: migrateFacilities 추가

* feat: migrateDirections 추가

* fix: 불필요한 dto 삭제

* fix: request 패키지 삭제

* fix: 오타 수정

* fix: news, notice에 titleForMain 추가 (#125)

* fix: 소식3총사 titleForMain 데이터 생성

* fix: 테스트에 titleForMain  추가

* Revert "fix: 테스트에 titleForMain  추가"

This reverts commit e824ad34e60e0785f1d4c4e187776d4b8bf53dfa.

* fix: 테스트에 titleForMain 추가

* fix: seminar titleForMain 추가

* fix: seminar test titleForMain 추가

* feat: LocalDateTime 응답 마지막에 Z 추가 (#126)

* refactor: deleteIds request 내부로 이동 (#127)

* refactor: deleteIds request 내부로 이동

* test: 테스트 수정

* fix: 확장자 중복 버그 (#128)

* feat: 관리자는 새소식, 세미나 목록에서 비공개 글 확인 가능 (#129)

* feat: research, member 패키지 migrate 추가 (#130)

* feat: migrateProfessors 추가

* feat: migrateResearchDetail 추가

* feat: migrateLabs 추가

* fix: migrate 엔티티 description에 mediumText 추가

* feat: migrateStaff 추가

* fix: 빠진거 수정

* fix: 중복 패키지 삭제

* fix: 너무 안긴거 text로 수정

* fix: noticeSearchDto에도 private 추가 (#131)

* fix: noticeSearchDto에도 private 추가

* fix: json 추가

* fix: 수정 및 추가

* fix: 수정

* Fix: 키워드 추출 함수 수정 (#122)

* Fix: Fix IndexOutOfBoundException, change to return index based on substring.

* Fix: Change to check index exclude case, and set front, back index to better contains keyword.

* Test: Update Test.

* Feat: 통합검색 Notice API 구현 (#123)

* Feat: Add dtos for notice total search.

* Feat: Add repository for notice total search.

* Feat: Add service, controller for notice total search

* Feat: News 통합 검색 API 구현 (#124)

* Feat: Add dto for total search of news.

* Feat: Add repository for total search.

* Feat: Add service, controller for news total search.

* Fix: Fix conflict issues.

* fix: 기존 objectMapper 설정 오버라이드 (#132)

* feat: 파일 업로드 컨트롤러 구현 (#133)

* Feat: Change titleForMain column to TEXT type. (#134)

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* hotfix: mixed content issue (#136)

* hotfix: loginPage to https (#139)

* hotfix: mixed content issue

* hotfix: loginPage

* fix: false로 수정 (#141)

* fix: 이전 다음 글에서 비공개 글 제외 (#143)

* fix: 이전 다음글 비공개 제외

* fix: prev-next

* CBT 위해서 예약 GET 권한체크 주석처리

* Feat: 뉴스 날짜로 정렬 (#144)

* Feat: Change date field to NOT NULLABLE.

* Feat: Change to sort by date, not createdat.

* Test: Fix test.

* Test: Move news test dir.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Add description for slide. (#146)

* style: ktlint (#145)

* style: ktlint

* Feat: change to ktlint_disabled_rules

* Refactor: fix to lint using ktlint.

* Refactor: After merge.

* Fix: After merge.

* Refactor: ReReLint

---------

Co-authored-by: huGgW <whjoon0225@naver.com>

* fix: 텍스트 인코딩 (#147)

* fix: content-dispostion

* fix: 텍스트 인코딩

* fix: 강제 다운로드

* style: ktlint

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* Update ktlint-check.yml

* fix: 중요 안내 (#149)

* fix: 삭제된 글 중요 안내에서 보이지 않도록 수정

* fix: 중요 안내 최대 2개만 보내도록 + plainTextDescription

* style: ktlint

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
leeeryboy added a commit that referenced this pull request Sep 22, 2023
* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* ✨ 패키지 및 엔티티 생성

* ✨ BaseTimeEntity 생성, PostEntity 기본 내용 작성

* ✨ PostController 생성 및 기본 내용 작성

* ✨ postService 생성

* ✨ Exceptions.kt 생성

* ✨ postDto 생성

* ✨ postRepository 생성 및 기본 내용 작성

* 💚 application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

* fix: main에서 develop으로 pr (#16)

* feat: merge develop to main (#13)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* ✨ 패키지 및 엔티티 생성

* ✨ BaseTimeEntity 생성, PostEntity 기본 내용 작성

* ✨ PostController 생성 및 기본 내용 작성

* ✨ postService 생성

* ✨ Exceptions.kt 생성

* ✨ postDto 생성

* ✨ postRepository 생성 및 기본 내용 작성

* 💚 application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* hotfix: 사용하지않는 Dto 및 엔티티 삭제 (#14)

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* feat: seminar 패키지 추가 (#17)

* feat: createSeminar, readSeminar, updateSeminar 추가

* feat: deleteSeminar, searchSeminar 추가

* fix: distinct 삭제

* hotfix: 불필요한 dto 삭제 (#20)

* hotfix: 불필요한 dto 삭제

* build.gradle 수정

* fix: 이미지 uri 필드 추가 및 프론트 요구사항 반영 (#21)

* feat: 이미지 uri 필드 추가 및 isActive 대신 status 추가

* fix: 행정직원 전체 조회 응답에서 task 삭제

* fix: 교수진 페이지 응답 수정

* feat: introduction 패키지, undergraduate 패키지 추가 (#22)

* feat: createUndergraduate, readUndergraduate 추가

* feat: readAllCourses, createCourse, readCourse 추가

* introduction 패키지 추가

* fix: dto에서 postType 삭제

* fix: postType pathVariable->requestBody 수정, 오타 수정

* fix: 프론트와 협의하여 이름 등 변경

* feat: academics 패키지 대학원도 가능하도록 추가

* feat: 장학제도 세부 장학금 create, read 추가

* fix: 수정

* fix:수정

* feat: admissions, research 패키지 추가 (#23)

* feat: admissions-학부 에서 create, read 추가

* feat: admissions-대학원도 작성 가능하도록 추가

* feat: createResearch 추가

* feat: createLab 추가

* fix: 다른 패키지에 맞게 수정

* research-groups, research-centers에서 read, update 추가

* fix: admissions, research에서 프론트와 협의하여 이름 등 수정

* fix: 오타 수정

* fix: enum 추가, pr 리뷰 반영

* feat: oidc 로그인 (#27)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: idsnucse 다운 되었을때 에러 처리

* feat: idsnucse 다운 되었을때 에러 처리

* feat: cors 설정 (#30)

* fix: cors 추가 설정 (#32)

* feat: cors 설정

* feat: cors 설정

* fix: CORS (#34)

* feat: cors 설정

* feat: cors 설정

* feat: cors 설정

* fix: about, academics, admissions 패키지 수정 (#25)

* fix: admissions, about 컨트롤러 변경

* fix: academics 컨트롤러 수정

* 커밋중

* fix: pr 리뷰 반영

* feat: readMain 추가

* pr 리뷰 반영

* feat: 일반 예약 및 정기 예약 API (#28)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: 예약 엔티티 및 DTO 설계

* feat: 일반 예약 및 정기 예약

* feat: 예약 조회 API (#39)

* feat: 권한 관리 위해 커스텀 어노테이션 생성

* feat: 예약 단건, 주별, 월별 조회 API

* fix: 로컬 DB 설정 수정

* feat: 유저 조회 중복 쿼리 방지

* feat: 예약 응답에 recurrenceId 추가

* feat: 동시 예약 방지

* fix: 시큐리티 로그 다시 로컬에서만 보이도록 변경

* feat: 목데이터 날라가지 않도록 ddl-auto 수정

* feat: about, member, news, seminar 메인 이미지 업로드 추가 (#38)

* feat: uploadImage 추가

* feat: about, member 사진 업로드 추가

* feat: news, seminar 사진 업로드 추가

* refactor: imageEntity 추가 리팩토링

* fix: gif 삭제

* fix: application.yaml 수정

* fix: newsService 태그 -> 이미지로 순서 변경

* fix: pr 리뷰 수정

* fix: extension 없애고, mainImage로 바꾸고, uuid 없애기

* fix: var 삭제

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* CICD: Change deploy port to 8080 (#40)

* [Merge] (#41) (#42)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* ✨ 패키지 및 엔티티 생성

* ✨ BaseTimeEntity 생성, PostEntity 기본 내용 작성

* ✨ PostController 생성 및 기본 내용 작성

* ✨ postService 생성

* ✨ Exceptions.kt 생성

* ✨ postDto 생성

* ✨ postRepository 생성 및 기본 내용 작성

* 💚 application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

* fix: main에서 develop으로 pr (#16)

* feat: merge develop to main (#13)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* ✨ 패키지 및 엔티티 생성

* ✨ BaseTimeEntity 생성, PostEntity 기본 내용 작성

* ✨ PostController 생성 및 기본 내용 작성

* ✨ postService 생성

* ✨ Exceptions.kt 생성

* ✨ postDto 생성

* ✨ postRepository 생성 및 기본 내용 작성

* 💚 application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

---------




* hotfix: 사용하지않는 Dto 및 엔티티 삭제 (#14)

---------




* feat: seminar 패키지 추가 (#17)

* feat: createSeminar, readSeminar, updateSeminar 추가

* feat: deleteSeminar, searchSeminar 추가

* fix: distinct 삭제

* hotfix: 불필요한 dto 삭제 (#20)

* hotfix: 불필요한 dto 삭제

* build.gradle 수정

* fix: 이미지 uri 필드 추가 및 프론트 요구사항 반영 (#21)

* feat: 이미지 uri 필드 추가 및 isActive 대신 status 추가

* fix: 행정직원 전체 조회 응답에서 task 삭제

* fix: 교수진 페이지 응답 수정

* feat: introduction 패키지, undergraduate 패키지 추가 (#22)

* feat: createUndergraduate, readUndergraduate 추가

* feat: readAllCourses, createCourse, readCourse 추가

* introduction 패키지 추가

* fix: dto에서 postType 삭제

* fix: postType pathVariable->requestBody 수정, 오타 수정

* fix: 프론트와 협의하여 이름 등 변경

* feat: academics 패키지 대학원도 가능하도록 추가

* feat: 장학제도 세부 장학금 create, read 추가

* fix: 수정

* fix:수정

* feat: admissions, research 패키지 추가 (#23)

* feat: admissions-학부 에서 create, read 추가

* feat: admissions-대학원도 작성 가능하도록 추가

* feat: createResearch 추가

* feat: createLab 추가

* fix: 다른 패키지에 맞게 수정

* research-groups, research-centers에서 read, update 추가

* fix: admissions, research에서 프론트와 협의하여 이름 등 수정

* fix: 오타 수정

* fix: enum 추가, pr 리뷰 반영

* feat: oidc 로그인 (#27)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: idsnucse 다운 되었을때 에러 처리

* feat: idsnucse 다운 되었을때 에러 처리

* feat: cors 설정 (#30)

* fix: cors 추가 설정 (#32)

* feat: cors 설정

* feat: cors 설정

* fix: CORS (#34)

* feat: cors 설정

* feat: cors 설정

* feat: cors 설정

* fix: about, academics, admissions 패키지 수정 (#25)

* fix: admissions, about 컨트롤러 변경

* fix: academics 컨트롤러 수정

* 커밋중

* fix: pr 리뷰 반영

* feat: readMain 추가

* pr 리뷰 반영

* feat: 일반 예약 및 정기 예약 API (#28)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: 예약 엔티티 및 DTO 설계

* feat: 일반 예약 및 정기 예약

* feat: 예약 조회 API (#39)

* feat: 권한 관리 위해 커스텀 어노테이션 생성

* feat: 예약 단건, 주별, 월별 조회 API

* fix: 로컬 DB 설정 수정

* feat: 유저 조회 중복 쿼리 방지

* feat: 예약 응답에 recurrenceId 추가

* feat: 동시 예약 방지

* fix: 시큐리티 로그 다시 로컬에서만 보이도록 변경

* feat: 목데이터 날라가지 않도록 ddl-auto 수정

* feat: about, member, news, seminar 메인 이미지 업로드 추가 (#38)

* feat: uploadImage 추가

* feat: about, member 사진 업로드 추가

* feat: news, seminar 사진 업로드 추가

* refactor: imageEntity 추가 리팩토링

* fix: gif 삭제

* fix: application.yaml 수정

* fix: newsService 태그 -> 이미지로 순서 변경

* fix: pr 리뷰 수정

* fix: extension 없애고, mainImage로 바꾸고, uuid 없애기

* fix: var 삭제

---------



* CICD: Change deploy port to 8080 (#40)

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>

* feat: 장학제도 GET API 및 장학제도 페이지 응답 수정 (#44)

* feat: 장학제도 GET API

* feat: 장학제도 메인페이지 GET API 응답 수정

* feat: custom metadata 설정 + 리다이렉트 엔드포인트 변경 (#45)

* feat: yml 파일에 custom metadata endpoint 추가

* feat: 로그인/로그아웃 성공 리다이렉트 엔드포인트 변경

* feat: attachments 패키지 추가, news와 seminar request에 attachments 추가 (#43)

* feat: attachments 추가, news request에 attachments 추가

* feat: seminar request에 attachments 추가

* fix: mappedBy 추가 + bringAttachments null 없앰

* fix: 경로 분리

* fix: isDeleted false로 수정

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* feat: Top Conference List GET API (#47)

* feat: Top Conference List GET API

* feat: db에서 가져올때 정렬

* feat: 파일 서빙, 다운로드, 삭제 API (#48)

* feat: 파일 서빙, 다운로드, 삭제 API

* fix: extension 중복, 경로 수정

* feat: 공지사항 글쓴이 추가 (#49)

* CI/CD: Https 적용 및 백엔드, 데이터베이스, 프록시 서버 배포 분리 (#50)

* Config: Add gitignore for caddy files.

* CICD: Add caddy config file

* CICD: Seperate docker compose file for db and backend server.

* CICD: Docker Compose file for caddy proxy server.

* CICD: Add path condition for only act when source file has changed.

* CICD: Add workflow for deploying database changes.

* CICD: Add workflow for proxy server changes.

* Refactor: Add /api/v1 in front of all endpoints (except swagger-ui)

* Refactor: Add v1 to Main Image url.

* Refactor: change backend, frontend, login redirect uri to get from env.

* CICD: Add url to .env

* Fix: Change job name of database workflow, fix indent level.

* Fix: Remove duplicated restcontroller mapping.

* Fix: Set reverse proxy for swagger-ui/* for swagger.

* Docs: Set swagger to only scan /api/**

* Fix: add caddy to reverse api-docs/* for springdoc.

* Fix: Add login uris for reverse proxying to backend server.

* CICD: Remove testing branch condition.

* CICD: Add logout uri to reverse proxy to backend server.

* CICD: Remove test branch

* fix: 프론트랑 협의하여 내용 변경 + news, seminar에 image, attachments update 추가 (#51)

* feat: attachments 추가, news request에 attachments 추가

* feat: seminar request에 attachments 추가

* feat: about request에 attachments 추가

* feat: academics request에 attachments 추가

* fix: isPinned 삭제

* fix: image -> mainImage 변경, about에 greetings 추가

* fix: news, seminar update 수정

* fix: 전체적으로 image -> mainImage 변경

* fix: research 패키지 프론트에 맞춰 협의 (#52)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* fix: pr 리뷰 수정

* fix: 오타 수정

* [Refactor] 로그인, file uri 배포 환경에 맞게 수정 (#53)

* Refactor: Change mapping of file to append /api/v1 in front.

* Refactor: Change login, logout redirect uri

* fix: https 적용 관련 로그인 수정 (#56)

* fix: notice 패키지 프론트에 맞게 협의 (#54)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* feat: notice에 attachments 추가

* fix: fix_with_front1 변경 사항에 맞게 수정

* feat: isImportant 추가

* feat: NoticeSearchDto에 hasAttachment 추가

* fix: update에서 attachmetnts가 null일 때 빈 목록 반환

* feat: 공지사항 선택 고정해제, 선택 삭제 추가

* fix: news, seminar에 isImportant 추가

* fix: pr 리뷰 수정

* fix: 수정했던거 다시 복구

* feat: 신임교수초빙 (#59)

* feat: 행정실 권한 체크 API (#60)

* [CICD] mainImage, attachment 경로 mount 설정 (#55)

* CICD: Add mainImage, attachment directory for mounting

* CICD: Add volumes to mount with server directory. (for attachment)

* [Feat] 예전 url과 비슷하게 이전 파일(사진)들 접근할 수 있도록 controller 생성 (#58)

* Config: Add oldFiles path for properties.

* Feat: Add deprecated file controller for getting old files temporarily.

* CICD: Add volume mounting for old files.

* CICD: Add dir to mount for old files.

* Refactor: Change api to /sites/default/files/{PATH}

* CICD: Add reverse proxy for old file serving.

* fix: 예약 dto에 지도교수, 반복 횟수 추가 (#61)

* fix: 로그아웃 엔드포인트 변경 (#64)

* fix: 로그아웃 엔드포인트 변경

* fix: 로그아웃 성공 리다이렉트 엔드포인트 변경

* [Fix] Notice, News Description TEXT type으로 변환 (#65)

* Fix: Change notice and news entity description type as TEXT.

* Fix: Change to mediumtext

* fix: newsSearchResponse, seminarSearchResponse 수정 (#66)

* fix: newsSearchResponse 수정

* fix: SeminarSearchResponse 수정

* fix: 오타수정

* fix: 파일 업로드 경로 통일 (#68)

* fix: 갯수만 fetch하도록 최적화 (#70)

* Fix: Change type of additionalNote column on SeminarEntity to "TEXT" (#71)

* fix: academics 패키지 프론트에 맞춰 협의, admin 패키지 추가 (#69)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* feat: notice에 attachments 추가

* fix: fix_with_front1 변경 사항에 맞게 수정

* feat: isImportant 추가

* feat: NoticeSearchDto에 hasAttachment 추가

* fix: update에서 attachmetnts가 null일 때 빈 목록 반환

* feat: 공지사항 선택 고정해제, 선택 삭제 추가

* fix: news, seminar에 isImportant 추가

* fix: pr 리뷰 수정

* fix: 수정했던거 다시 복구

* fix: course response 수정

* feat: academics에서 연도별로 주는 response 추가

* feat: academics YearResponses 추가

* fix: createScholarship 합치기

* fix: scholarship 패키지의 내용을 academics 하위로 옮김

* feat: createScholarshipDetail 추가

* fix: 필수 교양과목 response 변경

* feat: admin 패키지에서 readAllSlides 추가

* feat: admin 패키지 readAllImportants 추가

* feat: admin 패키지 중요안내 추가

* Refactor: HTML로부터 텍스트 추출 함수 Utils로 이동 (#73)

* Feat: Add cleanTextFromHtml.

* Refactor: Remove private clean method, replace to Utils.cleanTextFromHtml.

* Refactor: Remove unused imports.

* Feat: Add plain text description for notice (#74)

* Feat: Add cleanTextFromHtml.

* Refactor: Remove private clean method, replace to Utils.cleanTextFromHtml.

* Refactor: Remove unused imports.

* Feat: Add plainTextDescription.

* Feat: Add plainTextDescription in createNotice.

* Feat: add updating plainTextDescription when updating description.

* fix: admissions 패키지 프론트에 맞게 협의 (#76)

* fix: admissions 프론트에 맞게 협의

* fix: seminarEntity time 삭제

* fix: admissionsEntity pageName 추가

* fix: 불필요한 파일 삭제

* 커밋

* fix: 이전 글 다음 글만 fetch 하도록 쿼리 최적화 (#75)

* fix: 이전 글 다음 글만 fetch 하도록 쿼리 최적화

* fix: distinct 수정

* fix: 쿼리 최적화

* fix: total Long 타입으로 수정

* CI/CD: Test 설정 (#77)

* Config: Add kotest, mockk, h2 db for testing.

* Config: Add test profile.

* Config: Add testconfig for jpaqueryfactory.

* CICD: Add build, test workflow

* Fix: Revert local datasource url change.

* [Test] Notice create, update 시 plainTextDescription 동작 테스트 (#78)

* Config: Add test profile.

* Test: Add Tests for Create, Update Notice, in perspective of plainTextDescription

* Fix: Change life cycle hook resolution to container.

* [Feat] Seminar plain text field 추가 (#79)

* Feat: Add plain text column for description, introduction, additionalnote.

* Feat: Add description, introduction, additionalnote for dto -> entity.

* Feat: Change to update plain description, introduction, additional note.

* Feat: Use plainTextDesription for searchdto.

* Test: Test for create, update of plain texts.

* Test: Fix seminar service test.

* Feat: News plain text field 추가 (#80)

* Feat: Add plainTextDescription field for news entity

* Feat: Add to create, and update plainTextDescription.

* Feat: Change to use plainTextDescription when making newssearchdto.

* Test: Test for create/update plainTextDescription.

* Feat: 구성원 검색 위한 table 추가. (#81)

* Feat: MemberSearchEntity 추가.

* Feat: MemberSearchRepository 추가

* Feat: MemberSearchService 추가

* Feat: ProfessorEntity, StaffEntity에 MemberSearch 추가.

* Feat: ProfessorStatus에 한글 값 추가.

* Feat: professor create, update 시 memberSearch도 반영하도록 추가.

* Feat: seminar create, update 시 memberSearch도 반영하도록 추가.

* Test: ProfessorService 테스트 추가.

* Test: StaffServiceTest 추가.

* fix: 새소식 세미나 쿼리 수정 (#82)

* refactor: 유틸 패키지 생성 및 FixedPageRequest 분리

* feat: 새소식 세미나 이전 다음 글 및 total 쿼리 최적화

* fix: pageNum 값으로 usePageBtn 값 설정

* fix: import 경로 수정

* fix: local db port 3306

* 중복 삭제

* fix: prod endpoint https로 변경

* fix: main 프론트에 맞게 협의, notice 태그 enum 추가 (#83)

* fix: mainResponse 다시 작성

* feat: TagInNoticeEnum 추가

* feat: notice enum 추가

* fix: 코드 수정

* fix: isPublic -> isPrivate으로 정리 (#86)

* fix: rebase 정리

* fix: 오타 수정

* feat: 로컬 로그인 테스트용 엔드포인트로 임시 변경 (#87)

* Feat: 구성원 검색 API 추가 (#85)

* Feat: Add mysql custom dialect with MATCH AGAINST BOOLEAN MODE function.

* CICD: Add config for mysql db

* CICD: Add volumes for config file.

* CICD: Add db_config for condition for db deploy

* Feat: Add search top, and search query.

* Feat: Add DTOs

* Feat: Add Controller for member search only top, and page.

* Feat: Add dialect config for application.yaml

* Feat: Add controller for member search.

* Refactor: Change exception message to korean.

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>

* fix: 세미나 시간 타입 변경 (#91)

* fix: 세미나 시간 LocalDateTime으로 변경

* test: 테스트 수정

* fix: 태그 항목 수정 (#92)

* fix: news tag 추가 (#90)

* fix: news tag 추가

* fix: 일반인은 isPrivate = false인 것만, 직원은 모든 게시글 보여주기

* feat: 졸업생 창업 진로, 졸업생 진로 response 추가 (#94)

* fix: news tag 추가

* fix: 일반인은 isPrivate = false인 것만, 직원은 모든 게시글 보여주기

* feat: about  졸업생 read 추가

* fix: 오타 수정

* fix: conference 주소 추가 (#95)

* Feat: 연구 탭 통합검색 위한 Table 생성. (#97)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Fix: Fix typo, import library.

* Feat: Lab Update API 추가 (#98)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Feat: Add update method for labentity.

* Feat: Add update lab service.

* Feat: Add update lab controller.

* Test: Add ResearchServiceTest.

* Feat: Add deleteAttachment (marking)

* Fix: Add typo, add import library.

* Feat: Conference page 수정 API (#99)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Feat: Add update method for labentity.

* Feat: Add update lab service.

* Feat: Add update lab controller.

* Test: Add ResearchServiceTest.

* Feat: Add Conference Repository.

* Feat: add conferenc eentity method for create, update entity.

* Feat: Change variables to mutable.

* Feat: Add id in conferencedto.

* Feat: Add to sort the conferenceList.

* Feat: Add deleteAttachment (marking)

* Feat add service to modify conference page (create, modify, delete conferences)

* Feat: Add api for modify conference page.

* Test: Add test for conference service.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 파일 관련 수정 (#100)

* fix: 업로드 파일 사이즈 제한

* fix: 원본 첨부파일 이름으로 응답

* refactor: 세미나 업데이트 시 삭제할 첨부파일 id만 받도록 변경

* fix: 파일 api 경로 수정

* fix: deleteAttachment

* fix: GET notice 권한 관련 로직 수정 (#101)

* Refactor: Extract Full Text Query Template to CommonRepository (#102)

* Feat: Extract full text search template to common repository.

* Feat: Change full text search to use extracted repository.

* Feat: Add for 4 elements.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Notice Seminar News Search to Full Text Query (#105)

* Feat: Extract full text search template to common repository.

* Feat: Change full text search to use extracted repository.

* Feat: Add for 4 elements.

* Feat: Add more args cnt.

* Feat: Change keyword boolean builder to full text.

* Feat: Change keyword boolean builder to full text.

* Feat: Change keyword boolean builder to full text.

* Hotfix: Change mount volume. (#103)

* feat: api 권한 설정 (#84)

* fix: GET notice 권한 관련 로직 수정 (#109)

* fix: 필요한 column만 select (#111)

* refactor: 공지 태그 응답 한국어로 변경 및 리팩토링 (#113)

* refactor: 공지 태그 응답 한국어로 수정 및 리팩토링

* refactor: 새소식 태그 리팩토링

* fix: NewsRepository

* fix: 공지 새소식 PATCH 로직 수정 (#114)

* fix: 공지 새소식 PATCH 로직 수정

* test: 테스트 수정

* fix: news 엔티티에 날짜 추가 (#115)

* Feat: 검색 결과에서 keyword 위치, 적절한 substring 추출 위한 method 추가 (#116)

* Feat: Add utils substringAroundKeyword

* Test: Add test for Utils.kt

* fix: total 더미 값 + pageNum null일때만 더미 값 주기 (#117)

* fix: 예약 조회 권한 분리 및 응답 단순화 (#119)

* fix: 예약 단건 조회 권한 분리

* feat: 월별,주별 조회용 SimpleReservationDto

* fix: 로그인 리다이렉트 엔드포인트 복구 (#121)

* feat: migrateAbout, migrateFutureCareers 추가 (#118)

* feat: AboutRequest, migrateAbout 추가

* feat: future-careers 마이그레이션 추가

* feat: request 패키지 추가

* fix: AboutRequest 간소화

* fix: future-careers description aboutEntity에 저장

* feat: about 패키지 마이그레이션 추가 (#120)

* feat: AboutRequest, migrateAbout 추가

* feat: future-careers 마이그레이션 추가

* feat: request 패키지 추가

* fix: 불필요한 dto 삭제

* feat: migrateStudentClubs 추가

* feat: migrateFacilities 추가

* feat: migrateDirections 추가

* fix: 불필요한 dto 삭제

* fix: request 패키지 삭제

* fix: 오타 수정

* fix: news, notice에 titleForMain 추가 (#125)

* fix: 소식3총사 titleForMain 데이터 생성

* fix: 테스트에 titleForMain  추가

* Revert "fix: 테스트에 titleForMain  추가"

This reverts commit e824ad34e60e0785f1d4c4e187776d4b8bf53dfa.

* fix: 테스트에 titleForMain 추가

* fix: seminar titleForMain 추가

* fix: seminar test titleForMain 추가

* feat: LocalDateTime 응답 마지막에 Z 추가 (#126)

* refactor: deleteIds request 내부로 이동 (#127)

* refactor: deleteIds request 내부로 이동

* test: 테스트 수정

* fix: 확장자 중복 버그 (#128)

* feat: 관리자는 새소식, 세미나 목록에서 비공개 글 확인 가능 (#129)

* feat: research, member 패키지 migrate 추가 (#130)

* feat: migrateProfessors 추가

* feat: migrateResearchDetail 추가

* feat: migrateLabs 추가

* fix: migrate 엔티티 description에 mediumText 추가

* feat: migrateStaff 추가

* fix: 빠진거 수정

* fix: 중복 패키지 삭제

* fix: 너무 안긴거 text로 수정

* fix: noticeSearchDto에도 private 추가 (#131)

* fix: noticeSearchDto에도 private 추가

* fix: json 추가

* fix: 수정 및 추가

* fix: 수정

* Fix: 키워드 추출 함수 수정 (#122)

* Fix: Fix IndexOutOfBoundException, change to return index based on substring.

* Fix: Change to check index exclude case, and set front, back index to better contains keyword.

* Test: Update Test.

* Feat: 통합검색 Notice API 구현 (#123)

* Feat: Add dtos for notice total search.

* Feat: Add repository for notice total search.

* Feat: Add service, controller for notice total search

* Feat: News 통합 검색 API 구현 (#124)

* Feat: Add dto for total search of news.

* Feat: Add repository for total search.

* Feat: Add service, controller for news total search.

* Fix: Fix conflict issues.

* fix: 기존 objectMapper 설정 오버라이드 (#132)

* feat: 파일 업로드 컨트롤러 구현 (#133)

* Feat: Change titleForMain column to TEXT type. (#134)

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* hotfix: mixed content issue (#136)

* hotfix: loginPage to https (#139)

* hotfix: mixed content issue

* hotfix: loginPage

* fix: false로 수정 (#141)

* fix: 이전 다음 글에서 비공개 글 제외 (#143)

* fix: 이전 다음글 비공개 제외

* fix: prev-next

* CBT 위해서 예약 GET 권한체크 주석처리

* Feat: 뉴스 날짜로 정렬 (#144)

* Feat: Change date field to NOT NULLABLE.

* Feat: Change to sort by date, not createdat.

* Test: Fix test.

* Test: Move news test dir.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Add description for slide. (#146)

* style: ktlint (#145)

* style: ktlint

* Feat: change to ktlint_disabled_rules

* Refactor: fix to lint using ktlint.

* Refactor: After merge.

* Fix: After merge.

* Refactor: ReReLint

---------

Co-authored-by: huGgW <whjoon0225@naver.com>

* fix: 텍스트 인코딩 (#147)

* fix: content-dispostion

* fix: 텍스트 인코딩

* fix: 강제 다운로드

* style: ktlint

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* Update ktlint-check.yml

* fix: 중요 안내 (#149)

* fix: 삭제된 글 중요 안내에서 보이지 않도록 수정

* fix: 중요 안내 최대 2개만 보내도록 + plainTextDescription

* style: ktlint

* fix: 첨부파일 다운로드 (#154)

* Feat: 관리자 슬라이드에 total 추가, refactoring (#153)

* Feat: Change dto name, and add total to AdminSlidesResponse.

* Feat: Add pageSize as parameter.

* Feat: move readAllSlides to news repository, add total query.

* Feat: Extract getNewsEntityByIdOrThrow

* Feat: Move readAllSlides and unSlideManyNews logic handling to news service.

* Comment: Add comment for refactoring.

* Test: Add test for read all slides.

* Refactor: Linting.

* Feat: Change pageNum to start at 1.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 세미나 isYearLast 로직 수정 (#155)

* fix: 세미나 isYearFirst 로직 수정

* fix: isYearLast로 재변경 및 로직 수정

* fix: 이전글 다음 글 isDelete,isPrivate 조건 추가 (#151)

* fix: 이전글 다음 글 isDelete 추가

* fix: ktlint 수정

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 메인 공지 정렬 (#158)

* fix: 예약 조회 권한 수정 (#157)

* Feat: 통합검색 정렬 최신순 (#156)

* Feat: Admin Important에 pagination 추가, total 추가. (#159)

* fix: titleForMain이 없어도 isImportant 등록 가능 (#160)

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
skfotakf added a commit that referenced this pull request Sep 23, 2023
* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* ✨ 패키지 및 엔티티 생성

* ✨ BaseTimeEntity 생성, PostEntity 기본 내용 작성

* ✨ PostController 생성 및 기본 내용 작성

* ✨ postService 생성

* ✨ Exceptions.kt 생성

* ✨ postDto 생성

* ✨ postRepository 생성 및 기본 내용 작성

* 💚 application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

* fix: main에서 develop으로 pr (#16)

* feat: merge develop to main (#13)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* ✨ 패키지 및 엔티티 생성

* ✨ BaseTimeEntity 생성, PostEntity 기본 내용 작성

* ✨ PostController 생성 및 기본 내용 작성

* ✨ postService 생성

* ✨ Exceptions.kt 생성

* ✨ postDto 생성

* ✨ postRepository 생성 및 기본 내용 작성

* 💚 application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* hotfix: 사용하지않는 Dto 및 엔티티 삭제 (#14)

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* feat: seminar 패키지 추가 (#17)

* feat: createSeminar, readSeminar, updateSeminar 추가

* feat: deleteSeminar, searchSeminar 추가

* fix: distinct 삭제

* hotfix: 불필요한 dto 삭제 (#20)

* hotfix: 불필요한 dto 삭제

* build.gradle 수정

* fix: 이미지 uri 필드 추가 및 프론트 요구사항 반영 (#21)

* feat: 이미지 uri 필드 추가 및 isActive 대신 status 추가

* fix: 행정직원 전체 조회 응답에서 task 삭제

* fix: 교수진 페이지 응답 수정

* feat: introduction 패키지, undergraduate 패키지 추가 (#22)

* feat: createUndergraduate, readUndergraduate 추가

* feat: readAllCourses, createCourse, readCourse 추가

* introduction 패키지 추가

* fix: dto에서 postType 삭제

* fix: postType pathVariable->requestBody 수정, 오타 수정

* fix: 프론트와 협의하여 이름 등 변경

* feat: academics 패키지 대학원도 가능하도록 추가

* feat: 장학제도 세부 장학금 create, read 추가

* fix: 수정

* fix:수정

* feat: admissions, research 패키지 추가 (#23)

* feat: admissions-학부 에서 create, read 추가

* feat: admissions-대학원도 작성 가능하도록 추가

* feat: createResearch 추가

* feat: createLab 추가

* fix: 다른 패키지에 맞게 수정

* research-groups, research-centers에서 read, update 추가

* fix: admissions, research에서 프론트와 협의하여 이름 등 수정

* fix: 오타 수정

* fix: enum 추가, pr 리뷰 반영

* feat: oidc 로그인 (#27)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: idsnucse 다운 되었을때 에러 처리

* feat: idsnucse 다운 되었을때 에러 처리

* feat: cors 설정 (#30)

* fix: cors 추가 설정 (#32)

* feat: cors 설정

* feat: cors 설정

* fix: CORS (#34)

* feat: cors 설정

* feat: cors 설정

* feat: cors 설정

* fix: about, academics, admissions 패키지 수정 (#25)

* fix: admissions, about 컨트롤러 변경

* fix: academics 컨트롤러 수정

* 커밋중

* fix: pr 리뷰 반영

* feat: readMain 추가

* pr 리뷰 반영

* feat: 일반 예약 및 정기 예약 API (#28)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: 예약 엔티티 및 DTO 설계

* feat: 일반 예약 및 정기 예약

* feat: 예약 조회 API (#39)

* feat: 권한 관리 위해 커스텀 어노테이션 생성

* feat: 예약 단건, 주별, 월별 조회 API

* fix: 로컬 DB 설정 수정

* feat: 유저 조회 중복 쿼리 방지

* feat: 예약 응답에 recurrenceId 추가

* feat: 동시 예약 방지

* fix: 시큐리티 로그 다시 로컬에서만 보이도록 변경

* feat: 목데이터 날라가지 않도록 ddl-auto 수정

* feat: about, member, news, seminar 메인 이미지 업로드 추가 (#38)

* feat: uploadImage 추가

* feat: about, member 사진 업로드 추가

* feat: news, seminar 사진 업로드 추가

* refactor: imageEntity 추가 리팩토링

* fix: gif 삭제

* fix: application.yaml 수정

* fix: newsService 태그 -> 이미지로 순서 변경

* fix: pr 리뷰 수정

* fix: extension 없애고, mainImage로 바꾸고, uuid 없애기

* fix: var 삭제

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* CICD: Change deploy port to 8080 (#40)

* [Merge] (#41) (#42)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* ✨ 패키지 및 엔티티 생성

* ✨ BaseTimeEntity 생성, PostEntity 기본 내용 작성

* ✨ PostController 생성 및 기본 내용 작성

* ✨ postService 생성

* ✨ Exceptions.kt 생성

* ✨ postDto 생성

* ✨ postRepository 생성 및 기본 내용 작성

* 💚 application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

* fix: main에서 develop으로 pr (#16)

* feat: merge develop to main (#13)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* ✨ 패키지 및 엔티티 생성

* ✨ BaseTimeEntity 생성, PostEntity 기본 내용 작성

* ✨ PostController 생성 및 기본 내용 작성

* ✨ postService 생성

* ✨ Exceptions.kt 생성

* ✨ postDto 생성

* ✨ postRepository 생성 및 기본 내용 작성

* 💚 application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

---------




* hotfix: 사용하지않는 Dto 및 엔티티 삭제 (#14)

---------




* feat: seminar 패키지 추가 (#17)

* feat: createSeminar, readSeminar, updateSeminar 추가

* feat: deleteSeminar, searchSeminar 추가

* fix: distinct 삭제

* hotfix: 불필요한 dto 삭제 (#20)

* hotfix: 불필요한 dto 삭제

* build.gradle 수정

* fix: 이미지 uri 필드 추가 및 프론트 요구사항 반영 (#21)

* feat: 이미지 uri 필드 추가 및 isActive 대신 status 추가

* fix: 행정직원 전체 조회 응답에서 task 삭제

* fix: 교수진 페이지 응답 수정

* feat: introduction 패키지, undergraduate 패키지 추가 (#22)

* feat: createUndergraduate, readUndergraduate 추가

* feat: readAllCourses, createCourse, readCourse 추가

* introduction 패키지 추가

* fix: dto에서 postType 삭제

* fix: postType pathVariable->requestBody 수정, 오타 수정

* fix: 프론트와 협의하여 이름 등 변경

* feat: academics 패키지 대학원도 가능하도록 추가

* feat: 장학제도 세부 장학금 create, read 추가

* fix: 수정

* fix:수정

* feat: admissions, research 패키지 추가 (#23)

* feat: admissions-학부 에서 create, read 추가

* feat: admissions-대학원도 작성 가능하도록 추가

* feat: createResearch 추가

* feat: createLab 추가

* fix: 다른 패키지에 맞게 수정

* research-groups, research-centers에서 read, update 추가

* fix: admissions, research에서 프론트와 협의하여 이름 등 수정

* fix: 오타 수정

* fix: enum 추가, pr 리뷰 반영

* feat: oidc 로그인 (#27)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: idsnucse 다운 되었을때 에러 처리

* feat: idsnucse 다운 되었을때 에러 처리

* feat: cors 설정 (#30)

* fix: cors 추가 설정 (#32)

* feat: cors 설정

* feat: cors 설정

* fix: CORS (#34)

* feat: cors 설정

* feat: cors 설정

* feat: cors 설정

* fix: about, academics, admissions 패키지 수정 (#25)

* fix: admissions, about 컨트롤러 변경

* fix: academics 컨트롤러 수정

* 커밋중

* fix: pr 리뷰 반영

* feat: readMain 추가

* pr 리뷰 반영

* feat: 일반 예약 및 정기 예약 API (#28)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: 예약 엔티티 및 DTO 설계

* feat: 일반 예약 및 정기 예약

* feat: 예약 조회 API (#39)

* feat: 권한 관리 위해 커스텀 어노테이션 생성

* feat: 예약 단건, 주별, 월별 조회 API

* fix: 로컬 DB 설정 수정

* feat: 유저 조회 중복 쿼리 방지

* feat: 예약 응답에 recurrenceId 추가

* feat: 동시 예약 방지

* fix: 시큐리티 로그 다시 로컬에서만 보이도록 변경

* feat: 목데이터 날라가지 않도록 ddl-auto 수정

* feat: about, member, news, seminar 메인 이미지 업로드 추가 (#38)

* feat: uploadImage 추가

* feat: about, member 사진 업로드 추가

* feat: news, seminar 사진 업로드 추가

* refactor: imageEntity 추가 리팩토링

* fix: gif 삭제

* fix: application.yaml 수정

* fix: newsService 태그 -> 이미지로 순서 변경

* fix: pr 리뷰 수정

* fix: extension 없애고, mainImage로 바꾸고, uuid 없애기

* fix: var 삭제

---------



* CICD: Change deploy port to 8080 (#40)

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>

* feat: 장학제도 GET API 및 장학제도 페이지 응답 수정 (#44)

* feat: 장학제도 GET API

* feat: 장학제도 메인페이지 GET API 응답 수정

* feat: custom metadata 설정 + 리다이렉트 엔드포인트 변경 (#45)

* feat: yml 파일에 custom metadata endpoint 추가

* feat: 로그인/로그아웃 성공 리다이렉트 엔드포인트 변경

* feat: attachments 패키지 추가, news와 seminar request에 attachments 추가 (#43)

* feat: attachments 추가, news request에 attachments 추가

* feat: seminar request에 attachments 추가

* fix: mappedBy 추가 + bringAttachments null 없앰

* fix: 경로 분리

* fix: isDeleted false로 수정

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* feat: Top Conference List GET API (#47)

* feat: Top Conference List GET API

* feat: db에서 가져올때 정렬

* feat: 파일 서빙, 다운로드, 삭제 API (#48)

* feat: 파일 서빙, 다운로드, 삭제 API

* fix: extension 중복, 경로 수정

* feat: 공지사항 글쓴이 추가 (#49)

* CI/CD: Https 적용 및 백엔드, 데이터베이스, 프록시 서버 배포 분리 (#50)

* Config: Add gitignore for caddy files.

* CICD: Add caddy config file

* CICD: Seperate docker compose file for db and backend server.

* CICD: Docker Compose file for caddy proxy server.

* CICD: Add path condition for only act when source file has changed.

* CICD: Add workflow for deploying database changes.

* CICD: Add workflow for proxy server changes.

* Refactor: Add /api/v1 in front of all endpoints (except swagger-ui)

* Refactor: Add v1 to Main Image url.

* Refactor: change backend, frontend, login redirect uri to get from env.

* CICD: Add url to .env

* Fix: Change job name of database workflow, fix indent level.

* Fix: Remove duplicated restcontroller mapping.

* Fix: Set reverse proxy for swagger-ui/* for swagger.

* Docs: Set swagger to only scan /api/**

* Fix: add caddy to reverse api-docs/* for springdoc.

* Fix: Add login uris for reverse proxying to backend server.

* CICD: Remove testing branch condition.

* CICD: Add logout uri to reverse proxy to backend server.

* CICD: Remove test branch

* fix: 프론트랑 협의하여 내용 변경 + news, seminar에 image, attachments update 추가 (#51)

* feat: attachments 추가, news request에 attachments 추가

* feat: seminar request에 attachments 추가

* feat: about request에 attachments 추가

* feat: academics request에 attachments 추가

* fix: isPinned 삭제

* fix: image -> mainImage 변경, about에 greetings 추가

* fix: news, seminar update 수정

* fix: 전체적으로 image -> mainImage 변경

* fix: research 패키지 프론트에 맞춰 협의 (#52)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* fix: pr 리뷰 수정

* fix: 오타 수정

* [Refactor] 로그인, file uri 배포 환경에 맞게 수정 (#53)

* Refactor: Change mapping of file to append /api/v1 in front.

* Refactor: Change login, logout redirect uri

* fix: https 적용 관련 로그인 수정 (#56)

* fix: notice 패키지 프론트에 맞게 협의 (#54)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* feat: notice에 attachments 추가

* fix: fix_with_front1 변경 사항에 맞게 수정

* feat: isImportant 추가

* feat: NoticeSearchDto에 hasAttachment 추가

* fix: update에서 attachmetnts가 null일 때 빈 목록 반환

* feat: 공지사항 선택 고정해제, 선택 삭제 추가

* fix: news, seminar에 isImportant 추가

* fix: pr 리뷰 수정

* fix: 수정했던거 다시 복구

* feat: 신임교수초빙 (#59)

* feat: 행정실 권한 체크 API (#60)

* [CICD] mainImage, attachment 경로 mount 설정 (#55)

* CICD: Add mainImage, attachment directory for mounting

* CICD: Add volumes to mount with server directory. (for attachment)

* [Feat] 예전 url과 비슷하게 이전 파일(사진)들 접근할 수 있도록 controller 생성 (#58)

* Config: Add oldFiles path for properties.

* Feat: Add deprecated file controller for getting old files temporarily.

* CICD: Add volume mounting for old files.

* CICD: Add dir to mount for old files.

* Refactor: Change api to /sites/default/files/{PATH}

* CICD: Add reverse proxy for old file serving.

* fix: 예약 dto에 지도교수, 반복 횟수 추가 (#61)

* fix: 로그아웃 엔드포인트 변경 (#64)

* fix: 로그아웃 엔드포인트 변경

* fix: 로그아웃 성공 리다이렉트 엔드포인트 변경

* [Fix] Notice, News Description TEXT type으로 변환 (#65)

* Fix: Change notice and news entity description type as TEXT.

* Fix: Change to mediumtext

* fix: newsSearchResponse, seminarSearchResponse 수정 (#66)

* fix: newsSearchResponse 수정

* fix: SeminarSearchResponse 수정

* fix: 오타수정

* fix: 파일 업로드 경로 통일 (#68)

* fix: 갯수만 fetch하도록 최적화 (#70)

* Fix: Change type of additionalNote column on SeminarEntity to "TEXT" (#71)

* fix: academics 패키지 프론트에 맞춰 협의, admin 패키지 추가 (#69)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* feat: notice에 attachments 추가

* fix: fix_with_front1 변경 사항에 맞게 수정

* feat: isImportant 추가

* feat: NoticeSearchDto에 hasAttachment 추가

* fix: update에서 attachmetnts가 null일 때 빈 목록 반환

* feat: 공지사항 선택 고정해제, 선택 삭제 추가

* fix: news, seminar에 isImportant 추가

* fix: pr 리뷰 수정

* fix: 수정했던거 다시 복구

* fix: course response 수정

* feat: academics에서 연도별로 주는 response 추가

* feat: academics YearResponses 추가

* fix: createScholarship 합치기

* fix: scholarship 패키지의 내용을 academics 하위로 옮김

* feat: createScholarshipDetail 추가

* fix: 필수 교양과목 response 변경

* feat: admin 패키지에서 readAllSlides 추가

* feat: admin 패키지 readAllImportants 추가

* feat: admin 패키지 중요안내 추가

* Refactor: HTML로부터 텍스트 추출 함수 Utils로 이동 (#73)

* Feat: Add cleanTextFromHtml.

* Refactor: Remove private clean method, replace to Utils.cleanTextFromHtml.

* Refactor: Remove unused imports.

* Feat: Add plain text description for notice (#74)

* Feat: Add cleanTextFromHtml.

* Refactor: Remove private clean method, replace to Utils.cleanTextFromHtml.

* Refactor: Remove unused imports.

* Feat: Add plainTextDescription.

* Feat: Add plainTextDescription in createNotice.

* Feat: add updating plainTextDescription when updating description.

* fix: admissions 패키지 프론트에 맞게 협의 (#76)

* fix: admissions 프론트에 맞게 협의

* fix: seminarEntity time 삭제

* fix: admissionsEntity pageName 추가

* fix: 불필요한 파일 삭제

* 커밋

* fix: 이전 글 다음 글만 fetch 하도록 쿼리 최적화 (#75)

* fix: 이전 글 다음 글만 fetch 하도록 쿼리 최적화

* fix: distinct 수정

* fix: 쿼리 최적화

* fix: total Long 타입으로 수정

* CI/CD: Test 설정 (#77)

* Config: Add kotest, mockk, h2 db for testing.

* Config: Add test profile.

* Config: Add testconfig for jpaqueryfactory.

* CICD: Add build, test workflow

* Fix: Revert local datasource url change.

* [Test] Notice create, update 시 plainTextDescription 동작 테스트 (#78)

* Config: Add test profile.

* Test: Add Tests for Create, Update Notice, in perspective of plainTextDescription

* Fix: Change life cycle hook resolution to container.

* [Feat] Seminar plain text field 추가 (#79)

* Feat: Add plain text column for description, introduction, additionalnote.

* Feat: Add description, introduction, additionalnote for dto -> entity.

* Feat: Change to update plain description, introduction, additional note.

* Feat: Use plainTextDesription for searchdto.

* Test: Test for create, update of plain texts.

* Test: Fix seminar service test.

* Feat: News plain text field 추가 (#80)

* Feat: Add plainTextDescription field for news entity

* Feat: Add to create, and update plainTextDescription.

* Feat: Change to use plainTextDescription when making newssearchdto.

* Test: Test for create/update plainTextDescription.

* Feat: 구성원 검색 위한 table 추가. (#81)

* Feat: MemberSearchEntity 추가.

* Feat: MemberSearchRepository 추가

* Feat: MemberSearchService 추가

* Feat: ProfessorEntity, StaffEntity에 MemberSearch 추가.

* Feat: ProfessorStatus에 한글 값 추가.

* Feat: professor create, update 시 memberSearch도 반영하도록 추가.

* Feat: seminar create, update 시 memberSearch도 반영하도록 추가.

* Test: ProfessorService 테스트 추가.

* Test: StaffServiceTest 추가.

* fix: 새소식 세미나 쿼리 수정 (#82)

* refactor: 유틸 패키지 생성 및 FixedPageRequest 분리

* feat: 새소식 세미나 이전 다음 글 및 total 쿼리 최적화

* fix: pageNum 값으로 usePageBtn 값 설정

* fix: import 경로 수정

* fix: local db port 3306

* 중복 삭제

* fix: prod endpoint https로 변경

* fix: main 프론트에 맞게 협의, notice 태그 enum 추가 (#83)

* fix: mainResponse 다시 작성

* feat: TagInNoticeEnum 추가

* feat: notice enum 추가

* fix: 코드 수정

* fix: isPublic -> isPrivate으로 정리 (#86)

* fix: rebase 정리

* fix: 오타 수정

* feat: 로컬 로그인 테스트용 엔드포인트로 임시 변경 (#87)

* Feat: 구성원 검색 API 추가 (#85)

* Feat: Add mysql custom dialect with MATCH AGAINST BOOLEAN MODE function.

* CICD: Add config for mysql db

* CICD: Add volumes for config file.

* CICD: Add db_config for condition for db deploy

* Feat: Add search top, and search query.

* Feat: Add DTOs

* Feat: Add Controller for member search only top, and page.

* Feat: Add dialect config for application.yaml

* Feat: Add controller for member search.

* Refactor: Change exception message to korean.

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>

* fix: 세미나 시간 타입 변경 (#91)

* fix: 세미나 시간 LocalDateTime으로 변경

* test: 테스트 수정

* fix: 태그 항목 수정 (#92)

* fix: news tag 추가 (#90)

* fix: news tag 추가

* fix: 일반인은 isPrivate = false인 것만, 직원은 모든 게시글 보여주기

* feat: 졸업생 창업 진로, 졸업생 진로 response 추가 (#94)

* fix: news tag 추가

* fix: 일반인은 isPrivate = false인 것만, 직원은 모든 게시글 보여주기

* feat: about  졸업생 read 추가

* fix: 오타 수정

* fix: conference 주소 추가 (#95)

* Feat: 연구 탭 통합검색 위한 Table 생성. (#97)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Fix: Fix typo, import library.

* Feat: Lab Update API 추가 (#98)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Feat: Add update method for labentity.

* Feat: Add update lab service.

* Feat: Add update lab controller.

* Test: Add ResearchServiceTest.

* Feat: Add deleteAttachment (marking)

* Fix: Add typo, add import library.

* Feat: Conference page 수정 API (#99)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Feat: Add update method for labentity.

* Feat: Add update lab service.

* Feat: Add update lab controller.

* Test: Add ResearchServiceTest.

* Feat: Add Conference Repository.

* Feat: add conferenc eentity method for create, update entity.

* Feat: Change variables to mutable.

* Feat: Add id in conferencedto.

* Feat: Add to sort the conferenceList.

* Feat: Add deleteAttachment (marking)

* Feat add service to modify conference page (create, modify, delete conferences)

* Feat: Add api for modify conference page.

* Test: Add test for conference service.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 파일 관련 수정 (#100)

* fix: 업로드 파일 사이즈 제한

* fix: 원본 첨부파일 이름으로 응답

* refactor: 세미나 업데이트 시 삭제할 첨부파일 id만 받도록 변경

* fix: 파일 api 경로 수정

* fix: deleteAttachment

* fix: GET notice 권한 관련 로직 수정 (#101)

* Refactor: Extract Full Text Query Template to CommonRepository (#102)

* Feat: Extract full text search template to common repository.

* Feat: Change full text search to use extracted repository.

* Feat: Add for 4 elements.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Notice Seminar News Search to Full Text Query (#105)

* Feat: Extract full text search template to common repository.

* Feat: Change full text search to use extracted repository.

* Feat: Add for 4 elements.

* Feat: Add more args cnt.

* Feat: Change keyword boolean builder to full text.

* Feat: Change keyword boolean builder to full text.

* Feat: Change keyword boolean builder to full text.

* Hotfix: Change mount volume. (#103)

* feat: api 권한 설정 (#84)

* fix: GET notice 권한 관련 로직 수정 (#109)

* fix: 필요한 column만 select (#111)

* refactor: 공지 태그 응답 한국어로 변경 및 리팩토링 (#113)

* refactor: 공지 태그 응답 한국어로 수정 및 리팩토링

* refactor: 새소식 태그 리팩토링

* fix: NewsRepository

* fix: 공지 새소식 PATCH 로직 수정 (#114)

* fix: 공지 새소식 PATCH 로직 수정

* test: 테스트 수정

* fix: news 엔티티에 날짜 추가 (#115)

* Feat: 검색 결과에서 keyword 위치, 적절한 substring 추출 위한 method 추가 (#116)

* Feat: Add utils substringAroundKeyword

* Test: Add test for Utils.kt

* fix: total 더미 값 + pageNum null일때만 더미 값 주기 (#117)

* fix: 예약 조회 권한 분리 및 응답 단순화 (#119)

* fix: 예약 단건 조회 권한 분리

* feat: 월별,주별 조회용 SimpleReservationDto

* fix: 로그인 리다이렉트 엔드포인트 복구 (#121)

* feat: migrateAbout, migrateFutureCareers 추가 (#118)

* feat: AboutRequest, migrateAbout 추가

* feat: future-careers 마이그레이션 추가

* feat: request 패키지 추가

* fix: AboutRequest 간소화

* fix: future-careers description aboutEntity에 저장

* feat: about 패키지 마이그레이션 추가 (#120)

* feat: AboutRequest, migrateAbout 추가

* feat: future-careers 마이그레이션 추가

* feat: request 패키지 추가

* fix: 불필요한 dto 삭제

* feat: migrateStudentClubs 추가

* feat: migrateFacilities 추가

* feat: migrateDirections 추가

* fix: 불필요한 dto 삭제

* fix: request 패키지 삭제

* fix: 오타 수정

* fix: news, notice에 titleForMain 추가 (#125)

* fix: 소식3총사 titleForMain 데이터 생성

* fix: 테스트에 titleForMain  추가

* Revert "fix: 테스트에 titleForMain  추가"

This reverts commit e824ad34e60e0785f1d4c4e187776d4b8bf53dfa.

* fix: 테스트에 titleForMain 추가

* fix: seminar titleForMain 추가

* fix: seminar test titleForMain 추가

* feat: LocalDateTime 응답 마지막에 Z 추가 (#126)

* refactor: deleteIds request 내부로 이동 (#127)

* refactor: deleteIds request 내부로 이동

* test: 테스트 수정

* fix: 확장자 중복 버그 (#128)

* feat: 관리자는 새소식, 세미나 목록에서 비공개 글 확인 가능 (#129)

* feat: research, member 패키지 migrate 추가 (#130)

* feat: migrateProfessors 추가

* feat: migrateResearchDetail 추가

* feat: migrateLabs 추가

* fix: migrate 엔티티 description에 mediumText 추가

* feat: migrateStaff 추가

* fix: 빠진거 수정

* fix: 중복 패키지 삭제

* fix: 너무 안긴거 text로 수정

* fix: noticeSearchDto에도 private 추가 (#131)

* fix: noticeSearchDto에도 private 추가

* fix: json 추가

* fix: 수정 및 추가

* fix: 수정

* Fix: 키워드 추출 함수 수정 (#122)

* Fix: Fix IndexOutOfBoundException, change to return index based on substring.

* Fix: Change to check index exclude case, and set front, back index to better contains keyword.

* Test: Update Test.

* Feat: 통합검색 Notice API 구현 (#123)

* Feat: Add dtos for notice total search.

* Feat: Add repository for notice total search.

* Feat: Add service, controller for notice total search

* Feat: News 통합 검색 API 구현 (#124)

* Feat: Add dto for total search of news.

* Feat: Add repository for total search.

* Feat: Add service, controller for news total search.

* Fix: Fix conflict issues.

* fix: 기존 objectMapper 설정 오버라이드 (#132)

* feat: 파일 업로드 컨트롤러 구현 (#133)

* Feat: Change titleForMain column to TEXT type. (#134)

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* hotfix: mixed content issue (#136)

* hotfix: loginPage to https (#139)

* hotfix: mixed content issue

* hotfix: loginPage

* fix: false로 수정 (#141)

* fix: 이전 다음 글에서 비공개 글 제외 (#143)

* fix: 이전 다음글 비공개 제외

* fix: prev-next

* CBT 위해서 예약 GET 권한체크 주석처리

* Feat: 뉴스 날짜로 정렬 (#144)

* Feat: Change date field to NOT NULLABLE.

* Feat: Change to sort by date, not createdat.

* Test: Fix test.

* Test: Move news test dir.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Add description for slide. (#146)

* style: ktlint (#145)

* style: ktlint

* Feat: change to ktlint_disabled_rules

* Refactor: fix to lint using ktlint.

* Refactor: After merge.

* Fix: After merge.

* Refactor: ReReLint

---------

Co-authored-by: huGgW <whjoon0225@naver.com>

* fix: 텍스트 인코딩 (#147)

* fix: content-dispostion

* fix: 텍스트 인코딩

* fix: 강제 다운로드

* style: ktlint

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* Update ktlint-check.yml

* fix: 중요 안내 (#149)

* fix: 삭제된 글 중요 안내에서 보이지 않도록 수정

* fix: 중요 안내 최대 2개만 보내도록 + plainTextDescription

* style: ktlint

* fix: 첨부파일 다운로드 (#154)

* Feat: 관리자 슬라이드에 total 추가, refactoring (#153)

* Feat: Change dto name, and add total to AdminSlidesResponse.

* Feat: Add pageSize as parameter.

* Feat: move readAllSlides to news repository, add total query.

* Feat: Extract getNewsEntityByIdOrThrow

* Feat: Move readAllSlides and unSlideManyNews logic handling to news service.

* Comment: Add comment for refactoring.

* Test: Add test for read all slides.

* Refactor: Linting.

* Feat: Change pageNum to start at 1.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 세미나 isYearLast 로직 수정 (#155)

* fix: 세미나 isYearFirst 로직 수정

* fix: isYearLast로 재변경 및 로직 수정

* fix: 이전글 다음 글 isDelete,isPrivate 조건 추가 (#151)

* fix: 이전글 다음 글 isDelete 추가

* fix: ktlint 수정

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 메인 공지 정렬 (#158)

* fix: 예약 조회 권한 수정 (#157)

* Feat: 통합검색 정렬 최신순 (#156)

* Feat: Admin Important에 pagination 추가, total 추가. (#159)

* fix: titleForMain이 없어도 isImportant 등록 가능 (#160)

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: em.close() 추가 (#162)

* fix: em.close() 추가

* fix: total에도 추가

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
leeeryboy added a commit that referenced this pull request Sep 28, 2023
* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* ✨ 패키지 및 엔티티 생성

* ✨ BaseTimeEntity 생성, PostEntity 기본 내용 작성

* ✨ PostController 생성 및 기본 내용 작성

* ✨ postService 생성

* ✨ Exceptions.kt 생성

* ✨ postDto 생성

* ✨ postRepository 생성 및 기본 내용 작성

* 💚 application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

* fix: main에서 develop으로 pr (#16)

* feat: merge develop to main (#13)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* ✨ 패키지 및 엔티티 생성

* ✨ BaseTimeEntity 생성, PostEntity 기본 내용 작성

* ✨ PostController 생성 및 기본 내용 작성

* ✨ postService 생성

* ✨ Exceptions.kt 생성

* ✨ postDto 생성

* ✨ postRepository 생성 및 기본 내용 작성

* 💚 application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* hotfix: 사용하지않는 Dto 및 엔티티 삭제 (#14)

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* feat: seminar 패키지 추가 (#17)

* feat: createSeminar, readSeminar, updateSeminar 추가

* feat: deleteSeminar, searchSeminar 추가

* fix: distinct 삭제

* hotfix: 불필요한 dto 삭제 (#20)

* hotfix: 불필요한 dto 삭제

* build.gradle 수정

* fix: 이미지 uri 필드 추가 및 프론트 요구사항 반영 (#21)

* feat: 이미지 uri 필드 추가 및 isActive 대신 status 추가

* fix: 행정직원 전체 조회 응답에서 task 삭제

* fix: 교수진 페이지 응답 수정

* feat: introduction 패키지, undergraduate 패키지 추가 (#22)

* feat: createUndergraduate, readUndergraduate 추가

* feat: readAllCourses, createCourse, readCourse 추가

* introduction 패키지 추가

* fix: dto에서 postType 삭제

* fix: postType pathVariable->requestBody 수정, 오타 수정

* fix: 프론트와 협의하여 이름 등 변경

* feat: academics 패키지 대학원도 가능하도록 추가

* feat: 장학제도 세부 장학금 create, read 추가

* fix: 수정

* fix:수정

* feat: admissions, research 패키지 추가 (#23)

* feat: admissions-학부 에서 create, read 추가

* feat: admissions-대학원도 작성 가능하도록 추가

* feat: createResearch 추가

* feat: createLab 추가

* fix: 다른 패키지에 맞게 수정

* research-groups, research-centers에서 read, update 추가

* fix: admissions, research에서 프론트와 협의하여 이름 등 수정

* fix: 오타 수정

* fix: enum 추가, pr 리뷰 반영

* feat: oidc 로그인 (#27)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: idsnucse 다운 되었을때 에러 처리

* feat: idsnucse 다운 되었을때 에러 처리

* feat: cors 설정 (#30)

* fix: cors 추가 설정 (#32)

* feat: cors 설정

* feat: cors 설정

* fix: CORS (#34)

* feat: cors 설정

* feat: cors 설정

* feat: cors 설정

* fix: about, academics, admissions 패키지 수정 (#25)

* fix: admissions, about 컨트롤러 변경

* fix: academics 컨트롤러 수정

* 커밋중

* fix: pr 리뷰 반영

* feat: readMain 추가

* pr 리뷰 반영

* feat: 일반 예약 및 정기 예약 API (#28)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: 예약 엔티티 및 DTO 설계

* feat: 일반 예약 및 정기 예약

* feat: 예약 조회 API (#39)

* feat: 권한 관리 위해 커스텀 어노테이션 생성

* feat: 예약 단건, 주별, 월별 조회 API

* fix: 로컬 DB 설정 수정

* feat: 유저 조회 중복 쿼리 방지

* feat: 예약 응답에 recurrenceId 추가

* feat: 동시 예약 방지

* fix: 시큐리티 로그 다시 로컬에서만 보이도록 변경

* feat: 목데이터 날라가지 않도록 ddl-auto 수정

* feat: about, member, news, seminar 메인 이미지 업로드 추가 (#38)

* feat: uploadImage 추가

* feat: about, member 사진 업로드 추가

* feat: news, seminar 사진 업로드 추가

* refactor: imageEntity 추가 리팩토링

* fix: gif 삭제

* fix: application.yaml 수정

* fix: newsService 태그 -> 이미지로 순서 변경

* fix: pr 리뷰 수정

* fix: extension 없애고, mainImage로 바꾸고, uuid 없애기

* fix: var 삭제

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* CICD: Change deploy port to 8080 (#40)

* [Merge] (#41) (#42)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* ✨ 패키지 및 엔티티 생성

* ✨ BaseTimeEntity 생성, PostEntity 기본 내용 작성

* ✨ PostController 생성 및 기본 내용 작성

* ✨ postService 생성

* ✨ Exceptions.kt 생성

* ✨ postDto 생성

* ✨ postRepository 생성 및 기본 내용 작성

* 💚 application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

* fix: main에서 develop으로 pr (#16)

* feat: merge develop to main (#13)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* ✨ 패키지 및 엔티티 생성

* ✨ BaseTimeEntity 생성, PostEntity 기본 내용 작성

* ✨ PostController 생성 및 기본 내용 작성

* ✨ postService 생성

* ✨ Exceptions.kt 생성

* ✨ postDto 생성

* ✨ postRepository 생성 및 기본 내용 작성

* 💚 application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

---------




* hotfix: 사용하지않는 Dto 및 엔티티 삭제 (#14)

---------




* feat: seminar 패키지 추가 (#17)

* feat: createSeminar, readSeminar, updateSeminar 추가

* feat: deleteSeminar, searchSeminar 추가

* fix: distinct 삭제

* hotfix: 불필요한 dto 삭제 (#20)

* hotfix: 불필요한 dto 삭제

* build.gradle 수정

* fix: 이미지 uri 필드 추가 및 프론트 요구사항 반영 (#21)

* feat: 이미지 uri 필드 추가 및 isActive 대신 status 추가

* fix: 행정직원 전체 조회 응답에서 task 삭제

* fix: 교수진 페이지 응답 수정

* feat: introduction 패키지, undergraduate 패키지 추가 (#22)

* feat: createUndergraduate, readUndergraduate 추가

* feat: readAllCourses, createCourse, readCourse 추가

* introduction 패키지 추가

* fix: dto에서 postType 삭제

* fix: postType pathVariable->requestBody 수정, 오타 수정

* fix: 프론트와 협의하여 이름 등 변경

* feat: academics 패키지 대학원도 가능하도록 추가

* feat: 장학제도 세부 장학금 create, read 추가

* fix: 수정

* fix:수정

* feat: admissions, research 패키지 추가 (#23)

* feat: admissions-학부 에서 create, read 추가

* feat: admissions-대학원도 작성 가능하도록 추가

* feat: createResearch 추가

* feat: createLab 추가

* fix: 다른 패키지에 맞게 수정

* research-groups, research-centers에서 read, update 추가

* fix: admissions, research에서 프론트와 협의하여 이름 등 수정

* fix: 오타 수정

* fix: enum 추가, pr 리뷰 반영

* feat: oidc 로그인 (#27)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: idsnucse 다운 되었을때 에러 처리

* feat: idsnucse 다운 되었을때 에러 처리

* feat: cors 설정 (#30)

* fix: cors 추가 설정 (#32)

* feat: cors 설정

* feat: cors 설정

* fix: CORS (#34)

* feat: cors 설정

* feat: cors 설정

* feat: cors 설정

* fix: about, academics, admissions 패키지 수정 (#25)

* fix: admissions, about 컨트롤러 변경

* fix: academics 컨트롤러 수정

* 커밋중

* fix: pr 리뷰 반영

* feat: readMain 추가

* pr 리뷰 반영

* feat: 일반 예약 및 정기 예약 API (#28)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: 예약 엔티티 및 DTO 설계

* feat: 일반 예약 및 정기 예약

* feat: 예약 조회 API (#39)

* feat: 권한 관리 위해 커스텀 어노테이션 생성

* feat: 예약 단건, 주별, 월별 조회 API

* fix: 로컬 DB 설정 수정

* feat: 유저 조회 중복 쿼리 방지

* feat: 예약 응답에 recurrenceId 추가

* feat: 동시 예약 방지

* fix: 시큐리티 로그 다시 로컬에서만 보이도록 변경

* feat: 목데이터 날라가지 않도록 ddl-auto 수정

* feat: about, member, news, seminar 메인 이미지 업로드 추가 (#38)

* feat: uploadImage 추가

* feat: about, member 사진 업로드 추가

* feat: news, seminar 사진 업로드 추가

* refactor: imageEntity 추가 리팩토링

* fix: gif 삭제

* fix: application.yaml 수정

* fix: newsService 태그 -> 이미지로 순서 변경

* fix: pr 리뷰 수정

* fix: extension 없애고, mainImage로 바꾸고, uuid 없애기

* fix: var 삭제

---------



* CICD: Change deploy port to 8080 (#40)

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>

* feat: 장학제도 GET API 및 장학제도 페이지 응답 수정 (#44)

* feat: 장학제도 GET API

* feat: 장학제도 메인페이지 GET API 응답 수정

* feat: custom metadata 설정 + 리다이렉트 엔드포인트 변경 (#45)

* feat: yml 파일에 custom metadata endpoint 추가

* feat: 로그인/로그아웃 성공 리다이렉트 엔드포인트 변경

* feat: attachments 패키지 추가, news와 seminar request에 attachments 추가 (#43)

* feat: attachments 추가, news request에 attachments 추가

* feat: seminar request에 attachments 추가

* fix: mappedBy 추가 + bringAttachments null 없앰

* fix: 경로 분리

* fix: isDeleted false로 수정

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* feat: Top Conference List GET API (#47)

* feat: Top Conference List GET API

* feat: db에서 가져올때 정렬

* feat: 파일 서빙, 다운로드, 삭제 API (#48)

* feat: 파일 서빙, 다운로드, 삭제 API

* fix: extension 중복, 경로 수정

* feat: 공지사항 글쓴이 추가 (#49)

* CI/CD: Https 적용 및 백엔드, 데이터베이스, 프록시 서버 배포 분리 (#50)

* Config: Add gitignore for caddy files.

* CICD: Add caddy config file

* CICD: Seperate docker compose file for db and backend server.

* CICD: Docker Compose file for caddy proxy server.

* CICD: Add path condition for only act when source file has changed.

* CICD: Add workflow for deploying database changes.

* CICD: Add workflow for proxy server changes.

* Refactor: Add /api/v1 in front of all endpoints (except swagger-ui)

* Refactor: Add v1 to Main Image url.

* Refactor: change backend, frontend, login redirect uri to get from env.

* CICD: Add url to .env

* Fix: Change job name of database workflow, fix indent level.

* Fix: Remove duplicated restcontroller mapping.

* Fix: Set reverse proxy for swagger-ui/* for swagger.

* Docs: Set swagger to only scan /api/**

* Fix: add caddy to reverse api-docs/* for springdoc.

* Fix: Add login uris for reverse proxying to backend server.

* CICD: Remove testing branch condition.

* CICD: Add logout uri to reverse proxy to backend server.

* CICD: Remove test branch

* fix: 프론트랑 협의하여 내용 변경 + news, seminar에 image, attachments update 추가 (#51)

* feat: attachments 추가, news request에 attachments 추가

* feat: seminar request에 attachments 추가

* feat: about request에 attachments 추가

* feat: academics request에 attachments 추가

* fix: isPinned 삭제

* fix: image -> mainImage 변경, about에 greetings 추가

* fix: news, seminar update 수정

* fix: 전체적으로 image -> mainImage 변경

* fix: research 패키지 프론트에 맞춰 협의 (#52)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* fix: pr 리뷰 수정

* fix: 오타 수정

* [Refactor] 로그인, file uri 배포 환경에 맞게 수정 (#53)

* Refactor: Change mapping of file to append /api/v1 in front.

* Refactor: Change login, logout redirect uri

* fix: https 적용 관련 로그인 수정 (#56)

* fix: notice 패키지 프론트에 맞게 협의 (#54)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* feat: notice에 attachments 추가

* fix: fix_with_front1 변경 사항에 맞게 수정

* feat: isImportant 추가

* feat: NoticeSearchDto에 hasAttachment 추가

* fix: update에서 attachmetnts가 null일 때 빈 목록 반환

* feat: 공지사항 선택 고정해제, 선택 삭제 추가

* fix: news, seminar에 isImportant 추가

* fix: pr 리뷰 수정

* fix: 수정했던거 다시 복구

* feat: 신임교수초빙 (#59)

* feat: 행정실 권한 체크 API (#60)

* [CICD] mainImage, attachment 경로 mount 설정 (#55)

* CICD: Add mainImage, attachment directory for mounting

* CICD: Add volumes to mount with server directory. (for attachment)

* [Feat] 예전 url과 비슷하게 이전 파일(사진)들 접근할 수 있도록 controller 생성 (#58)

* Config: Add oldFiles path for properties.

* Feat: Add deprecated file controller for getting old files temporarily.

* CICD: Add volume mounting for old files.

* CICD: Add dir to mount for old files.

* Refactor: Change api to /sites/default/files/{PATH}

* CICD: Add reverse proxy for old file serving.

* fix: 예약 dto에 지도교수, 반복 횟수 추가 (#61)

* fix: 로그아웃 엔드포인트 변경 (#64)

* fix: 로그아웃 엔드포인트 변경

* fix: 로그아웃 성공 리다이렉트 엔드포인트 변경

* [Fix] Notice, News Description TEXT type으로 변환 (#65)

* Fix: Change notice and news entity description type as TEXT.

* Fix: Change to mediumtext

* fix: newsSearchResponse, seminarSearchResponse 수정 (#66)

* fix: newsSearchResponse 수정

* fix: SeminarSearchResponse 수정

* fix: 오타수정

* fix: 파일 업로드 경로 통일 (#68)

* fix: 갯수만 fetch하도록 최적화 (#70)

* Fix: Change type of additionalNote column on SeminarEntity to "TEXT" (#71)

* fix: academics 패키지 프론트에 맞춰 협의, admin 패키지 추가 (#69)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* feat: notice에 attachments 추가

* fix: fix_with_front1 변경 사항에 맞게 수정

* feat: isImportant 추가

* feat: NoticeSearchDto에 hasAttachment 추가

* fix: update에서 attachmetnts가 null일 때 빈 목록 반환

* feat: 공지사항 선택 고정해제, 선택 삭제 추가

* fix: news, seminar에 isImportant 추가

* fix: pr 리뷰 수정

* fix: 수정했던거 다시 복구

* fix: course response 수정

* feat: academics에서 연도별로 주는 response 추가

* feat: academics YearResponses 추가

* fix: createScholarship 합치기

* fix: scholarship 패키지의 내용을 academics 하위로 옮김

* feat: createScholarshipDetail 추가

* fix: 필수 교양과목 response 변경

* feat: admin 패키지에서 readAllSlides 추가

* feat: admin 패키지 readAllImportants 추가

* feat: admin 패키지 중요안내 추가

* Refactor: HTML로부터 텍스트 추출 함수 Utils로 이동 (#73)

* Feat: Add cleanTextFromHtml.

* Refactor: Remove private clean method, replace to Utils.cleanTextFromHtml.

* Refactor: Remove unused imports.

* Feat: Add plain text description for notice (#74)

* Feat: Add cleanTextFromHtml.

* Refactor: Remove private clean method, replace to Utils.cleanTextFromHtml.

* Refactor: Remove unused imports.

* Feat: Add plainTextDescription.

* Feat: Add plainTextDescription in createNotice.

* Feat: add updating plainTextDescription when updating description.

* fix: admissions 패키지 프론트에 맞게 협의 (#76)

* fix: admissions 프론트에 맞게 협의

* fix: seminarEntity time 삭제

* fix: admissionsEntity pageName 추가

* fix: 불필요한 파일 삭제

* 커밋

* fix: 이전 글 다음 글만 fetch 하도록 쿼리 최적화 (#75)

* fix: 이전 글 다음 글만 fetch 하도록 쿼리 최적화

* fix: distinct 수정

* fix: 쿼리 최적화

* fix: total Long 타입으로 수정

* CI/CD: Test 설정 (#77)

* Config: Add kotest, mockk, h2 db for testing.

* Config: Add test profile.

* Config: Add testconfig for jpaqueryfactory.

* CICD: Add build, test workflow

* Fix: Revert local datasource url change.

* [Test] Notice create, update 시 plainTextDescription 동작 테스트 (#78)

* Config: Add test profile.

* Test: Add Tests for Create, Update Notice, in perspective of plainTextDescription

* Fix: Change life cycle hook resolution to container.

* [Feat] Seminar plain text field 추가 (#79)

* Feat: Add plain text column for description, introduction, additionalnote.

* Feat: Add description, introduction, additionalnote for dto -> entity.

* Feat: Change to update plain description, introduction, additional note.

* Feat: Use plainTextDesription for searchdto.

* Test: Test for create, update of plain texts.

* Test: Fix seminar service test.

* Feat: News plain text field 추가 (#80)

* Feat: Add plainTextDescription field for news entity

* Feat: Add to create, and update plainTextDescription.

* Feat: Change to use plainTextDescription when making newssearchdto.

* Test: Test for create/update plainTextDescription.

* Feat: 구성원 검색 위한 table 추가. (#81)

* Feat: MemberSearchEntity 추가.

* Feat: MemberSearchRepository 추가

* Feat: MemberSearchService 추가

* Feat: ProfessorEntity, StaffEntity에 MemberSearch 추가.

* Feat: ProfessorStatus에 한글 값 추가.

* Feat: professor create, update 시 memberSearch도 반영하도록 추가.

* Feat: seminar create, update 시 memberSearch도 반영하도록 추가.

* Test: ProfessorService 테스트 추가.

* Test: StaffServiceTest 추가.

* fix: 새소식 세미나 쿼리 수정 (#82)

* refactor: 유틸 패키지 생성 및 FixedPageRequest 분리

* feat: 새소식 세미나 이전 다음 글 및 total 쿼리 최적화

* fix: pageNum 값으로 usePageBtn 값 설정

* fix: import 경로 수정

* fix: local db port 3306

* 중복 삭제

* fix: prod endpoint https로 변경

* fix: main 프론트에 맞게 협의, notice 태그 enum 추가 (#83)

* fix: mainResponse 다시 작성

* feat: TagInNoticeEnum 추가

* feat: notice enum 추가

* fix: 코드 수정

* fix: isPublic -> isPrivate으로 정리 (#86)

* fix: rebase 정리

* fix: 오타 수정

* feat: 로컬 로그인 테스트용 엔드포인트로 임시 변경 (#87)

* Feat: 구성원 검색 API 추가 (#85)

* Feat: Add mysql custom dialect with MATCH AGAINST BOOLEAN MODE function.

* CICD: Add config for mysql db

* CICD: Add volumes for config file.

* CICD: Add db_config for condition for db deploy

* Feat: Add search top, and search query.

* Feat: Add DTOs

* Feat: Add Controller for member search only top, and page.

* Feat: Add dialect config for application.yaml

* Feat: Add controller for member search.

* Refactor: Change exception message to korean.

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>

* fix: 세미나 시간 타입 변경 (#91)

* fix: 세미나 시간 LocalDateTime으로 변경

* test: 테스트 수정

* fix: 태그 항목 수정 (#92)

* fix: news tag 추가 (#90)

* fix: news tag 추가

* fix: 일반인은 isPrivate = false인 것만, 직원은 모든 게시글 보여주기

* feat: 졸업생 창업 진로, 졸업생 진로 response 추가 (#94)

* fix: news tag 추가

* fix: 일반인은 isPrivate = false인 것만, 직원은 모든 게시글 보여주기

* feat: about  졸업생 read 추가

* fix: 오타 수정

* fix: conference 주소 추가 (#95)

* Feat: 연구 탭 통합검색 위한 Table 생성. (#97)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Fix: Fix typo, import library.

* Feat: Lab Update API 추가 (#98)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Feat: Add update method for labentity.

* Feat: Add update lab service.

* Feat: Add update lab controller.

* Test: Add ResearchServiceTest.

* Feat: Add deleteAttachment (marking)

* Fix: Add typo, add import library.

* Feat: Conference page 수정 API (#99)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Feat: Add update method for labentity.

* Feat: Add update lab service.

* Feat: Add update lab controller.

* Test: Add ResearchServiceTest.

* Feat: Add Conference Repository.

* Feat: add conferenc eentity method for create, update entity.

* Feat: Change variables to mutable.

* Feat: Add id in conferencedto.

* Feat: Add to sort the conferenceList.

* Feat: Add deleteAttachment (marking)

* Feat add service to modify conference page (create, modify, delete conferences)

* Feat: Add api for modify conference page.

* Test: Add test for conference service.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 파일 관련 수정 (#100)

* fix: 업로드 파일 사이즈 제한

* fix: 원본 첨부파일 이름으로 응답

* refactor: 세미나 업데이트 시 삭제할 첨부파일 id만 받도록 변경

* fix: 파일 api 경로 수정

* fix: deleteAttachment

* fix: GET notice 권한 관련 로직 수정 (#101)

* Refactor: Extract Full Text Query Template to CommonRepository (#102)

* Feat: Extract full text search template to common repository.

* Feat: Change full text search to use extracted repository.

* Feat: Add for 4 elements.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Notice Seminar News Search to Full Text Query (#105)

* Feat: Extract full text search template to common repository.

* Feat: Change full text search to use extracted repository.

* Feat: Add for 4 elements.

* Feat: Add more args cnt.

* Feat: Change keyword boolean builder to full text.

* Feat: Change keyword boolean builder to full text.

* Feat: Change keyword boolean builder to full text.

* Hotfix: Change mount volume. (#103)

* feat: api 권한 설정 (#84)

* fix: GET notice 권한 관련 로직 수정 (#109)

* fix: 필요한 column만 select (#111)

* refactor: 공지 태그 응답 한국어로 변경 및 리팩토링 (#113)

* refactor: 공지 태그 응답 한국어로 수정 및 리팩토링

* refactor: 새소식 태그 리팩토링

* fix: NewsRepository

* fix: 공지 새소식 PATCH 로직 수정 (#114)

* fix: 공지 새소식 PATCH 로직 수정

* test: 테스트 수정

* fix: news 엔티티에 날짜 추가 (#115)

* Feat: 검색 결과에서 keyword 위치, 적절한 substring 추출 위한 method 추가 (#116)

* Feat: Add utils substringAroundKeyword

* Test: Add test for Utils.kt

* fix: total 더미 값 + pageNum null일때만 더미 값 주기 (#117)

* fix: 예약 조회 권한 분리 및 응답 단순화 (#119)

* fix: 예약 단건 조회 권한 분리

* feat: 월별,주별 조회용 SimpleReservationDto

* fix: 로그인 리다이렉트 엔드포인트 복구 (#121)

* feat: migrateAbout, migrateFutureCareers 추가 (#118)

* feat: AboutRequest, migrateAbout 추가

* feat: future-careers 마이그레이션 추가

* feat: request 패키지 추가

* fix: AboutRequest 간소화

* fix: future-careers description aboutEntity에 저장

* feat: about 패키지 마이그레이션 추가 (#120)

* feat: AboutRequest, migrateAbout 추가

* feat: future-careers 마이그레이션 추가

* feat: request 패키지 추가

* fix: 불필요한 dto 삭제

* feat: migrateStudentClubs 추가

* feat: migrateFacilities 추가

* feat: migrateDirections 추가

* fix: 불필요한 dto 삭제

* fix: request 패키지 삭제

* fix: 오타 수정

* fix: news, notice에 titleForMain 추가 (#125)

* fix: 소식3총사 titleForMain 데이터 생성

* fix: 테스트에 titleForMain  추가

* Revert "fix: 테스트에 titleForMain  추가"

This reverts commit e824ad34e60e0785f1d4c4e187776d4b8bf53dfa.

* fix: 테스트에 titleForMain 추가

* fix: seminar titleForMain 추가

* fix: seminar test titleForMain 추가

* feat: LocalDateTime 응답 마지막에 Z 추가 (#126)

* refactor: deleteIds request 내부로 이동 (#127)

* refactor: deleteIds request 내부로 이동

* test: 테스트 수정

* fix: 확장자 중복 버그 (#128)

* feat: 관리자는 새소식, 세미나 목록에서 비공개 글 확인 가능 (#129)

* feat: research, member 패키지 migrate 추가 (#130)

* feat: migrateProfessors 추가

* feat: migrateResearchDetail 추가

* feat: migrateLabs 추가

* fix: migrate 엔티티 description에 mediumText 추가

* feat: migrateStaff 추가

* fix: 빠진거 수정

* fix: 중복 패키지 삭제

* fix: 너무 안긴거 text로 수정

* fix: noticeSearchDto에도 private 추가 (#131)

* fix: noticeSearchDto에도 private 추가

* fix: json 추가

* fix: 수정 및 추가

* fix: 수정

* Fix: 키워드 추출 함수 수정 (#122)

* Fix: Fix IndexOutOfBoundException, change to return index based on substring.

* Fix: Change to check index exclude case, and set front, back index to better contains keyword.

* Test: Update Test.

* Feat: 통합검색 Notice API 구현 (#123)

* Feat: Add dtos for notice total search.

* Feat: Add repository for notice total search.

* Feat: Add service, controller for notice total search

* Feat: News 통합 검색 API 구현 (#124)

* Feat: Add dto for total search of news.

* Feat: Add repository for total search.

* Feat: Add service, controller for news total search.

* Fix: Fix conflict issues.

* fix: 기존 objectMapper 설정 오버라이드 (#132)

* feat: 파일 업로드 컨트롤러 구현 (#133)

* Feat: Change titleForMain column to TEXT type. (#134)

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* hotfix: mixed content issue (#136)

* hotfix: loginPage to https (#139)

* hotfix: mixed content issue

* hotfix: loginPage

* fix: false로 수정 (#141)

* fix: 이전 다음 글에서 비공개 글 제외 (#143)

* fix: 이전 다음글 비공개 제외

* fix: prev-next

* CBT 위해서 예약 GET 권한체크 주석처리

* Feat: 뉴스 날짜로 정렬 (#144)

* Feat: Change date field to NOT NULLABLE.

* Feat: Change to sort by date, not createdat.

* Test: Fix test.

* Test: Move news test dir.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Add description for slide. (#146)

* style: ktlint (#145)

* style: ktlint

* Feat: change to ktlint_disabled_rules

* Refactor: fix to lint using ktlint.

* Refactor: After merge.

* Fix: After merge.

* Refactor: ReReLint

---------

Co-authored-by: huGgW <whjoon0225@naver.com>

* fix: 텍스트 인코딩 (#147)

* fix: content-dispostion

* fix: 텍스트 인코딩

* fix: 강제 다운로드

* style: ktlint

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* Update ktlint-check.yml

* fix: 중요 안내 (#149)

* fix: 삭제된 글 중요 안내에서 보이지 않도록 수정

* fix: 중요 안내 최대 2개만 보내도록 + plainTextDescription

* style: ktlint

* fix: 첨부파일 다운로드 (#154)

* Feat: 관리자 슬라이드에 total 추가, refactoring (#153)

* Feat: Change dto name, and add total to AdminSlidesResponse.

* Feat: Add pageSize as parameter.

* Feat: move readAllSlides to news repository, add total query.

* Feat: Extract getNewsEntityByIdOrThrow

* Feat: Move readAllSlides and unSlideManyNews logic handling to news service.

* Comment: Add comment for refactoring.

* Test: Add test for read all slides.

* Refactor: Linting.

* Feat: Change pageNum to start at 1.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 세미나 isYearLast 로직 수정 (#155)

* fix: 세미나 isYearFirst 로직 수정

* fix: isYearLast로 재변경 및 로직 수정

* fix: 이전글 다음 글 isDelete,isPrivate 조건 추가 (#151)

* fix: 이전글 다음 글 isDelete 추가

* fix: ktlint 수정

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 메인 공지 정렬 (#158)

* fix: 예약 조회 권한 수정 (#157)

* Feat: 통합검색 정렬 최신순 (#156)

* Feat: Admin Important에 pagination 추가, total 추가. (#159)

* fix: titleForMain이 없어도 isImportant 등록 가능 (#160)

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: em.close() 추가 (#162)

* fix: em.close() 추가

* fix: total에도 추가

* feat: migrateConference 추가 (#164)

* feat: migrateConferences 추가

* fix: 수정

* fix: 수정

* fix: 검색 추가

* fix: createConferenceDto 삭제

* CICD: Add blocking backend api except frontend. (#166)

* CICD: Add blocking backend api except frontend.

* CICD: Remove login, logout, file api from blacklist.

* CICD: Change to just block swagger apis.

* fix: group 변경 반영 (#167)

* refactor: 실제 스누씨 서버 연동 (#168)

* refactor: local-test 중복 항목 공통으로 처리하고 prod에서 오버라이드

* feat: 스누씨 실서버용 환경 변수 설정

* refactor: 로그인 페이지 통합 및 CORS 설정 변경

* fix: CORS

* feat: migrateAdmissions 추가 (#165)

* fix: migrateAdmissions 추가

* fix: 잘못 쓴거 수정

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
skfotakf added a commit that referenced this pull request Feb 25, 2024
* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* ✨ 패키지 및 엔티티 생성

* ✨ BaseTimeEntity 생성, PostEntity 기본 내용 작성

* ✨ PostController 생성 및 기본 내용 작성

* ✨ postService 생성

* ✨ Exceptions.kt 생성

* ✨ postDto 생성

* ✨ postRepository 생성 및 기본 내용 작성

* 💚 application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

* fix: main에서 develop으로 pr (#16)

* feat: merge develop to main (#13)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* ✨ 패키지 및 엔티티 생성

* ✨ BaseTimeEntity 생성, PostEntity 기본 내용 작성

* ✨ PostController 생성 및 기본 내용 작성

* ✨ postService 생성

* ✨ Exceptions.kt 생성

* ✨ postDto 생성

* ✨ postRepository 생성 및 기본 내용 작성

* 💚 application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* hotfix: 사용하지않는 Dto 및 엔티티 삭제 (#14)

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* feat: seminar 패키지 추가 (#17)

* feat: createSeminar, readSeminar, updateSeminar 추가

* feat: deleteSeminar, searchSeminar 추가

* fix: distinct 삭제

* hotfix: 불필요한 dto 삭제 (#20)

* hotfix: 불필요한 dto 삭제

* build.gradle 수정

* fix: 이미지 uri 필드 추가 및 프론트 요구사항 반영 (#21)

* feat: 이미지 uri 필드 추가 및 isActive 대신 status 추가

* fix: 행정직원 전체 조회 응답에서 task 삭제

* fix: 교수진 페이지 응답 수정

* feat: introduction 패키지, undergraduate 패키지 추가 (#22)

* feat: createUndergraduate, readUndergraduate 추가

* feat: readAllCourses, createCourse, readCourse 추가

* introduction 패키지 추가

* fix: dto에서 postType 삭제

* fix: postType pathVariable->requestBody 수정, 오타 수정

* fix: 프론트와 협의하여 이름 등 변경

* feat: academics 패키지 대학원도 가능하도록 추가

* feat: 장학제도 세부 장학금 create, read 추가

* fix: 수정

* fix:수정

* feat: admissions, research 패키지 추가 (#23)

* feat: admissions-학부 에서 create, read 추가

* feat: admissions-대학원도 작성 가능하도록 추가

* feat: createResearch 추가

* feat: createLab 추가

* fix: 다른 패키지에 맞게 수정

* research-groups, research-centers에서 read, update 추가

* fix: admissions, research에서 프론트와 협의하여 이름 등 수정

* fix: 오타 수정

* fix: enum 추가, pr 리뷰 반영

* feat: oidc 로그인 (#27)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: idsnucse 다운 되었을때 에러 처리

* feat: idsnucse 다운 되었을때 에러 처리

* feat: cors 설정 (#30)

* fix: cors 추가 설정 (#32)

* feat: cors 설정

* feat: cors 설정

* fix: CORS (#34)

* feat: cors 설정

* feat: cors 설정

* feat: cors 설정

* fix: about, academics, admissions 패키지 수정 (#25)

* fix: admissions, about 컨트롤러 변경

* fix: academics 컨트롤러 수정

* 커밋중

* fix: pr 리뷰 반영

* feat: readMain 추가

* pr 리뷰 반영

* feat: 일반 예약 및 정기 예약 API (#28)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: 예약 엔티티 및 DTO 설계

* feat: 일반 예약 및 정기 예약

* feat: 예약 조회 API (#39)

* feat: 권한 관리 위해 커스텀 어노테이션 생성

* feat: 예약 단건, 주별, 월별 조회 API

* fix: 로컬 DB 설정 수정

* feat: 유저 조회 중복 쿼리 방지

* feat: 예약 응답에 recurrenceId 추가

* feat: 동시 예약 방지

* fix: 시큐리티 로그 다시 로컬에서만 보이도록 변경

* feat: 목데이터 날라가지 않도록 ddl-auto 수정

* feat: about, member, news, seminar 메인 이미지 업로드 추가 (#38)

* feat: uploadImage 추가

* feat: about, member 사진 업로드 추가

* feat: news, seminar 사진 업로드 추가

* refactor: imageEntity 추가 리팩토링

* fix: gif 삭제

* fix: application.yaml 수정

* fix: newsService 태그 -> 이미지로 순서 변경

* fix: pr 리뷰 수정

* fix: extension 없애고, mainImage로 바꾸고, uuid 없애기

* fix: var 삭제

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* CICD: Change deploy port to 8080 (#40)

* [Merge] (#41) (#42)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* ✨ 패키지 및 엔티티 생성

* ✨ BaseTimeEntity 생성, PostEntity 기본 내용 작성

* ✨ PostController 생성 및 기본 내용 작성

* ✨ postService 생성

* ✨ Exceptions.kt 생성

* ✨ postDto 생성

* ✨ postRepository 생성 및 기본 내용 작성

* 💚 application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

* fix: main에서 develop으로 pr (#16)

* feat: merge develop to main (#13)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* ✨ 패키지 및 엔티티 생성

* ✨ BaseTimeEntity 생성, PostEntity 기본 내용 작성

* ✨ PostController 생성 및 기본 내용 작성

* ✨ postService 생성

* ✨ Exceptions.kt 생성

* ✨ postDto 생성

* ✨ postRepository 생성 및 기본 내용 작성

* 💚 application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

---------




* hotfix: 사용하지않는 Dto 및 엔티티 삭제 (#14)

---------




* feat: seminar 패키지 추가 (#17)

* feat: createSeminar, readSeminar, updateSeminar 추가

* feat: deleteSeminar, searchSeminar 추가

* fix: distinct 삭제

* hotfix: 불필요한 dto 삭제 (#20)

* hotfix: 불필요한 dto 삭제

* build.gradle 수정

* fix: 이미지 uri 필드 추가 및 프론트 요구사항 반영 (#21)

* feat: 이미지 uri 필드 추가 및 isActive 대신 status 추가

* fix: 행정직원 전체 조회 응답에서 task 삭제

* fix: 교수진 페이지 응답 수정

* feat: introduction 패키지, undergraduate 패키지 추가 (#22)

* feat: createUndergraduate, readUndergraduate 추가

* feat: readAllCourses, createCourse, readCourse 추가

* introduction 패키지 추가

* fix: dto에서 postType 삭제

* fix: postType pathVariable->requestBody 수정, 오타 수정

* fix: 프론트와 협의하여 이름 등 변경

* feat: academics 패키지 대학원도 가능하도록 추가

* feat: 장학제도 세부 장학금 create, read 추가

* fix: 수정

* fix:수정

* feat: admissions, research 패키지 추가 (#23)

* feat: admissions-학부 에서 create, read 추가

* feat: admissions-대학원도 작성 가능하도록 추가

* feat: createResearch 추가

* feat: createLab 추가

* fix: 다른 패키지에 맞게 수정

* research-groups, research-centers에서 read, update 추가

* fix: admissions, research에서 프론트와 협의하여 이름 등 수정

* fix: 오타 수정

* fix: enum 추가, pr 리뷰 반영

* feat: oidc 로그인 (#27)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: idsnucse 다운 되었을때 에러 처리

* feat: idsnucse 다운 되었을때 에러 처리

* feat: cors 설정 (#30)

* fix: cors 추가 설정 (#32)

* feat: cors 설정

* feat: cors 설정

* fix: CORS (#34)

* feat: cors 설정

* feat: cors 설정

* feat: cors 설정

* fix: about, academics, admissions 패키지 수정 (#25)

* fix: admissions, about 컨트롤러 변경

* fix: academics 컨트롤러 수정

* 커밋중

* fix: pr 리뷰 반영

* feat: readMain 추가

* pr 리뷰 반영

* feat: 일반 예약 및 정기 예약 API (#28)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: 예약 엔티티 및 DTO 설계

* feat: 일반 예약 및 정기 예약

* feat: 예약 조회 API (#39)

* feat: 권한 관리 위해 커스텀 어노테이션 생성

* feat: 예약 단건, 주별, 월별 조회 API

* fix: 로컬 DB 설정 수정

* feat: 유저 조회 중복 쿼리 방지

* feat: 예약 응답에 recurrenceId 추가

* feat: 동시 예약 방지

* fix: 시큐리티 로그 다시 로컬에서만 보이도록 변경

* feat: 목데이터 날라가지 않도록 ddl-auto 수정

* feat: about, member, news, seminar 메인 이미지 업로드 추가 (#38)

* feat: uploadImage 추가

* feat: about, member 사진 업로드 추가

* feat: news, seminar 사진 업로드 추가

* refactor: imageEntity 추가 리팩토링

* fix: gif 삭제

* fix: application.yaml 수정

* fix: newsService 태그 -> 이미지로 순서 변경

* fix: pr 리뷰 수정

* fix: extension 없애고, mainImage로 바꾸고, uuid 없애기

* fix: var 삭제

---------



* CICD: Change deploy port to 8080 (#40)

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>

* feat: 장학제도 GET API 및 장학제도 페이지 응답 수정 (#44)

* feat: 장학제도 GET API

* feat: 장학제도 메인페이지 GET API 응답 수정

* feat: custom metadata 설정 + 리다이렉트 엔드포인트 변경 (#45)

* feat: yml 파일에 custom metadata endpoint 추가

* feat: 로그인/로그아웃 성공 리다이렉트 엔드포인트 변경

* feat: attachments 패키지 추가, news와 seminar request에 attachments 추가 (#43)

* feat: attachments 추가, news request에 attachments 추가

* feat: seminar request에 attachments 추가

* fix: mappedBy 추가 + bringAttachments null 없앰

* fix: 경로 분리

* fix: isDeleted false로 수정

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* feat: Top Conference List GET API (#47)

* feat: Top Conference List GET API

* feat: db에서 가져올때 정렬

* feat: 파일 서빙, 다운로드, 삭제 API (#48)

* feat: 파일 서빙, 다운로드, 삭제 API

* fix: extension 중복, 경로 수정

* feat: 공지사항 글쓴이 추가 (#49)

* CI/CD: Https 적용 및 백엔드, 데이터베이스, 프록시 서버 배포 분리 (#50)

* Config: Add gitignore for caddy files.

* CICD: Add caddy config file

* CICD: Seperate docker compose file for db and backend server.

* CICD: Docker Compose file for caddy proxy server.

* CICD: Add path condition for only act when source file has changed.

* CICD: Add workflow for deploying database changes.

* CICD: Add workflow for proxy server changes.

* Refactor: Add /api/v1 in front of all endpoints (except swagger-ui)

* Refactor: Add v1 to Main Image url.

* Refactor: change backend, frontend, login redirect uri to get from env.

* CICD: Add url to .env

* Fix: Change job name of database workflow, fix indent level.

* Fix: Remove duplicated restcontroller mapping.

* Fix: Set reverse proxy for swagger-ui/* for swagger.

* Docs: Set swagger to only scan /api/**

* Fix: add caddy to reverse api-docs/* for springdoc.

* Fix: Add login uris for reverse proxying to backend server.

* CICD: Remove testing branch condition.

* CICD: Add logout uri to reverse proxy to backend server.

* CICD: Remove test branch

* fix: 프론트랑 협의하여 내용 변경 + news, seminar에 image, attachments update 추가 (#51)

* feat: attachments 추가, news request에 attachments 추가

* feat: seminar request에 attachments 추가

* feat: about request에 attachments 추가

* feat: academics request에 attachments 추가

* fix: isPinned 삭제

* fix: image -> mainImage 변경, about에 greetings 추가

* fix: news, seminar update 수정

* fix: 전체적으로 image -> mainImage 변경

* fix: research 패키지 프론트에 맞춰 협의 (#52)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* fix: pr 리뷰 수정

* fix: 오타 수정

* [Refactor] 로그인, file uri 배포 환경에 맞게 수정 (#53)

* Refactor: Change mapping of file to append /api/v1 in front.

* Refactor: Change login, logout redirect uri

* fix: https 적용 관련 로그인 수정 (#56)

* fix: notice 패키지 프론트에 맞게 협의 (#54)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* feat: notice에 attachments 추가

* fix: fix_with_front1 변경 사항에 맞게 수정

* feat: isImportant 추가

* feat: NoticeSearchDto에 hasAttachment 추가

* fix: update에서 attachmetnts가 null일 때 빈 목록 반환

* feat: 공지사항 선택 고정해제, 선택 삭제 추가

* fix: news, seminar에 isImportant 추가

* fix: pr 리뷰 수정

* fix: 수정했던거 다시 복구

* feat: 신임교수초빙 (#59)

* feat: 행정실 권한 체크 API (#60)

* [CICD] mainImage, attachment 경로 mount 설정 (#55)

* CICD: Add mainImage, attachment directory for mounting

* CICD: Add volumes to mount with server directory. (for attachment)

* [Feat] 예전 url과 비슷하게 이전 파일(사진)들 접근할 수 있도록 controller 생성 (#58)

* Config: Add oldFiles path for properties.

* Feat: Add deprecated file controller for getting old files temporarily.

* CICD: Add volume mounting for old files.

* CICD: Add dir to mount for old files.

* Refactor: Change api to /sites/default/files/{PATH}

* CICD: Add reverse proxy for old file serving.

* fix: 예약 dto에 지도교수, 반복 횟수 추가 (#61)

* fix: 로그아웃 엔드포인트 변경 (#64)

* fix: 로그아웃 엔드포인트 변경

* fix: 로그아웃 성공 리다이렉트 엔드포인트 변경

* [Fix] Notice, News Description TEXT type으로 변환 (#65)

* Fix: Change notice and news entity description type as TEXT.

* Fix: Change to mediumtext

* fix: newsSearchResponse, seminarSearchResponse 수정 (#66)

* fix: newsSearchResponse 수정

* fix: SeminarSearchResponse 수정

* fix: 오타수정

* fix: 파일 업로드 경로 통일 (#68)

* fix: 갯수만 fetch하도록 최적화 (#70)

* Fix: Change type of additionalNote column on SeminarEntity to "TEXT" (#71)

* fix: academics 패키지 프론트에 맞춰 협의, admin 패키지 추가 (#69)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* feat: notice에 attachments 추가

* fix: fix_with_front1 변경 사항에 맞게 수정

* feat: isImportant 추가

* feat: NoticeSearchDto에 hasAttachment 추가

* fix: update에서 attachmetnts가 null일 때 빈 목록 반환

* feat: 공지사항 선택 고정해제, 선택 삭제 추가

* fix: news, seminar에 isImportant 추가

* fix: pr 리뷰 수정

* fix: 수정했던거 다시 복구

* fix: course response 수정

* feat: academics에서 연도별로 주는 response 추가

* feat: academics YearResponses 추가

* fix: createScholarship 합치기

* fix: scholarship 패키지의 내용을 academics 하위로 옮김

* feat: createScholarshipDetail 추가

* fix: 필수 교양과목 response 변경

* feat: admin 패키지에서 readAllSlides 추가

* feat: admin 패키지 readAllImportants 추가

* feat: admin 패키지 중요안내 추가

* Refactor: HTML로부터 텍스트 추출 함수 Utils로 이동 (#73)

* Feat: Add cleanTextFromHtml.

* Refactor: Remove private clean method, replace to Utils.cleanTextFromHtml.

* Refactor: Remove unused imports.

* Feat: Add plain text description for notice (#74)

* Feat: Add cleanTextFromHtml.

* Refactor: Remove private clean method, replace to Utils.cleanTextFromHtml.

* Refactor: Remove unused imports.

* Feat: Add plainTextDescription.

* Feat: Add plainTextDescription in createNotice.

* Feat: add updating plainTextDescription when updating description.

* fix: admissions 패키지 프론트에 맞게 협의 (#76)

* fix: admissions 프론트에 맞게 협의

* fix: seminarEntity time 삭제

* fix: admissionsEntity pageName 추가

* fix: 불필요한 파일 삭제

* 커밋

* fix: 이전 글 다음 글만 fetch 하도록 쿼리 최적화 (#75)

* fix: 이전 글 다음 글만 fetch 하도록 쿼리 최적화

* fix: distinct 수정

* fix: 쿼리 최적화

* fix: total Long 타입으로 수정

* CI/CD: Test 설정 (#77)

* Config: Add kotest, mockk, h2 db for testing.

* Config: Add test profile.

* Config: Add testconfig for jpaqueryfactory.

* CICD: Add build, test workflow

* Fix: Revert local datasource url change.

* [Test] Notice create, update 시 plainTextDescription 동작 테스트 (#78)

* Config: Add test profile.

* Test: Add Tests for Create, Update Notice, in perspective of plainTextDescription

* Fix: Change life cycle hook resolution to container.

* [Feat] Seminar plain text field 추가 (#79)

* Feat: Add plain text column for description, introduction, additionalnote.

* Feat: Add description, introduction, additionalnote for dto -> entity.

* Feat: Change to update plain description, introduction, additional note.

* Feat: Use plainTextDesription for searchdto.

* Test: Test for create, update of plain texts.

* Test: Fix seminar service test.

* Feat: News plain text field 추가 (#80)

* Feat: Add plainTextDescription field for news entity

* Feat: Add to create, and update plainTextDescription.

* Feat: Change to use plainTextDescription when making newssearchdto.

* Test: Test for create/update plainTextDescription.

* Feat: 구성원 검색 위한 table 추가. (#81)

* Feat: MemberSearchEntity 추가.

* Feat: MemberSearchRepository 추가

* Feat: MemberSearchService 추가

* Feat: ProfessorEntity, StaffEntity에 MemberSearch 추가.

* Feat: ProfessorStatus에 한글 값 추가.

* Feat: professor create, update 시 memberSearch도 반영하도록 추가.

* Feat: seminar create, update 시 memberSearch도 반영하도록 추가.

* Test: ProfessorService 테스트 추가.

* Test: StaffServiceTest 추가.

* fix: 새소식 세미나 쿼리 수정 (#82)

* refactor: 유틸 패키지 생성 및 FixedPageRequest 분리

* feat: 새소식 세미나 이전 다음 글 및 total 쿼리 최적화

* fix: pageNum 값으로 usePageBtn 값 설정

* fix: import 경로 수정

* fix: local db port 3306

* 중복 삭제

* fix: prod endpoint https로 변경

* fix: main 프론트에 맞게 협의, notice 태그 enum 추가 (#83)

* fix: mainResponse 다시 작성

* feat: TagInNoticeEnum 추가

* feat: notice enum 추가

* fix: 코드 수정

* fix: isPublic -> isPrivate으로 정리 (#86)

* fix: rebase 정리

* fix: 오타 수정

* feat: 로컬 로그인 테스트용 엔드포인트로 임시 변경 (#87)

* Feat: 구성원 검색 API 추가 (#85)

* Feat: Add mysql custom dialect with MATCH AGAINST BOOLEAN MODE function.

* CICD: Add config for mysql db

* CICD: Add volumes for config file.

* CICD: Add db_config for condition for db deploy

* Feat: Add search top, and search query.

* Feat: Add DTOs

* Feat: Add Controller for member search only top, and page.

* Feat: Add dialect config for application.yaml

* Feat: Add controller for member search.

* Refactor: Change exception message to korean.

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>

* fix: 세미나 시간 타입 변경 (#91)

* fix: 세미나 시간 LocalDateTime으로 변경

* test: 테스트 수정

* fix: 태그 항목 수정 (#92)

* fix: news tag 추가 (#90)

* fix: news tag 추가

* fix: 일반인은 isPrivate = false인 것만, 직원은 모든 게시글 보여주기

* feat: 졸업생 창업 진로, 졸업생 진로 response 추가 (#94)

* fix: news tag 추가

* fix: 일반인은 isPrivate = false인 것만, 직원은 모든 게시글 보여주기

* feat: about  졸업생 read 추가

* fix: 오타 수정

* fix: conference 주소 추가 (#95)

* Feat: 연구 탭 통합검색 위한 Table 생성. (#97)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Fix: Fix typo, import library.

* Feat: Lab Update API 추가 (#98)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Feat: Add update method for labentity.

* Feat: Add update lab service.

* Feat: Add update lab controller.

* Test: Add ResearchServiceTest.

* Feat: Add deleteAttachment (marking)

* Fix: Add typo, add import library.

* Feat: Conference page 수정 API (#99)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Feat: Add update method for labentity.

* Feat: Add update lab service.

* Feat: Add update lab controller.

* Test: Add ResearchServiceTest.

* Feat: Add Conference Repository.

* Feat: add conferenc eentity method for create, update entity.

* Feat: Change variables to mutable.

* Feat: Add id in conferencedto.

* Feat: Add to sort the conferenceList.

* Feat: Add deleteAttachment (marking)

* Feat add service to modify conference page (create, modify, delete conferences)

* Feat: Add api for modify conference page.

* Test: Add test for conference service.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 파일 관련 수정 (#100)

* fix: 업로드 파일 사이즈 제한

* fix: 원본 첨부파일 이름으로 응답

* refactor: 세미나 업데이트 시 삭제할 첨부파일 id만 받도록 변경

* fix: 파일 api 경로 수정

* fix: deleteAttachment

* fix: GET notice 권한 관련 로직 수정 (#101)

* Refactor: Extract Full Text Query Template to CommonRepository (#102)

* Feat: Extract full text search template to common repository.

* Feat: Change full text search to use extracted repository.

* Feat: Add for 4 elements.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Notice Seminar News Search to Full Text Query (#105)

* Feat: Extract full text search template to common repository.

* Feat: Change full text search to use extracted repository.

* Feat: Add for 4 elements.

* Feat: Add more args cnt.

* Feat: Change keyword boolean builder to full text.

* Feat: Change keyword boolean builder to full text.

* Feat: Change keyword boolean builder to full text.

* Hotfix: Change mount volume. (#103)

* feat: api 권한 설정 (#84)

* fix: GET notice 권한 관련 로직 수정 (#109)

* fix: 필요한 column만 select (#111)

* refactor: 공지 태그 응답 한국어로 변경 및 리팩토링 (#113)

* refactor: 공지 태그 응답 한국어로 수정 및 리팩토링

* refactor: 새소식 태그 리팩토링

* fix: NewsRepository

* fix: 공지 새소식 PATCH 로직 수정 (#114)

* fix: 공지 새소식 PATCH 로직 수정

* test: 테스트 수정

* fix: news 엔티티에 날짜 추가 (#115)

* Feat: 검색 결과에서 keyword 위치, 적절한 substring 추출 위한 method 추가 (#116)

* Feat: Add utils substringAroundKeyword

* Test: Add test for Utils.kt

* fix: total 더미 값 + pageNum null일때만 더미 값 주기 (#117)

* fix: 예약 조회 권한 분리 및 응답 단순화 (#119)

* fix: 예약 단건 조회 권한 분리

* feat: 월별,주별 조회용 SimpleReservationDto

* fix: 로그인 리다이렉트 엔드포인트 복구 (#121)

* feat: migrateAbout, migrateFutureCareers 추가 (#118)

* feat: AboutRequest, migrateAbout 추가

* feat: future-careers 마이그레이션 추가

* feat: request 패키지 추가

* fix: AboutRequest 간소화

* fix: future-careers description aboutEntity에 저장

* feat: about 패키지 마이그레이션 추가 (#120)

* feat: AboutRequest, migrateAbout 추가

* feat: future-careers 마이그레이션 추가

* feat: request 패키지 추가

* fix: 불필요한 dto 삭제

* feat: migrateStudentClubs 추가

* feat: migrateFacilities 추가

* feat: migrateDirections 추가

* fix: 불필요한 dto 삭제

* fix: request 패키지 삭제

* fix: 오타 수정

* fix: news, notice에 titleForMain 추가 (#125)

* fix: 소식3총사 titleForMain 데이터 생성

* fix: 테스트에 titleForMain  추가

* Revert "fix: 테스트에 titleForMain  추가"

This reverts commit e824ad34e60e0785f1d4c4e187776d4b8bf53dfa.

* fix: 테스트에 titleForMain 추가

* fix: seminar titleForMain 추가

* fix: seminar test titleForMain 추가

* feat: LocalDateTime 응답 마지막에 Z 추가 (#126)

* refactor: deleteIds request 내부로 이동 (#127)

* refactor: deleteIds request 내부로 이동

* test: 테스트 수정

* fix: 확장자 중복 버그 (#128)

* feat: 관리자는 새소식, 세미나 목록에서 비공개 글 확인 가능 (#129)

* feat: research, member 패키지 migrate 추가 (#130)

* feat: migrateProfessors 추가

* feat: migrateResearchDetail 추가

* feat: migrateLabs 추가

* fix: migrate 엔티티 description에 mediumText 추가

* feat: migrateStaff 추가

* fix: 빠진거 수정

* fix: 중복 패키지 삭제

* fix: 너무 안긴거 text로 수정

* fix: noticeSearchDto에도 private 추가 (#131)

* fix: noticeSearchDto에도 private 추가

* fix: json 추가

* fix: 수정 및 추가

* fix: 수정

* Fix: 키워드 추출 함수 수정 (#122)

* Fix: Fix IndexOutOfBoundException, change to return index based on substring.

* Fix: Change to check index exclude case, and set front, back index to better contains keyword.

* Test: Update Test.

* Feat: 통합검색 Notice API 구현 (#123)

* Feat: Add dtos for notice total search.

* Feat: Add repository for notice total search.

* Feat: Add service, controller for notice total search

* Feat: News 통합 검색 API 구현 (#124)

* Feat: Add dto for total search of news.

* Feat: Add repository for total search.

* Feat: Add service, controller for news total search.

* Fix: Fix conflict issues.

* fix: 기존 objectMapper 설정 오버라이드 (#132)

* feat: 파일 업로드 컨트롤러 구현 (#133)

* Feat: Change titleForMain column to TEXT type. (#134)

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* hotfix: mixed content issue (#136)

* hotfix: loginPage to https (#139)

* hotfix: mixed content issue

* hotfix: loginPage

* fix: false로 수정 (#141)

* fix: 이전 다음 글에서 비공개 글 제외 (#143)

* fix: 이전 다음글 비공개 제외

* fix: prev-next

* CBT 위해서 예약 GET 권한체크 주석처리

* Feat: 뉴스 날짜로 정렬 (#144)

* Feat: Change date field to NOT NULLABLE.

* Feat: Change to sort by date, not createdat.

* Test: Fix test.

* Test: Move news test dir.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Add description for slide. (#146)

* style: ktlint (#145)

* style: ktlint

* Feat: change to ktlint_disabled_rules

* Refactor: fix to lint using ktlint.

* Refactor: After merge.

* Fix: After merge.

* Refactor: ReReLint

---------

Co-authored-by: huGgW <whjoon0225@naver.com>

* fix: 텍스트 인코딩 (#147)

* fix: content-dispostion

* fix: 텍스트 인코딩

* fix: 강제 다운로드

* style: ktlint

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* Update ktlint-check.yml

* fix: 중요 안내 (#149)

* fix: 삭제된 글 중요 안내에서 보이지 않도록 수정

* fix: 중요 안내 최대 2개만 보내도록 + plainTextDescription

* style: ktlint

* fix: 첨부파일 다운로드 (#154)

* Feat: 관리자 슬라이드에 total 추가, refactoring (#153)

* Feat: Change dto name, and add total to AdminSlidesResponse.

* Feat: Add pageSize as parameter.

* Feat: move readAllSlides to news repository, add total query.

* Feat: Extract getNewsEntityByIdOrThrow

* Feat: Move readAllSlides and unSlideManyNews logic handling to news service.

* Comment: Add comment for refactoring.

* Test: Add test for read all slides.

* Refactor: Linting.

* Feat: Change pageNum to start at 1.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 세미나 isYearLast 로직 수정 (#155)

* fix: 세미나 isYearFirst 로직 수정

* fix: isYearLast로 재변경 및 로직 수정

* fix: 이전글 다음 글 isDelete,isPrivate 조건 추가 (#151)

* fix: 이전글 다음 글 isDelete 추가

* fix: ktlint 수정

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 메인 공지 정렬 (#158)

* fix: 예약 조회 권한 수정 (#157)

* Feat: 통합검색 정렬 최신순 (#156)

* Feat: Admin Important에 pagination 추가, total 추가. (#159)

* fix: titleForMain이 없어도 isImportant 등록 가능 (#160)

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: em.close() 추가 (#162)

* fix: em.close() 추가

* fix: total에도 추가

* feat: migrateConference 추가 (#164)

* feat: migrateConferences 추가

* fix: 수정

* fix: 수정

* fix: 검색 추가

* fix: createConferenceDto 삭제

* CICD: Add blocking backend api except frontend. (#166)

* CICD: Add blocking backend api except frontend.

* CICD: Remove login, logout, file api from blacklist.

* CICD: Change to just block swagger apis.

* fix: group 변경 반영 (#167)

* refactor: 실제 스누씨 서버 연동 (#168)

* refactor: local-test 중복 항목 공통으로 처리하고 prod에서 오버라이드

* feat: 스누씨 실서버용 환경 변수 설정

* refactor: 로그인 페이지 통합 및 CORS 설정 변경

* fix: CORS

* feat: migrateAdmissions 추가 (#165)

* fix: migrateAdmissions 추가

* fix: 잘못 쓴거 수정

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Increase speakerurl size (#170)

* fix: 로컬에서도 idsnucse로 연결 (#174)

* fix: 로컬에서도 idsnucse 바라보게끔 변경

* fix: test에서 idsnucse 접근 x

* Revert "fix: test에서 idsnucse 접근 x"

This reverts commit cf52645.

* Fix: move local security settings to local, not global.

* Fix: Disable SecurityConfig on "test" profile

---------

Co-authored-by: huGgW <whjoon0225@naver.com>

* feat: Research 검색 (#175)

* fix: 로컬에서도 idsnucse 바라보게끔 변경

* feat: enable async.

* Feat: create professor event.

* Feat: Publish event on professor modification.

* Feat: Update research search when listen professor event.

* Test: ResearchSearchService listen professor event

* fix: test에서 idsnucse 접근 x

* Revert "fix: test에서 idsnucse 접근 x"

This reverts commit cf52645.

* Fix: fixed event listener logic

* Feat: Add search api for research.

* Test: Fix test.

* Fix: move local security settings to local, not global.

* Fix: Disable SecurityConfig on "test" profile

---------

Co-authored-by: leeeryboy <indiv0227@snu.ac.kr>

* feat: staff 검색 기능 추가 (#176)

* Feat: 학사 및 교과 검색 기능 추가 (#177)

* Revert "fix: test에서 idsnucse 접근 x"

This reverts commit cf52645.

* Fix: move local security settings to local, not global.

* Feat: AcademicsStudentType에 값 지정.

* Feat: AcademicsSearchEntity 추가

* Feat: 각 entity에 search 관계 추가

* Feat: 각 entity create하는 서비스 method에 search entity도 생성하도록 추가.

* Feat: Add academicsSearchRepository

* Feat: Add dto for search

* Refactor: Make name field of academics non null

* Feat: Add exchangePageNum to utils.

* Feat: Add academics search service

* Feat: Add search api for academics.

* Feat: add validation code for utils.exchangePageNum

* Test: Add testcode for exchangePageNum

* REfactor: Add transactional readonly for readGeneralStudies

* fix: apply newacademics to use after saved cached entity.

* fix: fix to add target enitity when create of search entity is called.

* refactor: add default values for nullable values.

* Temp: test code, should be fixed h2 issue.

---------

Co-authored-by: leeeryboy <indiv0227@snu.ac.kr>

* Fix: Research 검색에서 html 태그 없이 검색되도록 설정 (#178)

* Fix: Change createContent to remove html tags on description.

* Test: Update to check removing html tags.

* Feat/add language field (#180)

* feat: 엔티티, dto에 language 추가

* feat: read에 language 추가

* fix: ktlint 수정

* fix: languageRepository 삭제, 함수 enum 클래스로 이동

* fix: language pathVariable -> requestParam 변경 && engName 추가 삭제

* fix: dto 소문자로 return하기 enum 함수로 넣어주기

* fix: requestParam defaultValue 추가

* Refactor: Admission 언어 추가 및 리팩터링 진행 (#182)

* Feat: Move type to type dir, and add main type enum.

* Refactor: Add request body for create, and changed migrate elem body.

* Feat: Change pagename -> name, add language and mainType column, add unique constraints.

* Refactor: Remove unused request dto.

* Refactor: Change AdmissionsDto by adding columns, to be able to used as pure dto.

* Feat: Change to more specific search query.

* Feat: Change multiple methods to few methods, by using mainType.

* Feat: Change to few controller by using mainType, and use request bodies instead of dto.

* Test: AdmissionsServiceTest

* Fix: Add mapping path variable.

* Fix: Fix replacing logic.

* feat: academics 패키지에 language field 추가 (#181)

* feat: 엔티티, dto에 language 추가

* feat: read에 language 추가

* feat: academics에 language field 추가

* fix: ktlint 수정

* feat: course 엔티티에 language field 추가

* feat: readCourse에 language parameter 추가

* fix: languageRepository 삭제, 함수 enum 클래스 이동, academicsEntity name 속성 nullable 추가

* fix: requestParam+defaultValue 추가,

* fix: academics name nullable 없앰

* feat: staff에 language, migration 방법 추가 (#183)

* feat: staffEntity에 language 추가

* feat: branch 이름 변경

* fix: branch origin 이름 변경

* feat: staff 읽기, 수정에서 language 속성 추가

* feat: migrateStaffImage 추가

* fix: StaffServiceTest 수정

* Feat: Admission 검색 (#184)

* Feat: Add korean, english section name.

* Feat: add searchContent column for saving index.

* Feat: Add search query repository method.

* Feat: Define dto of search result element.

* Feat: Add search Top Admission method, and add migrate method creating search content.

* Feat: Add search top admissions method to controller.

* Test: Add test for Admission Service.

* Refactor: Remove Location Entity (#186)

* feat: member/research 패키지 이미지와 첨부파일 마이그레이션 코드 작성 (#185)

* feat: migrateProfessorImage 추가

* feat: migrateResearchImageAndAttachments 추가

* feat: migrateStaffImage 추가

* feat: migrateLabPdf 추가

* feat: about에서 이미지랑 첨부파일 추가 (#187)

* feat: migrateProfessorImage 추가

* feat: migrateResearchImageAndAttachments 추가

* feat: migrateStaffImage 추가

* feat: migrateLabPdf 추가

* feat: about에서 이미지랑 첨부파일 추가

* feat: dev 로그인 (#188)

* dev서버 로그인 바이패스

* style: ktlint

* fix: mock auth config 분리

* fix: uri 수정

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
leeeryboy added a commit that referenced this pull request Mar 9, 2024
* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* ✨ 패키지 및 엔티티 생성

* ✨ BaseTimeEntity 생성, PostEntity 기본 내용 작성

* ✨ PostController 생성 및 기본 내용 작성

* ✨ postService 생성

* ✨ Exceptions.kt 생성

* ✨ postDto 생성

* ✨ postRepository 생성 및 기본 내용 작성

* 💚 application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

* fix: main에서 develop으로 pr (#16)

* feat: merge develop to main (#13)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* ✨ 패키지 및 엔티티 생성

* ✨ BaseTimeEntity 생성, PostEntity 기본 내용 작성

* ✨ PostController 생성 및 기본 내용 작성

* ✨ postService 생성

* ✨ Exceptions.kt 생성

* ✨ postDto 생성

* ✨ postRepository 생성 및 기본 내용 작성

* 💚 application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* hotfix: 사용하지않는 Dto 및 엔티티 삭제 (#14)

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* feat: seminar 패키지 추가 (#17)

* feat: createSeminar, readSeminar, updateSeminar 추가

* feat: deleteSeminar, searchSeminar 추가

* fix: distinct 삭제

* hotfix: 불필요한 dto 삭제 (#20)

* hotfix: 불필요한 dto 삭제

* build.gradle 수정

* fix: 이미지 uri 필드 추가 및 프론트 요구사항 반영 (#21)

* feat: 이미지 uri 필드 추가 및 isActive 대신 status 추가

* fix: 행정직원 전체 조회 응답에서 task 삭제

* fix: 교수진 페이지 응답 수정

* feat: introduction 패키지, undergraduate 패키지 추가 (#22)

* feat: createUndergraduate, readUndergraduate 추가

* feat: readAllCourses, createCourse, readCourse 추가

* introduction 패키지 추가

* fix: dto에서 postType 삭제

* fix: postType pathVariable->requestBody 수정, 오타 수정

* fix: 프론트와 협의하여 이름 등 변경

* feat: academics 패키지 대학원도 가능하도록 추가

* feat: 장학제도 세부 장학금 create, read 추가

* fix: 수정

* fix:수정

* feat: admissions, research 패키지 추가 (#23)

* feat: admissions-학부 에서 create, read 추가

* feat: admissions-대학원도 작성 가능하도록 추가

* feat: createResearch 추가

* feat: createLab 추가

* fix: 다른 패키지에 맞게 수정

* research-groups, research-centers에서 read, update 추가

* fix: admissions, research에서 프론트와 협의하여 이름 등 수정

* fix: 오타 수정

* fix: enum 추가, pr 리뷰 반영

* feat: oidc 로그인 (#27)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: idsnucse 다운 되었을때 에러 처리

* feat: idsnucse 다운 되었을때 에러 처리

* feat: cors 설정 (#30)

* fix: cors 추가 설정 (#32)

* feat: cors 설정

* feat: cors 설정

* fix: CORS (#34)

* feat: cors 설정

* feat: cors 설정

* feat: cors 설정

* fix: about, academics, admissions 패키지 수정 (#25)

* fix: admissions, about 컨트롤러 변경

* fix: academics 컨트롤러 수정

* 커밋중

* fix: pr 리뷰 반영

* feat: readMain 추가

* pr 리뷰 반영

* feat: 일반 예약 및 정기 예약 API (#28)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: 예약 엔티티 및 DTO 설계

* feat: 일반 예약 및 정기 예약

* feat: 예약 조회 API (#39)

* feat: 권한 관리 위해 커스텀 어노테이션 생성

* feat: 예약 단건, 주별, 월별 조회 API

* fix: 로컬 DB 설정 수정

* feat: 유저 조회 중복 쿼리 방지

* feat: 예약 응답에 recurrenceId 추가

* feat: 동시 예약 방지

* fix: 시큐리티 로그 다시 로컬에서만 보이도록 변경

* feat: 목데이터 날라가지 않도록 ddl-auto 수정

* feat: about, member, news, seminar 메인 이미지 업로드 추가 (#38)

* feat: uploadImage 추가

* feat: about, member 사진 업로드 추가

* feat: news, seminar 사진 업로드 추가

* refactor: imageEntity 추가 리팩토링

* fix: gif 삭제

* fix: application.yaml 수정

* fix: newsService 태그 -> 이미지로 순서 변경

* fix: pr 리뷰 수정

* fix: extension 없애고, mainImage로 바꾸고, uuid 없애기

* fix: var 삭제

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* CICD: Change deploy port to 8080 (#40)

* [Merge] (#41) (#42)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* ✨ 패키지 및 엔티티 생성

* ✨ BaseTimeEntity 생성, PostEntity 기본 내용 작성

* ✨ PostController 생성 및 기본 내용 작성

* ✨ postService 생성

* ✨ Exceptions.kt 생성

* ✨ postDto 생성

* ✨ postRepository 생성 및 기본 내용 작성

* 💚 application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

* fix: main에서 develop으로 pr (#16)

* feat: merge develop to main (#13)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* ✨ 패키지 및 엔티티 생성

* ✨ BaseTimeEntity 생성, PostEntity 기본 내용 작성

* ✨ PostController 생성 및 기본 내용 작성

* ✨ postService 생성

* ✨ Exceptions.kt 생성

* ✨ postDto 생성

* ✨ postRepository 생성 및 기본 내용 작성

* 💚 application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

---------




* hotfix: 사용하지않는 Dto 및 엔티티 삭제 (#14)

---------




* feat: seminar 패키지 추가 (#17)

* feat: createSeminar, readSeminar, updateSeminar 추가

* feat: deleteSeminar, searchSeminar 추가

* fix: distinct 삭제

* hotfix: 불필요한 dto 삭제 (#20)

* hotfix: 불필요한 dto 삭제

* build.gradle 수정

* fix: 이미지 uri 필드 추가 및 프론트 요구사항 반영 (#21)

* feat: 이미지 uri 필드 추가 및 isActive 대신 status 추가

* fix: 행정직원 전체 조회 응답에서 task 삭제

* fix: 교수진 페이지 응답 수정

* feat: introduction 패키지, undergraduate 패키지 추가 (#22)

* feat: createUndergraduate, readUndergraduate 추가

* feat: readAllCourses, createCourse, readCourse 추가

* introduction 패키지 추가

* fix: dto에서 postType 삭제

* fix: postType pathVariable->requestBody 수정, 오타 수정

* fix: 프론트와 협의하여 이름 등 변경

* feat: academics 패키지 대학원도 가능하도록 추가

* feat: 장학제도 세부 장학금 create, read 추가

* fix: 수정

* fix:수정

* feat: admissions, research 패키지 추가 (#23)

* feat: admissions-학부 에서 create, read 추가

* feat: admissions-대학원도 작성 가능하도록 추가

* feat: createResearch 추가

* feat: createLab 추가

* fix: 다른 패키지에 맞게 수정

* research-groups, research-centers에서 read, update 추가

* fix: admissions, research에서 프론트와 협의하여 이름 등 수정

* fix: 오타 수정

* fix: enum 추가, pr 리뷰 반영

* feat: oidc 로그인 (#27)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: idsnucse 다운 되었을때 에러 처리

* feat: idsnucse 다운 되었을때 에러 처리

* feat: cors 설정 (#30)

* fix: cors 추가 설정 (#32)

* feat: cors 설정

* feat: cors 설정

* fix: CORS (#34)

* feat: cors 설정

* feat: cors 설정

* feat: cors 설정

* fix: about, academics, admissions 패키지 수정 (#25)

* fix: admissions, about 컨트롤러 변경

* fix: academics 컨트롤러 수정

* 커밋중

* fix: pr 리뷰 반영

* feat: readMain 추가

* pr 리뷰 반영

* feat: 일반 예약 및 정기 예약 API (#28)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: 예약 엔티티 및 DTO 설계

* feat: 일반 예약 및 정기 예약

* feat: 예약 조회 API (#39)

* feat: 권한 관리 위해 커스텀 어노테이션 생성

* feat: 예약 단건, 주별, 월별 조회 API

* fix: 로컬 DB 설정 수정

* feat: 유저 조회 중복 쿼리 방지

* feat: 예약 응답에 recurrenceId 추가

* feat: 동시 예약 방지

* fix: 시큐리티 로그 다시 로컬에서만 보이도록 변경

* feat: 목데이터 날라가지 않도록 ddl-auto 수정

* feat: about, member, news, seminar 메인 이미지 업로드 추가 (#38)

* feat: uploadImage 추가

* feat: about, member 사진 업로드 추가

* feat: news, seminar 사진 업로드 추가

* refactor: imageEntity 추가 리팩토링

* fix: gif 삭제

* fix: application.yaml 수정

* fix: newsService 태그 -> 이미지로 순서 변경

* fix: pr 리뷰 수정

* fix: extension 없애고, mainImage로 바꾸고, uuid 없애기

* fix: var 삭제

---------



* CICD: Change deploy port to 8080 (#40)

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>

* feat: 장학제도 GET API 및 장학제도 페이지 응답 수정 (#44)

* feat: 장학제도 GET API

* feat: 장학제도 메인페이지 GET API 응답 수정

* feat: custom metadata 설정 + 리다이렉트 엔드포인트 변경 (#45)

* feat: yml 파일에 custom metadata endpoint 추가

* feat: 로그인/로그아웃 성공 리다이렉트 엔드포인트 변경

* feat: attachments 패키지 추가, news와 seminar request에 attachments 추가 (#43)

* feat: attachments 추가, news request에 attachments 추가

* feat: seminar request에 attachments 추가

* fix: mappedBy 추가 + bringAttachments null 없앰

* fix: 경로 분리

* fix: isDeleted false로 수정

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* feat: Top Conference List GET API (#47)

* feat: Top Conference List GET API

* feat: db에서 가져올때 정렬

* feat: 파일 서빙, 다운로드, 삭제 API (#48)

* feat: 파일 서빙, 다운로드, 삭제 API

* fix: extension 중복, 경로 수정

* feat: 공지사항 글쓴이 추가 (#49)

* CI/CD: Https 적용 및 백엔드, 데이터베이스, 프록시 서버 배포 분리 (#50)

* Config: Add gitignore for caddy files.

* CICD: Add caddy config file

* CICD: Seperate docker compose file for db and backend server.

* CICD: Docker Compose file for caddy proxy server.

* CICD: Add path condition for only act when source file has changed.

* CICD: Add workflow for deploying database changes.

* CICD: Add workflow for proxy server changes.

* Refactor: Add /api/v1 in front of all endpoints (except swagger-ui)

* Refactor: Add v1 to Main Image url.

* Refactor: change backend, frontend, login redirect uri to get from env.

* CICD: Add url to .env

* Fix: Change job name of database workflow, fix indent level.

* Fix: Remove duplicated restcontroller mapping.

* Fix: Set reverse proxy for swagger-ui/* for swagger.

* Docs: Set swagger to only scan /api/**

* Fix: add caddy to reverse api-docs/* for springdoc.

* Fix: Add login uris for reverse proxying to backend server.

* CICD: Remove testing branch condition.

* CICD: Add logout uri to reverse proxy to backend server.

* CICD: Remove test branch

* fix: 프론트랑 협의하여 내용 변경 + news, seminar에 image, attachments update 추가 (#51)

* feat: attachments 추가, news request에 attachments 추가

* feat: seminar request에 attachments 추가

* feat: about request에 attachments 추가

* feat: academics request에 attachments 추가

* fix: isPinned 삭제

* fix: image -> mainImage 변경, about에 greetings 추가

* fix: news, seminar update 수정

* fix: 전체적으로 image -> mainImage 변경

* fix: research 패키지 프론트에 맞춰 협의 (#52)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* fix: pr 리뷰 수정

* fix: 오타 수정

* [Refactor] 로그인, file uri 배포 환경에 맞게 수정 (#53)

* Refactor: Change mapping of file to append /api/v1 in front.

* Refactor: Change login, logout redirect uri

* fix: https 적용 관련 로그인 수정 (#56)

* fix: notice 패키지 프론트에 맞게 협의 (#54)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* feat: notice에 attachments 추가

* fix: fix_with_front1 변경 사항에 맞게 수정

* feat: isImportant 추가

* feat: NoticeSearchDto에 hasAttachment 추가

* fix: update에서 attachmetnts가 null일 때 빈 목록 반환

* feat: 공지사항 선택 고정해제, 선택 삭제 추가

* fix: news, seminar에 isImportant 추가

* fix: pr 리뷰 수정

* fix: 수정했던거 다시 복구

* feat: 신임교수초빙 (#59)

* feat: 행정실 권한 체크 API (#60)

* [CICD] mainImage, attachment 경로 mount 설정 (#55)

* CICD: Add mainImage, attachment directory for mounting

* CICD: Add volumes to mount with server directory. (for attachment)

* [Feat] 예전 url과 비슷하게 이전 파일(사진)들 접근할 수 있도록 controller 생성 (#58)

* Config: Add oldFiles path for properties.

* Feat: Add deprecated file controller for getting old files temporarily.

* CICD: Add volume mounting for old files.

* CICD: Add dir to mount for old files.

* Refactor: Change api to /sites/default/files/{PATH}

* CICD: Add reverse proxy for old file serving.

* fix: 예약 dto에 지도교수, 반복 횟수 추가 (#61)

* fix: 로그아웃 엔드포인트 변경 (#64)

* fix: 로그아웃 엔드포인트 변경

* fix: 로그아웃 성공 리다이렉트 엔드포인트 변경

* [Fix] Notice, News Description TEXT type으로 변환 (#65)

* Fix: Change notice and news entity description type as TEXT.

* Fix: Change to mediumtext

* fix: newsSearchResponse, seminarSearchResponse 수정 (#66)

* fix: newsSearchResponse 수정

* fix: SeminarSearchResponse 수정

* fix: 오타수정

* fix: 파일 업로드 경로 통일 (#68)

* fix: 갯수만 fetch하도록 최적화 (#70)

* Fix: Change type of additionalNote column on SeminarEntity to "TEXT" (#71)

* fix: academics 패키지 프론트에 맞춰 협의, admin 패키지 추가 (#69)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* feat: notice에 attachments 추가

* fix: fix_with_front1 변경 사항에 맞게 수정

* feat: isImportant 추가

* feat: NoticeSearchDto에 hasAttachment 추가

* fix: update에서 attachmetnts가 null일 때 빈 목록 반환

* feat: 공지사항 선택 고정해제, 선택 삭제 추가

* fix: news, seminar에 isImportant 추가

* fix: pr 리뷰 수정

* fix: 수정했던거 다시 복구

* fix: course response 수정

* feat: academics에서 연도별로 주는 response 추가

* feat: academics YearResponses 추가

* fix: createScholarship 합치기

* fix: scholarship 패키지의 내용을 academics 하위로 옮김

* feat: createScholarshipDetail 추가

* fix: 필수 교양과목 response 변경

* feat: admin 패키지에서 readAllSlides 추가

* feat: admin 패키지 readAllImportants 추가

* feat: admin 패키지 중요안내 추가

* Refactor: HTML로부터 텍스트 추출 함수 Utils로 이동 (#73)

* Feat: Add cleanTextFromHtml.

* Refactor: Remove private clean method, replace to Utils.cleanTextFromHtml.

* Refactor: Remove unused imports.

* Feat: Add plain text description for notice (#74)

* Feat: Add cleanTextFromHtml.

* Refactor: Remove private clean method, replace to Utils.cleanTextFromHtml.

* Refactor: Remove unused imports.

* Feat: Add plainTextDescription.

* Feat: Add plainTextDescription in createNotice.

* Feat: add updating plainTextDescription when updating description.

* fix: admissions 패키지 프론트에 맞게 협의 (#76)

* fix: admissions 프론트에 맞게 협의

* fix: seminarEntity time 삭제

* fix: admissionsEntity pageName 추가

* fix: 불필요한 파일 삭제

* 커밋

* fix: 이전 글 다음 글만 fetch 하도록 쿼리 최적화 (#75)

* fix: 이전 글 다음 글만 fetch 하도록 쿼리 최적화

* fix: distinct 수정

* fix: 쿼리 최적화

* fix: total Long 타입으로 수정

* CI/CD: Test 설정 (#77)

* Config: Add kotest, mockk, h2 db for testing.

* Config: Add test profile.

* Config: Add testconfig for jpaqueryfactory.

* CICD: Add build, test workflow

* Fix: Revert local datasource url change.

* [Test] Notice create, update 시 plainTextDescription 동작 테스트 (#78)

* Config: Add test profile.

* Test: Add Tests for Create, Update Notice, in perspective of plainTextDescription

* Fix: Change life cycle hook resolution to container.

* [Feat] Seminar plain text field 추가 (#79)

* Feat: Add plain text column for description, introduction, additionalnote.

* Feat: Add description, introduction, additionalnote for dto -> entity.

* Feat: Change to update plain description, introduction, additional note.

* Feat: Use plainTextDesription for searchdto.

* Test: Test for create, update of plain texts.

* Test: Fix seminar service test.

* Feat: News plain text field 추가 (#80)

* Feat: Add plainTextDescription field for news entity

* Feat: Add to create, and update plainTextDescription.

* Feat: Change to use plainTextDescription when making newssearchdto.

* Test: Test for create/update plainTextDescription.

* Feat: 구성원 검색 위한 table 추가. (#81)

* Feat: MemberSearchEntity 추가.

* Feat: MemberSearchRepository 추가

* Feat: MemberSearchService 추가

* Feat: ProfessorEntity, StaffEntity에 MemberSearch 추가.

* Feat: ProfessorStatus에 한글 값 추가.

* Feat: professor create, update 시 memberSearch도 반영하도록 추가.

* Feat: seminar create, update 시 memberSearch도 반영하도록 추가.

* Test: ProfessorService 테스트 추가.

* Test: StaffServiceTest 추가.

* fix: 새소식 세미나 쿼리 수정 (#82)

* refactor: 유틸 패키지 생성 및 FixedPageRequest 분리

* feat: 새소식 세미나 이전 다음 글 및 total 쿼리 최적화

* fix: pageNum 값으로 usePageBtn 값 설정

* fix: import 경로 수정

* fix: local db port 3306

* 중복 삭제

* fix: prod endpoint https로 변경

* fix: main 프론트에 맞게 협의, notice 태그 enum 추가 (#83)

* fix: mainResponse 다시 작성

* feat: TagInNoticeEnum 추가

* feat: notice enum 추가

* fix: 코드 수정

* fix: isPublic -> isPrivate으로 정리 (#86)

* fix: rebase 정리

* fix: 오타 수정

* feat: 로컬 로그인 테스트용 엔드포인트로 임시 변경 (#87)

* Feat: 구성원 검색 API 추가 (#85)

* Feat: Add mysql custom dialect with MATCH AGAINST BOOLEAN MODE function.

* CICD: Add config for mysql db

* CICD: Add volumes for config file.

* CICD: Add db_config for condition for db deploy

* Feat: Add search top, and search query.

* Feat: Add DTOs

* Feat: Add Controller for member search only top, and page.

* Feat: Add dialect config for application.yaml

* Feat: Add controller for member search.

* Refactor: Change exception message to korean.

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>

* fix: 세미나 시간 타입 변경 (#91)

* fix: 세미나 시간 LocalDateTime으로 변경

* test: 테스트 수정

* fix: 태그 항목 수정 (#92)

* fix: news tag 추가 (#90)

* fix: news tag 추가

* fix: 일반인은 isPrivate = false인 것만, 직원은 모든 게시글 보여주기

* feat: 졸업생 창업 진로, 졸업생 진로 response 추가 (#94)

* fix: news tag 추가

* fix: 일반인은 isPrivate = false인 것만, 직원은 모든 게시글 보여주기

* feat: about  졸업생 read 추가

* fix: 오타 수정

* fix: conference 주소 추가 (#95)

* Feat: 연구 탭 통합검색 위한 Table 생성. (#97)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Fix: Fix typo, import library.

* Feat: Lab Update API 추가 (#98)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Feat: Add update method for labentity.

* Feat: Add update lab service.

* Feat: Add update lab controller.

* Test: Add ResearchServiceTest.

* Feat: Add deleteAttachment (marking)

* Fix: Add typo, add import library.

* Feat: Conference page 수정 API (#99)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Feat: Add update method for labentity.

* Feat: Add update lab service.

* Feat: Add update lab controller.

* Test: Add ResearchServiceTest.

* Feat: Add Conference Repository.

* Feat: add conferenc eentity method for create, update entity.

* Feat: Change variables to mutable.

* Feat: Add id in conferencedto.

* Feat: Add to sort the conferenceList.

* Feat: Add deleteAttachment (marking)

* Feat add service to modify conference page (create, modify, delete conferences)

* Feat: Add api for modify conference page.

* Test: Add test for conference service.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 파일 관련 수정 (#100)

* fix: 업로드 파일 사이즈 제한

* fix: 원본 첨부파일 이름으로 응답

* refactor: 세미나 업데이트 시 삭제할 첨부파일 id만 받도록 변경

* fix: 파일 api 경로 수정

* fix: deleteAttachment

* fix: GET notice 권한 관련 로직 수정 (#101)

* Refactor: Extract Full Text Query Template to CommonRepository (#102)

* Feat: Extract full text search template to common repository.

* Feat: Change full text search to use extracted repository.

* Feat: Add for 4 elements.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Notice Seminar News Search to Full Text Query (#105)

* Feat: Extract full text search template to common repository.

* Feat: Change full text search to use extracted repository.

* Feat: Add for 4 elements.

* Feat: Add more args cnt.

* Feat: Change keyword boolean builder to full text.

* Feat: Change keyword boolean builder to full text.

* Feat: Change keyword boolean builder to full text.

* Hotfix: Change mount volume. (#103)

* feat: api 권한 설정 (#84)

* fix: GET notice 권한 관련 로직 수정 (#109)

* fix: 필요한 column만 select (#111)

* refactor: 공지 태그 응답 한국어로 변경 및 리팩토링 (#113)

* refactor: 공지 태그 응답 한국어로 수정 및 리팩토링

* refactor: 새소식 태그 리팩토링

* fix: NewsRepository

* fix: 공지 새소식 PATCH 로직 수정 (#114)

* fix: 공지 새소식 PATCH 로직 수정

* test: 테스트 수정

* fix: news 엔티티에 날짜 추가 (#115)

* Feat: 검색 결과에서 keyword 위치, 적절한 substring 추출 위한 method 추가 (#116)

* Feat: Add utils substringAroundKeyword

* Test: Add test for Utils.kt

* fix: total 더미 값 + pageNum null일때만 더미 값 주기 (#117)

* fix: 예약 조회 권한 분리 및 응답 단순화 (#119)

* fix: 예약 단건 조회 권한 분리

* feat: 월별,주별 조회용 SimpleReservationDto

* fix: 로그인 리다이렉트 엔드포인트 복구 (#121)

* feat: migrateAbout, migrateFutureCareers 추가 (#118)

* feat: AboutRequest, migrateAbout 추가

* feat: future-careers 마이그레이션 추가

* feat: request 패키지 추가

* fix: AboutRequest 간소화

* fix: future-careers description aboutEntity에 저장

* feat: about 패키지 마이그레이션 추가 (#120)

* feat: AboutRequest, migrateAbout 추가

* feat: future-careers 마이그레이션 추가

* feat: request 패키지 추가

* fix: 불필요한 dto 삭제

* feat: migrateStudentClubs 추가

* feat: migrateFacilities 추가

* feat: migrateDirections 추가

* fix: 불필요한 dto 삭제

* fix: request 패키지 삭제

* fix: 오타 수정

* fix: news, notice에 titleForMain 추가 (#125)

* fix: 소식3총사 titleForMain 데이터 생성

* fix: 테스트에 titleForMain  추가

* Revert "fix: 테스트에 titleForMain  추가"

This reverts commit e824ad34e60e0785f1d4c4e187776d4b8bf53dfa.

* fix: 테스트에 titleForMain 추가

* fix: seminar titleForMain 추가

* fix: seminar test titleForMain 추가

* feat: LocalDateTime 응답 마지막에 Z 추가 (#126)

* refactor: deleteIds request 내부로 이동 (#127)

* refactor: deleteIds request 내부로 이동

* test: 테스트 수정

* fix: 확장자 중복 버그 (#128)

* feat: 관리자는 새소식, 세미나 목록에서 비공개 글 확인 가능 (#129)

* feat: research, member 패키지 migrate 추가 (#130)

* feat: migrateProfessors 추가

* feat: migrateResearchDetail 추가

* feat: migrateLabs 추가

* fix: migrate 엔티티 description에 mediumText 추가

* feat: migrateStaff 추가

* fix: 빠진거 수정

* fix: 중복 패키지 삭제

* fix: 너무 안긴거 text로 수정

* fix: noticeSearchDto에도 private 추가 (#131)

* fix: noticeSearchDto에도 private 추가

* fix: json 추가

* fix: 수정 및 추가

* fix: 수정

* Fix: 키워드 추출 함수 수정 (#122)

* Fix: Fix IndexOutOfBoundException, change to return index based on substring.

* Fix: Change to check index exclude case, and set front, back index to better contains keyword.

* Test: Update Test.

* Feat: 통합검색 Notice API 구현 (#123)

* Feat: Add dtos for notice total search.

* Feat: Add repository for notice total search.

* Feat: Add service, controller for notice total search

* Feat: News 통합 검색 API 구현 (#124)

* Feat: Add dto for total search of news.

* Feat: Add repository for total search.

* Feat: Add service, controller for news total search.

* Fix: Fix conflict issues.

* fix: 기존 objectMapper 설정 오버라이드 (#132)

* feat: 파일 업로드 컨트롤러 구현 (#133)

* Feat: Change titleForMain column to TEXT type. (#134)

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* hotfix: mixed content issue (#136)

* hotfix: loginPage to https (#139)

* hotfix: mixed content issue

* hotfix: loginPage

* fix: false로 수정 (#141)

* fix: 이전 다음 글에서 비공개 글 제외 (#143)

* fix: 이전 다음글 비공개 제외

* fix: prev-next

* CBT 위해서 예약 GET 권한체크 주석처리

* Feat: 뉴스 날짜로 정렬 (#144)

* Feat: Change date field to NOT NULLABLE.

* Feat: Change to sort by date, not createdat.

* Test: Fix test.

* Test: Move news test dir.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Add description for slide. (#146)

* style: ktlint (#145)

* style: ktlint

* Feat: change to ktlint_disabled_rules

* Refactor: fix to lint using ktlint.

* Refactor: After merge.

* Fix: After merge.

* Refactor: ReReLint

---------

Co-authored-by: huGgW <whjoon0225@naver.com>

* fix: 텍스트 인코딩 (#147)

* fix: content-dispostion

* fix: 텍스트 인코딩

* fix: 강제 다운로드

* style: ktlint

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* Update ktlint-check.yml

* fix: 중요 안내 (#149)

* fix: 삭제된 글 중요 안내에서 보이지 않도록 수정

* fix: 중요 안내 최대 2개만 보내도록 + plainTextDescription

* style: ktlint

* fix: 첨부파일 다운로드 (#154)

* Feat: 관리자 슬라이드에 total 추가, refactoring (#153)

* Feat: Change dto name, and add total to AdminSlidesResponse.

* Feat: Add pageSize as parameter.

* Feat: move readAllSlides to news repository, add total query.

* Feat: Extract getNewsEntityByIdOrThrow

* Feat: Move readAllSlides and unSlideManyNews logic handling to news service.

* Comment: Add comment for refactoring.

* Test: Add test for read all slides.

* Refactor: Linting.

* Feat: Change pageNum to start at 1.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 세미나 isYearLast 로직 수정 (#155)

* fix: 세미나 isYearFirst 로직 수정

* fix: isYearLast로 재변경 및 로직 수정

* fix: 이전글 다음 글 isDelete,isPrivate 조건 추가 (#151)

* fix: 이전글 다음 글 isDelete 추가

* fix: ktlint 수정

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 메인 공지 정렬 (#158)

* fix: 예약 조회 권한 수정 (#157)

* Feat: 통합검색 정렬 최신순 (#156)

* Feat: Admin Important에 pagination 추가, total 추가. (#159)

* fix: titleForMain이 없어도 isImportant 등록 가능 (#160)

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: em.close() 추가 (#162)

* fix: em.close() 추가

* fix: total에도 추가

* feat: migrateConference 추가 (#164)

* feat: migrateConferences 추가

* fix: 수정

* fix: 수정

* fix: 검색 추가

* fix: createConferenceDto 삭제

* CICD: Add blocking backend api except frontend. (#166)

* CICD: Add blocking backend api except frontend.

* CICD: Remove login, logout, file api from blacklist.

* CICD: Change to just block swagger apis.

* fix: group 변경 반영 (#167)

* refactor: 실제 스누씨 서버 연동 (#168)

* refactor: local-test 중복 항목 공통으로 처리하고 prod에서 오버라이드

* feat: 스누씨 실서버용 환경 변수 설정

* refactor: 로그인 페이지 통합 및 CORS 설정 변경

* fix: CORS

* feat: migrateAdmissions 추가 (#165)

* fix: migrateAdmissions 추가

* fix: 잘못 쓴거 수정

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Increase speakerurl size (#170)

* fix: 로컬에서도 idsnucse로 연결 (#174)

* fix: 로컬에서도 idsnucse 바라보게끔 변경

* fix: test에서 idsnucse 접근 x

* Revert "fix: test에서 idsnucse 접근 x"

This reverts commit cf52645.

* Fix: move local security settings to local, not global.

* Fix: Disable SecurityConfig on "test" profile

---------

Co-authored-by: huGgW <whjoon0225@naver.com>

* feat: Research 검색 (#175)

* fix: 로컬에서도 idsnucse 바라보게끔 변경

* feat: enable async.

* Feat: create professor event.

* Feat: Publish event on professor modification.

* Feat: Update research search when listen professor event.

* Test: ResearchSearchService listen professor event

* fix: test에서 idsnucse 접근 x

* Revert "fix: test에서 idsnucse 접근 x"

This reverts commit cf52645.

* Fix: fixed event listener logic

* Feat: Add search api for research.

* Test: Fix test.

* Fix: move local security settings to local, not global.

* Fix: Disable SecurityConfig on "test" profile

---------

Co-authored-by: leeeryboy <indiv0227@snu.ac.kr>

* feat: staff 검색 기능 추가 (#176)

* Feat: 학사 및 교과 검색 기능 추가 (#177)

* Revert "fix: test에서 idsnucse 접근 x"

This reverts commit cf52645.

* Fix: move local security settings to local, not global.

* Feat: AcademicsStudentType에 값 지정.

* Feat: AcademicsSearchEntity 추가

* Feat: 각 entity에 search 관계 추가

* Feat: 각 entity create하는 서비스 method에 search entity도 생성하도록 추가.

* Feat: Add academicsSearchRepository

* Feat: Add dto for search

* Refactor: Make name field of academics non null

* Feat: Add exchangePageNum to utils.

* Feat: Add academics search service

* Feat: Add search api for academics.

* Feat: add validation code for utils.exchangePageNum

* Test: Add testcode for exchangePageNum

* REfactor: Add transactional readonly for readGeneralStudies

* fix: apply newacademics to use after saved cached entity.

* fix: fix to add target enitity when create of search entity is called.

* refactor: add default values for nullable values.

* Temp: test code, should be fixed h2 issue.

---------

Co-authored-by: leeeryboy <indiv0227@snu.ac.kr>

* Fix: Research 검색에서 html 태그 없이 검색되도록 설정 (#178)

* Fix: Change createContent to remove html tags on description.

* Test: Update to check removing html tags.

* Feat/add language field (#180)

* feat: 엔티티, dto에 language 추가

* feat: read에 language 추가

* fix: ktlint 수정

* fix: languageRepository 삭제, 함수 enum 클래스로 이동

* fix: language pathVariable -> requestParam 변경 && engName 추가 삭제

* fix: dto 소문자로 return하기 enum 함수로 넣어주기

* fix: requestParam defaultValue 추가

* Refactor: Admission 언어 추가 및 리팩터링 진행 (#182)

* Feat: Move type to type dir, and add main type enum.

* Refactor: Add request body for create, and changed migrate elem body.

* Feat: Change pagename -> name, add language and mainType column, add unique constraints.

* Refactor: Remove unused request dto.

* Refactor: Change AdmissionsDto by adding columns, to be able to used as pure dto.

* Feat: Change to more specific search query.

* Feat: Change multiple methods to few methods, by using mainType.

* Feat: Change to few controller by using mainType, and use request bodies instead of dto.

* Test: AdmissionsServiceTest

* Fix: Add mapping path variable.

* Fix: Fix replacing logic.

* feat: academics 패키지에 language field 추가 (#181)

* feat: 엔티티, dto에 language 추가

* feat: read에 language 추가

* feat: academics에 language field 추가

* fix: ktlint 수정

* feat: course 엔티티에 language field 추가

* feat: readCourse에 language parameter 추가

* fix: languageRepository 삭제, 함수 enum 클래스 이동, academicsEntity name 속성 nullable 추가

* fix: requestParam+defaultValue 추가,

* fix: academics name nullable 없앰

* feat: staff에 language, migration 방법 추가 (#183)

* feat: staffEntity에 language 추가

* feat: branch 이름 변경

* fix: branch origin 이름 변경

* feat: staff 읽기, 수정에서 language 속성 추가

* feat: migrateStaffImage 추가

* fix: StaffServiceTest 수정

* Feat: Admission 검색 (#184)

* Feat: Add korean, english section name.

* Feat: add searchContent column for saving index.

* Feat: Add search query repository method.

* Feat: Define dto of search result element.

* Feat: Add search Top Admission method, and add migrate method creating search content.

* Feat: Add search top admissions method to controller.

* Test: Add test for Admission Service.

* Refactor: Remove Location Entity (#186)

* feat: member/research 패키지 이미지와 첨부파일 마이그레이션 코드 작성 (#185)

* feat: migrateProfessorImage 추가

* feat: migrateResearchImageAndAttachments 추가

* feat: migrateStaffImage 추가

* feat: migrateLabPdf 추가

* feat: about에서 이미지랑 첨부파일 추가 (#187)

* feat: migrateProfessorImage 추가

* feat: migrateResearchImageAndAttachments 추가

* feat: migrateStaffImage 추가

* feat: migrateLabPdf 추가

* feat: about에서 이미지랑 첨부파일 추가

* feat: dev 로그인 (#188)

* dev서버 로그인 바이패스

* style: ktlint

* fix: mock auth config 분리

* fix: uri 수정

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: professor language 추가 (#189)

* fix: professor language 추가

* feat: professor 테스트 추가

* feat: professor language 다른 테스트에도 추가

* feat: 테스트 알맞게 수정

* Feature: About 검색 추가 (#192)

* Feat: Change to create search content.

* Feat: Add search query method.

* Feat: Add create, migrate to create searchContent, and add search method.

* Feat: add search api

* COMMENT: add fix comment for aboutservicetest.

* Refactor: Move dtos to ee directory.

* Feat: Add validation for number, pagesize, pagenum

* feat: research 패키지에 language 추가 (#194)

* fix: professor language 추가

* feat: professor 테스트 추가

* feat: professor language 다른 테스트에도 추가

* feat: 테스트 알맞게 수정

* feat: researchDetail에 language 추가

* feat: lab에 language 추가

* fix: about, admission migrate search todo 추가

* Refactor: Admission 검색 리펙터링 (#193)

* Refactor: Merge queries into one.

* Refactor: Add page search method.

* Refactor: Add total count.

* Refactor: change to search page or search top.

* feat: academics 패키지 마이그레이션 추가 (#195)

* fix: professor language 추가

* feat: professor 테스트 추가

* feat: professor language 다른 테스트에도 추가

* feat: 테스트 알맞게 수정

* feat: researchDetail에 language 추가

* feat: lab에 language 추가

* fix: about, admission migrate search todo 추가

* fix: course migrate 추가

* fix: conference, scholarship language 추가

* fix: migrate academics, scholarship 추가

* fix: migrate academics attachments 추가

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: ktlint 정리

* fix: ktlint 정리 2

* fix: 실수로 삭제한 코드 복구

* Refactor: Member Search (#197)

* feat: professor 테스트 추가

* feat: 테스트 알맞게 수정

* fix: about, admission migrate search todo 추가

* Fix: Add commented authentication.

* Feat: Add language field to search entity

* Feat: Add language in search condition, remove duplicated exchangePageNum, Merge search queries

* Feat: Change res body dir, merge two seperate body into one, add language field

* Feat: Change return body, repository method useing.

* Feat: Add language query parameter, change response body.

* Test: Check language of search.

* Refactor: Change res body results key as "results"

* Refactor: Remove unneeded transactional on interface.

---------

Co-authored-by: DESKTOP-USQPRVG\gram <blueland1998@naver.com>

* feat: getMapping에 language requestParam 추가 (#198)

* fix: academics 패키지 get에 language 추가

* fix: professor 패키지 get에 language 추가

* fix: research 패키지 get에 language 추가

* feat: academics 패키지 이름에 맞게 변경 (#199)

* feat: add readDegreeRequirements

* feat: readGeneralRequirements 삭제, readDegreeRequirements 추가

* feat: AcademicsEntity time 칼럼 삭제

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* Refactor: academics search (#200)

* Refactor: research search (#201)

* fix: pageSize 추가 (#203)

* fix: pageSize 쿼리 파라미터 추가

* 함수 인자에서 defaultValue 지정

* fix: 인증 로직 수정 (#206)

* fix: mock-login 위해서 인증 로직 수정

* add v1 to uri

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
Co-authored-by: DESKTOP-USQPRVG\gram <blueland1998@naver.com>
leeeryboy added a commit that referenced this pull request Mar 9, 2024
* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* ✨ 패키지 및 엔티티 생성

* ✨ BaseTimeEntity 생성, PostEntity 기본 내용 작성

* ✨ PostController 생성 및 기본 내용 작성

* ✨ postService 생성

* ✨ Exceptions.kt 생성

* ✨ postDto 생성

* ✨ postRepository 생성 및 기본 내용 작성

* 💚 application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

* fix: main에서 develop으로 pr (#16)

* feat: merge develop to main (#13)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* ✨ 패키지 및 엔티티 생성

* ✨ BaseTimeEntity 생성, PostEntity 기본 내용 작성

* ✨ PostController 생성 및 기본 내용 작성

* ✨ postService 생성

* ✨ Exceptions.kt 생성

* ✨ postDto 생성

* ✨ postRepository 생성 및 기본 내용 작성

* 💚 application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* hotfix: 사용하지않는 Dto 및 엔티티 삭제 (#14)

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* feat: seminar 패키지 추가 (#17)

* feat: createSeminar, readSeminar, updateSeminar 추가

* feat: deleteSeminar, searchSeminar 추가

* fix: distinct 삭제

* hotfix: 불필요한 dto 삭제 (#20)

* hotfix: 불필요한 dto 삭제

* build.gradle 수정

* fix: 이미지 uri 필드 추가 및 프론트 요구사항 반영 (#21)

* feat: 이미지 uri 필드 추가 및 isActive 대신 status 추가

* fix: 행정직원 전체 조회 응답에서 task 삭제

* fix: 교수진 페이지 응답 수정

* feat: introduction 패키지, undergraduate 패키지 추가 (#22)

* feat: createUndergraduate, readUndergraduate 추가

* feat: readAllCourses, createCourse, readCourse 추가

* introduction 패키지 추가

* fix: dto에서 postType 삭제

* fix: postType pathVariable->requestBody 수정, 오타 수정

* fix: 프론트와 협의하여 이름 등 변경

* feat: academics 패키지 대학원도 가능하도록 추가

* feat: 장학제도 세부 장학금 create, read 추가

* fix: 수정

* fix:수정

* feat: admissions, research 패키지 추가 (#23)

* feat: admissions-학부 에서 create, read 추가

* feat: admissions-대학원도 작성 가능하도록 추가

* feat: createResearch 추가

* feat: createLab 추가

* fix: 다른 패키지에 맞게 수정

* research-groups, research-centers에서 read, update 추가

* fix: admissions, research에서 프론트와 협의하여 이름 등 수정

* fix: 오타 수정

* fix: enum 추가, pr 리뷰 반영

* feat: oidc 로그인 (#27)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: idsnucse 다운 되었을때 에러 처리

* feat: idsnucse 다운 되었을때 에러 처리

* feat: cors 설정 (#30)

* fix: cors 추가 설정 (#32)

* feat: cors 설정

* feat: cors 설정

* fix: CORS (#34)

* feat: cors 설정

* feat: cors 설정

* feat: cors 설정

* fix: about, academics, admissions 패키지 수정 (#25)

* fix: admissions, about 컨트롤러 변경

* fix: academics 컨트롤러 수정

* 커밋중

* fix: pr 리뷰 반영

* feat: readMain 추가

* pr 리뷰 반영

* feat: 일반 예약 및 정기 예약 API (#28)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: 예약 엔티티 및 DTO 설계

* feat: 일반 예약 및 정기 예약

* feat: 예약 조회 API (#39)

* feat: 권한 관리 위해 커스텀 어노테이션 생성

* feat: 예약 단건, 주별, 월별 조회 API

* fix: 로컬 DB 설정 수정

* feat: 유저 조회 중복 쿼리 방지

* feat: 예약 응답에 recurrenceId 추가

* feat: 동시 예약 방지

* fix: 시큐리티 로그 다시 로컬에서만 보이도록 변경

* feat: 목데이터 날라가지 않도록 ddl-auto 수정

* feat: about, member, news, seminar 메인 이미지 업로드 추가 (#38)

* feat: uploadImage 추가

* feat: about, member 사진 업로드 추가

* feat: news, seminar 사진 업로드 추가

* refactor: imageEntity 추가 리팩토링

* fix: gif 삭제

* fix: application.yaml 수정

* fix: newsService 태그 -> 이미지로 순서 변경

* fix: pr 리뷰 수정

* fix: extension 없애고, mainImage로 바꾸고, uuid 없애기

* fix: var 삭제

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* CICD: Change deploy port to 8080 (#40)

* [Merge] (#41) (#42)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* ✨ 패키지 및 엔티티 생성

* ✨ BaseTimeEntity 생성, PostEntity 기본 내용 작성

* ✨ PostController 생성 및 기본 내용 작성

* ✨ postService 생성

* ✨ Exceptions.kt 생성

* ✨ postDto 생성

* ✨ postRepository 생성 및 기본 내용 작성

* 💚 application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

* fix: main에서 develop으로 pr (#16)

* feat: merge develop to main (#13)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* ✨ 패키지 및 엔티티 생성

* ✨ BaseTimeEntity 생성, PostEntity 기본 내용 작성

* ✨ PostController 생성 및 기본 내용 작성

* ✨ postService 생성

* ✨ Exceptions.kt 생성

* ✨ postDto 생성

* ✨ postRepository 생성 및 기본 내용 작성

* 💚 application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

---------




* hotfix: 사용하지않는 Dto 및 엔티티 삭제 (#14)

---------




* feat: seminar 패키지 추가 (#17)

* feat: createSeminar, readSeminar, updateSeminar 추가

* feat: deleteSeminar, searchSeminar 추가

* fix: distinct 삭제

* hotfix: 불필요한 dto 삭제 (#20)

* hotfix: 불필요한 dto 삭제

* build.gradle 수정

* fix: 이미지 uri 필드 추가 및 프론트 요구사항 반영 (#21)

* feat: 이미지 uri 필드 추가 및 isActive 대신 status 추가

* fix: 행정직원 전체 조회 응답에서 task 삭제

* fix: 교수진 페이지 응답 수정

* feat: introduction 패키지, undergraduate 패키지 추가 (#22)

* feat: createUndergraduate, readUndergraduate 추가

* feat: readAllCourses, createCourse, readCourse 추가

* introduction 패키지 추가

* fix: dto에서 postType 삭제

* fix: postType pathVariable->requestBody 수정, 오타 수정

* fix: 프론트와 협의하여 이름 등 변경

* feat: academics 패키지 대학원도 가능하도록 추가

* feat: 장학제도 세부 장학금 create, read 추가

* fix: 수정

* fix:수정

* feat: admissions, research 패키지 추가 (#23)

* feat: admissions-학부 에서 create, read 추가

* feat: admissions-대학원도 작성 가능하도록 추가

* feat: createResearch 추가

* feat: createLab 추가

* fix: 다른 패키지에 맞게 수정

* research-groups, research-centers에서 read, update 추가

* fix: admissions, research에서 프론트와 협의하여 이름 등 수정

* fix: 오타 수정

* fix: enum 추가, pr 리뷰 반영

* feat: oidc 로그인 (#27)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: idsnucse 다운 되었을때 에러 처리

* feat: idsnucse 다운 되었을때 에러 처리

* feat: cors 설정 (#30)

* fix: cors 추가 설정 (#32)

* feat: cors 설정

* feat: cors 설정

* fix: CORS (#34)

* feat: cors 설정

* feat: cors 설정

* feat: cors 설정

* fix: about, academics, admissions 패키지 수정 (#25)

* fix: admissions, about 컨트롤러 변경

* fix: academics 컨트롤러 수정

* 커밋중

* fix: pr 리뷰 반영

* feat: readMain 추가

* pr 리뷰 반영

* feat: 일반 예약 및 정기 예약 API (#28)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: 예약 엔티티 및 DTO 설계

* feat: 일반 예약 및 정기 예약

* feat: 예약 조회 API (#39)

* feat: 권한 관리 위해 커스텀 어노테이션 생성

* feat: 예약 단건, 주별, 월별 조회 API

* fix: 로컬 DB 설정 수정

* feat: 유저 조회 중복 쿼리 방지

* feat: 예약 응답에 recurrenceId 추가

* feat: 동시 예약 방지

* fix: 시큐리티 로그 다시 로컬에서만 보이도록 변경

* feat: 목데이터 날라가지 않도록 ddl-auto 수정

* feat: about, member, news, seminar 메인 이미지 업로드 추가 (#38)

* feat: uploadImage 추가

* feat: about, member 사진 업로드 추가

* feat: news, seminar 사진 업로드 추가

* refactor: imageEntity 추가 리팩토링

* fix: gif 삭제

* fix: application.yaml 수정

* fix: newsService 태그 -> 이미지로 순서 변경

* fix: pr 리뷰 수정

* fix: extension 없애고, mainImage로 바꾸고, uuid 없애기

* fix: var 삭제

---------



* CICD: Change deploy port to 8080 (#40)

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>

* feat: 장학제도 GET API 및 장학제도 페이지 응답 수정 (#44)

* feat: 장학제도 GET API

* feat: 장학제도 메인페이지 GET API 응답 수정

* feat: custom metadata 설정 + 리다이렉트 엔드포인트 변경 (#45)

* feat: yml 파일에 custom metadata endpoint 추가

* feat: 로그인/로그아웃 성공 리다이렉트 엔드포인트 변경

* feat: attachments 패키지 추가, news와 seminar request에 attachments 추가 (#43)

* feat: attachments 추가, news request에 attachments 추가

* feat: seminar request에 attachments 추가

* fix: mappedBy 추가 + bringAttachments null 없앰

* fix: 경로 분리

* fix: isDeleted false로 수정

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* feat: Top Conference List GET API (#47)

* feat: Top Conference List GET API

* feat: db에서 가져올때 정렬

* feat: 파일 서빙, 다운로드, 삭제 API (#48)

* feat: 파일 서빙, 다운로드, 삭제 API

* fix: extension 중복, 경로 수정

* feat: 공지사항 글쓴이 추가 (#49)

* CI/CD: Https 적용 및 백엔드, 데이터베이스, 프록시 서버 배포 분리 (#50)

* Config: Add gitignore for caddy files.

* CICD: Add caddy config file

* CICD: Seperate docker compose file for db and backend server.

* CICD: Docker Compose file for caddy proxy server.

* CICD: Add path condition for only act when source file has changed.

* CICD: Add workflow for deploying database changes.

* CICD: Add workflow for proxy server changes.

* Refactor: Add /api/v1 in front of all endpoints (except swagger-ui)

* Refactor: Add v1 to Main Image url.

* Refactor: change backend, frontend, login redirect uri to get from env.

* CICD: Add url to .env

* Fix: Change job name of database workflow, fix indent level.

* Fix: Remove duplicated restcontroller mapping.

* Fix: Set reverse proxy for swagger-ui/* for swagger.

* Docs: Set swagger to only scan /api/**

* Fix: add caddy to reverse api-docs/* for springdoc.

* Fix: Add login uris for reverse proxying to backend server.

* CICD: Remove testing branch condition.

* CICD: Add logout uri to reverse proxy to backend server.

* CICD: Remove test branch

* fix: 프론트랑 협의하여 내용 변경 + news, seminar에 image, attachments update 추가 (#51)

* feat: attachments 추가, news request에 attachments 추가

* feat: seminar request에 attachments 추가

* feat: about request에 attachments 추가

* feat: academics request에 attachments 추가

* fix: isPinned 삭제

* fix: image -> mainImage 변경, about에 greetings 추가

* fix: news, seminar update 수정

* fix: 전체적으로 image -> mainImage 변경

* fix: research 패키지 프론트에 맞춰 협의 (#52)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* fix: pr 리뷰 수정

* fix: 오타 수정

* [Refactor] 로그인, file uri 배포 환경에 맞게 수정 (#53)

* Refactor: Change mapping of file to append /api/v1 in front.

* Refactor: Change login, logout redirect uri

* fix: https 적용 관련 로그인 수정 (#56)

* fix: notice 패키지 프론트에 맞게 협의 (#54)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* feat: notice에 attachments 추가

* fix: fix_with_front1 변경 사항에 맞게 수정

* feat: isImportant 추가

* feat: NoticeSearchDto에 hasAttachment 추가

* fix: update에서 attachmetnts가 null일 때 빈 목록 반환

* feat: 공지사항 선택 고정해제, 선택 삭제 추가

* fix: news, seminar에 isImportant 추가

* fix: pr 리뷰 수정

* fix: 수정했던거 다시 복구

* feat: 신임교수초빙 (#59)

* feat: 행정실 권한 체크 API (#60)

* [CICD] mainImage, attachment 경로 mount 설정 (#55)

* CICD: Add mainImage, attachment directory for mounting

* CICD: Add volumes to mount with server directory. (for attachment)

* [Feat] 예전 url과 비슷하게 이전 파일(사진)들 접근할 수 있도록 controller 생성 (#58)

* Config: Add oldFiles path for properties.

* Feat: Add deprecated file controller for getting old files temporarily.

* CICD: Add volume mounting for old files.

* CICD: Add dir to mount for old files.

* Refactor: Change api to /sites/default/files/{PATH}

* CICD: Add reverse proxy for old file serving.

* fix: 예약 dto에 지도교수, 반복 횟수 추가 (#61)

* fix: 로그아웃 엔드포인트 변경 (#64)

* fix: 로그아웃 엔드포인트 변경

* fix: 로그아웃 성공 리다이렉트 엔드포인트 변경

* [Fix] Notice, News Description TEXT type으로 변환 (#65)

* Fix: Change notice and news entity description type as TEXT.

* Fix: Change to mediumtext

* fix: newsSearchResponse, seminarSearchResponse 수정 (#66)

* fix: newsSearchResponse 수정

* fix: SeminarSearchResponse 수정

* fix: 오타수정

* fix: 파일 업로드 경로 통일 (#68)

* fix: 갯수만 fetch하도록 최적화 (#70)

* Fix: Change type of additionalNote column on SeminarEntity to "TEXT" (#71)

* fix: academics 패키지 프론트에 맞춰 협의, admin 패키지 추가 (#69)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* feat: notice에 attachments 추가

* fix: fix_with_front1 변경 사항에 맞게 수정

* feat: isImportant 추가

* feat: NoticeSearchDto에 hasAttachment 추가

* fix: update에서 attachmetnts가 null일 때 빈 목록 반환

* feat: 공지사항 선택 고정해제, 선택 삭제 추가

* fix: news, seminar에 isImportant 추가

* fix: pr 리뷰 수정

* fix: 수정했던거 다시 복구

* fix: course response 수정

* feat: academics에서 연도별로 주는 response 추가

* feat: academics YearResponses 추가

* fix: createScholarship 합치기

* fix: scholarship 패키지의 내용을 academics 하위로 옮김

* feat: createScholarshipDetail 추가

* fix: 필수 교양과목 response 변경

* feat: admin 패키지에서 readAllSlides 추가

* feat: admin 패키지 readAllImportants 추가

* feat: admin 패키지 중요안내 추가

* Refactor: HTML로부터 텍스트 추출 함수 Utils로 이동 (#73)

* Feat: Add cleanTextFromHtml.

* Refactor: Remove private clean method, replace to Utils.cleanTextFromHtml.

* Refactor: Remove unused imports.

* Feat: Add plain text description for notice (#74)

* Feat: Add cleanTextFromHtml.

* Refactor: Remove private clean method, replace to Utils.cleanTextFromHtml.

* Refactor: Remove unused imports.

* Feat: Add plainTextDescription.

* Feat: Add plainTextDescription in createNotice.

* Feat: add updating plainTextDescription when updating description.

* fix: admissions 패키지 프론트에 맞게 협의 (#76)

* fix: admissions 프론트에 맞게 협의

* fix: seminarEntity time 삭제

* fix: admissionsEntity pageName 추가

* fix: 불필요한 파일 삭제

* 커밋

* fix: 이전 글 다음 글만 fetch 하도록 쿼리 최적화 (#75)

* fix: 이전 글 다음 글만 fetch 하도록 쿼리 최적화

* fix: distinct 수정

* fix: 쿼리 최적화

* fix: total Long 타입으로 수정

* CI/CD: Test 설정 (#77)

* Config: Add kotest, mockk, h2 db for testing.

* Config: Add test profile.

* Config: Add testconfig for jpaqueryfactory.

* CICD: Add build, test workflow

* Fix: Revert local datasource url change.

* [Test] Notice create, update 시 plainTextDescription 동작 테스트 (#78)

* Config: Add test profile.

* Test: Add Tests for Create, Update Notice, in perspective of plainTextDescription

* Fix: Change life cycle hook resolution to container.

* [Feat] Seminar plain text field 추가 (#79)

* Feat: Add plain text column for description, introduction, additionalnote.

* Feat: Add description, introduction, additionalnote for dto -> entity.

* Feat: Change to update plain description, introduction, additional note.

* Feat: Use plainTextDesription for searchdto.

* Test: Test for create, update of plain texts.

* Test: Fix seminar service test.

* Feat: News plain text field 추가 (#80)

* Feat: Add plainTextDescription field for news entity

* Feat: Add to create, and update plainTextDescription.

* Feat: Change to use plainTextDescription when making newssearchdto.

* Test: Test for create/update plainTextDescription.

* Feat: 구성원 검색 위한 table 추가. (#81)

* Feat: MemberSearchEntity 추가.

* Feat: MemberSearchRepository 추가

* Feat: MemberSearchService 추가

* Feat: ProfessorEntity, StaffEntity에 MemberSearch 추가.

* Feat: ProfessorStatus에 한글 값 추가.

* Feat: professor create, update 시 memberSearch도 반영하도록 추가.

* Feat: seminar create, update 시 memberSearch도 반영하도록 추가.

* Test: ProfessorService 테스트 추가.

* Test: StaffServiceTest 추가.

* fix: 새소식 세미나 쿼리 수정 (#82)

* refactor: 유틸 패키지 생성 및 FixedPageRequest 분리

* feat: 새소식 세미나 이전 다음 글 및 total 쿼리 최적화

* fix: pageNum 값으로 usePageBtn 값 설정

* fix: import 경로 수정

* fix: local db port 3306

* 중복 삭제

* fix: prod endpoint https로 변경

* fix: main 프론트에 맞게 협의, notice 태그 enum 추가 (#83)

* fix: mainResponse 다시 작성

* feat: TagInNoticeEnum 추가

* feat: notice enum 추가

* fix: 코드 수정

* fix: isPublic -> isPrivate으로 정리 (#86)

* fix: rebase 정리

* fix: 오타 수정

* feat: 로컬 로그인 테스트용 엔드포인트로 임시 변경 (#87)

* Feat: 구성원 검색 API 추가 (#85)

* Feat: Add mysql custom dialect with MATCH AGAINST BOOLEAN MODE function.

* CICD: Add config for mysql db

* CICD: Add volumes for config file.

* CICD: Add db_config for condition for db deploy

* Feat: Add search top, and search query.

* Feat: Add DTOs

* Feat: Add Controller for member search only top, and page.

* Feat: Add dialect config for application.yaml

* Feat: Add controller for member search.

* Refactor: Change exception message to korean.

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>

* fix: 세미나 시간 타입 변경 (#91)

* fix: 세미나 시간 LocalDateTime으로 변경

* test: 테스트 수정

* fix: 태그 항목 수정 (#92)

* fix: news tag 추가 (#90)

* fix: news tag 추가

* fix: 일반인은 isPrivate = false인 것만, 직원은 모든 게시글 보여주기

* feat: 졸업생 창업 진로, 졸업생 진로 response 추가 (#94)

* fix: news tag 추가

* fix: 일반인은 isPrivate = false인 것만, 직원은 모든 게시글 보여주기

* feat: about  졸업생 read 추가

* fix: 오타 수정

* fix: conference 주소 추가 (#95)

* Feat: 연구 탭 통합검색 위한 Table 생성. (#97)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Fix: Fix typo, import library.

* Feat: Lab Update API 추가 (#98)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Feat: Add update method for labentity.

* Feat: Add update lab service.

* Feat: Add update lab controller.

* Test: Add ResearchServiceTest.

* Feat: Add deleteAttachment (marking)

* Fix: Add typo, add import library.

* Feat: Conference page 수정 API (#99)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Feat: Add update method for labentity.

* Feat: Add update lab service.

* Feat: Add update lab controller.

* Test: Add ResearchServiceTest.

* Feat: Add Conference Repository.

* Feat: add conferenc eentity method for create, update entity.

* Feat: Change variables to mutable.

* Feat: Add id in conferencedto.

* Feat: Add to sort the conferenceList.

* Feat: Add deleteAttachment (marking)

* Feat add service to modify conference page (create, modify, delete conferences)

* Feat: Add api for modify conference page.

* Test: Add test for conference service.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 파일 관련 수정 (#100)

* fix: 업로드 파일 사이즈 제한

* fix: 원본 첨부파일 이름으로 응답

* refactor: 세미나 업데이트 시 삭제할 첨부파일 id만 받도록 변경

* fix: 파일 api 경로 수정

* fix: deleteAttachment

* fix: GET notice 권한 관련 로직 수정 (#101)

* Refactor: Extract Full Text Query Template to CommonRepository (#102)

* Feat: Extract full text search template to common repository.

* Feat: Change full text search to use extracted repository.

* Feat: Add for 4 elements.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Notice Seminar News Search to Full Text Query (#105)

* Feat: Extract full text search template to common repository.

* Feat: Change full text search to use extracted repository.

* Feat: Add for 4 elements.

* Feat: Add more args cnt.

* Feat: Change keyword boolean builder to full text.

* Feat: Change keyword boolean builder to full text.

* Feat: Change keyword boolean builder to full text.

* Hotfix: Change mount volume. (#103)

* feat: api 권한 설정 (#84)

* fix: GET notice 권한 관련 로직 수정 (#109)

* fix: 필요한 column만 select (#111)

* refactor: 공지 태그 응답 한국어로 변경 및 리팩토링 (#113)

* refactor: 공지 태그 응답 한국어로 수정 및 리팩토링

* refactor: 새소식 태그 리팩토링

* fix: NewsRepository

* fix: 공지 새소식 PATCH 로직 수정 (#114)

* fix: 공지 새소식 PATCH 로직 수정

* test: 테스트 수정

* fix: news 엔티티에 날짜 추가 (#115)

* Feat: 검색 결과에서 keyword 위치, 적절한 substring 추출 위한 method 추가 (#116)

* Feat: Add utils substringAroundKeyword

* Test: Add test for Utils.kt

* fix: total 더미 값 + pageNum null일때만 더미 값 주기 (#117)

* fix: 예약 조회 권한 분리 및 응답 단순화 (#119)

* fix: 예약 단건 조회 권한 분리

* feat: 월별,주별 조회용 SimpleReservationDto

* fix: 로그인 리다이렉트 엔드포인트 복구 (#121)

* feat: migrateAbout, migrateFutureCareers 추가 (#118)

* feat: AboutRequest, migrateAbout 추가

* feat: future-careers 마이그레이션 추가

* feat: request 패키지 추가

* fix: AboutRequest 간소화

* fix: future-careers description aboutEntity에 저장

* feat: about 패키지 마이그레이션 추가 (#120)

* feat: AboutRequest, migrateAbout 추가

* feat: future-careers 마이그레이션 추가

* feat: request 패키지 추가

* fix: 불필요한 dto 삭제

* feat: migrateStudentClubs 추가

* feat: migrateFacilities 추가

* feat: migrateDirections 추가

* fix: 불필요한 dto 삭제

* fix: request 패키지 삭제

* fix: 오타 수정

* fix: news, notice에 titleForMain 추가 (#125)

* fix: 소식3총사 titleForMain 데이터 생성

* fix: 테스트에 titleForMain  추가

* Revert "fix: 테스트에 titleForMain  추가"

This reverts commit e824ad34e60e0785f1d4c4e187776d4b8bf53dfa.

* fix: 테스트에 titleForMain 추가

* fix: seminar titleForMain 추가

* fix: seminar test titleForMain 추가

* feat: LocalDateTime 응답 마지막에 Z 추가 (#126)

* refactor: deleteIds request 내부로 이동 (#127)

* refactor: deleteIds request 내부로 이동

* test: 테스트 수정

* fix: 확장자 중복 버그 (#128)

* feat: 관리자는 새소식, 세미나 목록에서 비공개 글 확인 가능 (#129)

* feat: research, member 패키지 migrate 추가 (#130)

* feat: migrateProfessors 추가

* feat: migrateResearchDetail 추가

* feat: migrateLabs 추가

* fix: migrate 엔티티 description에 mediumText 추가

* feat: migrateStaff 추가

* fix: 빠진거 수정

* fix: 중복 패키지 삭제

* fix: 너무 안긴거 text로 수정

* fix: noticeSearchDto에도 private 추가 (#131)

* fix: noticeSearchDto에도 private 추가

* fix: json 추가

* fix: 수정 및 추가

* fix: 수정

* Fix: 키워드 추출 함수 수정 (#122)

* Fix: Fix IndexOutOfBoundException, change to return index based on substring.

* Fix: Change to check index exclude case, and set front, back index to better contains keyword.

* Test: Update Test.

* Feat: 통합검색 Notice API 구현 (#123)

* Feat: Add dtos for notice total search.

* Feat: Add repository for notice total search.

* Feat: Add service, controller for notice total search

* Feat: News 통합 검색 API 구현 (#124)

* Feat: Add dto for total search of news.

* Feat: Add repository for total search.

* Feat: Add service, controller for news total search.

* Fix: Fix conflict issues.

* fix: 기존 objectMapper 설정 오버라이드 (#132)

* feat: 파일 업로드 컨트롤러 구현 (#133)

* Feat: Change titleForMain column to TEXT type. (#134)

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* hotfix: mixed content issue (#136)

* hotfix: loginPage to https (#139)

* hotfix: mixed content issue

* hotfix: loginPage

* fix: false로 수정 (#141)

* fix: 이전 다음 글에서 비공개 글 제외 (#143)

* fix: 이전 다음글 비공개 제외

* fix: prev-next

* CBT 위해서 예약 GET 권한체크 주석처리

* Feat: 뉴스 날짜로 정렬 (#144)

* Feat: Change date field to NOT NULLABLE.

* Feat: Change to sort by date, not createdat.

* Test: Fix test.

* Test: Move news test dir.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Add description for slide. (#146)

* style: ktlint (#145)

* style: ktlint

* Feat: change to ktlint_disabled_rules

* Refactor: fix to lint using ktlint.

* Refactor: After merge.

* Fix: After merge.

* Refactor: ReReLint

---------

Co-authored-by: huGgW <whjoon0225@naver.com>

* fix: 텍스트 인코딩 (#147)

* fix: content-dispostion

* fix: 텍스트 인코딩

* fix: 강제 다운로드

* style: ktlint

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* Update ktlint-check.yml

* fix: 중요 안내 (#149)

* fix: 삭제된 글 중요 안내에서 보이지 않도록 수정

* fix: 중요 안내 최대 2개만 보내도록 + plainTextDescription

* style: ktlint

* fix: 첨부파일 다운로드 (#154)

* Feat: 관리자 슬라이드에 total 추가, refactoring (#153)

* Feat: Change dto name, and add total to AdminSlidesResponse.

* Feat: Add pageSize as parameter.

* Feat: move readAllSlides to news repository, add total query.

* Feat: Extract getNewsEntityByIdOrThrow

* Feat: Move readAllSlides and unSlideManyNews logic handling to news service.

* Comment: Add comment for refactoring.

* Test: Add test for read all slides.

* Refactor: Linting.

* Feat: Change pageNum to start at 1.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 세미나 isYearLast 로직 수정 (#155)

* fix: 세미나 isYearFirst 로직 수정

* fix: isYearLast로 재변경 및 로직 수정

* fix: 이전글 다음 글 isDelete,isPrivate 조건 추가 (#151)

* fix: 이전글 다음 글 isDelete 추가

* fix: ktlint 수정

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 메인 공지 정렬 (#158)

* fix: 예약 조회 권한 수정 (#157)

* Feat: 통합검색 정렬 최신순 (#156)

* Feat: Admin Important에 pagination 추가, total 추가. (#159)

* fix: titleForMain이 없어도 isImportant 등록 가능 (#160)

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: em.close() 추가 (#162)

* fix: em.close() 추가

* fix: total에도 추가

* feat: migrateConference 추가 (#164)

* feat: migrateConferences 추가

* fix: 수정

* fix: 수정

* fix: 검색 추가

* fix: createConferenceDto 삭제

* CICD: Add blocking backend api except frontend. (#166)

* CICD: Add blocking backend api except frontend.

* CICD: Remove login, logout, file api from blacklist.

* CICD: Change to just block swagger apis.

* fix: group 변경 반영 (#167)

* refactor: 실제 스누씨 서버 연동 (#168)

* refactor: local-test 중복 항목 공통으로 처리하고 prod에서 오버라이드

* feat: 스누씨 실서버용 환경 변수 설정

* refactor: 로그인 페이지 통합 및 CORS 설정 변경

* fix: CORS

* feat: migrateAdmissions 추가 (#165)

* fix: migrateAdmissions 추가

* fix: 잘못 쓴거 수정

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Increase speakerurl size (#170)

* fix: 로컬에서도 idsnucse로 연결 (#174)

* fix: 로컬에서도 idsnucse 바라보게끔 변경

* fix: test에서 idsnucse 접근 x

* Revert "fix: test에서 idsnucse 접근 x"

This reverts commit cf52645.

* Fix: move local security settings to local, not global.

* Fix: Disable SecurityConfig on "test" profile

---------

Co-authored-by: huGgW <whjoon0225@naver.com>

* feat: Research 검색 (#175)

* fix: 로컬에서도 idsnucse 바라보게끔 변경

* feat: enable async.

* Feat: create professor event.

* Feat: Publish event on professor modification.

* Feat: Update research search when listen professor event.

* Test: ResearchSearchService listen professor event

* fix: test에서 idsnucse 접근 x

* Revert "fix: test에서 idsnucse 접근 x"

This reverts commit cf52645.

* Fix: fixed event listener logic

* Feat: Add search api for research.

* Test: Fix test.

* Fix: move local security settings to local, not global.

* Fix: Disable SecurityConfig on "test" profile

---------

Co-authored-by: leeeryboy <indiv0227@snu.ac.kr>

* feat: staff 검색 기능 추가 (#176)

* Feat: 학사 및 교과 검색 기능 추가 (#177)

* Revert "fix: test에서 idsnucse 접근 x"

This reverts commit cf52645.

* Fix: move local security settings to local, not global.

* Feat: AcademicsStudentType에 값 지정.

* Feat: AcademicsSearchEntity 추가

* Feat: 각 entity에 search 관계 추가

* Feat: 각 entity create하는 서비스 method에 search entity도 생성하도록 추가.

* Feat: Add academicsSearchRepository

* Feat: Add dto for search

* Refactor: Make name field of academics non null

* Feat: Add exchangePageNum to utils.

* Feat: Add academics search service

* Feat: Add search api for academics.

* Feat: add validation code for utils.exchangePageNum

* Test: Add testcode for exchangePageNum

* REfactor: Add transactional readonly for readGeneralStudies

* fix: apply newacademics to use after saved cached entity.

* fix: fix to add target enitity when create of search entity is called.

* refactor: add default values for nullable values.

* Temp: test code, should be fixed h2 issue.

---------

Co-authored-by: leeeryboy <indiv0227@snu.ac.kr>

* Fix: Research 검색에서 html 태그 없이 검색되도록 설정 (#178)

* Fix: Change createContent to remove html tags on description.

* Test: Update to check removing html tags.

* Feat/add language field (#180)

* feat: 엔티티, dto에 language 추가

* feat: read에 language 추가

* fix: ktlint 수정

* fix: languageRepository 삭제, 함수 enum 클래스로 이동

* fix: language pathVariable -> requestParam 변경 && engName 추가 삭제

* fix: dto 소문자로 return하기 enum 함수로 넣어주기

* fix: requestParam defaultValue 추가

* Refactor: Admission 언어 추가 및 리팩터링 진행 (#182)

* Feat: Move type to type dir, and add main type enum.

* Refactor: Add request body for create, and changed migrate elem body.

* Feat: Change pagename -> name, add language and mainType column, add unique constraints.

* Refactor: Remove unused request dto.

* Refactor: Change AdmissionsDto by adding columns, to be able to used as pure dto.

* Feat: Change to more specific search query.

* Feat: Change multiple methods to few methods, by using mainType.

* Feat: Change to few controller by using mainType, and use request bodies instead of dto.

* Test: AdmissionsServiceTest

* Fix: Add mapping path variable.

* Fix: Fix replacing logic.

* feat: academics 패키지에 language field 추가 (#181)

* feat: 엔티티, dto에 language 추가

* feat: read에 language 추가

* feat: academics에 language field 추가

* fix: ktlint 수정

* feat: course 엔티티에 language field 추가

* feat: readCourse에 language parameter 추가

* fix: languageRepository 삭제, 함수 enum 클래스 이동, academicsEntity name 속성 nullable 추가

* fix: requestParam+defaultValue 추가,

* fix: academics name nullable 없앰

* feat: staff에 language, migration 방법 추가 (#183)

* feat: staffEntity에 language 추가

* feat: branch 이름 변경

* fix: branch origin 이름 변경

* feat: staff 읽기, 수정에서 language 속성 추가

* feat: migrateStaffImage 추가

* fix: StaffServiceTest 수정

* Feat: Admission 검색 (#184)

* Feat: Add korean, english section name.

* Feat: add searchContent column for saving index.

* Feat: Add search query repository method.

* Feat: Define dto of search result element.

* Feat: Add search Top Admission method, and add migrate method creating search content.

* Feat: Add search top admissions method to controller.

* Test: Add test for Admission Service.

* Refactor: Remove Location Entity (#186)

* feat: member/research 패키지 이미지와 첨부파일 마이그레이션 코드 작성 (#185)

* feat: migrateProfessorImage 추가

* feat: migrateResearchImageAndAttachments 추가

* feat: migrateStaffImage 추가

* feat: migrateLabPdf 추가

* feat: about에서 이미지랑 첨부파일 추가 (#187)

* feat: migrateProfessorImage 추가

* feat: migrateResearchImageAndAttachments 추가

* feat: migrateStaffImage 추가

* feat: migrateLabPdf 추가

* feat: about에서 이미지랑 첨부파일 추가

* feat: dev 로그인 (#188)

* dev서버 로그인 바이패스

* style: ktlint

* fix: mock auth config 분리

* fix: uri 수정

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: professor language 추가 (#189)

* fix: professor language 추가

* feat: professor 테스트 추가

* feat: professor language 다른 테스트에도 추가

* feat: 테스트 알맞게 수정

* Feature: About 검색 추가 (#192)

* Feat: Change to create search content.

* Feat: Add search query method.

* Feat: Add create, migrate to create searchContent, and add search method.

* Feat: add search api

* COMMENT: add fix comment for aboutservicetest.

* Refactor: Move dtos to ee directory.

* Feat: Add validation for number, pagesize, pagenum

* feat: research 패키지에 language 추가 (#194)

* fix: professor language 추가

* feat: professor 테스트 추가

* feat: professor language 다른 테스트에도 추가

* feat: 테스트 알맞게 수정

* feat: researchDetail에 language 추가

* feat: lab에 language 추가

* fix: about, admission migrate search todo 추가

* Refactor: Admission 검색 리펙터링 (#193)

* Refactor: Merge queries into one.

* Refactor: Add page search method.

* Refactor: Add total count.

* Refactor: change to search page or search top.

* feat: academics 패키지 마이그레이션 추가 (#195)

* fix: professor language 추가

* feat: professor 테스트 추가

* feat: professor language 다른 테스트에도 추가

* feat: 테스트 알맞게 수정

* feat: researchDetail에 language 추가

* feat: lab에 language 추가

* fix: about, admission migrate search todo 추가

* fix: course migrate 추가

* fix: conference, scholarship language 추가

* fix: migrate academics, scholarship 추가

* fix: migrate academics attachments 추가

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: ktlint 정리

* fix: ktlint 정리 2

* fix: 실수로 삭제한 코드 복구

* Refactor: Member Search (#197)

* feat: professor 테스트 추가

* feat: 테스트 알맞게 수정

* fix: about, admission migrate search todo 추가

* Fix: Add commented authentication.

* Feat: Add language field to search entity

* Feat: Add language in search condition, remove duplicated exchangePageNum, Merge search queries

* Feat: Change res body dir, merge two seperate body into one, add language field

* Feat: Change return body, repository method useing.

* Feat: Add language query parameter, change response body.

* Test: Check language of search.

* Refactor: Change res body results key as "results"

* Refactor: Remove unneeded transactional on interface.

---------

Co-authored-by: DESKTOP-USQPRVG\gram <blueland1998@naver.com>

* feat: getMapping에 language requestParam 추가 (#198)

* fix: academics 패키지 get에 language 추가

* fix: professor 패키지 get에 language 추가

* fix: research 패키지 get에 language 추가

* feat: academics 패키지 이름에 맞게 변경 (#199)

* feat: add readDegreeRequirements

* feat: readGeneralRequirements 삭제, readDegreeRequirements 추가

* feat: AcademicsEntity time 칼럼 삭제

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* Refactor: academics search (#200)

* Refactor: research search (#201)

* fix: pageSize 추가 (#203)

* fix: pageSize 쿼리 파라미터 추가

* 함수 인자에서 defaultValue 지정

* fix: 인증 로직 수정 (#206)

* fix: mock-login 위해서 인증 로직 수정

* add v1 to uri

* fix: mock-login 시 RequestContextHolder 사용 X

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
Co-authored-by: DESKTOP-USQPRVG\gram <blueland1998@naver.com>
huGgW added a commit that referenced this pull request Mar 23, 2024
* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* ✨ 패키지 및 엔티티 생성

* ✨ BaseTimeEntity 생성, PostEntity 기본 내용 작성

* ✨ PostController 생성 및 기본 내용 작성

* ✨ postService 생성

* ✨ Exceptions.kt 생성

* ✨ postDto 생성

* ✨ postRepository 생성 및 기본 내용 작성

* 💚 application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

* fix: main에서 develop으로 pr (#16)

* feat: merge develop to main (#13)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* ✨ 패키지 및 엔티티 생성

* ✨ BaseTimeEntity 생성, PostEntity 기본 내용 작성

* ✨ PostController 생성 및 기본 내용 작성

* ✨ postService 생성

* ✨ Exceptions.kt 생성

* ✨ postDto 생성

* ✨ postRepository 생성 및 기본 내용 작성

* 💚 application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* hotfix: 사용하지않는 Dto 및 엔티티 삭제 (#14)

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* feat: seminar 패키지 추가 (#17)

* feat: createSeminar, readSeminar, updateSeminar 추가

* feat: deleteSeminar, searchSeminar 추가

* fix: distinct 삭제

* hotfix: 불필요한 dto 삭제 (#20)

* hotfix: 불필요한 dto 삭제

* build.gradle 수정

* fix: 이미지 uri 필드 추가 및 프론트 요구사항 반영 (#21)

* feat: 이미지 uri 필드 추가 및 isActive 대신 status 추가

* fix: 행정직원 전체 조회 응답에서 task 삭제

* fix: 교수진 페이지 응답 수정

* feat: introduction 패키지, undergraduate 패키지 추가 (#22)

* feat: createUndergraduate, readUndergraduate 추가

* feat: readAllCourses, createCourse, readCourse 추가

* introduction 패키지 추가

* fix: dto에서 postType 삭제

* fix: postType pathVariable->requestBody 수정, 오타 수정

* fix: 프론트와 협의하여 이름 등 변경

* feat: academics 패키지 대학원도 가능하도록 추가

* feat: 장학제도 세부 장학금 create, read 추가

* fix: 수정

* fix:수정

* feat: admissions, research 패키지 추가 (#23)

* feat: admissions-학부 에서 create, read 추가

* feat: admissions-대학원도 작성 가능하도록 추가

* feat: createResearch 추가

* feat: createLab 추가

* fix: 다른 패키지에 맞게 수정

* research-groups, research-centers에서 read, update 추가

* fix: admissions, research에서 프론트와 협의하여 이름 등 수정

* fix: 오타 수정

* fix: enum 추가, pr 리뷰 반영

* feat: oidc 로그인 (#27)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: idsnucse 다운 되었을때 에러 처리

* feat: idsnucse 다운 되었을때 에러 처리

* feat: cors 설정 (#30)

* fix: cors 추가 설정 (#32)

* feat: cors 설정

* feat: cors 설정

* fix: CORS (#34)

* feat: cors 설정

* feat: cors 설정

* feat: cors 설정

* fix: about, academics, admissions 패키지 수정 (#25)

* fix: admissions, about 컨트롤러 변경

* fix: academics 컨트롤러 수정

* 커밋중

* fix: pr 리뷰 반영

* feat: readMain 추가

* pr 리뷰 반영

* feat: 일반 예약 및 정기 예약 API (#28)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: 예약 엔티티 및 DTO 설계

* feat: 일반 예약 및 정기 예약

* feat: 예약 조회 API (#39)

* feat: 권한 관리 위해 커스텀 어노테이션 생성

* feat: 예약 단건, 주별, 월별 조회 API

* fix: 로컬 DB 설정 수정

* feat: 유저 조회 중복 쿼리 방지

* feat: 예약 응답에 recurrenceId 추가

* feat: 동시 예약 방지

* fix: 시큐리티 로그 다시 로컬에서만 보이도록 변경

* feat: 목데이터 날라가지 않도록 ddl-auto 수정

* feat: about, member, news, seminar 메인 이미지 업로드 추가 (#38)

* feat: uploadImage 추가

* feat: about, member 사진 업로드 추가

* feat: news, seminar 사진 업로드 추가

* refactor: imageEntity 추가 리팩토링

* fix: gif 삭제

* fix: application.yaml 수정

* fix: newsService 태그 -> 이미지로 순서 변경

* fix: pr 리뷰 수정

* fix: extension 없애고, mainImage로 바꾸고, uuid 없애기

* fix: var 삭제

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* CICD: Change deploy port to 8080 (#40)

* [Merge] (#41) (#42)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* ✨ 패키지 및 엔티티 생성

* ✨ BaseTimeEntity 생성, PostEntity 기본 내용 작성

* ✨ PostController 생성 및 기본 내용 작성

* ✨ postService 생성

* ✨ Exceptions.kt 생성

* ✨ postDto 생성

* ✨ postRepository 생성 및 기본 내용 작성

* 💚 application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

* fix: main에서 develop으로 pr (#16)

* feat: merge develop to main (#13)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* ✨ 패키지 및 엔티티 생성

* ✨ BaseTimeEntity 생성, PostEntity 기본 내용 작성

* ✨ PostController 생성 및 기본 내용 작성

* ✨ postService 생성

* ✨ Exceptions.kt 생성

* ✨ postDto 생성

* ✨ postRepository 생성 및 기본 내용 작성

* 💚 application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

---------




* hotfix: 사용하지않는 Dto 및 엔티티 삭제 (#14)

---------




* feat: seminar 패키지 추가 (#17)

* feat: createSeminar, readSeminar, updateSeminar 추가

* feat: deleteSeminar, searchSeminar 추가

* fix: distinct 삭제

* hotfix: 불필요한 dto 삭제 (#20)

* hotfix: 불필요한 dto 삭제

* build.gradle 수정

* fix: 이미지 uri 필드 추가 및 프론트 요구사항 반영 (#21)

* feat: 이미지 uri 필드 추가 및 isActive 대신 status 추가

* fix: 행정직원 전체 조회 응답에서 task 삭제

* fix: 교수진 페이지 응답 수정

* feat: introduction 패키지, undergraduate 패키지 추가 (#22)

* feat: createUndergraduate, readUndergraduate 추가

* feat: readAllCourses, createCourse, readCourse 추가

* introduction 패키지 추가

* fix: dto에서 postType 삭제

* fix: postType pathVariable->requestBody 수정, 오타 수정

* fix: 프론트와 협의하여 이름 등 변경

* feat: academics 패키지 대학원도 가능하도록 추가

* feat: 장학제도 세부 장학금 create, read 추가

* fix: 수정

* fix:수정

* feat: admissions, research 패키지 추가 (#23)

* feat: admissions-학부 에서 create, read 추가

* feat: admissions-대학원도 작성 가능하도록 추가

* feat: createResearch 추가

* feat: createLab 추가

* fix: 다른 패키지에 맞게 수정

* research-groups, research-centers에서 read, update 추가

* fix: admissions, research에서 프론트와 협의하여 이름 등 수정

* fix: 오타 수정

* fix: enum 추가, pr 리뷰 반영

* feat: oidc 로그인 (#27)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: idsnucse 다운 되었을때 에러 처리

* feat: idsnucse 다운 되었을때 에러 처리

* feat: cors 설정 (#30)

* fix: cors 추가 설정 (#32)

* feat: cors 설정

* feat: cors 설정

* fix: CORS (#34)

* feat: cors 설정

* feat: cors 설정

* feat: cors 설정

* fix: about, academics, admissions 패키지 수정 (#25)

* fix: admissions, about 컨트롤러 변경

* fix: academics 컨트롤러 수정

* 커밋중

* fix: pr 리뷰 반영

* feat: readMain 추가

* pr 리뷰 반영

* feat: 일반 예약 및 정기 예약 API (#28)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: 예약 엔티티 및 DTO 설계

* feat: 일반 예약 및 정기 예약

* feat: 예약 조회 API (#39)

* feat: 권한 관리 위해 커스텀 어노테이션 생성

* feat: 예약 단건, 주별, 월별 조회 API

* fix: 로컬 DB 설정 수정

* feat: 유저 조회 중복 쿼리 방지

* feat: 예약 응답에 recurrenceId 추가

* feat: 동시 예약 방지

* fix: 시큐리티 로그 다시 로컬에서만 보이도록 변경

* feat: 목데이터 날라가지 않도록 ddl-auto 수정

* feat: about, member, news, seminar 메인 이미지 업로드 추가 (#38)

* feat: uploadImage 추가

* feat: about, member 사진 업로드 추가

* feat: news, seminar 사진 업로드 추가

* refactor: imageEntity 추가 리팩토링

* fix: gif 삭제

* fix: application.yaml 수정

* fix: newsService 태그 -> 이미지로 순서 변경

* fix: pr 리뷰 수정

* fix: extension 없애고, mainImage로 바꾸고, uuid 없애기

* fix: var 삭제

---------



* CICD: Change deploy port to 8080 (#40)

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>

* feat: 장학제도 GET API 및 장학제도 페이지 응답 수정 (#44)

* feat: 장학제도 GET API

* feat: 장학제도 메인페이지 GET API 응답 수정

* feat: custom metadata 설정 + 리다이렉트 엔드포인트 변경 (#45)

* feat: yml 파일에 custom metadata endpoint 추가

* feat: 로그인/로그아웃 성공 리다이렉트 엔드포인트 변경

* feat: attachments 패키지 추가, news와 seminar request에 attachments 추가 (#43)

* feat: attachments 추가, news request에 attachments 추가

* feat: seminar request에 attachments 추가

* fix: mappedBy 추가 + bringAttachments null 없앰

* fix: 경로 분리

* fix: isDeleted false로 수정

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* feat: Top Conference List GET API (#47)

* feat: Top Conference List GET API

* feat: db에서 가져올때 정렬

* feat: 파일 서빙, 다운로드, 삭제 API (#48)

* feat: 파일 서빙, 다운로드, 삭제 API

* fix: extension 중복, 경로 수정

* feat: 공지사항 글쓴이 추가 (#49)

* CI/CD: Https 적용 및 백엔드, 데이터베이스, 프록시 서버 배포 분리 (#50)

* Config: Add gitignore for caddy files.

* CICD: Add caddy config file

* CICD: Seperate docker compose file for db and backend server.

* CICD: Docker Compose file for caddy proxy server.

* CICD: Add path condition for only act when source file has changed.

* CICD: Add workflow for deploying database changes.

* CICD: Add workflow for proxy server changes.

* Refactor: Add /api/v1 in front of all endpoints (except swagger-ui)

* Refactor: Add v1 to Main Image url.

* Refactor: change backend, frontend, login redirect uri to get from env.

* CICD: Add url to .env

* Fix: Change job name of database workflow, fix indent level.

* Fix: Remove duplicated restcontroller mapping.

* Fix: Set reverse proxy for swagger-ui/* for swagger.

* Docs: Set swagger to only scan /api/**

* Fix: add caddy to reverse api-docs/* for springdoc.

* Fix: Add login uris for reverse proxying to backend server.

* CICD: Remove testing branch condition.

* CICD: Add logout uri to reverse proxy to backend server.

* CICD: Remove test branch

* fix: 프론트랑 협의하여 내용 변경 + news, seminar에 image, attachments update 추가 (#51)

* feat: attachments 추가, news request에 attachments 추가

* feat: seminar request에 attachments 추가

* feat: about request에 attachments 추가

* feat: academics request에 attachments 추가

* fix: isPinned 삭제

* fix: image -> mainImage 변경, about에 greetings 추가

* fix: news, seminar update 수정

* fix: 전체적으로 image -> mainImage 변경

* fix: research 패키지 프론트에 맞춰 협의 (#52)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* fix: pr 리뷰 수정

* fix: 오타 수정

* [Refactor] 로그인, file uri 배포 환경에 맞게 수정 (#53)

* Refactor: Change mapping of file to append /api/v1 in front.

* Refactor: Change login, logout redirect uri

* fix: https 적용 관련 로그인 수정 (#56)

* fix: notice 패키지 프론트에 맞게 협의 (#54)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* feat: notice에 attachments 추가

* fix: fix_with_front1 변경 사항에 맞게 수정

* feat: isImportant 추가

* feat: NoticeSearchDto에 hasAttachment 추가

* fix: update에서 attachmetnts가 null일 때 빈 목록 반환

* feat: 공지사항 선택 고정해제, 선택 삭제 추가

* fix: news, seminar에 isImportant 추가

* fix: pr 리뷰 수정

* fix: 수정했던거 다시 복구

* feat: 신임교수초빙 (#59)

* feat: 행정실 권한 체크 API (#60)

* [CICD] mainImage, attachment 경로 mount 설정 (#55)

* CICD: Add mainImage, attachment directory for mounting

* CICD: Add volumes to mount with server directory. (for attachment)

* [Feat] 예전 url과 비슷하게 이전 파일(사진)들 접근할 수 있도록 controller 생성 (#58)

* Config: Add oldFiles path for properties.

* Feat: Add deprecated file controller for getting old files temporarily.

* CICD: Add volume mounting for old files.

* CICD: Add dir to mount for old files.

* Refactor: Change api to /sites/default/files/{PATH}

* CICD: Add reverse proxy for old file serving.

* fix: 예약 dto에 지도교수, 반복 횟수 추가 (#61)

* fix: 로그아웃 엔드포인트 변경 (#64)

* fix: 로그아웃 엔드포인트 변경

* fix: 로그아웃 성공 리다이렉트 엔드포인트 변경

* [Fix] Notice, News Description TEXT type으로 변환 (#65)

* Fix: Change notice and news entity description type as TEXT.

* Fix: Change to mediumtext

* fix: newsSearchResponse, seminarSearchResponse 수정 (#66)

* fix: newsSearchResponse 수정

* fix: SeminarSearchResponse 수정

* fix: 오타수정

* fix: 파일 업로드 경로 통일 (#68)

* fix: 갯수만 fetch하도록 최적화 (#70)

* Fix: Change type of additionalNote column on SeminarEntity to "TEXT" (#71)

* fix: academics 패키지 프론트에 맞춰 협의, admin 패키지 추가 (#69)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* feat: notice에 attachments 추가

* fix: fix_with_front1 변경 사항에 맞게 수정

* feat: isImportant 추가

* feat: NoticeSearchDto에 hasAttachment 추가

* fix: update에서 attachmetnts가 null일 때 빈 목록 반환

* feat: 공지사항 선택 고정해제, 선택 삭제 추가

* fix: news, seminar에 isImportant 추가

* fix: pr 리뷰 수정

* fix: 수정했던거 다시 복구

* fix: course response 수정

* feat: academics에서 연도별로 주는 response 추가

* feat: academics YearResponses 추가

* fix: createScholarship 합치기

* fix: scholarship 패키지의 내용을 academics 하위로 옮김

* feat: createScholarshipDetail 추가

* fix: 필수 교양과목 response 변경

* feat: admin 패키지에서 readAllSlides 추가

* feat: admin 패키지 readAllImportants 추가

* feat: admin 패키지 중요안내 추가

* Refactor: HTML로부터 텍스트 추출 함수 Utils로 이동 (#73)

* Feat: Add cleanTextFromHtml.

* Refactor: Remove private clean method, replace to Utils.cleanTextFromHtml.

* Refactor: Remove unused imports.

* Feat: Add plain text description for notice (#74)

* Feat: Add cleanTextFromHtml.

* Refactor: Remove private clean method, replace to Utils.cleanTextFromHtml.

* Refactor: Remove unused imports.

* Feat: Add plainTextDescription.

* Feat: Add plainTextDescription in createNotice.

* Feat: add updating plainTextDescription when updating description.

* fix: admissions 패키지 프론트에 맞게 협의 (#76)

* fix: admissions 프론트에 맞게 협의

* fix: seminarEntity time 삭제

* fix: admissionsEntity pageName 추가

* fix: 불필요한 파일 삭제

* 커밋

* fix: 이전 글 다음 글만 fetch 하도록 쿼리 최적화 (#75)

* fix: 이전 글 다음 글만 fetch 하도록 쿼리 최적화

* fix: distinct 수정

* fix: 쿼리 최적화

* fix: total Long 타입으로 수정

* CI/CD: Test 설정 (#77)

* Config: Add kotest, mockk, h2 db for testing.

* Config: Add test profile.

* Config: Add testconfig for jpaqueryfactory.

* CICD: Add build, test workflow

* Fix: Revert local datasource url change.

* [Test] Notice create, update 시 plainTextDescription 동작 테스트 (#78)

* Config: Add test profile.

* Test: Add Tests for Create, Update Notice, in perspective of plainTextDescription

* Fix: Change life cycle hook resolution to container.

* [Feat] Seminar plain text field 추가 (#79)

* Feat: Add plain text column for description, introduction, additionalnote.

* Feat: Add description, introduction, additionalnote for dto -> entity.

* Feat: Change to update plain description, introduction, additional note.

* Feat: Use plainTextDesription for searchdto.

* Test: Test for create, update of plain texts.

* Test: Fix seminar service test.

* Feat: News plain text field 추가 (#80)

* Feat: Add plainTextDescription field for news entity

* Feat: Add to create, and update plainTextDescription.

* Feat: Change to use plainTextDescription when making newssearchdto.

* Test: Test for create/update plainTextDescription.

* Feat: 구성원 검색 위한 table 추가. (#81)

* Feat: MemberSearchEntity 추가.

* Feat: MemberSearchRepository 추가

* Feat: MemberSearchService 추가

* Feat: ProfessorEntity, StaffEntity에 MemberSearch 추가.

* Feat: ProfessorStatus에 한글 값 추가.

* Feat: professor create, update 시 memberSearch도 반영하도록 추가.

* Feat: seminar create, update 시 memberSearch도 반영하도록 추가.

* Test: ProfessorService 테스트 추가.

* Test: StaffServiceTest 추가.

* fix: 새소식 세미나 쿼리 수정 (#82)

* refactor: 유틸 패키지 생성 및 FixedPageRequest 분리

* feat: 새소식 세미나 이전 다음 글 및 total 쿼리 최적화

* fix: pageNum 값으로 usePageBtn 값 설정

* fix: import 경로 수정

* fix: local db port 3306

* 중복 삭제

* fix: prod endpoint https로 변경

* fix: main 프론트에 맞게 협의, notice 태그 enum 추가 (#83)

* fix: mainResponse 다시 작성

* feat: TagInNoticeEnum 추가

* feat: notice enum 추가

* fix: 코드 수정

* fix: isPublic -> isPrivate으로 정리 (#86)

* fix: rebase 정리

* fix: 오타 수정

* feat: 로컬 로그인 테스트용 엔드포인트로 임시 변경 (#87)

* Feat: 구성원 검색 API 추가 (#85)

* Feat: Add mysql custom dialect with MATCH AGAINST BOOLEAN MODE function.

* CICD: Add config for mysql db

* CICD: Add volumes for config file.

* CICD: Add db_config for condition for db deploy

* Feat: Add search top, and search query.

* Feat: Add DTOs

* Feat: Add Controller for member search only top, and page.

* Feat: Add dialect config for application.yaml

* Feat: Add controller for member search.

* Refactor: Change exception message to korean.

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>

* fix: 세미나 시간 타입 변경 (#91)

* fix: 세미나 시간 LocalDateTime으로 변경

* test: 테스트 수정

* fix: 태그 항목 수정 (#92)

* fix: news tag 추가 (#90)

* fix: news tag 추가

* fix: 일반인은 isPrivate = false인 것만, 직원은 모든 게시글 보여주기

* feat: 졸업생 창업 진로, 졸업생 진로 response 추가 (#94)

* fix: news tag 추가

* fix: 일반인은 isPrivate = false인 것만, 직원은 모든 게시글 보여주기

* feat: about  졸업생 read 추가

* fix: 오타 수정

* fix: conference 주소 추가 (#95)

* Feat: 연구 탭 통합검색 위한 Table 생성. (#97)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Fix: Fix typo, import library.

* Feat: Lab Update API 추가 (#98)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Feat: Add update method for labentity.

* Feat: Add update lab service.

* Feat: Add update lab controller.

* Test: Add ResearchServiceTest.

* Feat: Add deleteAttachment (marking)

* Fix: Add typo, add import library.

* Feat: Conference page 수정 API (#99)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Feat: Add update method for labentity.

* Feat: Add update lab service.

* Feat: Add update lab controller.

* Test: Add ResearchServiceTest.

* Feat: Add Conference Repository.

* Feat: add conferenc eentity method for create, update entity.

* Feat: Change variables to mutable.

* Feat: Add id in conferencedto.

* Feat: Add to sort the conferenceList.

* Feat: Add deleteAttachment (marking)

* Feat add service to modify conference page (create, modify, delete conferences)

* Feat: Add api for modify conference page.

* Test: Add test for conference service.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 파일 관련 수정 (#100)

* fix: 업로드 파일 사이즈 제한

* fix: 원본 첨부파일 이름으로 응답

* refactor: 세미나 업데이트 시 삭제할 첨부파일 id만 받도록 변경

* fix: 파일 api 경로 수정

* fix: deleteAttachment

* fix: GET notice 권한 관련 로직 수정 (#101)

* Refactor: Extract Full Text Query Template to CommonRepository (#102)

* Feat: Extract full text search template to common repository.

* Feat: Change full text search to use extracted repository.

* Feat: Add for 4 elements.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Notice Seminar News Search to Full Text Query (#105)

* Feat: Extract full text search template to common repository.

* Feat: Change full text search to use extracted repository.

* Feat: Add for 4 elements.

* Feat: Add more args cnt.

* Feat: Change keyword boolean builder to full text.

* Feat: Change keyword boolean builder to full text.

* Feat: Change keyword boolean builder to full text.

* Hotfix: Change mount volume. (#103)

* feat: api 권한 설정 (#84)

* fix: GET notice 권한 관련 로직 수정 (#109)

* fix: 필요한 column만 select (#111)

* refactor: 공지 태그 응답 한국어로 변경 및 리팩토링 (#113)

* refactor: 공지 태그 응답 한국어로 수정 및 리팩토링

* refactor: 새소식 태그 리팩토링

* fix: NewsRepository

* fix: 공지 새소식 PATCH 로직 수정 (#114)

* fix: 공지 새소식 PATCH 로직 수정

* test: 테스트 수정

* fix: news 엔티티에 날짜 추가 (#115)

* Feat: 검색 결과에서 keyword 위치, 적절한 substring 추출 위한 method 추가 (#116)

* Feat: Add utils substringAroundKeyword

* Test: Add test for Utils.kt

* fix: total 더미 값 + pageNum null일때만 더미 값 주기 (#117)

* fix: 예약 조회 권한 분리 및 응답 단순화 (#119)

* fix: 예약 단건 조회 권한 분리

* feat: 월별,주별 조회용 SimpleReservationDto

* fix: 로그인 리다이렉트 엔드포인트 복구 (#121)

* feat: migrateAbout, migrateFutureCareers 추가 (#118)

* feat: AboutRequest, migrateAbout 추가

* feat: future-careers 마이그레이션 추가

* feat: request 패키지 추가

* fix: AboutRequest 간소화

* fix: future-careers description aboutEntity에 저장

* feat: about 패키지 마이그레이션 추가 (#120)

* feat: AboutRequest, migrateAbout 추가

* feat: future-careers 마이그레이션 추가

* feat: request 패키지 추가

* fix: 불필요한 dto 삭제

* feat: migrateStudentClubs 추가

* feat: migrateFacilities 추가

* feat: migrateDirections 추가

* fix: 불필요한 dto 삭제

* fix: request 패키지 삭제

* fix: 오타 수정

* fix: news, notice에 titleForMain 추가 (#125)

* fix: 소식3총사 titleForMain 데이터 생성

* fix: 테스트에 titleForMain  추가

* Revert "fix: 테스트에 titleForMain  추가"

This reverts commit e824ad34e60e0785f1d4c4e187776d4b8bf53dfa.

* fix: 테스트에 titleForMain 추가

* fix: seminar titleForMain 추가

* fix: seminar test titleForMain 추가

* feat: LocalDateTime 응답 마지막에 Z 추가 (#126)

* refactor: deleteIds request 내부로 이동 (#127)

* refactor: deleteIds request 내부로 이동

* test: 테스트 수정

* fix: 확장자 중복 버그 (#128)

* feat: 관리자는 새소식, 세미나 목록에서 비공개 글 확인 가능 (#129)

* feat: research, member 패키지 migrate 추가 (#130)

* feat: migrateProfessors 추가

* feat: migrateResearchDetail 추가

* feat: migrateLabs 추가

* fix: migrate 엔티티 description에 mediumText 추가

* feat: migrateStaff 추가

* fix: 빠진거 수정

* fix: 중복 패키지 삭제

* fix: 너무 안긴거 text로 수정

* fix: noticeSearchDto에도 private 추가 (#131)

* fix: noticeSearchDto에도 private 추가

* fix: json 추가

* fix: 수정 및 추가

* fix: 수정

* Fix: 키워드 추출 함수 수정 (#122)

* Fix: Fix IndexOutOfBoundException, change to return index based on substring.

* Fix: Change to check index exclude case, and set front, back index to better contains keyword.

* Test: Update Test.

* Feat: 통합검색 Notice API 구현 (#123)

* Feat: Add dtos for notice total search.

* Feat: Add repository for notice total search.

* Feat: Add service, controller for notice total search

* Feat: News 통합 검색 API 구현 (#124)

* Feat: Add dto for total search of news.

* Feat: Add repository for total search.

* Feat: Add service, controller for news total search.

* Fix: Fix conflict issues.

* fix: 기존 objectMapper 설정 오버라이드 (#132)

* feat: 파일 업로드 컨트롤러 구현 (#133)

* Feat: Change titleForMain column to TEXT type. (#134)

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* hotfix: mixed content issue (#136)

* hotfix: loginPage to https (#139)

* hotfix: mixed content issue

* hotfix: loginPage

* fix: false로 수정 (#141)

* fix: 이전 다음 글에서 비공개 글 제외 (#143)

* fix: 이전 다음글 비공개 제외

* fix: prev-next

* CBT 위해서 예약 GET 권한체크 주석처리

* Feat: 뉴스 날짜로 정렬 (#144)

* Feat: Change date field to NOT NULLABLE.

* Feat: Change to sort by date, not createdat.

* Test: Fix test.

* Test: Move news test dir.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Add description for slide. (#146)

* style: ktlint (#145)

* style: ktlint

* Feat: change to ktlint_disabled_rules

* Refactor: fix to lint using ktlint.

* Refactor: After merge.

* Fix: After merge.

* Refactor: ReReLint

---------

Co-authored-by: huGgW <whjoon0225@naver.com>

* fix: 텍스트 인코딩 (#147)

* fix: content-dispostion

* fix: 텍스트 인코딩

* fix: 강제 다운로드

* style: ktlint

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* Update ktlint-check.yml

* fix: 중요 안내 (#149)

* fix: 삭제된 글 중요 안내에서 보이지 않도록 수정

* fix: 중요 안내 최대 2개만 보내도록 + plainTextDescription

* style: ktlint

* fix: 첨부파일 다운로드 (#154)

* Feat: 관리자 슬라이드에 total 추가, refactoring (#153)

* Feat: Change dto name, and add total to AdminSlidesResponse.

* Feat: Add pageSize as parameter.

* Feat: move readAllSlides to news repository, add total query.

* Feat: Extract getNewsEntityByIdOrThrow

* Feat: Move readAllSlides and unSlideManyNews logic handling to news service.

* Comment: Add comment for refactoring.

* Test: Add test for read all slides.

* Refactor: Linting.

* Feat: Change pageNum to start at 1.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 세미나 isYearLast 로직 수정 (#155)

* fix: 세미나 isYearFirst 로직 수정

* fix: isYearLast로 재변경 및 로직 수정

* fix: 이전글 다음 글 isDelete,isPrivate 조건 추가 (#151)

* fix: 이전글 다음 글 isDelete 추가

* fix: ktlint 수정

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 메인 공지 정렬 (#158)

* fix: 예약 조회 권한 수정 (#157)

* Feat: 통합검색 정렬 최신순 (#156)

* Feat: Admin Important에 pagination 추가, total 추가. (#159)

* fix: titleForMain이 없어도 isImportant 등록 가능 (#160)

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: em.close() 추가 (#162)

* fix: em.close() 추가

* fix: total에도 추가

* feat: migrateConference 추가 (#164)

* feat: migrateConferences 추가

* fix: 수정

* fix: 수정

* fix: 검색 추가

* fix: createConferenceDto 삭제

* CICD: Add blocking backend api except frontend. (#166)

* CICD: Add blocking backend api except frontend.

* CICD: Remove login, logout, file api from blacklist.

* CICD: Change to just block swagger apis.

* fix: group 변경 반영 (#167)

* refactor: 실제 스누씨 서버 연동 (#168)

* refactor: local-test 중복 항목 공통으로 처리하고 prod에서 오버라이드

* feat: 스누씨 실서버용 환경 변수 설정

* refactor: 로그인 페이지 통합 및 CORS 설정 변경

* fix: CORS

* feat: migrateAdmissions 추가 (#165)

* fix: migrateAdmissions 추가

* fix: 잘못 쓴거 수정

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Increase speakerurl size (#170)

* fix: 로컬에서도 idsnucse로 연결 (#174)

* fix: 로컬에서도 idsnucse 바라보게끔 변경

* fix: test에서 idsnucse 접근 x

* Revert "fix: test에서 idsnucse 접근 x"

This reverts commit cf52645.

* Fix: move local security settings to local, not global.

* Fix: Disable SecurityConfig on "test" profile

---------

Co-authored-by: huGgW <whjoon0225@naver.com>

* feat: Research 검색 (#175)

* fix: 로컬에서도 idsnucse 바라보게끔 변경

* feat: enable async.

* Feat: create professor event.

* Feat: Publish event on professor modification.

* Feat: Update research search when listen professor event.

* Test: ResearchSearchService listen professor event

* fix: test에서 idsnucse 접근 x

* Revert "fix: test에서 idsnucse 접근 x"

This reverts commit cf52645.

* Fix: fixed event listener logic

* Feat: Add search api for research.

* Test: Fix test.

* Fix: move local security settings to local, not global.

* Fix: Disable SecurityConfig on "test" profile

---------

Co-authored-by: leeeryboy <indiv0227@snu.ac.kr>

* feat: staff 검색 기능 추가 (#176)

* Feat: 학사 및 교과 검색 기능 추가 (#177)

* Revert "fix: test에서 idsnucse 접근 x"

This reverts commit cf52645.

* Fix: move local security settings to local, not global.

* Feat: AcademicsStudentType에 값 지정.

* Feat: AcademicsSearchEntity 추가

* Feat: 각 entity에 search 관계 추가

* Feat: 각 entity create하는 서비스 method에 search entity도 생성하도록 추가.

* Feat: Add academicsSearchRepository

* Feat: Add dto for search

* Refactor: Make name field of academics non null

* Feat: Add exchangePageNum to utils.

* Feat: Add academics search service

* Feat: Add search api for academics.

* Feat: add validation code for utils.exchangePageNum

* Test: Add testcode for exchangePageNum

* REfactor: Add transactional readonly for readGeneralStudies

* fix: apply newacademics to use after saved cached entity.

* fix: fix to add target enitity when create of search entity is called.

* refactor: add default values for nullable values.

* Temp: test code, should be fixed h2 issue.

---------

Co-authored-by: leeeryboy <indiv0227@snu.ac.kr>

* Fix: Research 검색에서 html 태그 없이 검색되도록 설정 (#178)

* Fix: Change createContent to remove html tags on description.

* Test: Update to check removing html tags.

* Feat/add language field (#180)

* feat: 엔티티, dto에 language 추가

* feat: read에 language 추가

* fix: ktlint 수정

* fix: languageRepository 삭제, 함수 enum 클래스로 이동

* fix: language pathVariable -> requestParam 변경 && engName 추가 삭제

* fix: dto 소문자로 return하기 enum 함수로 넣어주기

* fix: requestParam defaultValue 추가

* Refactor: Admission 언어 추가 및 리팩터링 진행 (#182)

* Feat: Move type to type dir, and add main type enum.

* Refactor: Add request body for create, and changed migrate elem body.

* Feat: Change pagename -> name, add language and mainType column, add unique constraints.

* Refactor: Remove unused request dto.

* Refactor: Change AdmissionsDto by adding columns, to be able to used as pure dto.

* Feat: Change to more specific search query.

* Feat: Change multiple methods to few methods, by using mainType.

* Feat: Change to few controller by using mainType, and use request bodies instead of dto.

* Test: AdmissionsServiceTest

* Fix: Add mapping path variable.

* Fix: Fix replacing logic.

* feat: academics 패키지에 language field 추가 (#181)

* feat: 엔티티, dto에 language 추가

* feat: read에 language 추가

* feat: academics에 language field 추가

* fix: ktlint 수정

* feat: course 엔티티에 language field 추가

* feat: readCourse에 language parameter 추가

* fix: languageRepository 삭제, 함수 enum 클래스 이동, academicsEntity name 속성 nullable 추가

* fix: requestParam+defaultValue 추가,

* fix: academics name nullable 없앰

* feat: staff에 language, migration 방법 추가 (#183)

* feat: staffEntity에 language 추가

* feat: branch 이름 변경

* fix: branch origin 이름 변경

* feat: staff 읽기, 수정에서 language 속성 추가

* feat: migrateStaffImage 추가

* fix: StaffServiceTest 수정

* Feat: Admission 검색 (#184)

* Feat: Add korean, english section name.

* Feat: add searchContent column for saving index.

* Feat: Add search query repository method.

* Feat: Define dto of search result element.

* Feat: Add search Top Admission method, and add migrate method creating search content.

* Feat: Add search top admissions method to controller.

* Test: Add test for Admission Service.

* Refactor: Remove Location Entity (#186)

* feat: member/research 패키지 이미지와 첨부파일 마이그레이션 코드 작성 (#185)

* feat: migrateProfessorImage 추가

* feat: migrateResearchImageAndAttachments 추가

* feat: migrateStaffImage 추가

* feat: migrateLabPdf 추가

* feat: about에서 이미지랑 첨부파일 추가 (#187)

* feat: migrateProfessorImage 추가

* feat: migrateResearchImageAndAttachments 추가

* feat: migrateStaffImage 추가

* feat: migrateLabPdf 추가

* feat: about에서 이미지랑 첨부파일 추가

* feat: dev 로그인 (#188)

* dev서버 로그인 바이패스

* style: ktlint

* fix: mock auth config 분리

* fix: uri 수정

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: professor language 추가 (#189)

* fix: professor language 추가

* feat: professor 테스트 추가

* feat: professor language 다른 테스트에도 추가

* feat: 테스트 알맞게 수정

* Feature: About 검색 추가 (#192)

* Feat: Change to create search content.

* Feat: Add search query method.

* Feat: Add create, migrate to create searchContent, and add search method.

* Feat: add search api

* COMMENT: add fix comment for aboutservicetest.

* Refactor: Move dtos to ee directory.

* Feat: Add validation for number, pagesize, pagenum

* feat: research 패키지에 language 추가 (#194)

* fix: professor language 추가

* feat: professor 테스트 추가

* feat: professor language 다른 테스트에도 추가

* feat: 테스트 알맞게 수정

* feat: researchDetail에 language 추가

* feat: lab에 language 추가

* fix: about, admission migrate search todo 추가

* Refactor: Admission 검색 리펙터링 (#193)

* Refactor: Merge queries into one.

* Refactor: Add page search method.

* Refactor: Add total count.

* Refactor: change to search page or search top.

* feat: academics 패키지 마이그레이션 추가 (#195)

* fix: professor language 추가

* feat: professor 테스트 추가

* feat: professor language 다른 테스트에도 추가

* feat: 테스트 알맞게 수정

* feat: researchDetail에 language 추가

* feat: lab에 language 추가

* fix: about, admission migrate search todo 추가

* fix: course migrate 추가

* fix: conference, scholarship language 추가

* fix: migrate academics, scholarship 추가

* fix: migrate academics attachments 추가

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: ktlint 정리

* fix: ktlint 정리 2

* fix: 실수로 삭제한 코드 복구

* Refactor: Member Search (#197)

* feat: professor 테스트 추가

* feat: 테스트 알맞게 수정

* fix: about, admission migrate search todo 추가

* Fix: Add commented authentication.

* Feat: Add language field to search entity

* Feat: Add language in search condition, remove duplicated exchangePageNum, Merge search queries

* Feat: Change res body dir, merge two seperate body into one, add language field

* Feat: Change return body, repository method useing.

* Feat: Add language query parameter, change response body.

* Test: Check language of search.

* Refactor: Change res body results key as "results"

* Refactor: Remove unneeded transactional on interface.

---------

Co-authored-by: DESKTOP-USQPRVG\gram <blueland1998@naver.com>

* feat: getMapping에 language requestParam 추가 (#198)

* fix: academics 패키지 get에 language 추가

* fix: professor 패키지 get에 language 추가

* fix: research 패키지 get에 language 추가

* feat: academics 패키지 이름에 맞게 변경 (#199)

* feat: add readDegreeRequirements

* feat: readGeneralRequirements 삭제, readDegreeRequirements 추가

* feat: AcademicsEntity time 칼럼 삭제

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* Refactor: academics search (#200)

* Refactor: research search (#201)

* fix: pageSize 추가 (#203)

* fix: pageSize 쿼리 파라미터 추가

* 함수 인자에서 defaultValue 지정

* fix: 인증 로직 수정 (#206)

* fix: mock-login 위해서 인증 로직 수정

* add v1 to uri

* fix: migrateConferences에서 authenticatedStaff 삭제 (#204)

* fix: simpleProfessorDto에서 status 추가 (#205)

* fix: readDegreeRequirements에 파일 보이도록 추가 (#209)

* fix: StudentClubDto에 engName 추가 (#210)

* fix: researchEntity에 websiteURL 추가 (#211)

* fix: researchEntity에 websiteURL 추가

* fix: ProfessorServiceTest 수정

* Fix: `exchangepageNum`에서 total이 0일 경우 케이스 추가. (#213)

* Fix: Add condition that when total is 0 return pageNum as 1

* Refactor: Rename method name to be more clear.

* Refactor: Remove not needed duplicated conditional check.

* Test: Add test for exchangeValidPageNum for checking when total = 0

* fix: readGeneralStudiesRequirements 추가 (#212)

* fix: readGeneralStudiesRequirements 추가

* fix: readGeneralStudiesRequirements 프론트 협의사항에 따라 수정

* fix: DegreeRequirementsDto description 삭제

* AcademicsPostType 타입 이름 주석 추가

* Fix: Notice 비밀글 표시 안되도록 수정 (#216)

* Feat: Add FindByIdAndIsPrivateFalse

* Fix: Change totalSearchNotice to get isStaff and hide private when not a staff.

* Fix: Change searchTotalNotice and readNotice to consider isStaff.

* Fix: Change totalSearchNotice and readNotice to check authentication and get staff info.

* fix: readFutureCareers에 description 수정 (#214)

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: 파일 크기 100MB로 늘림

* Feat: Research 검색 결과 research 타입 상세화 (#218)

* Refactor: Remove unused method

* Comment: Add comment

* Feat: Add specific research types to enum

* Feat: Change to give more specified enum when it is research related column.

* Refactor: Remove unused LAB entry from Research.

* fix: pdf 타입 AttachmentResponse로 변경 (#220)

* Feat: Add more type to academic. (#221)

* Fix: Change partialDescription to give with searchContent. (without html, all fields) (#222)

* fix: 단건 조회 & 통합 검색 권한 체크 (#217)

* fix: private 단건 조회 권한 체크

* Fix: Notice 비밀글 표시 안되도록 수정 (#216)

* Feat: Add FindByIdAndIsPrivateFalse

* Fix: Change totalSearchNotice to get isStaff and hide private when not a staff.

* Fix: Change searchTotalNotice and readNotice to consider isStaff.

* Fix: Change totalSearchNotice and readNotice to check authentication and get staff info.

* fix: newsTotalSearch 권한 체크

* style: ktlint

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* Fix: Formatting issue.

* Fix: Add studentType for all academic search result. (#224)

* Config: Spring Boot 3.2, Java 21로 업그레이드, Virtual Thread 적용 (#223)

* Fix: add join condition for news total search (#226)

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>
Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>
Co-authored-by: DESKTOP-USQPRVG\gram <blueland1998@naver.com>
huGgW added a commit that referenced this pull request Mar 28, 2024
* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* ✨ 패키지 및 엔티티 생성

* ✨ BaseTimeEntity 생성, PostEntity 기본 내용 작성

* ✨ PostController 생성 및 기본 내용 작성

* ✨ postService 생성

* ✨ Exceptions.kt 생성

* ✨ postDto 생성

* ✨ postRepository 생성 및 기본 내용 작성

* 💚 application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

* fix: main에서 develop으로 pr (#16)

* feat: merge develop to main (#13)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* ✨ 패키지 및 엔티티 생성

* ✨ BaseTimeEntity 생성, PostEntity 기본 내용 작성

* ✨ PostController 생성 및 기본 내용 작성

* ✨ postService 생성

* ✨ Exceptions.kt 생성

* ✨ postDto 생성

* ✨ postRepository 생성 및 기본 내용 작성

* 💚 application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* hotfix: 사용하지않는 Dto 및 엔티티 삭제 (#14)

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* feat: seminar 패키지 추가 (#17)

* feat: createSeminar, readSeminar, updateSeminar 추가

* feat: deleteSeminar, searchSeminar 추가

* fix: distinct 삭제

* hotfix: 불필요한 dto 삭제 (#20)

* hotfix: 불필요한 dto 삭제

* build.gradle 수정

* fix: 이미지 uri 필드 추가 및 프론트 요구사항 반영 (#21)

* feat: 이미지 uri 필드 추가 및 isActive 대신 status 추가

* fix: 행정직원 전체 조회 응답에서 task 삭제

* fix: 교수진 페이지 응답 수정

* feat: introduction 패키지, undergraduate 패키지 추가 (#22)

* feat: createUndergraduate, readUndergraduate 추가

* feat: readAllCourses, createCourse, readCourse 추가

* introduction 패키지 추가

* fix: dto에서 postType 삭제

* fix: postType pathVariable->requestBody 수정, 오타 수정

* fix: 프론트와 협의하여 이름 등 변경

* feat: academics 패키지 대학원도 가능하도록 추가

* feat: 장학제도 세부 장학금 create, read 추가

* fix: 수정

* fix:수정

* feat: admissions, research 패키지 추가 (#23)

* feat: admissions-학부 에서 create, read 추가

* feat: admissions-대학원도 작성 가능하도록 추가

* feat: createResearch 추가

* feat: createLab 추가

* fix: 다른 패키지에 맞게 수정

* research-groups, research-centers에서 read, update 추가

* fix: admissions, research에서 프론트와 협의하여 이름 등 수정

* fix: 오타 수정

* fix: enum 추가, pr 리뷰 반영

* feat: oidc 로그인 (#27)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: idsnucse 다운 되었을때 에러 처리

* feat: idsnucse 다운 되었을때 에러 처리

* feat: cors 설정 (#30)

* fix: cors 추가 설정 (#32)

* feat: cors 설정

* feat: cors 설정

* fix: CORS (#34)

* feat: cors 설정

* feat: cors 설정

* feat: cors 설정

* fix: about, academics, admissions 패키지 수정 (#25)

* fix: admissions, about 컨트롤러 변경

* fix: academics 컨트롤러 수정

* 커밋중

* fix: pr 리뷰 반영

* feat: readMain 추가

* pr 리뷰 반영

* feat: 일반 예약 및 정기 예약 API (#28)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: 예약 엔티티 및 DTO 설계

* feat: 일반 예약 및 정기 예약

* feat: 예약 조회 API (#39)

* feat: 권한 관리 위해 커스텀 어노테이션 생성

* feat: 예약 단건, 주별, 월별 조회 API

* fix: 로컬 DB 설정 수정

* feat: 유저 조회 중복 쿼리 방지

* feat: 예약 응답에 recurrenceId 추가

* feat: 동시 예약 방지

* fix: 시큐리티 로그 다시 로컬에서만 보이도록 변경

* feat: 목데이터 날라가지 않도록 ddl-auto 수정

* feat: about, member, news, seminar 메인 이미지 업로드 추가 (#38)

* feat: uploadImage 추가

* feat: about, member 사진 업로드 추가

* feat: news, seminar 사진 업로드 추가

* refactor: imageEntity 추가 리팩토링

* fix: gif 삭제

* fix: application.yaml 수정

* fix: newsService 태그 -> 이미지로 순서 변경

* fix: pr 리뷰 수정

* fix: extension 없애고, mainImage로 바꾸고, uuid 없애기

* fix: var 삭제

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* CICD: Change deploy port to 8080 (#40)

* [Merge] (#41) (#42)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* ✨ 패키지 및 엔티티 생성

* ✨ BaseTimeEntity 생성, PostEntity 기본 내용 작성

* ✨ PostController 생성 및 기본 내용 작성

* ✨ postService 생성

* ✨ Exceptions.kt 생성

* ✨ postDto 생성

* ✨ postRepository 생성 및 기본 내용 작성

* 💚 application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

* fix: main에서 develop으로 pr (#16)

* feat: merge develop to main (#13)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* ✨ 패키지 및 엔티티 생성

* ✨ BaseTimeEntity 생성, PostEntity 기본 내용 작성

* ✨ PostController 생성 및 기본 내용 작성

* ✨ postService 생성

* ✨ Exceptions.kt 생성

* ✨ postDto 생성

* ✨ postRepository 생성 및 기본 내용 작성

* 💚 application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

---------




* hotfix: 사용하지않는 Dto 및 엔티티 삭제 (#14)

---------




* feat: seminar 패키지 추가 (#17)

* feat: createSeminar, readSeminar, updateSeminar 추가

* feat: deleteSeminar, searchSeminar 추가

* fix: distinct 삭제

* hotfix: 불필요한 dto 삭제 (#20)

* hotfix: 불필요한 dto 삭제

* build.gradle 수정

* fix: 이미지 uri 필드 추가 및 프론트 요구사항 반영 (#21)

* feat: 이미지 uri 필드 추가 및 isActive 대신 status 추가

* fix: 행정직원 전체 조회 응답에서 task 삭제

* fix: 교수진 페이지 응답 수정

* feat: introduction 패키지, undergraduate 패키지 추가 (#22)

* feat: createUndergraduate, readUndergraduate 추가

* feat: readAllCourses, createCourse, readCourse 추가

* introduction 패키지 추가

* fix: dto에서 postType 삭제

* fix: postType pathVariable->requestBody 수정, 오타 수정

* fix: 프론트와 협의하여 이름 등 변경

* feat: academics 패키지 대학원도 가능하도록 추가

* feat: 장학제도 세부 장학금 create, read 추가

* fix: 수정

* fix:수정

* feat: admissions, research 패키지 추가 (#23)

* feat: admissions-학부 에서 create, read 추가

* feat: admissions-대학원도 작성 가능하도록 추가

* feat: createResearch 추가

* feat: createLab 추가

* fix: 다른 패키지에 맞게 수정

* research-groups, research-centers에서 read, update 추가

* fix: admissions, research에서 프론트와 협의하여 이름 등 수정

* fix: 오타 수정

* fix: enum 추가, pr 리뷰 반영

* feat: oidc 로그인 (#27)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: idsnucse 다운 되었을때 에러 처리

* feat: idsnucse 다운 되었을때 에러 처리

* feat: cors 설정 (#30)

* fix: cors 추가 설정 (#32)

* feat: cors 설정

* feat: cors 설정

* fix: CORS (#34)

* feat: cors 설정

* feat: cors 설정

* feat: cors 설정

* fix: about, academics, admissions 패키지 수정 (#25)

* fix: admissions, about 컨트롤러 변경

* fix: academics 컨트롤러 수정

* 커밋중

* fix: pr 리뷰 반영

* feat: readMain 추가

* pr 리뷰 반영

* feat: 일반 예약 및 정기 예약 API (#28)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: 예약 엔티티 및 DTO 설계

* feat: 일반 예약 및 정기 예약

* feat: 예약 조회 API (#39)

* feat: 권한 관리 위해 커스텀 어노테이션 생성

* feat: 예약 단건, 주별, 월별 조회 API

* fix: 로컬 DB 설정 수정

* feat: 유저 조회 중복 쿼리 방지

* feat: 예약 응답에 recurrenceId 추가

* feat: 동시 예약 방지

* fix: 시큐리티 로그 다시 로컬에서만 보이도록 변경

* feat: 목데이터 날라가지 않도록 ddl-auto 수정

* feat: about, member, news, seminar 메인 이미지 업로드 추가 (#38)

* feat: uploadImage 추가

* feat: about, member 사진 업로드 추가

* feat: news, seminar 사진 업로드 추가

* refactor: imageEntity 추가 리팩토링

* fix: gif 삭제

* fix: application.yaml 수정

* fix: newsService 태그 -> 이미지로 순서 변경

* fix: pr 리뷰 수정

* fix: extension 없애고, mainImage로 바꾸고, uuid 없애기

* fix: var 삭제

---------



* CICD: Change deploy port to 8080 (#40)

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>

* feat: 장학제도 GET API 및 장학제도 페이지 응답 수정 (#44)

* feat: 장학제도 GET API

* feat: 장학제도 메인페이지 GET API 응답 수정

* feat: custom metadata 설정 + 리다이렉트 엔드포인트 변경 (#45)

* feat: yml 파일에 custom metadata endpoint 추가

* feat: 로그인/로그아웃 성공 리다이렉트 엔드포인트 변경

* feat: attachments 패키지 추가, news와 seminar request에 attachments 추가 (#43)

* feat: attachments 추가, news request에 attachments 추가

* feat: seminar request에 attachments 추가

* fix: mappedBy 추가 + bringAttachments null 없앰

* fix: 경로 분리

* fix: isDeleted false로 수정

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* feat: Top Conference List GET API (#47)

* feat: Top Conference List GET API

* feat: db에서 가져올때 정렬

* feat: 파일 서빙, 다운로드, 삭제 API (#48)

* feat: 파일 서빙, 다운로드, 삭제 API

* fix: extension 중복, 경로 수정

* feat: 공지사항 글쓴이 추가 (#49)

* CI/CD: Https 적용 및 백엔드, 데이터베이스, 프록시 서버 배포 분리 (#50)

* Config: Add gitignore for caddy files.

* CICD: Add caddy config file

* CICD: Seperate docker compose file for db and backend server.

* CICD: Docker Compose file for caddy proxy server.

* CICD: Add path condition for only act when source file has changed.

* CICD: Add workflow for deploying database changes.

* CICD: Add workflow for proxy server changes.

* Refactor: Add /api/v1 in front of all endpoints (except swagger-ui)

* Refactor: Add v1 to Main Image url.

* Refactor: change backend, frontend, login redirect uri to get from env.

* CICD: Add url to .env

* Fix: Change job name of database workflow, fix indent level.

* Fix: Remove duplicated restcontroller mapping.

* Fix: Set reverse proxy for swagger-ui/* for swagger.

* Docs: Set swagger to only scan /api/**

* Fix: add caddy to reverse api-docs/* for springdoc.

* Fix: Add login uris for reverse proxying to backend server.

* CICD: Remove testing branch condition.

* CICD: Add logout uri to reverse proxy to backend server.

* CICD: Remove test branch

* fix: 프론트랑 협의하여 내용 변경 + news, seminar에 image, attachments update 추가 (#51)

* feat: attachments 추가, news request에 attachments 추가

* feat: seminar request에 attachments 추가

* feat: about request에 attachments 추가

* feat: academics request에 attachments 추가

* fix: isPinned 삭제

* fix: image -> mainImage 변경, about에 greetings 추가

* fix: news, seminar update 수정

* fix: 전체적으로 image -> mainImage 변경

* fix: research 패키지 프론트에 맞춰 협의 (#52)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* fix: pr 리뷰 수정

* fix: 오타 수정

* [Refactor] 로그인, file uri 배포 환경에 맞게 수정 (#53)

* Refactor: Change mapping of file to append /api/v1 in front.

* Refactor: Change login, logout redirect uri

* fix: https 적용 관련 로그인 수정 (#56)

* fix: notice 패키지 프론트에 맞게 협의 (#54)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* feat: notice에 attachments 추가

* fix: fix_with_front1 변경 사항에 맞게 수정

* feat: isImportant 추가

* feat: NoticeSearchDto에 hasAttachment 추가

* fix: update에서 attachmetnts가 null일 때 빈 목록 반환

* feat: 공지사항 선택 고정해제, 선택 삭제 추가

* fix: news, seminar에 isImportant 추가

* fix: pr 리뷰 수정

* fix: 수정했던거 다시 복구

* feat: 신임교수초빙 (#59)

* feat: 행정실 권한 체크 API (#60)

* [CICD] mainImage, attachment 경로 mount 설정 (#55)

* CICD: Add mainImage, attachment directory for mounting

* CICD: Add volumes to mount with server directory. (for attachment)

* [Feat] 예전 url과 비슷하게 이전 파일(사진)들 접근할 수 있도록 controller 생성 (#58)

* Config: Add oldFiles path for properties.

* Feat: Add deprecated file controller for getting old files temporarily.

* CICD: Add volume mounting for old files.

* CICD: Add dir to mount for old files.

* Refactor: Change api to /sites/default/files/{PATH}

* CICD: Add reverse proxy for old file serving.

* fix: 예약 dto에 지도교수, 반복 횟수 추가 (#61)

* fix: 로그아웃 엔드포인트 변경 (#64)

* fix: 로그아웃 엔드포인트 변경

* fix: 로그아웃 성공 리다이렉트 엔드포인트 변경

* [Fix] Notice, News Description TEXT type으로 변환 (#65)

* Fix: Change notice and news entity description type as TEXT.

* Fix: Change to mediumtext

* fix: newsSearchResponse, seminarSearchResponse 수정 (#66)

* fix: newsSearchResponse 수정

* fix: SeminarSearchResponse 수정

* fix: 오타수정

* fix: 파일 업로드 경로 통일 (#68)

* fix: 갯수만 fetch하도록 최적화 (#70)

* Fix: Change type of additionalNote column on SeminarEntity to "TEXT" (#71)

* fix: academics 패키지 프론트에 맞춰 협의, admin 패키지 추가 (#69)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* feat: notice에 attachments 추가

* fix: fix_with_front1 변경 사항에 맞게 수정

* feat: isImportant 추가

* feat: NoticeSearchDto에 hasAttachment 추가

* fix: update에서 attachmetnts가 null일 때 빈 목록 반환

* feat: 공지사항 선택 고정해제, 선택 삭제 추가

* fix: news, seminar에 isImportant 추가

* fix: pr 리뷰 수정

* fix: 수정했던거 다시 복구

* fix: course response 수정

* feat: academics에서 연도별로 주는 response 추가

* feat: academics YearResponses 추가

* fix: createScholarship 합치기

* fix: scholarship 패키지의 내용을 academics 하위로 옮김

* feat: createScholarshipDetail 추가

* fix: 필수 교양과목 response 변경

* feat: admin 패키지에서 readAllSlides 추가

* feat: admin 패키지 readAllImportants 추가

* feat: admin 패키지 중요안내 추가

* Refactor: HTML로부터 텍스트 추출 함수 Utils로 이동 (#73)

* Feat: Add cleanTextFromHtml.

* Refactor: Remove private clean method, replace to Utils.cleanTextFromHtml.

* Refactor: Remove unused imports.

* Feat: Add plain text description for notice (#74)

* Feat: Add cleanTextFromHtml.

* Refactor: Remove private clean method, replace to Utils.cleanTextFromHtml.

* Refactor: Remove unused imports.

* Feat: Add plainTextDescription.

* Feat: Add plainTextDescription in createNotice.

* Feat: add updating plainTextDescription when updating description.

* fix: admissions 패키지 프론트에 맞게 협의 (#76)

* fix: admissions 프론트에 맞게 협의

* fix: seminarEntity time 삭제

* fix: admissionsEntity pageName 추가

* fix: 불필요한 파일 삭제

* 커밋

* fix: 이전 글 다음 글만 fetch 하도록 쿼리 최적화 (#75)

* fix: 이전 글 다음 글만 fetch 하도록 쿼리 최적화

* fix: distinct 수정

* fix: 쿼리 최적화

* fix: total Long 타입으로 수정

* CI/CD: Test 설정 (#77)

* Config: Add kotest, mockk, h2 db for testing.

* Config: Add test profile.

* Config: Add testconfig for jpaqueryfactory.

* CICD: Add build, test workflow

* Fix: Revert local datasource url change.

* [Test] Notice create, update 시 plainTextDescription 동작 테스트 (#78)

* Config: Add test profile.

* Test: Add Tests for Create, Update Notice, in perspective of plainTextDescription

* Fix: Change life cycle hook resolution to container.

* [Feat] Seminar plain text field 추가 (#79)

* Feat: Add plain text column for description, introduction, additionalnote.

* Feat: Add description, introduction, additionalnote for dto -> entity.

* Feat: Change to update plain description, introduction, additional note.

* Feat: Use plainTextDesription for searchdto.

* Test: Test for create, update of plain texts.

* Test: Fix seminar service test.

* Feat: News plain text field 추가 (#80)

* Feat: Add plainTextDescription field for news entity

* Feat: Add to create, and update plainTextDescription.

* Feat: Change to use plainTextDescription when making newssearchdto.

* Test: Test for create/update plainTextDescription.

* Feat: 구성원 검색 위한 table 추가. (#81)

* Feat: MemberSearchEntity 추가.

* Feat: MemberSearchRepository 추가

* Feat: MemberSearchService 추가

* Feat: ProfessorEntity, StaffEntity에 MemberSearch 추가.

* Feat: ProfessorStatus에 한글 값 추가.

* Feat: professor create, update 시 memberSearch도 반영하도록 추가.

* Feat: seminar create, update 시 memberSearch도 반영하도록 추가.

* Test: ProfessorService 테스트 추가.

* Test: StaffServiceTest 추가.

* fix: 새소식 세미나 쿼리 수정 (#82)

* refactor: 유틸 패키지 생성 및 FixedPageRequest 분리

* feat: 새소식 세미나 이전 다음 글 및 total 쿼리 최적화

* fix: pageNum 값으로 usePageBtn 값 설정

* fix: import 경로 수정

* fix: local db port 3306

* 중복 삭제

* fix: prod endpoint https로 변경

* fix: main 프론트에 맞게 협의, notice 태그 enum 추가 (#83)

* fix: mainResponse 다시 작성

* feat: TagInNoticeEnum 추가

* feat: notice enum 추가

* fix: 코드 수정

* fix: isPublic -> isPrivate으로 정리 (#86)

* fix: rebase 정리

* fix: 오타 수정

* feat: 로컬 로그인 테스트용 엔드포인트로 임시 변경 (#87)

* Feat: 구성원 검색 API 추가 (#85)

* Feat: Add mysql custom dialect with MATCH AGAINST BOOLEAN MODE function.

* CICD: Add config for mysql db

* CICD: Add volumes for config file.

* CICD: Add db_config for condition for db deploy

* Feat: Add search top, and search query.

* Feat: Add DTOs

* Feat: Add Controller for member search only top, and page.

* Feat: Add dialect config for application.yaml

* Feat: Add controller for member search.

* Refactor: Change exception message to korean.

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>

* fix: 세미나 시간 타입 변경 (#91)

* fix: 세미나 시간 LocalDateTime으로 변경

* test: 테스트 수정

* fix: 태그 항목 수정 (#92)

* fix: news tag 추가 (#90)

* fix: news tag 추가

* fix: 일반인은 isPrivate = false인 것만, 직원은 모든 게시글 보여주기

* feat: 졸업생 창업 진로, 졸업생 진로 response 추가 (#94)

* fix: news tag 추가

* fix: 일반인은 isPrivate = false인 것만, 직원은 모든 게시글 보여주기

* feat: about  졸업생 read 추가

* fix: 오타 수정

* fix: conference 주소 추가 (#95)

* Feat: 연구 탭 통합검색 위한 Table 생성. (#97)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Fix: Fix typo, import library.

* Feat: Lab Update API 추가 (#98)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Feat: Add update method for labentity.

* Feat: Add update lab service.

* Feat: Add update lab controller.

* Test: Add ResearchServiceTest.

* Feat: Add deleteAttachment (marking)

* Fix: Add typo, add import library.

* Feat: Conference page 수정 API (#99)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Feat: Add update method for labentity.

* Feat: Add update lab service.

* Feat: Add update lab controller.

* Test: Add ResearchServiceTest.

* Feat: Add Conference Repository.

* Feat: add conferenc eentity method for create, update entity.

* Feat: Change variables to mutable.

* Feat: Add id in conferencedto.

* Feat: Add to sort the conferenceList.

* Feat: Add deleteAttachment (marking)

* Feat add service to modify conference page (create, modify, delete conferences)

* Feat: Add api for modify conference page.

* Test: Add test for conference service.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 파일 관련 수정 (#100)

* fix: 업로드 파일 사이즈 제한

* fix: 원본 첨부파일 이름으로 응답

* refactor: 세미나 업데이트 시 삭제할 첨부파일 id만 받도록 변경

* fix: 파일 api 경로 수정

* fix: deleteAttachment

* fix: GET notice 권한 관련 로직 수정 (#101)

* Refactor: Extract Full Text Query Template to CommonRepository (#102)

* Feat: Extract full text search template to common repository.

* Feat: Change full text search to use extracted repository.

* Feat: Add for 4 elements.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Notice Seminar News Search to Full Text Query (#105)

* Feat: Extract full text search template to common repository.

* Feat: Change full text search to use extracted repository.

* Feat: Add for 4 elements.

* Feat: Add more args cnt.

* Feat: Change keyword boolean builder to full text.

* Feat: Change keyword boolean builder to full text.

* Feat: Change keyword boolean builder to full text.

* Hotfix: Change mount volume. (#103)

* feat: api 권한 설정 (#84)

* fix: GET notice 권한 관련 로직 수정 (#109)

* fix: 필요한 column만 select (#111)

* refactor: 공지 태그 응답 한국어로 변경 및 리팩토링 (#113)

* refactor: 공지 태그 응답 한국어로 수정 및 리팩토링

* refactor: 새소식 태그 리팩토링

* fix: NewsRepository

* fix: 공지 새소식 PATCH 로직 수정 (#114)

* fix: 공지 새소식 PATCH 로직 수정

* test: 테스트 수정

* fix: news 엔티티에 날짜 추가 (#115)

* Feat: 검색 결과에서 keyword 위치, 적절한 substring 추출 위한 method 추가 (#116)

* Feat: Add utils substringAroundKeyword

* Test: Add test for Utils.kt

* fix: total 더미 값 + pageNum null일때만 더미 값 주기 (#117)

* fix: 예약 조회 권한 분리 및 응답 단순화 (#119)

* fix: 예약 단건 조회 권한 분리

* feat: 월별,주별 조회용 SimpleReservationDto

* fix: 로그인 리다이렉트 엔드포인트 복구 (#121)

* feat: migrateAbout, migrateFutureCareers 추가 (#118)

* feat: AboutRequest, migrateAbout 추가

* feat: future-careers 마이그레이션 추가

* feat: request 패키지 추가

* fix: AboutRequest 간소화

* fix: future-careers description aboutEntity에 저장

* feat: about 패키지 마이그레이션 추가 (#120)

* feat: AboutRequest, migrateAbout 추가

* feat: future-careers 마이그레이션 추가

* feat: request 패키지 추가

* fix: 불필요한 dto 삭제

* feat: migrateStudentClubs 추가

* feat: migrateFacilities 추가

* feat: migrateDirections 추가

* fix: 불필요한 dto 삭제

* fix: request 패키지 삭제

* fix: 오타 수정

* fix: news, notice에 titleForMain 추가 (#125)

* fix: 소식3총사 titleForMain 데이터 생성

* fix: 테스트에 titleForMain  추가

* Revert "fix: 테스트에 titleForMain  추가"

This reverts commit e824ad34e60e0785f1d4c4e187776d4b8bf53dfa.

* fix: 테스트에 titleForMain 추가

* fix: seminar titleForMain 추가

* fix: seminar test titleForMain 추가

* feat: LocalDateTime 응답 마지막에 Z 추가 (#126)

* refactor: deleteIds request 내부로 이동 (#127)

* refactor: deleteIds request 내부로 이동

* test: 테스트 수정

* fix: 확장자 중복 버그 (#128)

* feat: 관리자는 새소식, 세미나 목록에서 비공개 글 확인 가능 (#129)

* feat: research, member 패키지 migrate 추가 (#130)

* feat: migrateProfessors 추가

* feat: migrateResearchDetail 추가

* feat: migrateLabs 추가

* fix: migrate 엔티티 description에 mediumText 추가

* feat: migrateStaff 추가

* fix: 빠진거 수정

* fix: 중복 패키지 삭제

* fix: 너무 안긴거 text로 수정

* fix: noticeSearchDto에도 private 추가 (#131)

* fix: noticeSearchDto에도 private 추가

* fix: json 추가

* fix: 수정 및 추가

* fix: 수정

* Fix: 키워드 추출 함수 수정 (#122)

* Fix: Fix IndexOutOfBoundException, change to return index based on substring.

* Fix: Change to check index exclude case, and set front, back index to better contains keyword.

* Test: Update Test.

* Feat: 통합검색 Notice API 구현 (#123)

* Feat: Add dtos for notice total search.

* Feat: Add repository for notice total search.

* Feat: Add service, controller for notice total search

* Feat: News 통합 검색 API 구현 (#124)

* Feat: Add dto for total search of news.

* Feat: Add repository for total search.

* Feat: Add service, controller for news total search.

* Fix: Fix conflict issues.

* fix: 기존 objectMapper 설정 오버라이드 (#132)

* feat: 파일 업로드 컨트롤러 구현 (#133)

* Feat: Change titleForMain column to TEXT type. (#134)

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* hotfix: mixed content issue (#136)

* hotfix: loginPage to https (#139)

* hotfix: mixed content issue

* hotfix: loginPage

* fix: false로 수정 (#141)

* fix: 이전 다음 글에서 비공개 글 제외 (#143)

* fix: 이전 다음글 비공개 제외

* fix: prev-next

* CBT 위해서 예약 GET 권한체크 주석처리

* Feat: 뉴스 날짜로 정렬 (#144)

* Feat: Change date field to NOT NULLABLE.

* Feat: Change to sort by date, not createdat.

* Test: Fix test.

* Test: Move news test dir.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Add description for slide. (#146)

* style: ktlint (#145)

* style: ktlint

* Feat: change to ktlint_disabled_rules

* Refactor: fix to lint using ktlint.

* Refactor: After merge.

* Fix: After merge.

* Refactor: ReReLint

---------

Co-authored-by: huGgW <whjoon0225@naver.com>

* fix: 텍스트 인코딩 (#147)

* fix: content-dispostion

* fix: 텍스트 인코딩

* fix: 강제 다운로드

* style: ktlint

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* Update ktlint-check.yml

* fix: 중요 안내 (#149)

* fix: 삭제된 글 중요 안내에서 보이지 않도록 수정

* fix: 중요 안내 최대 2개만 보내도록 + plainTextDescription

* style: ktlint

* fix: 첨부파일 다운로드 (#154)

* Feat: 관리자 슬라이드에 total 추가, refactoring (#153)

* Feat: Change dto name, and add total to AdminSlidesResponse.

* Feat: Add pageSize as parameter.

* Feat: move readAllSlides to news repository, add total query.

* Feat: Extract getNewsEntityByIdOrThrow

* Feat: Move readAllSlides and unSlideManyNews logic handling to news service.

* Comment: Add comment for refactoring.

* Test: Add test for read all slides.

* Refactor: Linting.

* Feat: Change pageNum to start at 1.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 세미나 isYearLast 로직 수정 (#155)

* fix: 세미나 isYearFirst 로직 수정

* fix: isYearLast로 재변경 및 로직 수정

* fix: 이전글 다음 글 isDelete,isPrivate 조건 추가 (#151)

* fix: 이전글 다음 글 isDelete 추가

* fix: ktlint 수정

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 메인 공지 정렬 (#158)

* fix: 예약 조회 권한 수정 (#157)

* Feat: 통합검색 정렬 최신순 (#156)

* Feat: Admin Important에 pagination 추가, total 추가. (#159)

* fix: titleForMain이 없어도 isImportant 등록 가능 (#160)

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: em.close() 추가 (#162)

* fix: em.close() 추가

* fix: total에도 추가

* feat: migrateConference 추가 (#164)

* feat: migrateConferences 추가

* fix: 수정

* fix: 수정

* fix: 검색 추가

* fix: createConferenceDto 삭제

* CICD: Add blocking backend api except frontend. (#166)

* CICD: Add blocking backend api except frontend.

* CICD: Remove login, logout, file api from blacklist.

* CICD: Change to just block swagger apis.

* fix: group 변경 반영 (#167)

* refactor: 실제 스누씨 서버 연동 (#168)

* refactor: local-test 중복 항목 공통으로 처리하고 prod에서 오버라이드

* feat: 스누씨 실서버용 환경 변수 설정

* refactor: 로그인 페이지 통합 및 CORS 설정 변경

* fix: CORS

* feat: migrateAdmissions 추가 (#165)

* fix: migrateAdmissions 추가

* fix: 잘못 쓴거 수정

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Increase speakerurl size (#170)

* fix: 로컬에서도 idsnucse로 연결 (#174)

* fix: 로컬에서도 idsnucse 바라보게끔 변경

* fix: test에서 idsnucse 접근 x

* Revert "fix: test에서 idsnucse 접근 x"

This reverts commit cf52645.

* Fix: move local security settings to local, not global.

* Fix: Disable SecurityConfig on "test" profile

---------

Co-authored-by: huGgW <whjoon0225@naver.com>

* feat: Research 검색 (#175)

* fix: 로컬에서도 idsnucse 바라보게끔 변경

* feat: enable async.

* Feat: create professor event.

* Feat: Publish event on professor modification.

* Feat: Update research search when listen professor event.

* Test: ResearchSearchService listen professor event

* fix: test에서 idsnucse 접근 x

* Revert "fix: test에서 idsnucse 접근 x"

This reverts commit cf52645.

* Fix: fixed event listener logic

* Feat: Add search api for research.

* Test: Fix test.

* Fix: move local security settings to local, not global.

* Fix: Disable SecurityConfig on "test" profile

---------

Co-authored-by: leeeryboy <indiv0227@snu.ac.kr>

* feat: staff 검색 기능 추가 (#176)

* Feat: 학사 및 교과 검색 기능 추가 (#177)

* Revert "fix: test에서 idsnucse 접근 x"

This reverts commit cf52645.

* Fix: move local security settings to local, not global.

* Feat: AcademicsStudentType에 값 지정.

* Feat: AcademicsSearchEntity 추가

* Feat: 각 entity에 search 관계 추가

* Feat: 각 entity create하는 서비스 method에 search entity도 생성하도록 추가.

* Feat: Add academicsSearchRepository

* Feat: Add dto for search

* Refactor: Make name field of academics non null

* Feat: Add exchangePageNum to utils.

* Feat: Add academics search service

* Feat: Add search api for academics.

* Feat: add validation code for utils.exchangePageNum

* Test: Add testcode for exchangePageNum

* REfactor: Add transactional readonly for readGeneralStudies

* fix: apply newacademics to use after saved cached entity.

* fix: fix to add target enitity when create of search entity is called.

* refactor: add default values for nullable values.

* Temp: test code, should be fixed h2 issue.

---------

Co-authored-by: leeeryboy <indiv0227@snu.ac.kr>

* Fix: Research 검색에서 html 태그 없이 검색되도록 설정 (#178)

* Fix: Change createContent to remove html tags on description.

* Test: Update to check removing html tags.

* Feat/add language field (#180)

* feat: 엔티티, dto에 language 추가

* feat: read에 language 추가

* fix: ktlint 수정

* fix: languageRepository 삭제, 함수 enum 클래스로 이동

* fix: language pathVariable -> requestParam 변경 && engName 추가 삭제

* fix: dto 소문자로 return하기 enum 함수로 넣어주기

* fix: requestParam defaultValue 추가

* Refactor: Admission 언어 추가 및 리팩터링 진행 (#182)

* Feat: Move type to type dir, and add main type enum.

* Refactor: Add request body for create, and changed migrate elem body.

* Feat: Change pagename -> name, add language and mainType column, add unique constraints.

* Refactor: Remove unused request dto.

* Refactor: Change AdmissionsDto by adding columns, to be able to used as pure dto.

* Feat: Change to more specific search query.

* Feat: Change multiple methods to few methods, by using mainType.

* Feat: Change to few controller by using mainType, and use request bodies instead of dto.

* Test: AdmissionsServiceTest

* Fix: Add mapping path variable.

* Fix: Fix replacing logic.

* feat: academics 패키지에 language field 추가 (#181)

* feat: 엔티티, dto에 language 추가

* feat: read에 language 추가

* feat: academics에 language field 추가

* fix: ktlint 수정

* feat: course 엔티티에 language field 추가

* feat: readCourse에 language parameter 추가

* fix: languageRepository 삭제, 함수 enum 클래스 이동, academicsEntity name 속성 nullable 추가

* fix: requestParam+defaultValue 추가,

* fix: academics name nullable 없앰

* feat: staff에 language, migration 방법 추가 (#183)

* feat: staffEntity에 language 추가

* feat: branch 이름 변경

* fix: branch origin 이름 변경

* feat: staff 읽기, 수정에서 language 속성 추가

* feat: migrateStaffImage 추가

* fix: StaffServiceTest 수정

* Feat: Admission 검색 (#184)

* Feat: Add korean, english section name.

* Feat: add searchContent column for saving index.

* Feat: Add search query repository method.

* Feat: Define dto of search result element.

* Feat: Add search Top Admission method, and add migrate method creating search content.

* Feat: Add search top admissions method to controller.

* Test: Add test for Admission Service.

* Refactor: Remove Location Entity (#186)

* feat: member/research 패키지 이미지와 첨부파일 마이그레이션 코드 작성 (#185)

* feat: migrateProfessorImage 추가

* feat: migrateResearchImageAndAttachments 추가

* feat: migrateStaffImage 추가

* feat: migrateLabPdf 추가

* feat: about에서 이미지랑 첨부파일 추가 (#187)

* feat: migrateProfessorImage 추가

* feat: migrateResearchImageAndAttachments 추가

* feat: migrateStaffImage 추가

* feat: migrateLabPdf 추가

* feat: about에서 이미지랑 첨부파일 추가

* feat: dev 로그인 (#188)

* dev서버 로그인 바이패스

* style: ktlint

* fix: mock auth config 분리

* fix: uri 수정

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: professor language 추가 (#189)

* fix: professor language 추가

* feat: professor 테스트 추가

* feat: professor language 다른 테스트에도 추가

* feat: 테스트 알맞게 수정

* Feature: About 검색 추가 (#192)

* Feat: Change to create search content.

* Feat: Add search query method.

* Feat: Add create, migrate to create searchContent, and add search method.

* Feat: add search api

* COMMENT: add fix comment for aboutservicetest.

* Refactor: Move dtos to ee directory.

* Feat: Add validation for number, pagesize, pagenum

* feat: research 패키지에 language 추가 (#194)

* fix: professor language 추가

* feat: professor 테스트 추가

* feat: professor language 다른 테스트에도 추가

* feat: 테스트 알맞게 수정

* feat: researchDetail에 language 추가

* feat: lab에 language 추가

* fix: about, admission migrate search todo 추가

* Refactor: Admission 검색 리펙터링 (#193)

* Refactor: Merge queries into one.

* Refactor: Add page search method.

* Refactor: Add total count.

* Refactor: change to search page or search top.

* feat: academics 패키지 마이그레이션 추가 (#195)

* fix: professor language 추가

* feat: professor 테스트 추가

* feat: professor language 다른 테스트에도 추가

* feat: 테스트 알맞게 수정

* feat: researchDetail에 language 추가

* feat: lab에 language 추가

* fix: about, admission migrate search todo 추가

* fix: course migrate 추가

* fix: conference, scholarship language 추가

* fix: migrate academics, scholarship 추가

* fix: migrate academics attachments 추가

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: ktlint 정리

* fix: ktlint 정리 2

* fix: 실수로 삭제한 코드 복구

* Refactor: Member Search (#197)

* feat: professor 테스트 추가

* feat: 테스트 알맞게 수정

* fix: about, admission migrate search todo 추가

* Fix: Add commented authentication.

* Feat: Add language field to search entity

* Feat: Add language in search condition, remove duplicated exchangePageNum, Merge search queries

* Feat: Change res body dir, merge two seperate body into one, add language field

* Feat: Change return body, repository method useing.

* Feat: Add language query parameter, change response body.

* Test: Check language of search.

* Refactor: Change res body results key as "results"

* Refactor: Remove unneeded transactional on interface.

---------

Co-authored-by: DESKTOP-USQPRVG\gram <blueland1998@naver.com>

* feat: getMapping에 language requestParam 추가 (#198)

* fix: academics 패키지 get에 language 추가

* fix: professor 패키지 get에 language 추가

* fix: research 패키지 get에 language 추가

* feat: academics 패키지 이름에 맞게 변경 (#199)

* feat: add readDegreeRequirements

* feat: readGeneralRequirements 삭제, readDegreeRequirements 추가

* feat: AcademicsEntity time 칼럼 삭제

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* Refactor: academics search (#200)

* Refactor: research search (#201)

* fix: pageSize 추가 (#203)

* fix: pageSize 쿼리 파라미터 추가

* 함수 인자에서 defaultValue 지정

* fix: 인증 로직 수정 (#206)

* fix: mock-login 위해서 인증 로직 수정

* add v1 to uri

* fix: migrateConferences에서 authenticatedStaff 삭제 (#204)

* fix: simpleProfessorDto에서 status 추가 (#205)

* fix: readDegreeRequirements에 파일 보이도록 추가 (#209)

* fix: StudentClubDto에 engName 추가 (#210)

* fix: researchEntity에 websiteURL 추가 (#211)

* fix: researchEntity에 websiteURL 추가

* fix: ProfessorServiceTest 수정

* Fix: `exchangepageNum`에서 total이 0일 경우 케이스 추가. (#213)

* Fix: Add condition that when total is 0 return pageNum as 1

* Refactor: Rename method name to be more clear.

* Refactor: Remove not needed duplicated conditional check.

* Test: Add test for exchangeValidPageNum for checking when total = 0

* fix: readGeneralStudiesRequirements 추가 (#212)

* fix: readGeneralStudiesRequirements 추가

* fix: readGeneralStudiesRequirements 프론트 협의사항에 따라 수정

* fix: DegreeRequirementsDto description 삭제

* AcademicsPostType 타입 이름 주석 추가

* Fix: Notice 비밀글 표시 안되도록 수정 (#216)

* Feat: Add FindByIdAndIsPrivateFalse

* Fix: Change totalSearchNotice to get isStaff and hide private when not a staff.

* Fix: Change searchTotalNotice and readNotice to consider isStaff.

* Fix: Change totalSearchNotice and readNotice to check authentication and get staff info.

* fix: readFutureCareers에 description 수정 (#214)

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: 파일 크기 100MB로 늘림

* Feat: Research 검색 결과 research 타입 상세화 (#218)

* Refactor: Remove unused method

* Comment: Add comment

* Feat: Add specific research types to enum

* Feat: Change to give more specified enum when it is research related column.

* Refactor: Remove unused LAB entry from Research.

* fix: pdf 타입 AttachmentResponse로 변경 (#220)

* Feat: Add more type to academic. (#221)

* Fix: Change partialDescription to give with searchContent. (without html, all fields) (#222)

* fix: 단건 조회 & 통합 검색 권한 체크 (#217)

* fix: private 단건 조회 권한 체크

* Fix: Notice 비밀글 표시 안되도록 수정 (#216)

* Feat: Add FindByIdAndIsPrivateFalse

* Fix: Change totalSearchNotice to get isStaff and hide private when not a staff.

* Fix: Change searchTotalNotice and readNotice to consider isStaff.

* Fix: Change totalSearchNotice and readNotice to check authentication and get staff info.

* fix: newsTotalSearch 권한 체크

* style: ktlint

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* Fix: Formatting issue.

* Fix: Add studentType for all academic search result. (#224)

* Config: Spring Boot 3.2, Java 21로 업그레이드, Virtual Thread 적용 (#223)

* Fix: add join condition for news total search (#226)

* Feat: Spring Boot 서버에서 Error 발생 시 Slack으로 로그 전송 기능 추가 (#228)

* Dependency: Add slack appender

* Config: Add slack appender for sending error log to slack.

* Config: Add slack api info when making env file.

* Feat: Add to logging error for SQLIntegrityConstraintViolationException and RESTClientException

* Config: Update gradle wrapper

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>
Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>
Co-authored-by: DESKTOP-USQPRVG\gram <blueland1998@naver.com>
huGgW added a commit that referenced this pull request Apr 3, 2024
* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* :sparkles: 패키지 및 엔티티 생성

* :sparkles: BaseTimeEntity 생성, PostEntity 기본 내용 작성

* :sparkles: PostController 생성 및 기본 내용 작성

* :sparkles: postService 생성

* :sparkles: Exceptions.kt 생성

* :sparkles: postDto 생성

* :sparkles: postRepository 생성 및 기본 내용 작성

* :green_heart: application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

* fix: main에서 develop으로 pr (#16)

* feat: merge develop to main (#13)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* :sparkles: 패키지 및 엔티티 생성

* :sparkles: BaseTimeEntity 생성, PostEntity 기본 내용 작성

* :sparkles: PostController 생성 및 기본 내용 작성

* :sparkles: postService 생성

* :sparkles: Exceptions.kt 생성

* :sparkles: postDto 생성

* :sparkles: postRepository 생성 및 기본 내용 작성

* :green_heart: application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* hotfix: 사용하지않는 Dto 및 엔티티 삭제 (#14)

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* feat: seminar 패키지 추가 (#17)

* feat: createSeminar, readSeminar, updateSeminar 추가

* feat: deleteSeminar, searchSeminar 추가

* fix: distinct 삭제

* hotfix: 불필요한 dto 삭제 (#20)

* hotfix: 불필요한 dto 삭제

* build.gradle 수정

* fix: 이미지 uri 필드 추가 및 프론트 요구사항 반영 (#21)

* feat: 이미지 uri 필드 추가 및 isActive 대신 status 추가

* fix: 행정직원 전체 조회 응답에서 task 삭제

* fix: 교수진 페이지 응답 수정

* feat: introduction 패키지, undergraduate 패키지 추가 (#22)

* feat: createUndergraduate, readUndergraduate 추가

* feat: readAllCourses, createCourse, readCourse 추가

* introduction 패키지 추가

* fix: dto에서 postType 삭제

* fix: postType pathVariable->requestBody 수정, 오타 수정

* fix: 프론트와 협의하여 이름 등 변경

* feat: academics 패키지 대학원도 가능하도록 추가

* feat: 장학제도 세부 장학금 create, read 추가

* fix: 수정

* fix:수정

* feat: admissions, research 패키지 추가 (#23)

* feat: admissions-학부 에서 create, read 추가

* feat: admissions-대학원도 작성 가능하도록 추가

* feat: createResearch 추가

* feat: createLab 추가

* fix: 다른 패키지에 맞게 수정

* research-groups, research-centers에서 read, update 추가

* fix: admissions, research에서 프론트와 협의하여 이름 등 수정

* fix: 오타 수정

* fix: enum 추가, pr 리뷰 반영

* feat: oidc 로그인 (#27)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: idsnucse 다운 되었을때 에러 처리

* feat: idsnucse 다운 되었을때 에러 처리

* feat: cors 설정 (#30)

* fix: cors 추가 설정 (#32)

* feat: cors 설정

* feat: cors 설정

* fix: CORS (#34)

* feat: cors 설정

* feat: cors 설정

* feat: cors 설정

* fix: about, academics, admissions 패키지 수정 (#25)

* fix: admissions, about 컨트롤러 변경

* fix: academics 컨트롤러 수정

* 커밋중

* fix: pr 리뷰 반영

* feat: readMain 추가

* pr 리뷰 반영

* feat: 일반 예약 및 정기 예약 API (#28)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: 예약 엔티티 및 DTO 설계

* feat: 일반 예약 및 정기 예약

* feat: 예약 조회 API (#39)

* feat: 권한 관리 위해 커스텀 어노테이션 생성

* feat: 예약 단건, 주별, 월별 조회 API

* fix: 로컬 DB 설정 수정

* feat: 유저 조회 중복 쿼리 방지

* feat: 예약 응답에 recurrenceId 추가

* feat: 동시 예약 방지

* fix: 시큐리티 로그 다시 로컬에서만 보이도록 변경

* feat: 목데이터 날라가지 않도록 ddl-auto 수정

* feat: about, member, news, seminar 메인 이미지 업로드 추가 (#38)

* feat: uploadImage 추가

* feat: about, member 사진 업로드 추가

* feat: news, seminar 사진 업로드 추가

* refactor: imageEntity 추가 리팩토링

* fix: gif 삭제

* fix: application.yaml 수정

* fix: newsService 태그 -> 이미지로 순서 변경

* fix: pr 리뷰 수정

* fix: extension 없애고, mainImage로 바꾸고, uuid 없애기

* fix: var 삭제

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* CICD: Change deploy port to 8080 (#40)

* [Merge] (#41) (#42)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* :sparkles: 패키지 및 엔티티 생성

* :sparkles: BaseTimeEntity 생성, PostEntity 기본 내용 작성

* :sparkles: PostController 생성 및 기본 내용 작성

* :sparkles: postService 생성

* :sparkles: Exceptions.kt 생성

* :sparkles: postDto 생성

* :sparkles: postRepository 생성 및 기본 내용 작성

* :green_heart: application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

* fix: main에서 develop으로 pr (#16)

* feat: merge develop to main (#13)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* :sparkles: 패키지 및 엔티티 생성

* :sparkles: BaseTimeEntity 생성, PostEntity 기본 내용 작성

* :sparkles: PostController 생성 및 기본 내용 작성

* :sparkles: postService 생성

* :sparkles: Exceptions.kt 생성

* :sparkles: postDto 생성

* :sparkles: postRepository 생성 및 기본 내용 작성

* :green_heart: application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

---------




* hotfix: 사용하지않는 Dto 및 엔티티 삭제 (#14)

---------




* feat: seminar 패키지 추가 (#17)

* feat: createSeminar, readSeminar, updateSeminar 추가

* feat: deleteSeminar, searchSeminar 추가

* fix: distinct 삭제

* hotfix: 불필요한 dto 삭제 (#20)

* hotfix: 불필요한 dto 삭제

* build.gradle 수정

* fix: 이미지 uri 필드 추가 및 프론트 요구사항 반영 (#21)

* feat: 이미지 uri 필드 추가 및 isActive 대신 status 추가

* fix: 행정직원 전체 조회 응답에서 task 삭제

* fix: 교수진 페이지 응답 수정

* feat: introduction 패키지, undergraduate 패키지 추가 (#22)

* feat: createUndergraduate, readUndergraduate 추가

* feat: readAllCourses, createCourse, readCourse 추가

* introduction 패키지 추가

* fix: dto에서 postType 삭제

* fix: postType pathVariable->requestBody 수정, 오타 수정

* fix: 프론트와 협의하여 이름 등 변경

* feat: academics 패키지 대학원도 가능하도록 추가

* feat: 장학제도 세부 장학금 create, read 추가

* fix: 수정

* fix:수정

* feat: admissions, research 패키지 추가 (#23)

* feat: admissions-학부 에서 create, read 추가

* feat: admissions-대학원도 작성 가능하도록 추가

* feat: createResearch 추가

* feat: createLab 추가

* fix: 다른 패키지에 맞게 수정

* research-groups, research-centers에서 read, update 추가

* fix: admissions, research에서 프론트와 협의하여 이름 등 수정

* fix: 오타 수정

* fix: enum 추가, pr 리뷰 반영

* feat: oidc 로그인 (#27)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: idsnucse 다운 되었을때 에러 처리

* feat: idsnucse 다운 되었을때 에러 처리

* feat: cors 설정 (#30)

* fix: cors 추가 설정 (#32)

* feat: cors 설정

* feat: cors 설정

* fix: CORS (#34)

* feat: cors 설정

* feat: cors 설정

* feat: cors 설정

* fix: about, academics, admissions 패키지 수정 (#25)

* fix: admissions, about 컨트롤러 변경

* fix: academics 컨트롤러 수정

* 커밋중

* fix: pr 리뷰 반영

* feat: readMain 추가

* pr 리뷰 반영

* feat: 일반 예약 및 정기 예약 API (#28)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: 예약 엔티티 및 DTO 설계

* feat: 일반 예약 및 정기 예약

* feat: 예약 조회 API (#39)

* feat: 권한 관리 위해 커스텀 어노테이션 생성

* feat: 예약 단건, 주별, 월별 조회 API

* fix: 로컬 DB 설정 수정

* feat: 유저 조회 중복 쿼리 방지

* feat: 예약 응답에 recurrenceId 추가

* feat: 동시 예약 방지

* fix: 시큐리티 로그 다시 로컬에서만 보이도록 변경

* feat: 목데이터 날라가지 않도록 ddl-auto 수정

* feat: about, member, news, seminar 메인 이미지 업로드 추가 (#38)

* feat: uploadImage 추가

* feat: about, member 사진 업로드 추가

* feat: news, seminar 사진 업로드 추가

* refactor: imageEntity 추가 리팩토링

* fix: gif 삭제

* fix: application.yaml 수정

* fix: newsService 태그 -> 이미지로 순서 변경

* fix: pr 리뷰 수정

* fix: extension 없애고, mainImage로 바꾸고, uuid 없애기

* fix: var 삭제

---------



* CICD: Change deploy port to 8080 (#40)

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>

* feat: 장학제도 GET API 및 장학제도 페이지 응답 수정 (#44)

* feat: 장학제도 GET API

* feat: 장학제도 메인페이지 GET API 응답 수정

* feat: custom metadata 설정 + 리다이렉트 엔드포인트 변경 (#45)

* feat: yml 파일에 custom metadata endpoint 추가

* feat: 로그인/로그아웃 성공 리다이렉트 엔드포인트 변경

* feat: attachments 패키지 추가, news와 seminar request에 attachments 추가 (#43)

* feat: attachments 추가, news request에 attachments 추가

* feat: seminar request에 attachments 추가

* fix: mappedBy 추가 + bringAttachments null 없앰

* fix: 경로 분리

* fix: isDeleted false로 수정

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* feat: Top Conference List GET API (#47)

* feat: Top Conference List GET API

* feat: db에서 가져올때 정렬

* feat: 파일 서빙, 다운로드, 삭제 API (#48)

* feat: 파일 서빙, 다운로드, 삭제 API

* fix: extension 중복, 경로 수정

* feat: 공지사항 글쓴이 추가 (#49)

* CI/CD: Https 적용 및 백엔드, 데이터베이스, 프록시 서버 배포 분리 (#50)

* Config: Add gitignore for caddy files.

* CICD: Add caddy config file

* CICD: Seperate docker compose file for db and backend server.

* CICD: Docker Compose file for caddy proxy server.

* CICD: Add path condition for only act when source file has changed.

* CICD: Add workflow for deploying database changes.

* CICD: Add workflow for proxy server changes.

* Refactor: Add /api/v1 in front of all endpoints (except swagger-ui)

* Refactor: Add v1 to Main Image url.

* Refactor: change backend, frontend, login redirect uri to get from env.

* CICD: Add url to .env

* Fix: Change job name of database workflow, fix indent level.

* Fix: Remove duplicated restcontroller mapping.

* Fix: Set reverse proxy for swagger-ui/* for swagger.

* Docs: Set swagger to only scan /api/**

* Fix: add caddy to reverse api-docs/* for springdoc.

* Fix: Add login uris for reverse proxying to backend server.

* CICD: Remove testing branch condition.

* CICD: Add logout uri to reverse proxy to backend server.

* CICD: Remove test branch

* fix: 프론트랑 협의하여 내용 변경 + news, seminar에 image, attachments update 추가 (#51)

* feat: attachments 추가, news request에 attachments 추가

* feat: seminar request에 attachments 추가

* feat: about request에 attachments 추가

* feat: academics request에 attachments 추가

* fix: isPinned 삭제

* fix: image -> mainImage 변경, about에 greetings 추가

* fix: news, seminar update 수정

* fix: 전체적으로 image -> mainImage 변경

* fix: research 패키지 프론트에 맞춰 협의 (#52)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* fix: pr 리뷰 수정

* fix: 오타 수정

* [Refactor] 로그인, file uri 배포 환경에 맞게 수정 (#53)

* Refactor: Change mapping of file to append /api/v1 in front.

* Refactor: Change login, logout redirect uri

* fix: https 적용 관련 로그인 수정 (#56)

* fix: notice 패키지 프론트에 맞게 협의 (#54)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* feat: notice에 attachments 추가

* fix: fix_with_front1 변경 사항에 맞게 수정

* feat: isImportant 추가

* feat: NoticeSearchDto에 hasAttachment 추가

* fix: update에서 attachmetnts가 null일 때 빈 목록 반환

* feat: 공지사항 선택 고정해제, 선택 삭제 추가

* fix: news, seminar에 isImportant 추가

* fix: pr 리뷰 수정

* fix: 수정했던거 다시 복구

* feat: 신임교수초빙 (#59)

* feat: 행정실 권한 체크 API (#60)

* [CICD] mainImage, attachment 경로 mount 설정 (#55)

* CICD: Add mainImage, attachment directory for mounting

* CICD: Add volumes to mount with server directory. (for attachment)

* [Feat] 예전 url과 비슷하게 이전 파일(사진)들 접근할 수 있도록 controller 생성 (#58)

* Config: Add oldFiles path for properties.

* Feat: Add deprecated file controller for getting old files temporarily.

* CICD: Add volume mounting for old files.

* CICD: Add dir to mount for old files.

* Refactor: Change api to /sites/default/files/{PATH}

* CICD: Add reverse proxy for old file serving.

* fix: 예약 dto에 지도교수, 반복 횟수 추가 (#61)

* fix: 로그아웃 엔드포인트 변경 (#64)

* fix: 로그아웃 엔드포인트 변경

* fix: 로그아웃 성공 리다이렉트 엔드포인트 변경

* [Fix] Notice, News Description TEXT type으로 변환 (#65)

* Fix: Change notice and news entity description type as TEXT.

* Fix: Change to mediumtext

* fix: newsSearchResponse, seminarSearchResponse 수정 (#66)

* fix: newsSearchResponse 수정

* fix: SeminarSearchResponse 수정

* fix: 오타수정

* fix: 파일 업로드 경로 통일 (#68)

* fix: 갯수만 fetch하도록 최적화 (#70)

* Fix: Change type of additionalNote column on SeminarEntity to "TEXT" (#71)

* fix: academics 패키지 프론트에 맞춰 협의, admin 패키지 추가 (#69)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* feat: notice에 attachments 추가

* fix: fix_with_front1 변경 사항에 맞게 수정

* feat: isImportant 추가

* feat: NoticeSearchDto에 hasAttachment 추가

* fix: update에서 attachmetnts가 null일 때 빈 목록 반환

* feat: 공지사항 선택 고정해제, 선택 삭제 추가

* fix: news, seminar에 isImportant 추가

* fix: pr 리뷰 수정

* fix: 수정했던거 다시 복구

* fix: course response 수정

* feat: academics에서 연도별로 주는 response 추가

* feat: academics YearResponses 추가

* fix: createScholarship 합치기

* fix: scholarship 패키지의 내용을 academics 하위로 옮김

* feat: createScholarshipDetail 추가

* fix: 필수 교양과목 response 변경

* feat: admin 패키지에서 readAllSlides 추가

* feat: admin 패키지 readAllImportants 추가

* feat: admin 패키지 중요안내 추가

* Refactor: HTML로부터 텍스트 추출 함수 Utils로 이동 (#73)

* Feat: Add cleanTextFromHtml.

* Refactor: Remove private clean method, replace to Utils.cleanTextFromHtml.

* Refactor: Remove unused imports.

* Feat: Add plain text description for notice (#74)

* Feat: Add cleanTextFromHtml.

* Refactor: Remove private clean method, replace to Utils.cleanTextFromHtml.

* Refactor: Remove unused imports.

* Feat: Add plainTextDescription.

* Feat: Add plainTextDescription in createNotice.

* Feat: add updating plainTextDescription when updating description.

* fix: admissions 패키지 프론트에 맞게 협의 (#76)

* fix: admissions 프론트에 맞게 협의

* fix: seminarEntity time 삭제

* fix: admissionsEntity pageName 추가

* fix: 불필요한 파일 삭제

* 커밋

* fix: 이전 글 다음 글만 fetch 하도록 쿼리 최적화 (#75)

* fix: 이전 글 다음 글만 fetch 하도록 쿼리 최적화

* fix: distinct 수정

* fix: 쿼리 최적화

* fix: total Long 타입으로 수정

* CI/CD: Test 설정 (#77)

* Config: Add kotest, mockk, h2 db for testing.

* Config: Add test profile.

* Config: Add testconfig for jpaqueryfactory.

* CICD: Add build, test workflow

* Fix: Revert local datasource url change.

* [Test] Notice create, update 시 plainTextDescription 동작 테스트 (#78)

* Config: Add test profile.

* Test: Add Tests for Create, Update Notice, in perspective of plainTextDescription

* Fix: Change life cycle hook resolution to container.

* [Feat] Seminar plain text field 추가 (#79)

* Feat: Add plain text column for description, introduction, additionalnote.

* Feat: Add description, introduction, additionalnote for dto -> entity.

* Feat: Change to update plain description, introduction, additional note.

* Feat: Use plainTextDesription for searchdto.

* Test: Test for create, update of plain texts.

* Test: Fix seminar service test.

* Feat: News plain text field 추가 (#80)

* Feat: Add plainTextDescription field for news entity

* Feat: Add to create, and update plainTextDescription.

* Feat: Change to use plainTextDescription when making newssearchdto.

* Test: Test for create/update plainTextDescription.

* Feat: 구성원 검색 위한 table 추가. (#81)

* Feat: MemberSearchEntity 추가.

* Feat: MemberSearchRepository 추가

* Feat: MemberSearchService 추가

* Feat: ProfessorEntity, StaffEntity에 MemberSearch 추가.

* Feat: ProfessorStatus에 한글 값 추가.

* Feat: professor create, update 시 memberSearch도 반영하도록 추가.

* Feat: seminar create, update 시 memberSearch도 반영하도록 추가.

* Test: ProfessorService 테스트 추가.

* Test: StaffServiceTest 추가.

* fix: 새소식 세미나 쿼리 수정 (#82)

* refactor: 유틸 패키지 생성 및 FixedPageRequest 분리

* feat: 새소식 세미나 이전 다음 글 및 total 쿼리 최적화

* fix: pageNum 값으로 usePageBtn 값 설정

* fix: import 경로 수정

* fix: local db port 3306

* 중복 삭제

* fix: prod endpoint https로 변경

* fix: main 프론트에 맞게 협의, notice 태그 enum 추가 (#83)

* fix: mainResponse 다시 작성

* feat: TagInNoticeEnum 추가

* feat: notice enum 추가

* fix: 코드 수정

* fix: isPublic -> isPrivate으로 정리 (#86)

* fix: rebase 정리

* fix: 오타 수정

* feat: 로컬 로그인 테스트용 엔드포인트로 임시 변경 (#87)

* Feat: 구성원 검색 API 추가 (#85)

* Feat: Add mysql custom dialect with MATCH AGAINST BOOLEAN MODE function.

* CICD: Add config for mysql db

* CICD: Add volumes for config file.

* CICD: Add db_config for condition for db deploy

* Feat: Add search top, and search query.

* Feat: Add DTOs

* Feat: Add Controller for member search only top, and page.

* Feat: Add dialect config for application.yaml

* Feat: Add controller for member search.

* Refactor: Change exception message to korean.

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>

* fix: 세미나 시간 타입 변경 (#91)

* fix: 세미나 시간 LocalDateTime으로 변경

* test: 테스트 수정

* fix: 태그 항목 수정 (#92)

* fix: news tag 추가 (#90)

* fix: news tag 추가

* fix: 일반인은 isPrivate = false인 것만, 직원은 모든 게시글 보여주기

* feat: 졸업생 창업 진로, 졸업생 진로 response 추가 (#94)

* fix: news tag 추가

* fix: 일반인은 isPrivate = false인 것만, 직원은 모든 게시글 보여주기

* feat: about  졸업생 read 추가

* fix: 오타 수정

* fix: conference 주소 추가 (#95)

* Feat: 연구 탭 통합검색 위한 Table 생성. (#97)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Fix: Fix typo, import library.

* Feat: Lab Update API 추가 (#98)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Feat: Add update method for labentity.

* Feat: Add update lab service.

* Feat: Add update lab controller.

* Test: Add ResearchServiceTest.

* Feat: Add deleteAttachment (marking)

* Fix: Add typo, add import library.

* Feat: Conference page 수정 API (#99)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Feat: Add update method for labentity.

* Feat: Add update lab service.

* Feat: Add update lab controller.

* Test: Add ResearchServiceTest.

* Feat: Add Conference Repository.

* Feat: add conferenc eentity method for create, update entity.

* Feat: Change variables to mutable.

* Feat: Add id in conferencedto.

* Feat: Add to sort the conferenceList.

* Feat: Add deleteAttachment (marking)

* Feat add service to modify conference page (create, modify, delete conferences)

* Feat: Add api for modify conference page.

* Test: Add test for conference service.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 파일 관련 수정 (#100)

* fix: 업로드 파일 사이즈 제한

* fix: 원본 첨부파일 이름으로 응답

* refactor: 세미나 업데이트 시 삭제할 첨부파일 id만 받도록 변경

* fix: 파일 api 경로 수정

* fix: deleteAttachment

* fix: GET notice 권한 관련 로직 수정 (#101)

* Refactor: Extract Full Text Query Template to CommonRepository (#102)

* Feat: Extract full text search template to common repository.

* Feat: Change full text search to use extracted repository.

* Feat: Add for 4 elements.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Notice Seminar News Search to Full Text Query (#105)

* Feat: Extract full text search template to common repository.

* Feat: Change full text search to use extracted repository.

* Feat: Add for 4 elements.

* Feat: Add more args cnt.

* Feat: Change keyword boolean builder to full text.

* Feat: Change keyword boolean builder to full text.

* Feat: Change keyword boolean builder to full text.

* Hotfix: Change mount volume. (#103)

* feat: api 권한 설정 (#84)

* fix: GET notice 권한 관련 로직 수정 (#109)

* fix: 필요한 column만 select (#111)

* refactor: 공지 태그 응답 한국어로 변경 및 리팩토링 (#113)

* refactor: 공지 태그 응답 한국어로 수정 및 리팩토링

* refactor: 새소식 태그 리팩토링

* fix: NewsRepository

* fix: 공지 새소식 PATCH 로직 수정 (#114)

* fix: 공지 새소식 PATCH 로직 수정

* test: 테스트 수정

* fix: news 엔티티에 날짜 추가 (#115)

* Feat: 검색 결과에서 keyword 위치, 적절한 substring 추출 위한 method 추가 (#116)

* Feat: Add utils substringAroundKeyword

* Test: Add test for Utils.kt

* fix: total 더미 값 + pageNum null일때만 더미 값 주기 (#117)

* fix: 예약 조회 권한 분리 및 응답 단순화 (#119)

* fix: 예약 단건 조회 권한 분리

* feat: 월별,주별 조회용 SimpleReservationDto

* fix: 로그인 리다이렉트 엔드포인트 복구 (#121)

* feat: migrateAbout, migrateFutureCareers 추가 (#118)

* feat: AboutRequest, migrateAbout 추가

* feat: future-careers 마이그레이션 추가

* feat: request 패키지 추가

* fix: AboutRequest 간소화

* fix: future-careers description aboutEntity에 저장

* feat: about 패키지 마이그레이션 추가 (#120)

* feat: AboutRequest, migrateAbout 추가

* feat: future-careers 마이그레이션 추가

* feat: request 패키지 추가

* fix: 불필요한 dto 삭제

* feat: migrateStudentClubs 추가

* feat: migrateFacilities 추가

* feat: migrateDirections 추가

* fix: 불필요한 dto 삭제

* fix: request 패키지 삭제

* fix: 오타 수정

* fix: news, notice에 titleForMain 추가 (#125)

* fix: 소식3총사 titleForMain 데이터 생성

* fix: 테스트에 titleForMain  추가

* Revert "fix: 테스트에 titleForMain  추가"

This reverts commit e824ad34e60e0785f1d4c4e187776d4b8bf53dfa.

* fix: 테스트에 titleForMain 추가

* fix: seminar titleForMain 추가

* fix: seminar test titleForMain 추가

* feat: LocalDateTime 응답 마지막에 Z 추가 (#126)

* refactor: deleteIds request 내부로 이동 (#127)

* refactor: deleteIds request 내부로 이동

* test: 테스트 수정

* fix: 확장자 중복 버그 (#128)

* feat: 관리자는 새소식, 세미나 목록에서 비공개 글 확인 가능 (#129)

* feat: research, member 패키지 migrate 추가 (#130)

* feat: migrateProfessors 추가

* feat: migrateResearchDetail 추가

* feat: migrateLabs 추가

* fix: migrate 엔티티 description에 mediumText 추가

* feat: migrateStaff 추가

* fix: 빠진거 수정

* fix: 중복 패키지 삭제

* fix: 너무 안긴거 text로 수정

* fix: noticeSearchDto에도 private 추가 (#131)

* fix: noticeSearchDto에도 private 추가

* fix: json 추가

* fix: 수정 및 추가

* fix: 수정

* Fix: 키워드 추출 함수 수정 (#122)

* Fix: Fix IndexOutOfBoundException, change to return index based on substring.

* Fix: Change to check index exclude case, and set front, back index to better contains keyword.

* Test: Update Test.

* Feat: 통합검색 Notice API 구현 (#123)

* Feat: Add dtos for notice total search.

* Feat: Add repository for notice total search.

* Feat: Add service, controller for notice total search

* Feat: News 통합 검색 API 구현 (#124)

* Feat: Add dto for total search of news.

* Feat: Add repository for total search.

* Feat: Add service, controller for news total search.

* Fix: Fix conflict issues.

* fix: 기존 objectMapper 설정 오버라이드 (#132)

* feat: 파일 업로드 컨트롤러 구현 (#133)

* Feat: Change titleForMain column to TEXT type. (#134)

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* hotfix: mixed content issue (#136)

* hotfix: loginPage to https (#139)

* hotfix: mixed content issue

* hotfix: loginPage

* fix: false로 수정 (#141)

* fix: 이전 다음 글에서 비공개 글 제외 (#143)

* fix: 이전 다음글 비공개 제외

* fix: prev-next

* CBT 위해서 예약 GET 권한체크 주석처리

* Feat: 뉴스 날짜로 정렬 (#144)

* Feat: Change date field to NOT NULLABLE.

* Feat: Change to sort by date, not createdat.

* Test: Fix test.

* Test: Move news test dir.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Add description for slide. (#146)

* style: ktlint (#145)

* style: ktlint

* Feat: change to ktlint_disabled_rules

* Refactor: fix to lint using ktlint.

* Refactor: After merge.

* Fix: After merge.

* Refactor: ReReLint

---------

Co-authored-by: huGgW <whjoon0225@naver.com>

* fix: 텍스트 인코딩 (#147)

* fix: content-dispostion

* fix: 텍스트 인코딩

* fix: 강제 다운로드

* style: ktlint

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* Update ktlint-check.yml

* fix: 중요 안내 (#149)

* fix: 삭제된 글 중요 안내에서 보이지 않도록 수정

* fix: 중요 안내 최대 2개만 보내도록 + plainTextDescription

* style: ktlint

* fix: 첨부파일 다운로드 (#154)

* Feat: 관리자 슬라이드에 total 추가, refactoring (#153)

* Feat: Change dto name, and add total to AdminSlidesResponse.

* Feat: Add pageSize as parameter.

* Feat: move readAllSlides to news repository, add total query.

* Feat: Extract getNewsEntityByIdOrThrow

* Feat: Move readAllSlides and unSlideManyNews logic handling to news service.

* Comment: Add comment for refactoring.

* Test: Add test for read all slides.

* Refactor: Linting.

* Feat: Change pageNum to start at 1.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 세미나 isYearLast 로직 수정 (#155)

* fix: 세미나 isYearFirst 로직 수정

* fix: isYearLast로 재변경 및 로직 수정

* fix: 이전글 다음 글 isDelete,isPrivate 조건 추가 (#151)

* fix: 이전글 다음 글 isDelete 추가

* fix: ktlint 수정

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 메인 공지 정렬 (#158)

* fix: 예약 조회 권한 수정 (#157)

* Feat: 통합검색 정렬 최신순 (#156)

* Feat: Admin Important에 pagination 추가, total 추가. (#159)

* fix: titleForMain이 없어도 isImportant 등록 가능 (#160)

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: em.close() 추가 (#162)

* fix: em.close() 추가

* fix: total에도 추가

* feat: migrateConference 추가 (#164)

* feat: migrateConferences 추가

* fix: 수정

* fix: 수정

* fix: 검색 추가

* fix: createConferenceDto 삭제

* CICD: Add blocking backend api except frontend. (#166)

* CICD: Add blocking backend api except frontend.

* CICD: Remove login, logout, file api from blacklist.

* CICD: Change to just block swagger apis.

* fix: group 변경 반영 (#167)

* refactor: 실제 스누씨 서버 연동 (#168)

* refactor: local-test 중복 항목 공통으로 처리하고 prod에서 오버라이드

* feat: 스누씨 실서버용 환경 변수 설정

* refactor: 로그인 페이지 통합 및 CORS 설정 변경

* fix: CORS

* feat: migrateAdmissions 추가 (#165)

* fix: migrateAdmissions 추가

* fix: 잘못 쓴거 수정

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Increase speakerurl size (#170)

* fix: 로컬에서도 idsnucse로 연결 (#174)

* fix: 로컬에서도 idsnucse 바라보게끔 변경

* fix: test에서 idsnucse 접근 x

* Revert "fix: test에서 idsnucse 접근 x"

This reverts commit cf526452abdc629b433efe701c9fd6ff60893f1e.

* Fix: move local security settings to local, not global.

* Fix: Disable SecurityConfig on "test" profile

---------

Co-authored-by: huGgW <whjoon0225@naver.com>

* feat: Research 검색 (#175)

* fix: 로컬에서도 idsnucse 바라보게끔 변경

* feat: enable async.

* Feat: create professor event.

* Feat: Publish event on professor modification.

* Feat: Update research search when listen professor event.

* Test: ResearchSearchService listen professor event

* fix: test에서 idsnucse 접근 x

* Revert "fix: test에서 idsnucse 접근 x"

This reverts commit cf526452abdc629b433efe701c9fd6ff60893f1e.

* Fix: fixed event listener logic

* Feat: Add search api for research.

* Test: Fix test.

* Fix: move local security settings to local, not global.

* Fix: Disable SecurityConfig on "test" profile

---------

Co-authored-by: leeeryboy <indiv0227@snu.ac.kr>

* feat: staff 검색 기능 추가 (#176)

* Feat: 학사 및 교과 검색 기능 추가 (#177)

* Revert "fix: test에서 idsnucse 접근 x"

This reverts commit cf526452abdc629b433efe701c9fd6ff60893f1e.

* Fix: move local security settings to local, not global.

* Feat: AcademicsStudentType에 값 지정.

* Feat: AcademicsSearchEntity 추가

* Feat: 각 entity에 search 관계 추가

* Feat: 각 entity create하는 서비스 method에 search entity도 생성하도록 추가.

* Feat: Add academicsSearchRepository

* Feat: Add dto for search

* Refactor: Make name field of academics non null

* Feat: Add exchangePageNum to utils.

* Feat: Add academics search service

* Feat: Add search api for academics.

* Feat: add validation code for utils.exchangePageNum

* Test: Add testcode for exchangePageNum

* REfactor: Add transactional readonly for readGeneralStudies

* fix: apply newacademics to use after saved cached entity.

* fix: fix to add target enitity when create of search entity is called.

* refactor: add default values for nullable values.

* Temp: test code, should be fixed h2 issue.

---------

Co-authored-by: leeeryboy <indiv0227@snu.ac.kr>

* Fix: Research 검색에서 html 태그 없이 검색되도록 설정 (#178)

* Fix: Change createContent to remove html tags on description.

* Test: Update to check removing html tags.

* Feat/add language field (#180)

* feat: 엔티티, dto에 language 추가

* feat: read에 language 추가

* fix: ktlint 수정

* fix: languageRepository 삭제, 함수 enum 클래스로 이동

* fix: language pathVariable -> requestParam 변경 && engName 추가 삭제

* fix: dto 소문자로 return하기 enum 함수로 넣어주기

* fix: requestParam defaultValue 추가

* Refactor: Admission 언어 추가 및 리팩터링 진행 (#182)

* Feat: Move type to type dir, and add main type enum.

* Refactor: Add request body for create, and changed migrate elem body.

* Feat: Change pagename -> name, add language and mainType column, add unique constraints.

* Refactor: Remove unused request dto.

* Refactor: Change AdmissionsDto by adding columns, to be able to used as pure dto.

* Feat: Change to more specific search query.

* Feat: Change multiple methods to few methods, by using mainType.

* Feat: Change to few controller by using mainType, and use request bodies instead of dto.

* Test: AdmissionsServiceTest

* Fix: Add mapping path variable.

* Fix: Fix replacing logic.

* feat: academics 패키지에 language field 추가 (#181)

* feat: 엔티티, dto에 language 추가

* feat: read에 language 추가

* feat: academics에 language field 추가

* fix: ktlint 수정

* feat: course 엔티티에 language field 추가

* feat: readCourse에 language parameter 추가

* fix: languageRepository 삭제, 함수 enum 클래스 이동, academicsEntity name 속성 nullable 추가

* fix: requestParam+defaultValue 추가,

* fix: academics name nullable 없앰

* feat: staff에 language, migration 방법 추가 (#183)

* feat: staffEntity에 language 추가

* feat: branch 이름 변경

* fix: branch origin 이름 변경

* feat: staff 읽기, 수정에서 language 속성 추가

* feat: migrateStaffImage 추가

* fix: StaffServiceTest 수정

* Feat: Admission 검색 (#184)

* Feat: Add korean, english section name.

* Feat: add searchContent column for saving index.

* Feat: Add search query repository method.

* Feat: Define dto of search result element.

* Feat: Add search Top Admission method, and add migrate method creating search content.

* Feat: Add search top admissions method to controller.

* Test: Add test for Admission Service.

* Refactor: Remove Location Entity (#186)

* feat: member/research 패키지 이미지와 첨부파일 마이그레이션 코드 작성 (#185)

* feat: migrateProfessorImage 추가

* feat: migrateResearchImageAndAttachments 추가

* feat: migrateStaffImage 추가

* feat: migrateLabPdf 추가

* feat: about에서 이미지랑 첨부파일 추가 (#187)

* feat: migrateProfessorImage 추가

* feat: migrateResearchImageAndAttachments 추가

* feat: migrateStaffImage 추가

* feat: migrateLabPdf 추가

* feat: about에서 이미지랑 첨부파일 추가

* feat: dev 로그인 (#188)

* dev서버 로그인 바이패스

* style: ktlint

* fix: mock auth config 분리

* fix: uri 수정

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: professor language 추가 (#189)

* fix: professor language 추가

* feat: professor 테스트 추가

* feat: professor language 다른 테스트에도 추가

* feat: 테스트 알맞게 수정

* Feature: About 검색 추가 (#192)

* Feat: Change to create search content.

* Feat: Add search query method.

* Feat: Add create, migrate to create searchContent, and add search method.

* Feat: add search api

* COMMENT: add fix comment for aboutservicetest.

* Refactor: Move dtos to ee directory.

* Feat: Add validation for number, pagesize, pagenum

* feat: research 패키지에 language 추가 (#194)

* fix: professor language 추가

* feat: professor 테스트 추가

* feat: professor language 다른 테스트에도 추가

* feat: 테스트 알맞게 수정

* feat: researchDetail에 language 추가

* feat: lab에 language 추가

* fix: about, admission migrate search todo 추가

* Refactor: Admission 검색 리펙터링 (#193)

* Refactor: Merge queries into one.

* Refactor: Add page search method.

* Refactor: Add total count.

* Refactor: change to search page or search top.

* feat: academics 패키지 마이그레이션 추가 (#195)

* fix: professor language 추가

* feat: professor 테스트 추가

* feat: professor language 다른 테스트에도 추가

* feat: 테스트 알맞게 수정

* feat: researchDetail에 language 추가

* feat: lab에 language 추가

* fix: about, admission migrate search todo 추가

* fix: course migrate 추가

* fix: conference, scholarship language 추가

* fix: migrate academics, scholarship 추가

* fix: migrate academics attachments 추가

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: ktlint 정리

* fix: ktlint 정리 2

* fix: 실수로 삭제한 코드 복구

* Refactor: Member Search (#197)

* feat: professor 테스트 추가

* feat: 테스트 알맞게 수정

* fix: about, admission migrate search todo 추가

* Fix: Add commented authentication.

* Feat: Add language field to search entity

* Feat: Add language in search condition, remove duplicated exchangePageNum, Merge search queries

* Feat: Change res body dir, merge two seperate body into one, add language field

* Feat: Change return body, repository method useing.

* Feat: Add language query parameter, change response body.

* Test: Check language of search.

* Refactor: Change res body results key as "results"

* Refactor: Remove unneeded transactional on interface.

---------

Co-authored-by: DESKTOP-USQPRVG\gram <blueland1998@naver.com>

* feat: getMapping에 language requestParam 추가 (#198)

* fix: academics 패키지 get에 language 추가

* fix: professor 패키지 get에 language 추가

* fix: research 패키지 get에 language 추가

* feat: academics 패키지 이름에 맞게 변경 (#199)

* feat: add readDegreeRequirements

* feat: readGeneralRequirements 삭제, readDegreeRequirements 추가

* feat: AcademicsEntity time 칼럼 삭제

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* Refactor: academics search (#200)

* Refactor: research search (#201)

* fix: pageSize 추가 (#203)

* fix: pageSize 쿼리 파라미터 추가

* 함수 인자에서 defaultValue 지정

* fix: 인증 로직 수정 (#206)

* fix: mock-login 위해서 인증 로직 수정

* add v1 to uri

* fix: migrateConferences에서 authenticatedStaff 삭제 (#204)

* fix: simpleProfessorDto에서 status 추가 (#205)

* fix: readDegreeRequirements에 파일 보이도록 추가 (#209)

* fix: StudentClubDto에 engName 추가 (#210)

* fix: researchEntity에 websiteURL 추가 (#211)

* fix: researchEntity에 websiteURL 추가

* fix: ProfessorServiceTest 수정

* Fix: `exchangepageNum`에서 total이 0일 경우 케이스 추가. (#213)

* Fix: Add condition that when total is 0 return pageNum as 1

* Refactor: Rename method name to be more clear.

* Refactor: Remove not needed duplicated conditional check.

* Test: Add test for exchangeValidPageNum for checking when total = 0

* fix: readGeneralStudiesRequirements 추가 (#212)

* fix: readGeneralStudiesRequirements 추가

* fix: readGeneralStudiesRequirements 프론트 협의사항에 따라 수정

* fix: DegreeRequirementsDto description 삭제

* AcademicsPostType 타입 이름 주석 추가

* Fix: Notice 비밀글 표시 안되도록 수정 (#216)

* Feat: Add FindByIdAndIsPrivateFalse

* Fix: Change totalSearchNotice to get isStaff and hide private when not a staff.

* Fix: Change searchTotalNotice and readNotice to consider isStaff.

* Fix: Change totalSearchNotice and readNotice to check authentication and get staff info.

* fix: readFutureCareers에 description 수정 (#214)

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: 파일 크기 100MB로 늘림

* Feat: Research 검색 결과 research 타입 상세화 (#218)

* Refactor: Remove unused method

* Comment: Add comment

* Feat: Add specific research types to enum

* Feat: Change to give more specified enum when it is research related column.

* Refactor: Remove unused LAB entry from Research.

* fix: pdf 타입 AttachmentResponse로 변경 (#220)

* Feat: Add more type to academic. (#221)

* Fix: Change partialDescription to give with searchContent. (without html, all fields) (#222)

* fix: 단건 조회 & 통합 검색 권한 체크 (#217)

* fix: private 단건 조회 권한 체크

* Fix: Notice 비밀글 표시 안되도록 수정 (#216)

* Feat: Add FindByIdAndIsPrivateFalse

* Fix: Change totalSearchNotice to get isStaff and hide private when not a staff.

* Fix: Change searchTotalNotice and readNotice to consider isStaff.

* Fix: Change totalSearchNotice and readNotice to check authentication and get staff info.

* fix: newsTotalSearch 권한 체크

* style: ktlint

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* Fix: Formatting issue.

* Fix: Add studentType for all academic search result. (#224)

* Config: Spring Boot 3.2, Java 21로 업그레이드, Virtual Thread 적용 (#223)

* Fix: add join condition for news total search (#226)

* Feat: Spring Boot 서버에서 Error 발생 시 Slack으로 로그 전송 기능 추가 (#228)

* Dependency: Add slack appender

* Config: Add slack appender for sending error log to slack.

* Config: Add slack api info when making env file.

* Feat: Add to logging error for SQLIntegrityConstraintViolationException and RESTClientException

* Config: Update gradle wrapper

* feat: 학부 총괄 행정직원 맨 앞으로 이동 (#232)

* feat: 한글 이름 우선순위 정렬 (#235)

* feat: 한글 이름 우선순위 정렬

* refactor: 유틸 함수 분리

* Feat: 게시물 제외 통합검색에 사용되는 field들 refersh하는 API 추가 (#236)

* Feat: Add refresh search event

* Feat: Add api for trigger refresh search indexes.

* Feat: Add refresh search event listener for about entity.

* Feat: Add refresh search event listener for academics entity.

* Feat: Add refresh search event listener for admission entity.

* Feat: Add refresh search event listener for member entity.

* Feat: Add refresh search event listener for research entity.

* Fix: Change transactional propagation as REQUIRES_NEW for about's refresh event listener.

* style: ktlint

---------

Co-authored-by: Junhyeong Kim <leeeryboy@gmail.com>
Co-authored-by: leeeryboy <indiv0227@snu.ac.kr>

* delete image thumbnail logic (#237)

* Fix: Fill "mappedBy" information for remove about_attachments table. (#239)

* CICD: 배포, 개발계 분리 적용 (#238)

* CICD: Add dev deployment workflow

* Refactor: Remove unused comments

* Config: Add dev profile

* CICD: Add ssh port for production deploy environment

* Config: Change slack message format to more readable

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>
Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>
Co-authored-by: DESKTOP-USQPRVG\gram <blueland1998@naver.com>
Co-authored-by: Junhyeong Kim <leeeryboy@gmail.com>
leeeryboy added a commit that referenced this pull request Apr 6, 2024
* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* :sparkles: 패키지 및 엔티티 생성

* :sparkles: BaseTimeEntity 생성, PostEntity 기본 내용 작성

* :sparkles: PostController 생성 및 기본 내용 작성

* :sparkles: postService 생성

* :sparkles: Exceptions.kt 생성

* :sparkles: postDto 생성

* :sparkles: postRepository 생성 및 기본 내용 작성

* :green_heart: application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

* fix: main에서 develop으로 pr (#16)

* feat: merge develop to main (#13)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* :sparkles: 패키지 및 엔티티 생성

* :sparkles: BaseTimeEntity 생성, PostEntity 기본 내용 작성

* :sparkles: PostController 생성 및 기본 내용 작성

* :sparkles: postService 생성

* :sparkles: Exceptions.kt 생성

* :sparkles: postDto 생성

* :sparkles: postRepository 생성 및 기본 내용 작성

* :green_heart: application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* hotfix: 사용하지않는 Dto 및 엔티티 삭제 (#14)

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* feat: seminar 패키지 추가 (#17)

* feat: createSeminar, readSeminar, updateSeminar 추가

* feat: deleteSeminar, searchSeminar 추가

* fix: distinct 삭제

* hotfix: 불필요한 dto 삭제 (#20)

* hotfix: 불필요한 dto 삭제

* build.gradle 수정

* fix: 이미지 uri 필드 추가 및 프론트 요구사항 반영 (#21)

* feat: 이미지 uri 필드 추가 및 isActive 대신 status 추가

* fix: 행정직원 전체 조회 응답에서 task 삭제

* fix: 교수진 페이지 응답 수정

* feat: introduction 패키지, undergraduate 패키지 추가 (#22)

* feat: createUndergraduate, readUndergraduate 추가

* feat: readAllCourses, createCourse, readCourse 추가

* introduction 패키지 추가

* fix: dto에서 postType 삭제

* fix: postType pathVariable->requestBody 수정, 오타 수정

* fix: 프론트와 협의하여 이름 등 변경

* feat: academics 패키지 대학원도 가능하도록 추가

* feat: 장학제도 세부 장학금 create, read 추가

* fix: 수정

* fix:수정

* feat: admissions, research 패키지 추가 (#23)

* feat: admissions-학부 에서 create, read 추가

* feat: admissions-대학원도 작성 가능하도록 추가

* feat: createResearch 추가

* feat: createLab 추가

* fix: 다른 패키지에 맞게 수정

* research-groups, research-centers에서 read, update 추가

* fix: admissions, research에서 프론트와 협의하여 이름 등 수정

* fix: 오타 수정

* fix: enum 추가, pr 리뷰 반영

* feat: oidc 로그인 (#27)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: idsnucse 다운 되었을때 에러 처리

* feat: idsnucse 다운 되었을때 에러 처리

* feat: cors 설정 (#30)

* fix: cors 추가 설정 (#32)

* feat: cors 설정

* feat: cors 설정

* fix: CORS (#34)

* feat: cors 설정

* feat: cors 설정

* feat: cors 설정

* fix: about, academics, admissions 패키지 수정 (#25)

* fix: admissions, about 컨트롤러 변경

* fix: academics 컨트롤러 수정

* 커밋중

* fix: pr 리뷰 반영

* feat: readMain 추가

* pr 리뷰 반영

* feat: 일반 예약 및 정기 예약 API (#28)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: 예약 엔티티 및 DTO 설계

* feat: 일반 예약 및 정기 예약

* feat: 예약 조회 API (#39)

* feat: 권한 관리 위해 커스텀 어노테이션 생성

* feat: 예약 단건, 주별, 월별 조회 API

* fix: 로컬 DB 설정 수정

* feat: 유저 조회 중복 쿼리 방지

* feat: 예약 응답에 recurrenceId 추가

* feat: 동시 예약 방지

* fix: 시큐리티 로그 다시 로컬에서만 보이도록 변경

* feat: 목데이터 날라가지 않도록 ddl-auto 수정

* feat: about, member, news, seminar 메인 이미지 업로드 추가 (#38)

* feat: uploadImage 추가

* feat: about, member 사진 업로드 추가

* feat: news, seminar 사진 업로드 추가

* refactor: imageEntity 추가 리팩토링

* fix: gif 삭제

* fix: application.yaml 수정

* fix: newsService 태그 -> 이미지로 순서 변경

* fix: pr 리뷰 수정

* fix: extension 없애고, mainImage로 바꾸고, uuid 없애기

* fix: var 삭제

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* CICD: Change deploy port to 8080 (#40)

* [Merge] (#41) (#42)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* :sparkles: 패키지 및 엔티티 생성

* :sparkles: BaseTimeEntity 생성, PostEntity 기본 내용 작성

* :sparkles: PostController 생성 및 기본 내용 작성

* :sparkles: postService 생성

* :sparkles: Exceptions.kt 생성

* :sparkles: postDto 생성

* :sparkles: postRepository 생성 및 기본 내용 작성

* :green_heart: application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

* fix: main에서 develop으로 pr (#16)

* feat: merge develop to main (#13)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* :sparkles: 패키지 및 엔티티 생성

* :sparkles: BaseTimeEntity 생성, PostEntity 기본 내용 작성

* :sparkles: PostController 생성 및 기본 내용 작성

* :sparkles: postService 생성

* :sparkles: Exceptions.kt 생성

* :sparkles: postDto 생성

* :sparkles: postRepository 생성 및 기본 내용 작성

* :green_heart: application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

---------




* hotfix: 사용하지않는 Dto 및 엔티티 삭제 (#14)

---------




* feat: seminar 패키지 추가 (#17)

* feat: createSeminar, readSeminar, updateSeminar 추가

* feat: deleteSeminar, searchSeminar 추가

* fix: distinct 삭제

* hotfix: 불필요한 dto 삭제 (#20)

* hotfix: 불필요한 dto 삭제

* build.gradle 수정

* fix: 이미지 uri 필드 추가 및 프론트 요구사항 반영 (#21)

* feat: 이미지 uri 필드 추가 및 isActive 대신 status 추가

* fix: 행정직원 전체 조회 응답에서 task 삭제

* fix: 교수진 페이지 응답 수정

* feat: introduction 패키지, undergraduate 패키지 추가 (#22)

* feat: createUndergraduate, readUndergraduate 추가

* feat: readAllCourses, createCourse, readCourse 추가

* introduction 패키지 추가

* fix: dto에서 postType 삭제

* fix: postType pathVariable->requestBody 수정, 오타 수정

* fix: 프론트와 협의하여 이름 등 변경

* feat: academics 패키지 대학원도 가능하도록 추가

* feat: 장학제도 세부 장학금 create, read 추가

* fix: 수정

* fix:수정

* feat: admissions, research 패키지 추가 (#23)

* feat: admissions-학부 에서 create, read 추가

* feat: admissions-대학원도 작성 가능하도록 추가

* feat: createResearch 추가

* feat: createLab 추가

* fix: 다른 패키지에 맞게 수정

* research-groups, research-centers에서 read, update 추가

* fix: admissions, research에서 프론트와 협의하여 이름 등 수정

* fix: 오타 수정

* fix: enum 추가, pr 리뷰 반영

* feat: oidc 로그인 (#27)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: idsnucse 다운 되었을때 에러 처리

* feat: idsnucse 다운 되었을때 에러 처리

* feat: cors 설정 (#30)

* fix: cors 추가 설정 (#32)

* feat: cors 설정

* feat: cors 설정

* fix: CORS (#34)

* feat: cors 설정

* feat: cors 설정

* feat: cors 설정

* fix: about, academics, admissions 패키지 수정 (#25)

* fix: admissions, about 컨트롤러 변경

* fix: academics 컨트롤러 수정

* 커밋중

* fix: pr 리뷰 반영

* feat: readMain 추가

* pr 리뷰 반영

* feat: 일반 예약 및 정기 예약 API (#28)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: 예약 엔티티 및 DTO 설계

* feat: 일반 예약 및 정기 예약

* feat: 예약 조회 API (#39)

* feat: 권한 관리 위해 커스텀 어노테이션 생성

* feat: 예약 단건, 주별, 월별 조회 API

* fix: 로컬 DB 설정 수정

* feat: 유저 조회 중복 쿼리 방지

* feat: 예약 응답에 recurrenceId 추가

* feat: 동시 예약 방지

* fix: 시큐리티 로그 다시 로컬에서만 보이도록 변경

* feat: 목데이터 날라가지 않도록 ddl-auto 수정

* feat: about, member, news, seminar 메인 이미지 업로드 추가 (#38)

* feat: uploadImage 추가

* feat: about, member 사진 업로드 추가

* feat: news, seminar 사진 업로드 추가

* refactor: imageEntity 추가 리팩토링

* fix: gif 삭제

* fix: application.yaml 수정

* fix: newsService 태그 -> 이미지로 순서 변경

* fix: pr 리뷰 수정

* fix: extension 없애고, mainImage로 바꾸고, uuid 없애기

* fix: var 삭제

---------



* CICD: Change deploy port to 8080 (#40)

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>

* feat: 장학제도 GET API 및 장학제도 페이지 응답 수정 (#44)

* feat: 장학제도 GET API

* feat: 장학제도 메인페이지 GET API 응답 수정

* feat: custom metadata 설정 + 리다이렉트 엔드포인트 변경 (#45)

* feat: yml 파일에 custom metadata endpoint 추가

* feat: 로그인/로그아웃 성공 리다이렉트 엔드포인트 변경

* feat: attachments 패키지 추가, news와 seminar request에 attachments 추가 (#43)

* feat: attachments 추가, news request에 attachments 추가

* feat: seminar request에 attachments 추가

* fix: mappedBy 추가 + bringAttachments null 없앰

* fix: 경로 분리

* fix: isDeleted false로 수정

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* feat: Top Conference List GET API (#47)

* feat: Top Conference List GET API

* feat: db에서 가져올때 정렬

* feat: 파일 서빙, 다운로드, 삭제 API (#48)

* feat: 파일 서빙, 다운로드, 삭제 API

* fix: extension 중복, 경로 수정

* feat: 공지사항 글쓴이 추가 (#49)

* CI/CD: Https 적용 및 백엔드, 데이터베이스, 프록시 서버 배포 분리 (#50)

* Config: Add gitignore for caddy files.

* CICD: Add caddy config file

* CICD: Seperate docker compose file for db and backend server.

* CICD: Docker Compose file for caddy proxy server.

* CICD: Add path condition for only act when source file has changed.

* CICD: Add workflow for deploying database changes.

* CICD: Add workflow for proxy server changes.

* Refactor: Add /api/v1 in front of all endpoints (except swagger-ui)

* Refactor: Add v1 to Main Image url.

* Refactor: change backend, frontend, login redirect uri to get from env.

* CICD: Add url to .env

* Fix: Change job name of database workflow, fix indent level.

* Fix: Remove duplicated restcontroller mapping.

* Fix: Set reverse proxy for swagger-ui/* for swagger.

* Docs: Set swagger to only scan /api/**

* Fix: add caddy to reverse api-docs/* for springdoc.

* Fix: Add login uris for reverse proxying to backend server.

* CICD: Remove testing branch condition.

* CICD: Add logout uri to reverse proxy to backend server.

* CICD: Remove test branch

* fix: 프론트랑 협의하여 내용 변경 + news, seminar에 image, attachments update 추가 (#51)

* feat: attachments 추가, news request에 attachments 추가

* feat: seminar request에 attachments 추가

* feat: about request에 attachments 추가

* feat: academics request에 attachments 추가

* fix: isPinned 삭제

* fix: image -> mainImage 변경, about에 greetings 추가

* fix: news, seminar update 수정

* fix: 전체적으로 image -> mainImage 변경

* fix: research 패키지 프론트에 맞춰 협의 (#52)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* fix: pr 리뷰 수정

* fix: 오타 수정

* [Refactor] 로그인, file uri 배포 환경에 맞게 수정 (#53)

* Refactor: Change mapping of file to append /api/v1 in front.

* Refactor: Change login, logout redirect uri

* fix: https 적용 관련 로그인 수정 (#56)

* fix: notice 패키지 프론트에 맞게 협의 (#54)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* feat: notice에 attachments 추가

* fix: fix_with_front1 변경 사항에 맞게 수정

* feat: isImportant 추가

* feat: NoticeSearchDto에 hasAttachment 추가

* fix: update에서 attachmetnts가 null일 때 빈 목록 반환

* feat: 공지사항 선택 고정해제, 선택 삭제 추가

* fix: news, seminar에 isImportant 추가

* fix: pr 리뷰 수정

* fix: 수정했던거 다시 복구

* feat: 신임교수초빙 (#59)

* feat: 행정실 권한 체크 API (#60)

* [CICD] mainImage, attachment 경로 mount 설정 (#55)

* CICD: Add mainImage, attachment directory for mounting

* CICD: Add volumes to mount with server directory. (for attachment)

* [Feat] 예전 url과 비슷하게 이전 파일(사진)들 접근할 수 있도록 controller 생성 (#58)

* Config: Add oldFiles path for properties.

* Feat: Add deprecated file controller for getting old files temporarily.

* CICD: Add volume mounting for old files.

* CICD: Add dir to mount for old files.

* Refactor: Change api to /sites/default/files/{PATH}

* CICD: Add reverse proxy for old file serving.

* fix: 예약 dto에 지도교수, 반복 횟수 추가 (#61)

* fix: 로그아웃 엔드포인트 변경 (#64)

* fix: 로그아웃 엔드포인트 변경

* fix: 로그아웃 성공 리다이렉트 엔드포인트 변경

* [Fix] Notice, News Description TEXT type으로 변환 (#65)

* Fix: Change notice and news entity description type as TEXT.

* Fix: Change to mediumtext

* fix: newsSearchResponse, seminarSearchResponse 수정 (#66)

* fix: newsSearchResponse 수정

* fix: SeminarSearchResponse 수정

* fix: 오타수정

* fix: 파일 업로드 경로 통일 (#68)

* fix: 갯수만 fetch하도록 최적화 (#70)

* Fix: Change type of additionalNote column on SeminarEntity to "TEXT" (#71)

* fix: academics 패키지 프론트에 맞춰 협의, admin 패키지 추가 (#69)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* feat: notice에 attachments 추가

* fix: fix_with_front1 변경 사항에 맞게 수정

* feat: isImportant 추가

* feat: NoticeSearchDto에 hasAttachment 추가

* fix: update에서 attachmetnts가 null일 때 빈 목록 반환

* feat: 공지사항 선택 고정해제, 선택 삭제 추가

* fix: news, seminar에 isImportant 추가

* fix: pr 리뷰 수정

* fix: 수정했던거 다시 복구

* fix: course response 수정

* feat: academics에서 연도별로 주는 response 추가

* feat: academics YearResponses 추가

* fix: createScholarship 합치기

* fix: scholarship 패키지의 내용을 academics 하위로 옮김

* feat: createScholarshipDetail 추가

* fix: 필수 교양과목 response 변경

* feat: admin 패키지에서 readAllSlides 추가

* feat: admin 패키지 readAllImportants 추가

* feat: admin 패키지 중요안내 추가

* Refactor: HTML로부터 텍스트 추출 함수 Utils로 이동 (#73)

* Feat: Add cleanTextFromHtml.

* Refactor: Remove private clean method, replace to Utils.cleanTextFromHtml.

* Refactor: Remove unused imports.

* Feat: Add plain text description for notice (#74)

* Feat: Add cleanTextFromHtml.

* Refactor: Remove private clean method, replace to Utils.cleanTextFromHtml.

* Refactor: Remove unused imports.

* Feat: Add plainTextDescription.

* Feat: Add plainTextDescription in createNotice.

* Feat: add updating plainTextDescription when updating description.

* fix: admissions 패키지 프론트에 맞게 협의 (#76)

* fix: admissions 프론트에 맞게 협의

* fix: seminarEntity time 삭제

* fix: admissionsEntity pageName 추가

* fix: 불필요한 파일 삭제

* 커밋

* fix: 이전 글 다음 글만 fetch 하도록 쿼리 최적화 (#75)

* fix: 이전 글 다음 글만 fetch 하도록 쿼리 최적화

* fix: distinct 수정

* fix: 쿼리 최적화

* fix: total Long 타입으로 수정

* CI/CD: Test 설정 (#77)

* Config: Add kotest, mockk, h2 db for testing.

* Config: Add test profile.

* Config: Add testconfig for jpaqueryfactory.

* CICD: Add build, test workflow

* Fix: Revert local datasource url change.

* [Test] Notice create, update 시 plainTextDescription 동작 테스트 (#78)

* Config: Add test profile.

* Test: Add Tests for Create, Update Notice, in perspective of plainTextDescription

* Fix: Change life cycle hook resolution to container.

* [Feat] Seminar plain text field 추가 (#79)

* Feat: Add plain text column for description, introduction, additionalnote.

* Feat: Add description, introduction, additionalnote for dto -> entity.

* Feat: Change to update plain description, introduction, additional note.

* Feat: Use plainTextDesription for searchdto.

* Test: Test for create, update of plain texts.

* Test: Fix seminar service test.

* Feat: News plain text field 추가 (#80)

* Feat: Add plainTextDescription field for news entity

* Feat: Add to create, and update plainTextDescription.

* Feat: Change to use plainTextDescription when making newssearchdto.

* Test: Test for create/update plainTextDescription.

* Feat: 구성원 검색 위한 table 추가. (#81)

* Feat: MemberSearchEntity 추가.

* Feat: MemberSearchRepository 추가

* Feat: MemberSearchService 추가

* Feat: ProfessorEntity, StaffEntity에 MemberSearch 추가.

* Feat: ProfessorStatus에 한글 값 추가.

* Feat: professor create, update 시 memberSearch도 반영하도록 추가.

* Feat: seminar create, update 시 memberSearch도 반영하도록 추가.

* Test: ProfessorService 테스트 추가.

* Test: StaffServiceTest 추가.

* fix: 새소식 세미나 쿼리 수정 (#82)

* refactor: 유틸 패키지 생성 및 FixedPageRequest 분리

* feat: 새소식 세미나 이전 다음 글 및 total 쿼리 최적화

* fix: pageNum 값으로 usePageBtn 값 설정

* fix: import 경로 수정

* fix: local db port 3306

* 중복 삭제

* fix: prod endpoint https로 변경

* fix: main 프론트에 맞게 협의, notice 태그 enum 추가 (#83)

* fix: mainResponse 다시 작성

* feat: TagInNoticeEnum 추가

* feat: notice enum 추가

* fix: 코드 수정

* fix: isPublic -> isPrivate으로 정리 (#86)

* fix: rebase 정리

* fix: 오타 수정

* feat: 로컬 로그인 테스트용 엔드포인트로 임시 변경 (#87)

* Feat: 구성원 검색 API 추가 (#85)

* Feat: Add mysql custom dialect with MATCH AGAINST BOOLEAN MODE function.

* CICD: Add config for mysql db

* CICD: Add volumes for config file.

* CICD: Add db_config for condition for db deploy

* Feat: Add search top, and search query.

* Feat: Add DTOs

* Feat: Add Controller for member search only top, and page.

* Feat: Add dialect config for application.yaml

* Feat: Add controller for member search.

* Refactor: Change exception message to korean.

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>

* fix: 세미나 시간 타입 변경 (#91)

* fix: 세미나 시간 LocalDateTime으로 변경

* test: 테스트 수정

* fix: 태그 항목 수정 (#92)

* fix: news tag 추가 (#90)

* fix: news tag 추가

* fix: 일반인은 isPrivate = false인 것만, 직원은 모든 게시글 보여주기

* feat: 졸업생 창업 진로, 졸업생 진로 response 추가 (#94)

* fix: news tag 추가

* fix: 일반인은 isPrivate = false인 것만, 직원은 모든 게시글 보여주기

* feat: about  졸업생 read 추가

* fix: 오타 수정

* fix: conference 주소 추가 (#95)

* Feat: 연구 탭 통합검색 위한 Table 생성. (#97)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Fix: Fix typo, import library.

* Feat: Lab Update API 추가 (#98)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Feat: Add update method for labentity.

* Feat: Add update lab service.

* Feat: Add update lab controller.

* Test: Add ResearchServiceTest.

* Feat: Add deleteAttachment (marking)

* Fix: Add typo, add import library.

* Feat: Conference page 수정 API (#99)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Feat: Add update method for labentity.

* Feat: Add update lab service.

* Feat: Add update lab controller.

* Test: Add ResearchServiceTest.

* Feat: Add Conference Repository.

* Feat: add conferenc eentity method for create, update entity.

* Feat: Change variables to mutable.

* Feat: Add id in conferencedto.

* Feat: Add to sort the conferenceList.

* Feat: Add deleteAttachment (marking)

* Feat add service to modify conference page (create, modify, delete conferences)

* Feat: Add api for modify conference page.

* Test: Add test for conference service.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 파일 관련 수정 (#100)

* fix: 업로드 파일 사이즈 제한

* fix: 원본 첨부파일 이름으로 응답

* refactor: 세미나 업데이트 시 삭제할 첨부파일 id만 받도록 변경

* fix: 파일 api 경로 수정

* fix: deleteAttachment

* fix: GET notice 권한 관련 로직 수정 (#101)

* Refactor: Extract Full Text Query Template to CommonRepository (#102)

* Feat: Extract full text search template to common repository.

* Feat: Change full text search to use extracted repository.

* Feat: Add for 4 elements.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Notice Seminar News Search to Full Text Query (#105)

* Feat: Extract full text search template to common repository.

* Feat: Change full text search to use extracted repository.

* Feat: Add for 4 elements.

* Feat: Add more args cnt.

* Feat: Change keyword boolean builder to full text.

* Feat: Change keyword boolean builder to full text.

* Feat: Change keyword boolean builder to full text.

* Hotfix: Change mount volume. (#103)

* feat: api 권한 설정 (#84)

* fix: GET notice 권한 관련 로직 수정 (#109)

* fix: 필요한 column만 select (#111)

* refactor: 공지 태그 응답 한국어로 변경 및 리팩토링 (#113)

* refactor: 공지 태그 응답 한국어로 수정 및 리팩토링

* refactor: 새소식 태그 리팩토링

* fix: NewsRepository

* fix: 공지 새소식 PATCH 로직 수정 (#114)

* fix: 공지 새소식 PATCH 로직 수정

* test: 테스트 수정

* fix: news 엔티티에 날짜 추가 (#115)

* Feat: 검색 결과에서 keyword 위치, 적절한 substring 추출 위한 method 추가 (#116)

* Feat: Add utils substringAroundKeyword

* Test: Add test for Utils.kt

* fix: total 더미 값 + pageNum null일때만 더미 값 주기 (#117)

* fix: 예약 조회 권한 분리 및 응답 단순화 (#119)

* fix: 예약 단건 조회 권한 분리

* feat: 월별,주별 조회용 SimpleReservationDto

* fix: 로그인 리다이렉트 엔드포인트 복구 (#121)

* feat: migrateAbout, migrateFutureCareers 추가 (#118)

* feat: AboutRequest, migrateAbout 추가

* feat: future-careers 마이그레이션 추가

* feat: request 패키지 추가

* fix: AboutRequest 간소화

* fix: future-careers description aboutEntity에 저장

* feat: about 패키지 마이그레이션 추가 (#120)

* feat: AboutRequest, migrateAbout 추가

* feat: future-careers 마이그레이션 추가

* feat: request 패키지 추가

* fix: 불필요한 dto 삭제

* feat: migrateStudentClubs 추가

* feat: migrateFacilities 추가

* feat: migrateDirections 추가

* fix: 불필요한 dto 삭제

* fix: request 패키지 삭제

* fix: 오타 수정

* fix: news, notice에 titleForMain 추가 (#125)

* fix: 소식3총사 titleForMain 데이터 생성

* fix: 테스트에 titleForMain  추가

* Revert "fix: 테스트에 titleForMain  추가"

This reverts commit e824ad34e60e0785f1d4c4e187776d4b8bf53dfa.

* fix: 테스트에 titleForMain 추가

* fix: seminar titleForMain 추가

* fix: seminar test titleForMain 추가

* feat: LocalDateTime 응답 마지막에 Z 추가 (#126)

* refactor: deleteIds request 내부로 이동 (#127)

* refactor: deleteIds request 내부로 이동

* test: 테스트 수정

* fix: 확장자 중복 버그 (#128)

* feat: 관리자는 새소식, 세미나 목록에서 비공개 글 확인 가능 (#129)

* feat: research, member 패키지 migrate 추가 (#130)

* feat: migrateProfessors 추가

* feat: migrateResearchDetail 추가

* feat: migrateLabs 추가

* fix: migrate 엔티티 description에 mediumText 추가

* feat: migrateStaff 추가

* fix: 빠진거 수정

* fix: 중복 패키지 삭제

* fix: 너무 안긴거 text로 수정

* fix: noticeSearchDto에도 private 추가 (#131)

* fix: noticeSearchDto에도 private 추가

* fix: json 추가

* fix: 수정 및 추가

* fix: 수정

* Fix: 키워드 추출 함수 수정 (#122)

* Fix: Fix IndexOutOfBoundException, change to return index based on substring.

* Fix: Change to check index exclude case, and set front, back index to better contains keyword.

* Test: Update Test.

* Feat: 통합검색 Notice API 구현 (#123)

* Feat: Add dtos for notice total search.

* Feat: Add repository for notice total search.

* Feat: Add service, controller for notice total search

* Feat: News 통합 검색 API 구현 (#124)

* Feat: Add dto for total search of news.

* Feat: Add repository for total search.

* Feat: Add service, controller for news total search.

* Fix: Fix conflict issues.

* fix: 기존 objectMapper 설정 오버라이드 (#132)

* feat: 파일 업로드 컨트롤러 구현 (#133)

* Feat: Change titleForMain column to TEXT type. (#134)

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* hotfix: mixed content issue (#136)

* hotfix: loginPage to https (#139)

* hotfix: mixed content issue

* hotfix: loginPage

* fix: false로 수정 (#141)

* fix: 이전 다음 글에서 비공개 글 제외 (#143)

* fix: 이전 다음글 비공개 제외

* fix: prev-next

* CBT 위해서 예약 GET 권한체크 주석처리

* Feat: 뉴스 날짜로 정렬 (#144)

* Feat: Change date field to NOT NULLABLE.

* Feat: Change to sort by date, not createdat.

* Test: Fix test.

* Test: Move news test dir.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Add description for slide. (#146)

* style: ktlint (#145)

* style: ktlint

* Feat: change to ktlint_disabled_rules

* Refactor: fix to lint using ktlint.

* Refactor: After merge.

* Fix: After merge.

* Refactor: ReReLint

---------

Co-authored-by: huGgW <whjoon0225@naver.com>

* fix: 텍스트 인코딩 (#147)

* fix: content-dispostion

* fix: 텍스트 인코딩

* fix: 강제 다운로드

* style: ktlint

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* Update ktlint-check.yml

* fix: 중요 안내 (#149)

* fix: 삭제된 글 중요 안내에서 보이지 않도록 수정

* fix: 중요 안내 최대 2개만 보내도록 + plainTextDescription

* style: ktlint

* fix: 첨부파일 다운로드 (#154)

* Feat: 관리자 슬라이드에 total 추가, refactoring (#153)

* Feat: Change dto name, and add total to AdminSlidesResponse.

* Feat: Add pageSize as parameter.

* Feat: move readAllSlides to news repository, add total query.

* Feat: Extract getNewsEntityByIdOrThrow

* Feat: Move readAllSlides and unSlideManyNews logic handling to news service.

* Comment: Add comment for refactoring.

* Test: Add test for read all slides.

* Refactor: Linting.

* Feat: Change pageNum to start at 1.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 세미나 isYearLast 로직 수정 (#155)

* fix: 세미나 isYearFirst 로직 수정

* fix: isYearLast로 재변경 및 로직 수정

* fix: 이전글 다음 글 isDelete,isPrivate 조건 추가 (#151)

* fix: 이전글 다음 글 isDelete 추가

* fix: ktlint 수정

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 메인 공지 정렬 (#158)

* fix: 예약 조회 권한 수정 (#157)

* Feat: 통합검색 정렬 최신순 (#156)

* Feat: Admin Important에 pagination 추가, total 추가. (#159)

* fix: titleForMain이 없어도 isImportant 등록 가능 (#160)

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: em.close() 추가 (#162)

* fix: em.close() 추가

* fix: total에도 추가

* feat: migrateConference 추가 (#164)

* feat: migrateConferences 추가

* fix: 수정

* fix: 수정

* fix: 검색 추가

* fix: createConferenceDto 삭제

* CICD: Add blocking backend api except frontend. (#166)

* CICD: Add blocking backend api except frontend.

* CICD: Remove login, logout, file api from blacklist.

* CICD: Change to just block swagger apis.

* fix: group 변경 반영 (#167)

* refactor: 실제 스누씨 서버 연동 (#168)

* refactor: local-test 중복 항목 공통으로 처리하고 prod에서 오버라이드

* feat: 스누씨 실서버용 환경 변수 설정

* refactor: 로그인 페이지 통합 및 CORS 설정 변경

* fix: CORS

* feat: migrateAdmissions 추가 (#165)

* fix: migrateAdmissions 추가

* fix: 잘못 쓴거 수정

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Increase speakerurl size (#170)

* fix: 로컬에서도 idsnucse로 연결 (#174)

* fix: 로컬에서도 idsnucse 바라보게끔 변경

* fix: test에서 idsnucse 접근 x

* Revert "fix: test에서 idsnucse 접근 x"

This reverts commit cf526452abdc629b433efe701c9fd6ff60893f1e.

* Fix: move local security settings to local, not global.

* Fix: Disable SecurityConfig on "test" profile

---------

Co-authored-by: huGgW <whjoon0225@naver.com>

* feat: Research 검색 (#175)

* fix: 로컬에서도 idsnucse 바라보게끔 변경

* feat: enable async.

* Feat: create professor event.

* Feat: Publish event on professor modification.

* Feat: Update research search when listen professor event.

* Test: ResearchSearchService listen professor event

* fix: test에서 idsnucse 접근 x

* Revert "fix: test에서 idsnucse 접근 x"

This reverts commit cf526452abdc629b433efe701c9fd6ff60893f1e.

* Fix: fixed event listener logic

* Feat: Add search api for research.

* Test: Fix test.

* Fix: move local security settings to local, not global.

* Fix: Disable SecurityConfig on "test" profile

---------

Co-authored-by: leeeryboy <indiv0227@snu.ac.kr>

* feat: staff 검색 기능 추가 (#176)

* Feat: 학사 및 교과 검색 기능 추가 (#177)

* Revert "fix: test에서 idsnucse 접근 x"

This reverts commit cf526452abdc629b433efe701c9fd6ff60893f1e.

* Fix: move local security settings to local, not global.

* Feat: AcademicsStudentType에 값 지정.

* Feat: AcademicsSearchEntity 추가

* Feat: 각 entity에 search 관계 추가

* Feat: 각 entity create하는 서비스 method에 search entity도 생성하도록 추가.

* Feat: Add academicsSearchRepository

* Feat: Add dto for search

* Refactor: Make name field of academics non null

* Feat: Add exchangePageNum to utils.

* Feat: Add academics search service

* Feat: Add search api for academics.

* Feat: add validation code for utils.exchangePageNum

* Test: Add testcode for exchangePageNum

* REfactor: Add transactional readonly for readGeneralStudies

* fix: apply newacademics to use after saved cached entity.

* fix: fix to add target enitity when create of search entity is called.

* refactor: add default values for nullable values.

* Temp: test code, should be fixed h2 issue.

---------

Co-authored-by: leeeryboy <indiv0227@snu.ac.kr>

* Fix: Research 검색에서 html 태그 없이 검색되도록 설정 (#178)

* Fix: Change createContent to remove html tags on description.

* Test: Update to check removing html tags.

* Feat/add language field (#180)

* feat: 엔티티, dto에 language 추가

* feat: read에 language 추가

* fix: ktlint 수정

* fix: languageRepository 삭제, 함수 enum 클래스로 이동

* fix: language pathVariable -> requestParam 변경 && engName 추가 삭제

* fix: dto 소문자로 return하기 enum 함수로 넣어주기

* fix: requestParam defaultValue 추가

* Refactor: Admission 언어 추가 및 리팩터링 진행 (#182)

* Feat: Move type to type dir, and add main type enum.

* Refactor: Add request body for create, and changed migrate elem body.

* Feat: Change pagename -> name, add language and mainType column, add unique constraints.

* Refactor: Remove unused request dto.

* Refactor: Change AdmissionsDto by adding columns, to be able to used as pure dto.

* Feat: Change to more specific search query.

* Feat: Change multiple methods to few methods, by using mainType.

* Feat: Change to few controller by using mainType, and use request bodies instead of dto.

* Test: AdmissionsServiceTest

* Fix: Add mapping path variable.

* Fix: Fix replacing logic.

* feat: academics 패키지에 language field 추가 (#181)

* feat: 엔티티, dto에 language 추가

* feat: read에 language 추가

* feat: academics에 language field 추가

* fix: ktlint 수정

* feat: course 엔티티에 language field 추가

* feat: readCourse에 language parameter 추가

* fix: languageRepository 삭제, 함수 enum 클래스 이동, academicsEntity name 속성 nullable 추가

* fix: requestParam+defaultValue 추가,

* fix: academics name nullable 없앰

* feat: staff에 language, migration 방법 추가 (#183)

* feat: staffEntity에 language 추가

* feat: branch 이름 변경

* fix: branch origin 이름 변경

* feat: staff 읽기, 수정에서 language 속성 추가

* feat: migrateStaffImage 추가

* fix: StaffServiceTest 수정

* Feat: Admission 검색 (#184)

* Feat: Add korean, english section name.

* Feat: add searchContent column for saving index.

* Feat: Add search query repository method.

* Feat: Define dto of search result element.

* Feat: Add search Top Admission method, and add migrate method creating search content.

* Feat: Add search top admissions method to controller.

* Test: Add test for Admission Service.

* Refactor: Remove Location Entity (#186)

* feat: member/research 패키지 이미지와 첨부파일 마이그레이션 코드 작성 (#185)

* feat: migrateProfessorImage 추가

* feat: migrateResearchImageAndAttachments 추가

* feat: migrateStaffImage 추가

* feat: migrateLabPdf 추가

* feat: about에서 이미지랑 첨부파일 추가 (#187)

* feat: migrateProfessorImage 추가

* feat: migrateResearchImageAndAttachments 추가

* feat: migrateStaffImage 추가

* feat: migrateLabPdf 추가

* feat: about에서 이미지랑 첨부파일 추가

* feat: dev 로그인 (#188)

* dev서버 로그인 바이패스

* style: ktlint

* fix: mock auth config 분리

* fix: uri 수정

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: professor language 추가 (#189)

* fix: professor language 추가

* feat: professor 테스트 추가

* feat: professor language 다른 테스트에도 추가

* feat: 테스트 알맞게 수정

* Feature: About 검색 추가 (#192)

* Feat: Change to create search content.

* Feat: Add search query method.

* Feat: Add create, migrate to create searchContent, and add search method.

* Feat: add search api

* COMMENT: add fix comment for aboutservicetest.

* Refactor: Move dtos to ee directory.

* Feat: Add validation for number, pagesize, pagenum

* feat: research 패키지에 language 추가 (#194)

* fix: professor language 추가

* feat: professor 테스트 추가

* feat: professor language 다른 테스트에도 추가

* feat: 테스트 알맞게 수정

* feat: researchDetail에 language 추가

* feat: lab에 language 추가

* fix: about, admission migrate search todo 추가

* Refactor: Admission 검색 리펙터링 (#193)

* Refactor: Merge queries into one.

* Refactor: Add page search method.

* Refactor: Add total count.

* Refactor: change to search page or search top.

* feat: academics 패키지 마이그레이션 추가 (#195)

* fix: professor language 추가

* feat: professor 테스트 추가

* feat: professor language 다른 테스트에도 추가

* feat: 테스트 알맞게 수정

* feat: researchDetail에 language 추가

* feat: lab에 language 추가

* fix: about, admission migrate search todo 추가

* fix: course migrate 추가

* fix: conference, scholarship language 추가

* fix: migrate academics, scholarship 추가

* fix: migrate academics attachments 추가

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: ktlint 정리

* fix: ktlint 정리 2

* fix: 실수로 삭제한 코드 복구

* Refactor: Member Search (#197)

* feat: professor 테스트 추가

* feat: 테스트 알맞게 수정

* fix: about, admission migrate search todo 추가

* Fix: Add commented authentication.

* Feat: Add language field to search entity

* Feat: Add language in search condition, remove duplicated exchangePageNum, Merge search queries

* Feat: Change res body dir, merge two seperate body into one, add language field

* Feat: Change return body, repository method useing.

* Feat: Add language query parameter, change response body.

* Test: Check language of search.

* Refactor: Change res body results key as "results"

* Refactor: Remove unneeded transactional on interface.

---------

Co-authored-by: DESKTOP-USQPRVG\gram <blueland1998@naver.com>

* feat: getMapping에 language requestParam 추가 (#198)

* fix: academics 패키지 get에 language 추가

* fix: professor 패키지 get에 language 추가

* fix: research 패키지 get에 language 추가

* feat: academics 패키지 이름에 맞게 변경 (#199)

* feat: add readDegreeRequirements

* feat: readGeneralRequirements 삭제, readDegreeRequirements 추가

* feat: AcademicsEntity time 칼럼 삭제

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* Refactor: academics search (#200)

* Refactor: research search (#201)

* fix: pageSize 추가 (#203)

* fix: pageSize 쿼리 파라미터 추가

* 함수 인자에서 defaultValue 지정

* fix: 인증 로직 수정 (#206)

* fix: mock-login 위해서 인증 로직 수정

* add v1 to uri

* fix: migrateConferences에서 authenticatedStaff 삭제 (#204)

* fix: simpleProfessorDto에서 status 추가 (#205)

* fix: readDegreeRequirements에 파일 보이도록 추가 (#209)

* fix: StudentClubDto에 engName 추가 (#210)

* fix: researchEntity에 websiteURL 추가 (#211)

* fix: researchEntity에 websiteURL 추가

* fix: ProfessorServiceTest 수정

* Fix: `exchangepageNum`에서 total이 0일 경우 케이스 추가. (#213)

* Fix: Add condition that when total is 0 return pageNum as 1

* Refactor: Rename method name to be more clear.

* Refactor: Remove not needed duplicated conditional check.

* Test: Add test for exchangeValidPageNum for checking when total = 0

* fix: readGeneralStudiesRequirements 추가 (#212)

* fix: readGeneralStudiesRequirements 추가

* fix: readGeneralStudiesRequirements 프론트 협의사항에 따라 수정

* fix: DegreeRequirementsDto description 삭제

* AcademicsPostType 타입 이름 주석 추가

* Fix: Notice 비밀글 표시 안되도록 수정 (#216)

* Feat: Add FindByIdAndIsPrivateFalse

* Fix: Change totalSearchNotice to get isStaff and hide private when not a staff.

* Fix: Change searchTotalNotice and readNotice to consider isStaff.

* Fix: Change totalSearchNotice and readNotice to check authentication and get staff info.

* fix: readFutureCareers에 description 수정 (#214)

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: 파일 크기 100MB로 늘림

* Feat: Research 검색 결과 research 타입 상세화 (#218)

* Refactor: Remove unused method

* Comment: Add comment

* Feat: Add specific research types to enum

* Feat: Change to give more specified enum when it is research related column.

* Refactor: Remove unused LAB entry from Research.

* fix: pdf 타입 AttachmentResponse로 변경 (#220)

* Feat: Add more type to academic. (#221)

* Fix: Change partialDescription to give with searchContent. (without html, all fields) (#222)

* fix: 단건 조회 & 통합 검색 권한 체크 (#217)

* fix: private 단건 조회 권한 체크

* Fix: Notice 비밀글 표시 안되도록 수정 (#216)

* Feat: Add FindByIdAndIsPrivateFalse

* Fix: Change totalSearchNotice to get isStaff and hide private when not a staff.

* Fix: Change searchTotalNotice and readNotice to consider isStaff.

* Fix: Change totalSearchNotice and readNotice to check authentication and get staff info.

* fix: newsTotalSearch 권한 체크

* style: ktlint

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* Fix: Formatting issue.

* Fix: Add studentType for all academic search result. (#224)

* Config: Spring Boot 3.2, Java 21로 업그레이드, Virtual Thread 적용 (#223)

* Fix: add join condition for news total search (#226)

* Feat: Spring Boot 서버에서 Error 발생 시 Slack으로 로그 전송 기능 추가 (#228)

* Dependency: Add slack appender

* Config: Add slack appender for sending error log to slack.

* Config: Add slack api info when making env file.

* Feat: Add to logging error for SQLIntegrityConstraintViolationException and RESTClientException

* Config: Update gradle wrapper

* feat: 학부 총괄 행정직원 맨 앞으로 이동 (#232)

* feat: 한글 이름 우선순위 정렬 (#235)

* feat: 한글 이름 우선순위 정렬

* refactor: 유틸 함수 분리

* Feat: 게시물 제외 통합검색에 사용되는 field들 refersh하는 API 추가 (#236)

* Feat: Add refresh search event

* Feat: Add api for trigger refresh search indexes.

* Feat: Add refresh search event listener for about entity.

* Feat: Add refresh search event listener for academics entity.

* Feat: Add refresh search event listener for admission entity.

* Feat: Add refresh search event listener for member entity.

* Feat: Add refresh search event listener for research entity.

* Fix: Change transactional propagation as REQUIRES_NEW for about's refresh event listener.

* style: ktlint

---------

Co-authored-by: Junhyeong Kim <leeeryboy@gmail.com>
Co-authored-by: leeeryboy <indiv0227@snu.ac.kr>

* delete image thumbnail logic (#237)

* Fix: Fill "mappedBy" information for remove about_attachments table. (#239)

* CICD: 배포, 개발계 분리 적용 (#238)

* CICD: Add dev deployment workflow

* Refactor: Remove unused comments

* Config: Add dev profile

* CICD: Add ssh port for production deploy environment

* Config: Change slack message format to more readable

* fix: course 띄어쓰기 그대로 유지 (#241)

* prod에서 mock-login 삭제 (#242)

* feat: mock login api only for profile dev

* feat: delete mock login api in prod

* fix: 교수 정렬 (#243)

* Refactor: Move languagetype from properties from enums (#244)

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>

* fix: stat year 2050년까지 확장 (#245)

* fix: stat year 2050년까지 확장

* fix: 쿼리 수정

* fix: adjust max thread and pool size (#246)

* Feat: 공지, 새소식, 세미나 정렬 옵션 추가 (#247)

* Refactor: Move languagetype from properties from enums

* Feat: Add sort order type for content search (notice, news, seminar)

* Feat: Add sort option for news search.

* Feat: Add sort option for notice search.

* Feat: Add sort option for seminar search.

* Fix: Handle for empty keyword.

---------

Co-authored-by: Junhyeong Kim <leeeryboy@gmail.com>

* CICD: env 파일 분리, 서버 docker image tag 분리 (#248)

* CICD: Seperate docker image tag of prod, dev, rename env

* CICD: Change env name of db

* CICD: Change env name of proxy

* CICD: Remove unused latest tag

---------

Co-authored-by: Junhyeong Kim <leeeryboy@gmail.com>

* feat: 개인정보 동의 여부 기록 (#250)

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
Co-authored-by: DESKTOP-USQPRVG\gram <blueland1998@naver.com>
leeeryboy added a commit that referenced this pull request Apr 7, 2024
* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* :sparkles: 패키지 및 엔티티 생성

* :sparkles: BaseTimeEntity 생성, PostEntity 기본 내용 작성

* :sparkles: PostController 생성 및 기본 내용 작성

* :sparkles: postService 생성

* :sparkles: Exceptions.kt 생성

* :sparkles: postDto 생성

* :sparkles: postRepository 생성 및 기본 내용 작성

* :green_heart: application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

* fix: main에서 develop으로 pr (#16)

* feat: merge develop to main (#13)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* :sparkles: 패키지 및 엔티티 생성

* :sparkles: BaseTimeEntity 생성, PostEntity 기본 내용 작성

* :sparkles: PostController 생성 및 기본 내용 작성

* :sparkles: postService 생성

* :sparkles: Exceptions.kt 생성

* :sparkles: postDto 생성

* :sparkles: postRepository 생성 및 기본 내용 작성

* :green_heart: application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* hotfix: 사용하지않는 Dto 및 엔티티 삭제 (#14)

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* feat: seminar 패키지 추가 (#17)

* feat: createSeminar, readSeminar, updateSeminar 추가

* feat: deleteSeminar, searchSeminar 추가

* fix: distinct 삭제

* hotfix: 불필요한 dto 삭제 (#20)

* hotfix: 불필요한 dto 삭제

* build.gradle 수정

* fix: 이미지 uri 필드 추가 및 프론트 요구사항 반영 (#21)

* feat: 이미지 uri 필드 추가 및 isActive 대신 status 추가

* fix: 행정직원 전체 조회 응답에서 task 삭제

* fix: 교수진 페이지 응답 수정

* feat: introduction 패키지, undergraduate 패키지 추가 (#22)

* feat: createUndergraduate, readUndergraduate 추가

* feat: readAllCourses, createCourse, readCourse 추가

* introduction 패키지 추가

* fix: dto에서 postType 삭제

* fix: postType pathVariable->requestBody 수정, 오타 수정

* fix: 프론트와 협의하여 이름 등 변경

* feat: academics 패키지 대학원도 가능하도록 추가

* feat: 장학제도 세부 장학금 create, read 추가

* fix: 수정

* fix:수정

* feat: admissions, research 패키지 추가 (#23)

* feat: admissions-학부 에서 create, read 추가

* feat: admissions-대학원도 작성 가능하도록 추가

* feat: createResearch 추가

* feat: createLab 추가

* fix: 다른 패키지에 맞게 수정

* research-groups, research-centers에서 read, update 추가

* fix: admissions, research에서 프론트와 협의하여 이름 등 수정

* fix: 오타 수정

* fix: enum 추가, pr 리뷰 반영

* feat: oidc 로그인 (#27)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: idsnucse 다운 되었을때 에러 처리

* feat: idsnucse 다운 되었을때 에러 처리

* feat: cors 설정 (#30)

* fix: cors 추가 설정 (#32)

* feat: cors 설정

* feat: cors 설정

* fix: CORS (#34)

* feat: cors 설정

* feat: cors 설정

* feat: cors 설정

* fix: about, academics, admissions 패키지 수정 (#25)

* fix: admissions, about 컨트롤러 변경

* fix: academics 컨트롤러 수정

* 커밋중

* fix: pr 리뷰 반영

* feat: readMain 추가

* pr 리뷰 반영

* feat: 일반 예약 및 정기 예약 API (#28)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: 예약 엔티티 및 DTO 설계

* feat: 일반 예약 및 정기 예약

* feat: 예약 조회 API (#39)

* feat: 권한 관리 위해 커스텀 어노테이션 생성

* feat: 예약 단건, 주별, 월별 조회 API

* fix: 로컬 DB 설정 수정

* feat: 유저 조회 중복 쿼리 방지

* feat: 예약 응답에 recurrenceId 추가

* feat: 동시 예약 방지

* fix: 시큐리티 로그 다시 로컬에서만 보이도록 변경

* feat: 목데이터 날라가지 않도록 ddl-auto 수정

* feat: about, member, news, seminar 메인 이미지 업로드 추가 (#38)

* feat: uploadImage 추가

* feat: about, member 사진 업로드 추가

* feat: news, seminar 사진 업로드 추가

* refactor: imageEntity 추가 리팩토링

* fix: gif 삭제

* fix: application.yaml 수정

* fix: newsService 태그 -> 이미지로 순서 변경

* fix: pr 리뷰 수정

* fix: extension 없애고, mainImage로 바꾸고, uuid 없애기

* fix: var 삭제

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* CICD: Change deploy port to 8080 (#40)

* [Merge] (#41) (#42)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* :sparkles: 패키지 및 엔티티 생성

* :sparkles: BaseTimeEntity 생성, PostEntity 기본 내용 작성

* :sparkles: PostController 생성 및 기본 내용 작성

* :sparkles: postService 생성

* :sparkles: Exceptions.kt 생성

* :sparkles: postDto 생성

* :sparkles: postRepository 생성 및 기본 내용 작성

* :green_heart: application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

* fix: main에서 develop으로 pr (#16)

* feat: merge develop to main (#13)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* :sparkles: 패키지 및 엔티티 생성

* :sparkles: BaseTimeEntity 생성, PostEntity 기본 내용 작성

* :sparkles: PostController 생성 및 기본 내용 작성

* :sparkles: postService 생성

* :sparkles: Exceptions.kt 생성

* :sparkles: postDto 생성

* :sparkles: postRepository 생성 및 기본 내용 작성

* :green_heart: application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

---------




* hotfix: 사용하지않는 Dto 및 엔티티 삭제 (#14)

---------




* feat: seminar 패키지 추가 (#17)

* feat: createSeminar, readSeminar, updateSeminar 추가

* feat: deleteSeminar, searchSeminar 추가

* fix: distinct 삭제

* hotfix: 불필요한 dto 삭제 (#20)

* hotfix: 불필요한 dto 삭제

* build.gradle 수정

* fix: 이미지 uri 필드 추가 및 프론트 요구사항 반영 (#21)

* feat: 이미지 uri 필드 추가 및 isActive 대신 status 추가

* fix: 행정직원 전체 조회 응답에서 task 삭제

* fix: 교수진 페이지 응답 수정

* feat: introduction 패키지, undergraduate 패키지 추가 (#22)

* feat: createUndergraduate, readUndergraduate 추가

* feat: readAllCourses, createCourse, readCourse 추가

* introduction 패키지 추가

* fix: dto에서 postType 삭제

* fix: postType pathVariable->requestBody 수정, 오타 수정

* fix: 프론트와 협의하여 이름 등 변경

* feat: academics 패키지 대학원도 가능하도록 추가

* feat: 장학제도 세부 장학금 create, read 추가

* fix: 수정

* fix:수정

* feat: admissions, research 패키지 추가 (#23)

* feat: admissions-학부 에서 create, read 추가

* feat: admissions-대학원도 작성 가능하도록 추가

* feat: createResearch 추가

* feat: createLab 추가

* fix: 다른 패키지에 맞게 수정

* research-groups, research-centers에서 read, update 추가

* fix: admissions, research에서 프론트와 협의하여 이름 등 수정

* fix: 오타 수정

* fix: enum 추가, pr 리뷰 반영

* feat: oidc 로그인 (#27)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: idsnucse 다운 되었을때 에러 처리

* feat: idsnucse 다운 되었을때 에러 처리

* feat: cors 설정 (#30)

* fix: cors 추가 설정 (#32)

* feat: cors 설정

* feat: cors 설정

* fix: CORS (#34)

* feat: cors 설정

* feat: cors 설정

* feat: cors 설정

* fix: about, academics, admissions 패키지 수정 (#25)

* fix: admissions, about 컨트롤러 변경

* fix: academics 컨트롤러 수정

* 커밋중

* fix: pr 리뷰 반영

* feat: readMain 추가

* pr 리뷰 반영

* feat: 일반 예약 및 정기 예약 API (#28)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: 예약 엔티티 및 DTO 설계

* feat: 일반 예약 및 정기 예약

* feat: 예약 조회 API (#39)

* feat: 권한 관리 위해 커스텀 어노테이션 생성

* feat: 예약 단건, 주별, 월별 조회 API

* fix: 로컬 DB 설정 수정

* feat: 유저 조회 중복 쿼리 방지

* feat: 예약 응답에 recurrenceId 추가

* feat: 동시 예약 방지

* fix: 시큐리티 로그 다시 로컬에서만 보이도록 변경

* feat: 목데이터 날라가지 않도록 ddl-auto 수정

* feat: about, member, news, seminar 메인 이미지 업로드 추가 (#38)

* feat: uploadImage 추가

* feat: about, member 사진 업로드 추가

* feat: news, seminar 사진 업로드 추가

* refactor: imageEntity 추가 리팩토링

* fix: gif 삭제

* fix: application.yaml 수정

* fix: newsService 태그 -> 이미지로 순서 변경

* fix: pr 리뷰 수정

* fix: extension 없애고, mainImage로 바꾸고, uuid 없애기

* fix: var 삭제

---------



* CICD: Change deploy port to 8080 (#40)

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>

* feat: 장학제도 GET API 및 장학제도 페이지 응답 수정 (#44)

* feat: 장학제도 GET API

* feat: 장학제도 메인페이지 GET API 응답 수정

* feat: custom metadata 설정 + 리다이렉트 엔드포인트 변경 (#45)

* feat: yml 파일에 custom metadata endpoint 추가

* feat: 로그인/로그아웃 성공 리다이렉트 엔드포인트 변경

* feat: attachments 패키지 추가, news와 seminar request에 attachments 추가 (#43)

* feat: attachments 추가, news request에 attachments 추가

* feat: seminar request에 attachments 추가

* fix: mappedBy 추가 + bringAttachments null 없앰

* fix: 경로 분리

* fix: isDeleted false로 수정

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* feat: Top Conference List GET API (#47)

* feat: Top Conference List GET API

* feat: db에서 가져올때 정렬

* feat: 파일 서빙, 다운로드, 삭제 API (#48)

* feat: 파일 서빙, 다운로드, 삭제 API

* fix: extension 중복, 경로 수정

* feat: 공지사항 글쓴이 추가 (#49)

* CI/CD: Https 적용 및 백엔드, 데이터베이스, 프록시 서버 배포 분리 (#50)

* Config: Add gitignore for caddy files.

* CICD: Add caddy config file

* CICD: Seperate docker compose file for db and backend server.

* CICD: Docker Compose file for caddy proxy server.

* CICD: Add path condition for only act when source file has changed.

* CICD: Add workflow for deploying database changes.

* CICD: Add workflow for proxy server changes.

* Refactor: Add /api/v1 in front of all endpoints (except swagger-ui)

* Refactor: Add v1 to Main Image url.

* Refactor: change backend, frontend, login redirect uri to get from env.

* CICD: Add url to .env

* Fix: Change job name of database workflow, fix indent level.

* Fix: Remove duplicated restcontroller mapping.

* Fix: Set reverse proxy for swagger-ui/* for swagger.

* Docs: Set swagger to only scan /api/**

* Fix: add caddy to reverse api-docs/* for springdoc.

* Fix: Add login uris for reverse proxying to backend server.

* CICD: Remove testing branch condition.

* CICD: Add logout uri to reverse proxy to backend server.

* CICD: Remove test branch

* fix: 프론트랑 협의하여 내용 변경 + news, seminar에 image, attachments update 추가 (#51)

* feat: attachments 추가, news request에 attachments 추가

* feat: seminar request에 attachments 추가

* feat: about request에 attachments 추가

* feat: academics request에 attachments 추가

* fix: isPinned 삭제

* fix: image -> mainImage 변경, about에 greetings 추가

* fix: news, seminar update 수정

* fix: 전체적으로 image -> mainImage 변경

* fix: research 패키지 프론트에 맞춰 협의 (#52)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* fix: pr 리뷰 수정

* fix: 오타 수정

* [Refactor] 로그인, file uri 배포 환경에 맞게 수정 (#53)

* Refactor: Change mapping of file to append /api/v1 in front.

* Refactor: Change login, logout redirect uri

* fix: https 적용 관련 로그인 수정 (#56)

* fix: notice 패키지 프론트에 맞게 협의 (#54)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* feat: notice에 attachments 추가

* fix: fix_with_front1 변경 사항에 맞게 수정

* feat: isImportant 추가

* feat: NoticeSearchDto에 hasAttachment 추가

* fix: update에서 attachmetnts가 null일 때 빈 목록 반환

* feat: 공지사항 선택 고정해제, 선택 삭제 추가

* fix: news, seminar에 isImportant 추가

* fix: pr 리뷰 수정

* fix: 수정했던거 다시 복구

* feat: 신임교수초빙 (#59)

* feat: 행정실 권한 체크 API (#60)

* [CICD] mainImage, attachment 경로 mount 설정 (#55)

* CICD: Add mainImage, attachment directory for mounting

* CICD: Add volumes to mount with server directory. (for attachment)

* [Feat] 예전 url과 비슷하게 이전 파일(사진)들 접근할 수 있도록 controller 생성 (#58)

* Config: Add oldFiles path for properties.

* Feat: Add deprecated file controller for getting old files temporarily.

* CICD: Add volume mounting for old files.

* CICD: Add dir to mount for old files.

* Refactor: Change api to /sites/default/files/{PATH}

* CICD: Add reverse proxy for old file serving.

* fix: 예약 dto에 지도교수, 반복 횟수 추가 (#61)

* fix: 로그아웃 엔드포인트 변경 (#64)

* fix: 로그아웃 엔드포인트 변경

* fix: 로그아웃 성공 리다이렉트 엔드포인트 변경

* [Fix] Notice, News Description TEXT type으로 변환 (#65)

* Fix: Change notice and news entity description type as TEXT.

* Fix: Change to mediumtext

* fix: newsSearchResponse, seminarSearchResponse 수정 (#66)

* fix: newsSearchResponse 수정

* fix: SeminarSearchResponse 수정

* fix: 오타수정

* fix: 파일 업로드 경로 통일 (#68)

* fix: 갯수만 fetch하도록 최적화 (#70)

* Fix: Change type of additionalNote column on SeminarEntity to "TEXT" (#71)

* fix: academics 패키지 프론트에 맞춰 협의, admin 패키지 추가 (#69)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* feat: notice에 attachments 추가

* fix: fix_with_front1 변경 사항에 맞게 수정

* feat: isImportant 추가

* feat: NoticeSearchDto에 hasAttachment 추가

* fix: update에서 attachmetnts가 null일 때 빈 목록 반환

* feat: 공지사항 선택 고정해제, 선택 삭제 추가

* fix: news, seminar에 isImportant 추가

* fix: pr 리뷰 수정

* fix: 수정했던거 다시 복구

* fix: course response 수정

* feat: academics에서 연도별로 주는 response 추가

* feat: academics YearResponses 추가

* fix: createScholarship 합치기

* fix: scholarship 패키지의 내용을 academics 하위로 옮김

* feat: createScholarshipDetail 추가

* fix: 필수 교양과목 response 변경

* feat: admin 패키지에서 readAllSlides 추가

* feat: admin 패키지 readAllImportants 추가

* feat: admin 패키지 중요안내 추가

* Refactor: HTML로부터 텍스트 추출 함수 Utils로 이동 (#73)

* Feat: Add cleanTextFromHtml.

* Refactor: Remove private clean method, replace to Utils.cleanTextFromHtml.

* Refactor: Remove unused imports.

* Feat: Add plain text description for notice (#74)

* Feat: Add cleanTextFromHtml.

* Refactor: Remove private clean method, replace to Utils.cleanTextFromHtml.

* Refactor: Remove unused imports.

* Feat: Add plainTextDescription.

* Feat: Add plainTextDescription in createNotice.

* Feat: add updating plainTextDescription when updating description.

* fix: admissions 패키지 프론트에 맞게 협의 (#76)

* fix: admissions 프론트에 맞게 협의

* fix: seminarEntity time 삭제

* fix: admissionsEntity pageName 추가

* fix: 불필요한 파일 삭제

* 커밋

* fix: 이전 글 다음 글만 fetch 하도록 쿼리 최적화 (#75)

* fix: 이전 글 다음 글만 fetch 하도록 쿼리 최적화

* fix: distinct 수정

* fix: 쿼리 최적화

* fix: total Long 타입으로 수정

* CI/CD: Test 설정 (#77)

* Config: Add kotest, mockk, h2 db for testing.

* Config: Add test profile.

* Config: Add testconfig for jpaqueryfactory.

* CICD: Add build, test workflow

* Fix: Revert local datasource url change.

* [Test] Notice create, update 시 plainTextDescription 동작 테스트 (#78)

* Config: Add test profile.

* Test: Add Tests for Create, Update Notice, in perspective of plainTextDescription

* Fix: Change life cycle hook resolution to container.

* [Feat] Seminar plain text field 추가 (#79)

* Feat: Add plain text column for description, introduction, additionalnote.

* Feat: Add description, introduction, additionalnote for dto -> entity.

* Feat: Change to update plain description, introduction, additional note.

* Feat: Use plainTextDesription for searchdto.

* Test: Test for create, update of plain texts.

* Test: Fix seminar service test.

* Feat: News plain text field 추가 (#80)

* Feat: Add plainTextDescription field for news entity

* Feat: Add to create, and update plainTextDescription.

* Feat: Change to use plainTextDescription when making newssearchdto.

* Test: Test for create/update plainTextDescription.

* Feat: 구성원 검색 위한 table 추가. (#81)

* Feat: MemberSearchEntity 추가.

* Feat: MemberSearchRepository 추가

* Feat: MemberSearchService 추가

* Feat: ProfessorEntity, StaffEntity에 MemberSearch 추가.

* Feat: ProfessorStatus에 한글 값 추가.

* Feat: professor create, update 시 memberSearch도 반영하도록 추가.

* Feat: seminar create, update 시 memberSearch도 반영하도록 추가.

* Test: ProfessorService 테스트 추가.

* Test: StaffServiceTest 추가.

* fix: 새소식 세미나 쿼리 수정 (#82)

* refactor: 유틸 패키지 생성 및 FixedPageRequest 분리

* feat: 새소식 세미나 이전 다음 글 및 total 쿼리 최적화

* fix: pageNum 값으로 usePageBtn 값 설정

* fix: import 경로 수정

* fix: local db port 3306

* 중복 삭제

* fix: prod endpoint https로 변경

* fix: main 프론트에 맞게 협의, notice 태그 enum 추가 (#83)

* fix: mainResponse 다시 작성

* feat: TagInNoticeEnum 추가

* feat: notice enum 추가

* fix: 코드 수정

* fix: isPublic -> isPrivate으로 정리 (#86)

* fix: rebase 정리

* fix: 오타 수정

* feat: 로컬 로그인 테스트용 엔드포인트로 임시 변경 (#87)

* Feat: 구성원 검색 API 추가 (#85)

* Feat: Add mysql custom dialect with MATCH AGAINST BOOLEAN MODE function.

* CICD: Add config for mysql db

* CICD: Add volumes for config file.

* CICD: Add db_config for condition for db deploy

* Feat: Add search top, and search query.

* Feat: Add DTOs

* Feat: Add Controller for member search only top, and page.

* Feat: Add dialect config for application.yaml

* Feat: Add controller for member search.

* Refactor: Change exception message to korean.

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>

* fix: 세미나 시간 타입 변경 (#91)

* fix: 세미나 시간 LocalDateTime으로 변경

* test: 테스트 수정

* fix: 태그 항목 수정 (#92)

* fix: news tag 추가 (#90)

* fix: news tag 추가

* fix: 일반인은 isPrivate = false인 것만, 직원은 모든 게시글 보여주기

* feat: 졸업생 창업 진로, 졸업생 진로 response 추가 (#94)

* fix: news tag 추가

* fix: 일반인은 isPrivate = false인 것만, 직원은 모든 게시글 보여주기

* feat: about  졸업생 read 추가

* fix: 오타 수정

* fix: conference 주소 추가 (#95)

* Feat: 연구 탭 통합검색 위한 Table 생성. (#97)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Fix: Fix typo, import library.

* Feat: Lab Update API 추가 (#98)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Feat: Add update method for labentity.

* Feat: Add update lab service.

* Feat: Add update lab controller.

* Test: Add ResearchServiceTest.

* Feat: Add deleteAttachment (marking)

* Fix: Add typo, add import library.

* Feat: Conference page 수정 API (#99)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Feat: Add update method for labentity.

* Feat: Add update lab service.

* Feat: Add update lab controller.

* Test: Add ResearchServiceTest.

* Feat: Add Conference Repository.

* Feat: add conferenc eentity method for create, update entity.

* Feat: Change variables to mutable.

* Feat: Add id in conferencedto.

* Feat: Add to sort the conferenceList.

* Feat: Add deleteAttachment (marking)

* Feat add service to modify conference page (create, modify, delete conferences)

* Feat: Add api for modify conference page.

* Test: Add test for conference service.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 파일 관련 수정 (#100)

* fix: 업로드 파일 사이즈 제한

* fix: 원본 첨부파일 이름으로 응답

* refactor: 세미나 업데이트 시 삭제할 첨부파일 id만 받도록 변경

* fix: 파일 api 경로 수정

* fix: deleteAttachment

* fix: GET notice 권한 관련 로직 수정 (#101)

* Refactor: Extract Full Text Query Template to CommonRepository (#102)

* Feat: Extract full text search template to common repository.

* Feat: Change full text search to use extracted repository.

* Feat: Add for 4 elements.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Notice Seminar News Search to Full Text Query (#105)

* Feat: Extract full text search template to common repository.

* Feat: Change full text search to use extracted repository.

* Feat: Add for 4 elements.

* Feat: Add more args cnt.

* Feat: Change keyword boolean builder to full text.

* Feat: Change keyword boolean builder to full text.

* Feat: Change keyword boolean builder to full text.

* Hotfix: Change mount volume. (#103)

* feat: api 권한 설정 (#84)

* fix: GET notice 권한 관련 로직 수정 (#109)

* fix: 필요한 column만 select (#111)

* refactor: 공지 태그 응답 한국어로 변경 및 리팩토링 (#113)

* refactor: 공지 태그 응답 한국어로 수정 및 리팩토링

* refactor: 새소식 태그 리팩토링

* fix: NewsRepository

* fix: 공지 새소식 PATCH 로직 수정 (#114)

* fix: 공지 새소식 PATCH 로직 수정

* test: 테스트 수정

* fix: news 엔티티에 날짜 추가 (#115)

* Feat: 검색 결과에서 keyword 위치, 적절한 substring 추출 위한 method 추가 (#116)

* Feat: Add utils substringAroundKeyword

* Test: Add test for Utils.kt

* fix: total 더미 값 + pageNum null일때만 더미 값 주기 (#117)

* fix: 예약 조회 권한 분리 및 응답 단순화 (#119)

* fix: 예약 단건 조회 권한 분리

* feat: 월별,주별 조회용 SimpleReservationDto

* fix: 로그인 리다이렉트 엔드포인트 복구 (#121)

* feat: migrateAbout, migrateFutureCareers 추가 (#118)

* feat: AboutRequest, migrateAbout 추가

* feat: future-careers 마이그레이션 추가

* feat: request 패키지 추가

* fix: AboutRequest 간소화

* fix: future-careers description aboutEntity에 저장

* feat: about 패키지 마이그레이션 추가 (#120)

* feat: AboutRequest, migrateAbout 추가

* feat: future-careers 마이그레이션 추가

* feat: request 패키지 추가

* fix: 불필요한 dto 삭제

* feat: migrateStudentClubs 추가

* feat: migrateFacilities 추가

* feat: migrateDirections 추가

* fix: 불필요한 dto 삭제

* fix: request 패키지 삭제

* fix: 오타 수정

* fix: news, notice에 titleForMain 추가 (#125)

* fix: 소식3총사 titleForMain 데이터 생성

* fix: 테스트에 titleForMain  추가

* Revert "fix: 테스트에 titleForMain  추가"

This reverts commit e824ad34e60e0785f1d4c4e187776d4b8bf53dfa.

* fix: 테스트에 titleForMain 추가

* fix: seminar titleForMain 추가

* fix: seminar test titleForMain 추가

* feat: LocalDateTime 응답 마지막에 Z 추가 (#126)

* refactor: deleteIds request 내부로 이동 (#127)

* refactor: deleteIds request 내부로 이동

* test: 테스트 수정

* fix: 확장자 중복 버그 (#128)

* feat: 관리자는 새소식, 세미나 목록에서 비공개 글 확인 가능 (#129)

* feat: research, member 패키지 migrate 추가 (#130)

* feat: migrateProfessors 추가

* feat: migrateResearchDetail 추가

* feat: migrateLabs 추가

* fix: migrate 엔티티 description에 mediumText 추가

* feat: migrateStaff 추가

* fix: 빠진거 수정

* fix: 중복 패키지 삭제

* fix: 너무 안긴거 text로 수정

* fix: noticeSearchDto에도 private 추가 (#131)

* fix: noticeSearchDto에도 private 추가

* fix: json 추가

* fix: 수정 및 추가

* fix: 수정

* Fix: 키워드 추출 함수 수정 (#122)

* Fix: Fix IndexOutOfBoundException, change to return index based on substring.

* Fix: Change to check index exclude case, and set front, back index to better contains keyword.

* Test: Update Test.

* Feat: 통합검색 Notice API 구현 (#123)

* Feat: Add dtos for notice total search.

* Feat: Add repository for notice total search.

* Feat: Add service, controller for notice total search

* Feat: News 통합 검색 API 구현 (#124)

* Feat: Add dto for total search of news.

* Feat: Add repository for total search.

* Feat: Add service, controller for news total search.

* Fix: Fix conflict issues.

* fix: 기존 objectMapper 설정 오버라이드 (#132)

* feat: 파일 업로드 컨트롤러 구현 (#133)

* Feat: Change titleForMain column to TEXT type. (#134)

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* hotfix: mixed content issue (#136)

* hotfix: loginPage to https (#139)

* hotfix: mixed content issue

* hotfix: loginPage

* fix: false로 수정 (#141)

* fix: 이전 다음 글에서 비공개 글 제외 (#143)

* fix: 이전 다음글 비공개 제외

* fix: prev-next

* CBT 위해서 예약 GET 권한체크 주석처리

* Feat: 뉴스 날짜로 정렬 (#144)

* Feat: Change date field to NOT NULLABLE.

* Feat: Change to sort by date, not createdat.

* Test: Fix test.

* Test: Move news test dir.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Add description for slide. (#146)

* style: ktlint (#145)

* style: ktlint

* Feat: change to ktlint_disabled_rules

* Refactor: fix to lint using ktlint.

* Refactor: After merge.

* Fix: After merge.

* Refactor: ReReLint

---------

Co-authored-by: huGgW <whjoon0225@naver.com>

* fix: 텍스트 인코딩 (#147)

* fix: content-dispostion

* fix: 텍스트 인코딩

* fix: 강제 다운로드

* style: ktlint

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* Update ktlint-check.yml

* fix: 중요 안내 (#149)

* fix: 삭제된 글 중요 안내에서 보이지 않도록 수정

* fix: 중요 안내 최대 2개만 보내도록 + plainTextDescription

* style: ktlint

* fix: 첨부파일 다운로드 (#154)

* Feat: 관리자 슬라이드에 total 추가, refactoring (#153)

* Feat: Change dto name, and add total to AdminSlidesResponse.

* Feat: Add pageSize as parameter.

* Feat: move readAllSlides to news repository, add total query.

* Feat: Extract getNewsEntityByIdOrThrow

* Feat: Move readAllSlides and unSlideManyNews logic handling to news service.

* Comment: Add comment for refactoring.

* Test: Add test for read all slides.

* Refactor: Linting.

* Feat: Change pageNum to start at 1.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 세미나 isYearLast 로직 수정 (#155)

* fix: 세미나 isYearFirst 로직 수정

* fix: isYearLast로 재변경 및 로직 수정

* fix: 이전글 다음 글 isDelete,isPrivate 조건 추가 (#151)

* fix: 이전글 다음 글 isDelete 추가

* fix: ktlint 수정

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 메인 공지 정렬 (#158)

* fix: 예약 조회 권한 수정 (#157)

* Feat: 통합검색 정렬 최신순 (#156)

* Feat: Admin Important에 pagination 추가, total 추가. (#159)

* fix: titleForMain이 없어도 isImportant 등록 가능 (#160)

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: em.close() 추가 (#162)

* fix: em.close() 추가

* fix: total에도 추가

* feat: migrateConference 추가 (#164)

* feat: migrateConferences 추가

* fix: 수정

* fix: 수정

* fix: 검색 추가

* fix: createConferenceDto 삭제

* CICD: Add blocking backend api except frontend. (#166)

* CICD: Add blocking backend api except frontend.

* CICD: Remove login, logout, file api from blacklist.

* CICD: Change to just block swagger apis.

* fix: group 변경 반영 (#167)

* refactor: 실제 스누씨 서버 연동 (#168)

* refactor: local-test 중복 항목 공통으로 처리하고 prod에서 오버라이드

* feat: 스누씨 실서버용 환경 변수 설정

* refactor: 로그인 페이지 통합 및 CORS 설정 변경

* fix: CORS

* feat: migrateAdmissions 추가 (#165)

* fix: migrateAdmissions 추가

* fix: 잘못 쓴거 수정

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Increase speakerurl size (#170)

* fix: 로컬에서도 idsnucse로 연결 (#174)

* fix: 로컬에서도 idsnucse 바라보게끔 변경

* fix: test에서 idsnucse 접근 x

* Revert "fix: test에서 idsnucse 접근 x"

This reverts commit cf526452abdc629b433efe701c9fd6ff60893f1e.

* Fix: move local security settings to local, not global.

* Fix: Disable SecurityConfig on "test" profile

---------

Co-authored-by: huGgW <whjoon0225@naver.com>

* feat: Research 검색 (#175)

* fix: 로컬에서도 idsnucse 바라보게끔 변경

* feat: enable async.

* Feat: create professor event.

* Feat: Publish event on professor modification.

* Feat: Update research search when listen professor event.

* Test: ResearchSearchService listen professor event

* fix: test에서 idsnucse 접근 x

* Revert "fix: test에서 idsnucse 접근 x"

This reverts commit cf526452abdc629b433efe701c9fd6ff60893f1e.

* Fix: fixed event listener logic

* Feat: Add search api for research.

* Test: Fix test.

* Fix: move local security settings to local, not global.

* Fix: Disable SecurityConfig on "test" profile

---------

Co-authored-by: leeeryboy <indiv0227@snu.ac.kr>

* feat: staff 검색 기능 추가 (#176)

* Feat: 학사 및 교과 검색 기능 추가 (#177)

* Revert "fix: test에서 idsnucse 접근 x"

This reverts commit cf526452abdc629b433efe701c9fd6ff60893f1e.

* Fix: move local security settings to local, not global.

* Feat: AcademicsStudentType에 값 지정.

* Feat: AcademicsSearchEntity 추가

* Feat: 각 entity에 search 관계 추가

* Feat: 각 entity create하는 서비스 method에 search entity도 생성하도록 추가.

* Feat: Add academicsSearchRepository

* Feat: Add dto for search

* Refactor: Make name field of academics non null

* Feat: Add exchangePageNum to utils.

* Feat: Add academics search service

* Feat: Add search api for academics.

* Feat: add validation code for utils.exchangePageNum

* Test: Add testcode for exchangePageNum

* REfactor: Add transactional readonly for readGeneralStudies

* fix: apply newacademics to use after saved cached entity.

* fix: fix to add target enitity when create of search entity is called.

* refactor: add default values for nullable values.

* Temp: test code, should be fixed h2 issue.

---------

Co-authored-by: leeeryboy <indiv0227@snu.ac.kr>

* Fix: Research 검색에서 html 태그 없이 검색되도록 설정 (#178)

* Fix: Change createContent to remove html tags on description.

* Test: Update to check removing html tags.

* Feat/add language field (#180)

* feat: 엔티티, dto에 language 추가

* feat: read에 language 추가

* fix: ktlint 수정

* fix: languageRepository 삭제, 함수 enum 클래스로 이동

* fix: language pathVariable -> requestParam 변경 && engName 추가 삭제

* fix: dto 소문자로 return하기 enum 함수로 넣어주기

* fix: requestParam defaultValue 추가

* Refactor: Admission 언어 추가 및 리팩터링 진행 (#182)

* Feat: Move type to type dir, and add main type enum.

* Refactor: Add request body for create, and changed migrate elem body.

* Feat: Change pagename -> name, add language and mainType column, add unique constraints.

* Refactor: Remove unused request dto.

* Refactor: Change AdmissionsDto by adding columns, to be able to used as pure dto.

* Feat: Change to more specific search query.

* Feat: Change multiple methods to few methods, by using mainType.

* Feat: Change to few controller by using mainType, and use request bodies instead of dto.

* Test: AdmissionsServiceTest

* Fix: Add mapping path variable.

* Fix: Fix replacing logic.

* feat: academics 패키지에 language field 추가 (#181)

* feat: 엔티티, dto에 language 추가

* feat: read에 language 추가

* feat: academics에 language field 추가

* fix: ktlint 수정

* feat: course 엔티티에 language field 추가

* feat: readCourse에 language parameter 추가

* fix: languageRepository 삭제, 함수 enum 클래스 이동, academicsEntity name 속성 nullable 추가

* fix: requestParam+defaultValue 추가,

* fix: academics name nullable 없앰

* feat: staff에 language, migration 방법 추가 (#183)

* feat: staffEntity에 language 추가

* feat: branch 이름 변경

* fix: branch origin 이름 변경

* feat: staff 읽기, 수정에서 language 속성 추가

* feat: migrateStaffImage 추가

* fix: StaffServiceTest 수정

* Feat: Admission 검색 (#184)

* Feat: Add korean, english section name.

* Feat: add searchContent column for saving index.

* Feat: Add search query repository method.

* Feat: Define dto of search result element.

* Feat: Add search Top Admission method, and add migrate method creating search content.

* Feat: Add search top admissions method to controller.

* Test: Add test for Admission Service.

* Refactor: Remove Location Entity (#186)

* feat: member/research 패키지 이미지와 첨부파일 마이그레이션 코드 작성 (#185)

* feat: migrateProfessorImage 추가

* feat: migrateResearchImageAndAttachments 추가

* feat: migrateStaffImage 추가

* feat: migrateLabPdf 추가

* feat: about에서 이미지랑 첨부파일 추가 (#187)

* feat: migrateProfessorImage 추가

* feat: migrateResearchImageAndAttachments 추가

* feat: migrateStaffImage 추가

* feat: migrateLabPdf 추가

* feat: about에서 이미지랑 첨부파일 추가

* feat: dev 로그인 (#188)

* dev서버 로그인 바이패스

* style: ktlint

* fix: mock auth config 분리

* fix: uri 수정

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: professor language 추가 (#189)

* fix: professor language 추가

* feat: professor 테스트 추가

* feat: professor language 다른 테스트에도 추가

* feat: 테스트 알맞게 수정

* Feature: About 검색 추가 (#192)

* Feat: Change to create search content.

* Feat: Add search query method.

* Feat: Add create, migrate to create searchContent, and add search method.

* Feat: add search api

* COMMENT: add fix comment for aboutservicetest.

* Refactor: Move dtos to ee directory.

* Feat: Add validation for number, pagesize, pagenum

* feat: research 패키지에 language 추가 (#194)

* fix: professor language 추가

* feat: professor 테스트 추가

* feat: professor language 다른 테스트에도 추가

* feat: 테스트 알맞게 수정

* feat: researchDetail에 language 추가

* feat: lab에 language 추가

* fix: about, admission migrate search todo 추가

* Refactor: Admission 검색 리펙터링 (#193)

* Refactor: Merge queries into one.

* Refactor: Add page search method.

* Refactor: Add total count.

* Refactor: change to search page or search top.

* feat: academics 패키지 마이그레이션 추가 (#195)

* fix: professor language 추가

* feat: professor 테스트 추가

* feat: professor language 다른 테스트에도 추가

* feat: 테스트 알맞게 수정

* feat: researchDetail에 language 추가

* feat: lab에 language 추가

* fix: about, admission migrate search todo 추가

* fix: course migrate 추가

* fix: conference, scholarship language 추가

* fix: migrate academics, scholarship 추가

* fix: migrate academics attachments 추가

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: ktlint 정리

* fix: ktlint 정리 2

* fix: 실수로 삭제한 코드 복구

* Refactor: Member Search (#197)

* feat: professor 테스트 추가

* feat: 테스트 알맞게 수정

* fix: about, admission migrate search todo 추가

* Fix: Add commented authentication.

* Feat: Add language field to search entity

* Feat: Add language in search condition, remove duplicated exchangePageNum, Merge search queries

* Feat: Change res body dir, merge two seperate body into one, add language field

* Feat: Change return body, repository method useing.

* Feat: Add language query parameter, change response body.

* Test: Check language of search.

* Refactor: Change res body results key as "results"

* Refactor: Remove unneeded transactional on interface.

---------

Co-authored-by: DESKTOP-USQPRVG\gram <blueland1998@naver.com>

* feat: getMapping에 language requestParam 추가 (#198)

* fix: academics 패키지 get에 language 추가

* fix: professor 패키지 get에 language 추가

* fix: research 패키지 get에 language 추가

* feat: academics 패키지 이름에 맞게 변경 (#199)

* feat: add readDegreeRequirements

* feat: readGeneralRequirements 삭제, readDegreeRequirements 추가

* feat: AcademicsEntity time 칼럼 삭제

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* Refactor: academics search (#200)

* Refactor: research search (#201)

* fix: pageSize 추가 (#203)

* fix: pageSize 쿼리 파라미터 추가

* 함수 인자에서 defaultValue 지정

* fix: 인증 로직 수정 (#206)

* fix: mock-login 위해서 인증 로직 수정

* add v1 to uri

* fix: migrateConferences에서 authenticatedStaff 삭제 (#204)

* fix: simpleProfessorDto에서 status 추가 (#205)

* fix: readDegreeRequirements에 파일 보이도록 추가 (#209)

* fix: StudentClubDto에 engName 추가 (#210)

* fix: researchEntity에 websiteURL 추가 (#211)

* fix: researchEntity에 websiteURL 추가

* fix: ProfessorServiceTest 수정

* Fix: `exchangepageNum`에서 total이 0일 경우 케이스 추가. (#213)

* Fix: Add condition that when total is 0 return pageNum as 1

* Refactor: Rename method name to be more clear.

* Refactor: Remove not needed duplicated conditional check.

* Test: Add test for exchangeValidPageNum for checking when total = 0

* fix: readGeneralStudiesRequirements 추가 (#212)

* fix: readGeneralStudiesRequirements 추가

* fix: readGeneralStudiesRequirements 프론트 협의사항에 따라 수정

* fix: DegreeRequirementsDto description 삭제

* AcademicsPostType 타입 이름 주석 추가

* Fix: Notice 비밀글 표시 안되도록 수정 (#216)

* Feat: Add FindByIdAndIsPrivateFalse

* Fix: Change totalSearchNotice to get isStaff and hide private when not a staff.

* Fix: Change searchTotalNotice and readNotice to consider isStaff.

* Fix: Change totalSearchNotice and readNotice to check authentication and get staff info.

* fix: readFutureCareers에 description 수정 (#214)

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: 파일 크기 100MB로 늘림

* Feat: Research 검색 결과 research 타입 상세화 (#218)

* Refactor: Remove unused method

* Comment: Add comment

* Feat: Add specific research types to enum

* Feat: Change to give more specified enum when it is research related column.

* Refactor: Remove unused LAB entry from Research.

* fix: pdf 타입 AttachmentResponse로 변경 (#220)

* Feat: Add more type to academic. (#221)

* Fix: Change partialDescription to give with searchContent. (without html, all fields) (#222)

* fix: 단건 조회 & 통합 검색 권한 체크 (#217)

* fix: private 단건 조회 권한 체크

* Fix: Notice 비밀글 표시 안되도록 수정 (#216)

* Feat: Add FindByIdAndIsPrivateFalse

* Fix: Change totalSearchNotice to get isStaff and hide private when not a staff.

* Fix: Change searchTotalNotice and readNotice to consider isStaff.

* Fix: Change totalSearchNotice and readNotice to check authentication and get staff info.

* fix: newsTotalSearch 권한 체크

* style: ktlint

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* Fix: Formatting issue.

* Fix: Add studentType for all academic search result. (#224)

* Config: Spring Boot 3.2, Java 21로 업그레이드, Virtual Thread 적용 (#223)

* Fix: add join condition for news total search (#226)

* Feat: Spring Boot 서버에서 Error 발생 시 Slack으로 로그 전송 기능 추가 (#228)

* Dependency: Add slack appender

* Config: Add slack appender for sending error log to slack.

* Config: Add slack api info when making env file.

* Feat: Add to logging error for SQLIntegrityConstraintViolationException and RESTClientException

* Config: Update gradle wrapper

* feat: 학부 총괄 행정직원 맨 앞으로 이동 (#232)

* feat: 한글 이름 우선순위 정렬 (#235)

* feat: 한글 이름 우선순위 정렬

* refactor: 유틸 함수 분리

* Feat: 게시물 제외 통합검색에 사용되는 field들 refersh하는 API 추가 (#236)

* Feat: Add refresh search event

* Feat: Add api for trigger refresh search indexes.

* Feat: Add refresh search event listener for about entity.

* Feat: Add refresh search event listener for academics entity.

* Feat: Add refresh search event listener for admission entity.

* Feat: Add refresh search event listener for member entity.

* Feat: Add refresh search event listener for research entity.

* Fix: Change transactional propagation as REQUIRES_NEW for about's refresh event listener.

* style: ktlint

---------

Co-authored-by: Junhyeong Kim <leeeryboy@gmail.com>
Co-authored-by: leeeryboy <indiv0227@snu.ac.kr>

* delete image thumbnail logic (#237)

* Fix: Fill "mappedBy" information for remove about_attachments table. (#239)

* CICD: 배포, 개발계 분리 적용 (#238)

* CICD: Add dev deployment workflow

* Refactor: Remove unused comments

* Config: Add dev profile

* CICD: Add ssh port for production deploy environment

* Config: Change slack message format to more readable

* fix: course 띄어쓰기 그대로 유지 (#241)

* prod에서 mock-login 삭제 (#242)

* feat: mock login api only for profile dev

* feat: delete mock login api in prod

* fix: 교수 정렬 (#243)

* Refactor: Move languagetype from properties from enums (#244)

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>

* fix: stat year 2050년까지 확장 (#245)

* fix: stat year 2050년까지 확장

* fix: 쿼리 수정

* fix: adjust max thread and pool size (#246)

* Feat: 공지, 새소식, 세미나 정렬 옵션 추가 (#247)

* Refactor: Move languagetype from properties from enums

* Feat: Add sort order type for content search (notice, news, seminar)

* Feat: Add sort option for news search.

* Feat: Add sort option for notice search.

* Feat: Add sort option for seminar search.

* Fix: Handle for empty keyword.

---------

Co-authored-by: Junhyeong Kim <leeeryboy@gmail.com>

* CICD: env 파일 분리, 서버 docker image tag 분리 (#248)

* CICD: Seperate docker image tag of prod, dev, rename env

* CICD: Change env name of db

* CICD: Change env name of proxy

* CICD: Remove unused latest tag

---------

Co-authored-by: Junhyeong Kim <leeeryboy@gmail.com>

* feat: 개인정보 동의 여부 기록 (#250)

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* Fix: fix merge conflict

* Fix: give 0.0 to score when keyword is null or empty on notice. (#254)

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
Co-authored-by: DESKTOP-USQPRVG\gram <blueland1998@naver.com>
huGgW added a commit that referenced this pull request Apr 7, 2024
* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* :sparkles: 패키지 및 엔티티 생성

* :sparkles: BaseTimeEntity 생성, PostEntity 기본 내용 작성

* :sparkles: PostController 생성 및 기본 내용 작성

* :sparkles: postService 생성

* :sparkles: Exceptions.kt 생성

* :sparkles: postDto 생성

* :sparkles: postRepository 생성 및 기본 내용 작성

* :green_heart: application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

* fix: main에서 develop으로 pr (#16)

* feat: merge develop to main (#13)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* :sparkles: 패키지 및 엔티티 생성

* :sparkles: BaseTimeEntity 생성, PostEntity 기본 내용 작성

* :sparkles: PostController 생성 및 기본 내용 작성

* :sparkles: postService 생성

* :sparkles: Exceptions.kt 생성

* :sparkles: postDto 생성

* :sparkles: postRepository 생성 및 기본 내용 작성

* :green_heart: application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* hotfix: 사용하지않는 Dto 및 엔티티 삭제 (#14)

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* feat: seminar 패키지 추가 (#17)

* feat: createSeminar, readSeminar, updateSeminar 추가

* feat: deleteSeminar, searchSeminar 추가

* fix: distinct 삭제

* hotfix: 불필요한 dto 삭제 (#20)

* hotfix: 불필요한 dto 삭제

* build.gradle 수정

* fix: 이미지 uri 필드 추가 및 프론트 요구사항 반영 (#21)

* feat: 이미지 uri 필드 추가 및 isActive 대신 status 추가

* fix: 행정직원 전체 조회 응답에서 task 삭제

* fix: 교수진 페이지 응답 수정

* feat: introduction 패키지, undergraduate 패키지 추가 (#22)

* feat: createUndergraduate, readUndergraduate 추가

* feat: readAllCourses, createCourse, readCourse 추가

* introduction 패키지 추가

* fix: dto에서 postType 삭제

* fix: postType pathVariable->requestBody 수정, 오타 수정

* fix: 프론트와 협의하여 이름 등 변경

* feat: academics 패키지 대학원도 가능하도록 추가

* feat: 장학제도 세부 장학금 create, read 추가

* fix: 수정

* fix:수정

* feat: admissions, research 패키지 추가 (#23)

* feat: admissions-학부 에서 create, read 추가

* feat: admissions-대학원도 작성 가능하도록 추가

* feat: createResearch 추가

* feat: createLab 추가

* fix: 다른 패키지에 맞게 수정

* research-groups, research-centers에서 read, update 추가

* fix: admissions, research에서 프론트와 협의하여 이름 등 수정

* fix: 오타 수정

* fix: enum 추가, pr 리뷰 반영

* feat: oidc 로그인 (#27)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: idsnucse 다운 되었을때 에러 처리

* feat: idsnucse 다운 되었을때 에러 처리

* feat: cors 설정 (#30)

* fix: cors 추가 설정 (#32)

* feat: cors 설정

* feat: cors 설정

* fix: CORS (#34)

* feat: cors 설정

* feat: cors 설정

* feat: cors 설정

* fix: about, academics, admissions 패키지 수정 (#25)

* fix: admissions, about 컨트롤러 변경

* fix: academics 컨트롤러 수정

* 커밋중

* fix: pr 리뷰 반영

* feat: readMain 추가

* pr 리뷰 반영

* feat: 일반 예약 및 정기 예약 API (#28)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: 예약 엔티티 및 DTO 설계

* feat: 일반 예약 및 정기 예약

* feat: 예약 조회 API (#39)

* feat: 권한 관리 위해 커스텀 어노테이션 생성

* feat: 예약 단건, 주별, 월별 조회 API

* fix: 로컬 DB 설정 수정

* feat: 유저 조회 중복 쿼리 방지

* feat: 예약 응답에 recurrenceId 추가

* feat: 동시 예약 방지

* fix: 시큐리티 로그 다시 로컬에서만 보이도록 변경

* feat: 목데이터 날라가지 않도록 ddl-auto 수정

* feat: about, member, news, seminar 메인 이미지 업로드 추가 (#38)

* feat: uploadImage 추가

* feat: about, member 사진 업로드 추가

* feat: news, seminar 사진 업로드 추가

* refactor: imageEntity 추가 리팩토링

* fix: gif 삭제

* fix: application.yaml 수정

* fix: newsService 태그 -> 이미지로 순서 변경

* fix: pr 리뷰 수정

* fix: extension 없애고, mainImage로 바꾸고, uuid 없애기

* fix: var 삭제

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* CICD: Change deploy port to 8080 (#40)

* [Merge] (#41) (#42)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* :sparkles: 패키지 및 엔티티 생성

* :sparkles: BaseTimeEntity 생성, PostEntity 기본 내용 작성

* :sparkles: PostController 생성 및 기본 내용 작성

* :sparkles: postService 생성

* :sparkles: Exceptions.kt 생성

* :sparkles: postDto 생성

* :sparkles: postRepository 생성 및 기본 내용 작성

* :green_heart: application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

* fix: main에서 develop으로 pr (#16)

* feat: merge develop to main (#13)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* :sparkles: 패키지 및 엔티티 생성

* :sparkles: BaseTimeEntity 생성, PostEntity 기본 내용 작성

* :sparkles: PostController 생성 및 기본 내용 작성

* :sparkles: postService 생성

* :sparkles: Exceptions.kt 생성

* :sparkles: postDto 생성

* :sparkles: postRepository 생성 및 기본 내용 작성

* :green_heart: application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

---------




* hotfix: 사용하지않는 Dto 및 엔티티 삭제 (#14)

---------




* feat: seminar 패키지 추가 (#17)

* feat: createSeminar, readSeminar, updateSeminar 추가

* feat: deleteSeminar, searchSeminar 추가

* fix: distinct 삭제

* hotfix: 불필요한 dto 삭제 (#20)

* hotfix: 불필요한 dto 삭제

* build.gradle 수정

* fix: 이미지 uri 필드 추가 및 프론트 요구사항 반영 (#21)

* feat: 이미지 uri 필드 추가 및 isActive 대신 status 추가

* fix: 행정직원 전체 조회 응답에서 task 삭제

* fix: 교수진 페이지 응답 수정

* feat: introduction 패키지, undergraduate 패키지 추가 (#22)

* feat: createUndergraduate, readUndergraduate 추가

* feat: readAllCourses, createCourse, readCourse 추가

* introduction 패키지 추가

* fix: dto에서 postType 삭제

* fix: postType pathVariable->requestBody 수정, 오타 수정

* fix: 프론트와 협의하여 이름 등 변경

* feat: academics 패키지 대학원도 가능하도록 추가

* feat: 장학제도 세부 장학금 create, read 추가

* fix: 수정

* fix:수정

* feat: admissions, research 패키지 추가 (#23)

* feat: admissions-학부 에서 create, read 추가

* feat: admissions-대학원도 작성 가능하도록 추가

* feat: createResearch 추가

* feat: createLab 추가

* fix: 다른 패키지에 맞게 수정

* research-groups, research-centers에서 read, update 추가

* fix: admissions, research에서 프론트와 협의하여 이름 등 수정

* fix: 오타 수정

* fix: enum 추가, pr 리뷰 반영

* feat: oidc 로그인 (#27)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: idsnucse 다운 되었을때 에러 처리

* feat: idsnucse 다운 되었을때 에러 처리

* feat: cors 설정 (#30)

* fix: cors 추가 설정 (#32)

* feat: cors 설정

* feat: cors 설정

* fix: CORS (#34)

* feat: cors 설정

* feat: cors 설정

* feat: cors 설정

* fix: about, academics, admissions 패키지 수정 (#25)

* fix: admissions, about 컨트롤러 변경

* fix: academics 컨트롤러 수정

* 커밋중

* fix: pr 리뷰 반영

* feat: readMain 추가

* pr 리뷰 반영

* feat: 일반 예약 및 정기 예약 API (#28)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: 예약 엔티티 및 DTO 설계

* feat: 일반 예약 및 정기 예약

* feat: 예약 조회 API (#39)

* feat: 권한 관리 위해 커스텀 어노테이션 생성

* feat: 예약 단건, 주별, 월별 조회 API

* fix: 로컬 DB 설정 수정

* feat: 유저 조회 중복 쿼리 방지

* feat: 예약 응답에 recurrenceId 추가

* feat: 동시 예약 방지

* fix: 시큐리티 로그 다시 로컬에서만 보이도록 변경

* feat: 목데이터 날라가지 않도록 ddl-auto 수정

* feat: about, member, news, seminar 메인 이미지 업로드 추가 (#38)

* feat: uploadImage 추가

* feat: about, member 사진 업로드 추가

* feat: news, seminar 사진 업로드 추가

* refactor: imageEntity 추가 리팩토링

* fix: gif 삭제

* fix: application.yaml 수정

* fix: newsService 태그 -> 이미지로 순서 변경

* fix: pr 리뷰 수정

* fix: extension 없애고, mainImage로 바꾸고, uuid 없애기

* fix: var 삭제

---------



* CICD: Change deploy port to 8080 (#40)

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>

* feat: 장학제도 GET API 및 장학제도 페이지 응답 수정 (#44)

* feat: 장학제도 GET API

* feat: 장학제도 메인페이지 GET API 응답 수정

* feat: custom metadata 설정 + 리다이렉트 엔드포인트 변경 (#45)

* feat: yml 파일에 custom metadata endpoint 추가

* feat: 로그인/로그아웃 성공 리다이렉트 엔드포인트 변경

* feat: attachments 패키지 추가, news와 seminar request에 attachments 추가 (#43)

* feat: attachments 추가, news request에 attachments 추가

* feat: seminar request에 attachments 추가

* fix: mappedBy 추가 + bringAttachments null 없앰

* fix: 경로 분리

* fix: isDeleted false로 수정

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* feat: Top Conference List GET API (#47)

* feat: Top Conference List GET API

* feat: db에서 가져올때 정렬

* feat: 파일 서빙, 다운로드, 삭제 API (#48)

* feat: 파일 서빙, 다운로드, 삭제 API

* fix: extension 중복, 경로 수정

* feat: 공지사항 글쓴이 추가 (#49)

* CI/CD: Https 적용 및 백엔드, 데이터베이스, 프록시 서버 배포 분리 (#50)

* Config: Add gitignore for caddy files.

* CICD: Add caddy config file

* CICD: Seperate docker compose file for db and backend server.

* CICD: Docker Compose file for caddy proxy server.

* CICD: Add path condition for only act when source file has changed.

* CICD: Add workflow for deploying database changes.

* CICD: Add workflow for proxy server changes.

* Refactor: Add /api/v1 in front of all endpoints (except swagger-ui)

* Refactor: Add v1 to Main Image url.

* Refactor: change backend, frontend, login redirect uri to get from env.

* CICD: Add url to .env

* Fix: Change job name of database workflow, fix indent level.

* Fix: Remove duplicated restcontroller mapping.

* Fix: Set reverse proxy for swagger-ui/* for swagger.

* Docs: Set swagger to only scan /api/**

* Fix: add caddy to reverse api-docs/* for springdoc.

* Fix: Add login uris for reverse proxying to backend server.

* CICD: Remove testing branch condition.

* CICD: Add logout uri to reverse proxy to backend server.

* CICD: Remove test branch

* fix: 프론트랑 협의하여 내용 변경 + news, seminar에 image, attachments update 추가 (#51)

* feat: attachments 추가, news request에 attachments 추가

* feat: seminar request에 attachments 추가

* feat: about request에 attachments 추가

* feat: academics request에 attachments 추가

* fix: isPinned 삭제

* fix: image -> mainImage 변경, about에 greetings 추가

* fix: news, seminar update 수정

* fix: 전체적으로 image -> mainImage 변경

* fix: research 패키지 프론트에 맞춰 협의 (#52)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* fix: pr 리뷰 수정

* fix: 오타 수정

* [Refactor] 로그인, file uri 배포 환경에 맞게 수정 (#53)

* Refactor: Change mapping of file to append /api/v1 in front.

* Refactor: Change login, logout redirect uri

* fix: https 적용 관련 로그인 수정 (#56)

* fix: notice 패키지 프론트에 맞게 협의 (#54)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* feat: notice에 attachments 추가

* fix: fix_with_front1 변경 사항에 맞게 수정

* feat: isImportant 추가

* feat: NoticeSearchDto에 hasAttachment 추가

* fix: update에서 attachmetnts가 null일 때 빈 목록 반환

* feat: 공지사항 선택 고정해제, 선택 삭제 추가

* fix: news, seminar에 isImportant 추가

* fix: pr 리뷰 수정

* fix: 수정했던거 다시 복구

* feat: 신임교수초빙 (#59)

* feat: 행정실 권한 체크 API (#60)

* [CICD] mainImage, attachment 경로 mount 설정 (#55)

* CICD: Add mainImage, attachment directory for mounting

* CICD: Add volumes to mount with server directory. (for attachment)

* [Feat] 예전 url과 비슷하게 이전 파일(사진)들 접근할 수 있도록 controller 생성 (#58)

* Config: Add oldFiles path for properties.

* Feat: Add deprecated file controller for getting old files temporarily.

* CICD: Add volume mounting for old files.

* CICD: Add dir to mount for old files.

* Refactor: Change api to /sites/default/files/{PATH}

* CICD: Add reverse proxy for old file serving.

* fix: 예약 dto에 지도교수, 반복 횟수 추가 (#61)

* fix: 로그아웃 엔드포인트 변경 (#64)

* fix: 로그아웃 엔드포인트 변경

* fix: 로그아웃 성공 리다이렉트 엔드포인트 변경

* [Fix] Notice, News Description TEXT type으로 변환 (#65)

* Fix: Change notice and news entity description type as TEXT.

* Fix: Change to mediumtext

* fix: newsSearchResponse, seminarSearchResponse 수정 (#66)

* fix: newsSearchResponse 수정

* fix: SeminarSearchResponse 수정

* fix: 오타수정

* fix: 파일 업로드 경로 통일 (#68)

* fix: 갯수만 fetch하도록 최적화 (#70)

* Fix: Change type of additionalNote column on SeminarEntity to "TEXT" (#71)

* fix: academics 패키지 프론트에 맞춰 협의, admin 패키지 추가 (#69)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* feat: notice에 attachments 추가

* fix: fix_with_front1 변경 사항에 맞게 수정

* feat: isImportant 추가

* feat: NoticeSearchDto에 hasAttachment 추가

* fix: update에서 attachmetnts가 null일 때 빈 목록 반환

* feat: 공지사항 선택 고정해제, 선택 삭제 추가

* fix: news, seminar에 isImportant 추가

* fix: pr 리뷰 수정

* fix: 수정했던거 다시 복구

* fix: course response 수정

* feat: academics에서 연도별로 주는 response 추가

* feat: academics YearResponses 추가

* fix: createScholarship 합치기

* fix: scholarship 패키지의 내용을 academics 하위로 옮김

* feat: createScholarshipDetail 추가

* fix: 필수 교양과목 response 변경

* feat: admin 패키지에서 readAllSlides 추가

* feat: admin 패키지 readAllImportants 추가

* feat: admin 패키지 중요안내 추가

* Refactor: HTML로부터 텍스트 추출 함수 Utils로 이동 (#73)

* Feat: Add cleanTextFromHtml.

* Refactor: Remove private clean method, replace to Utils.cleanTextFromHtml.

* Refactor: Remove unused imports.

* Feat: Add plain text description for notice (#74)

* Feat: Add cleanTextFromHtml.

* Refactor: Remove private clean method, replace to Utils.cleanTextFromHtml.

* Refactor: Remove unused imports.

* Feat: Add plainTextDescription.

* Feat: Add plainTextDescription in createNotice.

* Feat: add updating plainTextDescription when updating description.

* fix: admissions 패키지 프론트에 맞게 협의 (#76)

* fix: admissions 프론트에 맞게 협의

* fix: seminarEntity time 삭제

* fix: admissionsEntity pageName 추가

* fix: 불필요한 파일 삭제

* 커밋

* fix: 이전 글 다음 글만 fetch 하도록 쿼리 최적화 (#75)

* fix: 이전 글 다음 글만 fetch 하도록 쿼리 최적화

* fix: distinct 수정

* fix: 쿼리 최적화

* fix: total Long 타입으로 수정

* CI/CD: Test 설정 (#77)

* Config: Add kotest, mockk, h2 db for testing.

* Config: Add test profile.

* Config: Add testconfig for jpaqueryfactory.

* CICD: Add build, test workflow

* Fix: Revert local datasource url change.

* [Test] Notice create, update 시 plainTextDescription 동작 테스트 (#78)

* Config: Add test profile.

* Test: Add Tests for Create, Update Notice, in perspective of plainTextDescription

* Fix: Change life cycle hook resolution to container.

* [Feat] Seminar plain text field 추가 (#79)

* Feat: Add plain text column for description, introduction, additionalnote.

* Feat: Add description, introduction, additionalnote for dto -> entity.

* Feat: Change to update plain description, introduction, additional note.

* Feat: Use plainTextDesription for searchdto.

* Test: Test for create, update of plain texts.

* Test: Fix seminar service test.

* Feat: News plain text field 추가 (#80)

* Feat: Add plainTextDescription field for news entity

* Feat: Add to create, and update plainTextDescription.

* Feat: Change to use plainTextDescription when making newssearchdto.

* Test: Test for create/update plainTextDescription.

* Feat: 구성원 검색 위한 table 추가. (#81)

* Feat: MemberSearchEntity 추가.

* Feat: MemberSearchRepository 추가

* Feat: MemberSearchService 추가

* Feat: ProfessorEntity, StaffEntity에 MemberSearch 추가.

* Feat: ProfessorStatus에 한글 값 추가.

* Feat: professor create, update 시 memberSearch도 반영하도록 추가.

* Feat: seminar create, update 시 memberSearch도 반영하도록 추가.

* Test: ProfessorService 테스트 추가.

* Test: StaffServiceTest 추가.

* fix: 새소식 세미나 쿼리 수정 (#82)

* refactor: 유틸 패키지 생성 및 FixedPageRequest 분리

* feat: 새소식 세미나 이전 다음 글 및 total 쿼리 최적화

* fix: pageNum 값으로 usePageBtn 값 설정

* fix: import 경로 수정

* fix: local db port 3306

* 중복 삭제

* fix: prod endpoint https로 변경

* fix: main 프론트에 맞게 협의, notice 태그 enum 추가 (#83)

* fix: mainResponse 다시 작성

* feat: TagInNoticeEnum 추가

* feat: notice enum 추가

* fix: 코드 수정

* fix: isPublic -> isPrivate으로 정리 (#86)

* fix: rebase 정리

* fix: 오타 수정

* feat: 로컬 로그인 테스트용 엔드포인트로 임시 변경 (#87)

* Feat: 구성원 검색 API 추가 (#85)

* Feat: Add mysql custom dialect with MATCH AGAINST BOOLEAN MODE function.

* CICD: Add config for mysql db

* CICD: Add volumes for config file.

* CICD: Add db_config for condition for db deploy

* Feat: Add search top, and search query.

* Feat: Add DTOs

* Feat: Add Controller for member search only top, and page.

* Feat: Add dialect config for application.yaml

* Feat: Add controller for member search.

* Refactor: Change exception message to korean.

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>

* fix: 세미나 시간 타입 변경 (#91)

* fix: 세미나 시간 LocalDateTime으로 변경

* test: 테스트 수정

* fix: 태그 항목 수정 (#92)

* fix: news tag 추가 (#90)

* fix: news tag 추가

* fix: 일반인은 isPrivate = false인 것만, 직원은 모든 게시글 보여주기

* feat: 졸업생 창업 진로, 졸업생 진로 response 추가 (#94)

* fix: news tag 추가

* fix: 일반인은 isPrivate = false인 것만, 직원은 모든 게시글 보여주기

* feat: about  졸업생 read 추가

* fix: 오타 수정

* fix: conference 주소 추가 (#95)

* Feat: 연구 탭 통합검색 위한 Table 생성. (#97)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Fix: Fix typo, import library.

* Feat: Lab Update API 추가 (#98)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Feat: Add update method for labentity.

* Feat: Add update lab service.

* Feat: Add update lab controller.

* Test: Add ResearchServiceTest.

* Feat: Add deleteAttachment (marking)

* Fix: Add typo, add import library.

* Feat: Conference page 수정 API (#99)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Feat: Add update method for labentity.

* Feat: Add update lab service.

* Feat: Add update lab controller.

* Test: Add ResearchServiceTest.

* Feat: Add Conference Repository.

* Feat: add conferenc eentity method for create, update entity.

* Feat: Change variables to mutable.

* Feat: Add id in conferencedto.

* Feat: Add to sort the conferenceList.

* Feat: Add deleteAttachment (marking)

* Feat add service to modify conference page (create, modify, delete conferences)

* Feat: Add api for modify conference page.

* Test: Add test for conference service.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 파일 관련 수정 (#100)

* fix: 업로드 파일 사이즈 제한

* fix: 원본 첨부파일 이름으로 응답

* refactor: 세미나 업데이트 시 삭제할 첨부파일 id만 받도록 변경

* fix: 파일 api 경로 수정

* fix: deleteAttachment

* fix: GET notice 권한 관련 로직 수정 (#101)

* Refactor: Extract Full Text Query Template to CommonRepository (#102)

* Feat: Extract full text search template to common repository.

* Feat: Change full text search to use extracted repository.

* Feat: Add for 4 elements.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Notice Seminar News Search to Full Text Query (#105)

* Feat: Extract full text search template to common repository.

* Feat: Change full text search to use extracted repository.

* Feat: Add for 4 elements.

* Feat: Add more args cnt.

* Feat: Change keyword boolean builder to full text.

* Feat: Change keyword boolean builder to full text.

* Feat: Change keyword boolean builder to full text.

* Hotfix: Change mount volume. (#103)

* feat: api 권한 설정 (#84)

* fix: GET notice 권한 관련 로직 수정 (#109)

* fix: 필요한 column만 select (#111)

* refactor: 공지 태그 응답 한국어로 변경 및 리팩토링 (#113)

* refactor: 공지 태그 응답 한국어로 수정 및 리팩토링

* refactor: 새소식 태그 리팩토링

* fix: NewsRepository

* fix: 공지 새소식 PATCH 로직 수정 (#114)

* fix: 공지 새소식 PATCH 로직 수정

* test: 테스트 수정

* fix: news 엔티티에 날짜 추가 (#115)

* Feat: 검색 결과에서 keyword 위치, 적절한 substring 추출 위한 method 추가 (#116)

* Feat: Add utils substringAroundKeyword

* Test: Add test for Utils.kt

* fix: total 더미 값 + pageNum null일때만 더미 값 주기 (#117)

* fix: 예약 조회 권한 분리 및 응답 단순화 (#119)

* fix: 예약 단건 조회 권한 분리

* feat: 월별,주별 조회용 SimpleReservationDto

* fix: 로그인 리다이렉트 엔드포인트 복구 (#121)

* feat: migrateAbout, migrateFutureCareers 추가 (#118)

* feat: AboutRequest, migrateAbout 추가

* feat: future-careers 마이그레이션 추가

* feat: request 패키지 추가

* fix: AboutRequest 간소화

* fix: future-careers description aboutEntity에 저장

* feat: about 패키지 마이그레이션 추가 (#120)

* feat: AboutRequest, migrateAbout 추가

* feat: future-careers 마이그레이션 추가

* feat: request 패키지 추가

* fix: 불필요한 dto 삭제

* feat: migrateStudentClubs 추가

* feat: migrateFacilities 추가

* feat: migrateDirections 추가

* fix: 불필요한 dto 삭제

* fix: request 패키지 삭제

* fix: 오타 수정

* fix: news, notice에 titleForMain 추가 (#125)

* fix: 소식3총사 titleForMain 데이터 생성

* fix: 테스트에 titleForMain  추가

* Revert "fix: 테스트에 titleForMain  추가"

This reverts commit e824ad34e60e0785f1d4c4e187776d4b8bf53dfa.

* fix: 테스트에 titleForMain 추가

* fix: seminar titleForMain 추가

* fix: seminar test titleForMain 추가

* feat: LocalDateTime 응답 마지막에 Z 추가 (#126)

* refactor: deleteIds request 내부로 이동 (#127)

* refactor: deleteIds request 내부로 이동

* test: 테스트 수정

* fix: 확장자 중복 버그 (#128)

* feat: 관리자는 새소식, 세미나 목록에서 비공개 글 확인 가능 (#129)

* feat: research, member 패키지 migrate 추가 (#130)

* feat: migrateProfessors 추가

* feat: migrateResearchDetail 추가

* feat: migrateLabs 추가

* fix: migrate 엔티티 description에 mediumText 추가

* feat: migrateStaff 추가

* fix: 빠진거 수정

* fix: 중복 패키지 삭제

* fix: 너무 안긴거 text로 수정

* fix: noticeSearchDto에도 private 추가 (#131)

* fix: noticeSearchDto에도 private 추가

* fix: json 추가

* fix: 수정 및 추가

* fix: 수정

* Fix: 키워드 추출 함수 수정 (#122)

* Fix: Fix IndexOutOfBoundException, change to return index based on substring.

* Fix: Change to check index exclude case, and set front, back index to better contains keyword.

* Test: Update Test.

* Feat: 통합검색 Notice API 구현 (#123)

* Feat: Add dtos for notice total search.

* Feat: Add repository for notice total search.

* Feat: Add service, controller for notice total search

* Feat: News 통합 검색 API 구현 (#124)

* Feat: Add dto for total search of news.

* Feat: Add repository for total search.

* Feat: Add service, controller for news total search.

* Fix: Fix conflict issues.

* fix: 기존 objectMapper 설정 오버라이드 (#132)

* feat: 파일 업로드 컨트롤러 구현 (#133)

* Feat: Change titleForMain column to TEXT type. (#134)

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* hotfix: mixed content issue (#136)

* hotfix: loginPage to https (#139)

* hotfix: mixed content issue

* hotfix: loginPage

* fix: false로 수정 (#141)

* fix: 이전 다음 글에서 비공개 글 제외 (#143)

* fix: 이전 다음글 비공개 제외

* fix: prev-next

* CBT 위해서 예약 GET 권한체크 주석처리

* Feat: 뉴스 날짜로 정렬 (#144)

* Feat: Change date field to NOT NULLABLE.

* Feat: Change to sort by date, not createdat.

* Test: Fix test.

* Test: Move news test dir.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Add description for slide. (#146)

* style: ktlint (#145)

* style: ktlint

* Feat: change to ktlint_disabled_rules

* Refactor: fix to lint using ktlint.

* Refactor: After merge.

* Fix: After merge.

* Refactor: ReReLint

---------

Co-authored-by: huGgW <whjoon0225@naver.com>

* fix: 텍스트 인코딩 (#147)

* fix: content-dispostion

* fix: 텍스트 인코딩

* fix: 강제 다운로드

* style: ktlint

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* Update ktlint-check.yml

* fix: 중요 안내 (#149)

* fix: 삭제된 글 중요 안내에서 보이지 않도록 수정

* fix: 중요 안내 최대 2개만 보내도록 + plainTextDescription

* style: ktlint

* fix: 첨부파일 다운로드 (#154)

* Feat: 관리자 슬라이드에 total 추가, refactoring (#153)

* Feat: Change dto name, and add total to AdminSlidesResponse.

* Feat: Add pageSize as parameter.

* Feat: move readAllSlides to news repository, add total query.

* Feat: Extract getNewsEntityByIdOrThrow

* Feat: Move readAllSlides and unSlideManyNews logic handling to news service.

* Comment: Add comment for refactoring.

* Test: Add test for read all slides.

* Refactor: Linting.

* Feat: Change pageNum to start at 1.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 세미나 isYearLast 로직 수정 (#155)

* fix: 세미나 isYearFirst 로직 수정

* fix: isYearLast로 재변경 및 로직 수정

* fix: 이전글 다음 글 isDelete,isPrivate 조건 추가 (#151)

* fix: 이전글 다음 글 isDelete 추가

* fix: ktlint 수정

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 메인 공지 정렬 (#158)

* fix: 예약 조회 권한 수정 (#157)

* Feat: 통합검색 정렬 최신순 (#156)

* Feat: Admin Important에 pagination 추가, total 추가. (#159)

* fix: titleForMain이 없어도 isImportant 등록 가능 (#160)

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: em.close() 추가 (#162)

* fix: em.close() 추가

* fix: total에도 추가

* feat: migrateConference 추가 (#164)

* feat: migrateConferences 추가

* fix: 수정

* fix: 수정

* fix: 검색 추가

* fix: createConferenceDto 삭제

* CICD: Add blocking backend api except frontend. (#166)

* CICD: Add blocking backend api except frontend.

* CICD: Remove login, logout, file api from blacklist.

* CICD: Change to just block swagger apis.

* fix: group 변경 반영 (#167)

* refactor: 실제 스누씨 서버 연동 (#168)

* refactor: local-test 중복 항목 공통으로 처리하고 prod에서 오버라이드

* feat: 스누씨 실서버용 환경 변수 설정

* refactor: 로그인 페이지 통합 및 CORS 설정 변경

* fix: CORS

* feat: migrateAdmissions 추가 (#165)

* fix: migrateAdmissions 추가

* fix: 잘못 쓴거 수정

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Increase speakerurl size (#170)

* fix: 로컬에서도 idsnucse로 연결 (#174)

* fix: 로컬에서도 idsnucse 바라보게끔 변경

* fix: test에서 idsnucse 접근 x

* Revert "fix: test에서 idsnucse 접근 x"

This reverts commit cf526452abdc629b433efe701c9fd6ff60893f1e.

* Fix: move local security settings to local, not global.

* Fix: Disable SecurityConfig on "test" profile

---------

Co-authored-by: huGgW <whjoon0225@naver.com>

* feat: Research 검색 (#175)

* fix: 로컬에서도 idsnucse 바라보게끔 변경

* feat: enable async.

* Feat: create professor event.

* Feat: Publish event on professor modification.

* Feat: Update research search when listen professor event.

* Test: ResearchSearchService listen professor event

* fix: test에서 idsnucse 접근 x

* Revert "fix: test에서 idsnucse 접근 x"

This reverts commit cf526452abdc629b433efe701c9fd6ff60893f1e.

* Fix: fixed event listener logic

* Feat: Add search api for research.

* Test: Fix test.

* Fix: move local security settings to local, not global.

* Fix: Disable SecurityConfig on "test" profile

---------

Co-authored-by: leeeryboy <indiv0227@snu.ac.kr>

* feat: staff 검색 기능 추가 (#176)

* Feat: 학사 및 교과 검색 기능 추가 (#177)

* Revert "fix: test에서 idsnucse 접근 x"

This reverts commit cf526452abdc629b433efe701c9fd6ff60893f1e.

* Fix: move local security settings to local, not global.

* Feat: AcademicsStudentType에 값 지정.

* Feat: AcademicsSearchEntity 추가

* Feat: 각 entity에 search 관계 추가

* Feat: 각 entity create하는 서비스 method에 search entity도 생성하도록 추가.

* Feat: Add academicsSearchRepository

* Feat: Add dto for search

* Refactor: Make name field of academics non null

* Feat: Add exchangePageNum to utils.

* Feat: Add academics search service

* Feat: Add search api for academics.

* Feat: add validation code for utils.exchangePageNum

* Test: Add testcode for exchangePageNum

* REfactor: Add transactional readonly for readGeneralStudies

* fix: apply newacademics to use after saved cached entity.

* fix: fix to add target enitity when create of search entity is called.

* refactor: add default values for nullable values.

* Temp: test code, should be fixed h2 issue.

---------

Co-authored-by: leeeryboy <indiv0227@snu.ac.kr>

* Fix: Research 검색에서 html 태그 없이 검색되도록 설정 (#178)

* Fix: Change createContent to remove html tags on description.

* Test: Update to check removing html tags.

* Feat/add language field (#180)

* feat: 엔티티, dto에 language 추가

* feat: read에 language 추가

* fix: ktlint 수정

* fix: languageRepository 삭제, 함수 enum 클래스로 이동

* fix: language pathVariable -> requestParam 변경 && engName 추가 삭제

* fix: dto 소문자로 return하기 enum 함수로 넣어주기

* fix: requestParam defaultValue 추가

* Refactor: Admission 언어 추가 및 리팩터링 진행 (#182)

* Feat: Move type to type dir, and add main type enum.

* Refactor: Add request body for create, and changed migrate elem body.

* Feat: Change pagename -> name, add language and mainType column, add unique constraints.

* Refactor: Remove unused request dto.

* Refactor: Change AdmissionsDto by adding columns, to be able to used as pure dto.

* Feat: Change to more specific search query.

* Feat: Change multiple methods to few methods, by using mainType.

* Feat: Change to few controller by using mainType, and use request bodies instead of dto.

* Test: AdmissionsServiceTest

* Fix: Add mapping path variable.

* Fix: Fix replacing logic.

* feat: academics 패키지에 language field 추가 (#181)

* feat: 엔티티, dto에 language 추가

* feat: read에 language 추가

* feat: academics에 language field 추가

* fix: ktlint 수정

* feat: course 엔티티에 language field 추가

* feat: readCourse에 language parameter 추가

* fix: languageRepository 삭제, 함수 enum 클래스 이동, academicsEntity name 속성 nullable 추가

* fix: requestParam+defaultValue 추가,

* fix: academics name nullable 없앰

* feat: staff에 language, migration 방법 추가 (#183)

* feat: staffEntity에 language 추가

* feat: branch 이름 변경

* fix: branch origin 이름 변경

* feat: staff 읽기, 수정에서 language 속성 추가

* feat: migrateStaffImage 추가

* fix: StaffServiceTest 수정

* Feat: Admission 검색 (#184)

* Feat: Add korean, english section name.

* Feat: add searchContent column for saving index.

* Feat: Add search query repository method.

* Feat: Define dto of search result element.

* Feat: Add search Top Admission method, and add migrate method creating search content.

* Feat: Add search top admissions method to controller.

* Test: Add test for Admission Service.

* Refactor: Remove Location Entity (#186)

* feat: member/research 패키지 이미지와 첨부파일 마이그레이션 코드 작성 (#185)

* feat: migrateProfessorImage 추가

* feat: migrateResearchImageAndAttachments 추가

* feat: migrateStaffImage 추가

* feat: migrateLabPdf 추가

* feat: about에서 이미지랑 첨부파일 추가 (#187)

* feat: migrateProfessorImage 추가

* feat: migrateResearchImageAndAttachments 추가

* feat: migrateStaffImage 추가

* feat: migrateLabPdf 추가

* feat: about에서 이미지랑 첨부파일 추가

* feat: dev 로그인 (#188)

* dev서버 로그인 바이패스

* style: ktlint

* fix: mock auth config 분리

* fix: uri 수정

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: professor language 추가 (#189)

* fix: professor language 추가

* feat: professor 테스트 추가

* feat: professor language 다른 테스트에도 추가

* feat: 테스트 알맞게 수정

* Feature: About 검색 추가 (#192)

* Feat: Change to create search content.

* Feat: Add search query method.

* Feat: Add create, migrate to create searchContent, and add search method.

* Feat: add search api

* COMMENT: add fix comment for aboutservicetest.

* Refactor: Move dtos to ee directory.

* Feat: Add validation for number, pagesize, pagenum

* feat: research 패키지에 language 추가 (#194)

* fix: professor language 추가

* feat: professor 테스트 추가

* feat: professor language 다른 테스트에도 추가

* feat: 테스트 알맞게 수정

* feat: researchDetail에 language 추가

* feat: lab에 language 추가

* fix: about, admission migrate search todo 추가

* Refactor: Admission 검색 리펙터링 (#193)

* Refactor: Merge queries into one.

* Refactor: Add page search method.

* Refactor: Add total count.

* Refactor: change to search page or search top.

* feat: academics 패키지 마이그레이션 추가 (#195)

* fix: professor language 추가

* feat: professor 테스트 추가

* feat: professor language 다른 테스트에도 추가

* feat: 테스트 알맞게 수정

* feat: researchDetail에 language 추가

* feat: lab에 language 추가

* fix: about, admission migrate search todo 추가

* fix: course migrate 추가

* fix: conference, scholarship language 추가

* fix: migrate academics, scholarship 추가

* fix: migrate academics attachments 추가

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: ktlint 정리

* fix: ktlint 정리 2

* fix: 실수로 삭제한 코드 복구

* Refactor: Member Search (#197)

* feat: professor 테스트 추가

* feat: 테스트 알맞게 수정

* fix: about, admission migrate search todo 추가

* Fix: Add commented authentication.

* Feat: Add language field to search entity

* Feat: Add language in search condition, remove duplicated exchangePageNum, Merge search queries

* Feat: Change res body dir, merge two seperate body into one, add language field

* Feat: Change return body, repository method useing.

* Feat: Add language query parameter, change response body.

* Test: Check language of search.

* Refactor: Change res body results key as "results"

* Refactor: Remove unneeded transactional on interface.

---------

Co-authored-by: DESKTOP-USQPRVG\gram <blueland1998@naver.com>

* feat: getMapping에 language requestParam 추가 (#198)

* fix: academics 패키지 get에 language 추가

* fix: professor 패키지 get에 language 추가

* fix: research 패키지 get에 language 추가

* feat: academics 패키지 이름에 맞게 변경 (#199)

* feat: add readDegreeRequirements

* feat: readGeneralRequirements 삭제, readDegreeRequirements 추가

* feat: AcademicsEntity time 칼럼 삭제

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* Refactor: academics search (#200)

* Refactor: research search (#201)

* fix: pageSize 추가 (#203)

* fix: pageSize 쿼리 파라미터 추가

* 함수 인자에서 defaultValue 지정

* fix: 인증 로직 수정 (#206)

* fix: mock-login 위해서 인증 로직 수정

* add v1 to uri

* fix: migrateConferences에서 authenticatedStaff 삭제 (#204)

* fix: simpleProfessorDto에서 status 추가 (#205)

* fix: readDegreeRequirements에 파일 보이도록 추가 (#209)

* fix: StudentClubDto에 engName 추가 (#210)

* fix: researchEntity에 websiteURL 추가 (#211)

* fix: researchEntity에 websiteURL 추가

* fix: ProfessorServiceTest 수정

* Fix: `exchangepageNum`에서 total이 0일 경우 케이스 추가. (#213)

* Fix: Add condition that when total is 0 return pageNum as 1

* Refactor: Rename method name to be more clear.

* Refactor: Remove not needed duplicated conditional check.

* Test: Add test for exchangeValidPageNum for checking when total = 0

* fix: readGeneralStudiesRequirements 추가 (#212)

* fix: readGeneralStudiesRequirements 추가

* fix: readGeneralStudiesRequirements 프론트 협의사항에 따라 수정

* fix: DegreeRequirementsDto description 삭제

* AcademicsPostType 타입 이름 주석 추가

* Fix: Notice 비밀글 표시 안되도록 수정 (#216)

* Feat: Add FindByIdAndIsPrivateFalse

* Fix: Change totalSearchNotice to get isStaff and hide private when not a staff.

* Fix: Change searchTotalNotice and readNotice to consider isStaff.

* Fix: Change totalSearchNotice and readNotice to check authentication and get staff info.

* fix: readFutureCareers에 description 수정 (#214)

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: 파일 크기 100MB로 늘림

* Feat: Research 검색 결과 research 타입 상세화 (#218)

* Refactor: Remove unused method

* Comment: Add comment

* Feat: Add specific research types to enum

* Feat: Change to give more specified enum when it is research related column.

* Refactor: Remove unused LAB entry from Research.

* fix: pdf 타입 AttachmentResponse로 변경 (#220)

* Feat: Add more type to academic. (#221)

* Fix: Change partialDescription to give with searchContent. (without html, all fields) (#222)

* fix: 단건 조회 & 통합 검색 권한 체크 (#217)

* fix: private 단건 조회 권한 체크

* Fix: Notice 비밀글 표시 안되도록 수정 (#216)

* Feat: Add FindByIdAndIsPrivateFalse

* Fix: Change totalSearchNotice to get isStaff and hide private when not a staff.

* Fix: Change searchTotalNotice and readNotice to consider isStaff.

* Fix: Change totalSearchNotice and readNotice to check authentication and get staff info.

* fix: newsTotalSearch 권한 체크

* style: ktlint

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* Fix: Formatting issue.

* Fix: Add studentType for all academic search result. (#224)

* Config: Spring Boot 3.2, Java 21로 업그레이드, Virtual Thread 적용 (#223)

* Fix: add join condition for news total search (#226)

* Feat: Spring Boot 서버에서 Error 발생 시 Slack으로 로그 전송 기능 추가 (#228)

* Dependency: Add slack appender

* Config: Add slack appender for sending error log to slack.

* Config: Add slack api info when making env file.

* Feat: Add to logging error for SQLIntegrityConstraintViolationException and RESTClientException

* Config: Update gradle wrapper

* feat: 학부 총괄 행정직원 맨 앞으로 이동 (#232)

* feat: 한글 이름 우선순위 정렬 (#235)

* feat: 한글 이름 우선순위 정렬

* refactor: 유틸 함수 분리

* Feat: 게시물 제외 통합검색에 사용되는 field들 refersh하는 API 추가 (#236)

* Feat: Add refresh search event

* Feat: Add api for trigger refresh search indexes.

* Feat: Add refresh search event listener for about entity.

* Feat: Add refresh search event listener for academics entity.

* Feat: Add refresh search event listener for admission entity.

* Feat: Add refresh search event listener for member entity.

* Feat: Add refresh search event listener for research entity.

* Fix: Change transactional propagation as REQUIRES_NEW for about's refresh event listener.

* style: ktlint

---------

Co-authored-by: Junhyeong Kim <leeeryboy@gmail.com>
Co-authored-by: leeeryboy <indiv0227@snu.ac.kr>

* delete image thumbnail logic (#237)

* Fix: Fill "mappedBy" information for remove about_attachments table. (#239)

* CICD: 배포, 개발계 분리 적용 (#238)

* CICD: Add dev deployment workflow

* Refactor: Remove unused comments

* Config: Add dev profile

* CICD: Add ssh port for production deploy environment

* Config: Change slack message format to more readable

* fix: course 띄어쓰기 그대로 유지 (#241)

* prod에서 mock-login 삭제 (#242)

* feat: mock login api only for profile dev

* feat: delete mock login api in prod

* fix: 교수 정렬 (#243)

* Refactor: Move languagetype from properties from enums (#244)

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>

* fix: stat year 2050년까지 확장 (#245)

* fix: stat year 2050년까지 확장

* fix: 쿼리 수정

* fix: adjust max thread and pool size (#246)

* Feat: 공지, 새소식, 세미나 정렬 옵션 추가 (#247)

* Refactor: Move languagetype from properties from enums

* Feat: Add sort order type for content search (notice, news, seminar)

* Feat: Add sort option for news search.

* Feat: Add sort option for notice search.

* Feat: Add sort option for seminar search.

* Fix: Handle for empty keyword.

---------

Co-authored-by: Junhyeong Kim <leeeryboy@gmail.com>

* CICD: env 파일 분리, 서버 docker image tag 분리 (#248)

* CICD: Seperate docker image tag of prod, dev, rename env

* CICD: Change env name of db

* CICD: Change env name of proxy

* CICD: Remove unused latest tag

---------

Co-authored-by: Junhyeong Kim <leeeryboy@gmail.com>

* feat: 개인정보 동의 여부 기록 (#250)

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* Fix: fix merge conflict

* Fix: give 0.0 to score when keyword is null or empty on notice. (#254)

* CICD: Disable auto https redirect. (#256)

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>
Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>
Co-authored-by: DESKTOP-USQPRVG\gram <blueland1998@naver.com>
Co-authored-by: Junhyeong Kim <leeeryboy@gmail.com>
leeeryboy added a commit that referenced this pull request Apr 7, 2024
* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* :sparkles: 패키지 및 엔티티 생성

* :sparkles: BaseTimeEntity 생성, PostEntity 기본 내용 작성

* :sparkles: PostController 생성 및 기본 내용 작성

* :sparkles: postService 생성

* :sparkles: Exceptions.kt 생성

* :sparkles: postDto 생성

* :sparkles: postRepository 생성 및 기본 내용 작성

* :green_heart: application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

* fix: main에서 develop으로 pr (#16)

* feat: merge develop to main (#13)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* :sparkles: 패키지 및 엔티티 생성

* :sparkles: BaseTimeEntity 생성, PostEntity 기본 내용 작성

* :sparkles: PostController 생성 및 기본 내용 작성

* :sparkles: postService 생성

* :sparkles: Exceptions.kt 생성

* :sparkles: postDto 생성

* :sparkles: postRepository 생성 및 기본 내용 작성

* :green_heart: application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* hotfix: 사용하지않는 Dto 및 엔티티 삭제 (#14)

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* feat: seminar 패키지 추가 (#17)

* feat: createSeminar, readSeminar, updateSeminar 추가

* feat: deleteSeminar, searchSeminar 추가

* fix: distinct 삭제

* hotfix: 불필요한 dto 삭제 (#20)

* hotfix: 불필요한 dto 삭제

* build.gradle 수정

* fix: 이미지 uri 필드 추가 및 프론트 요구사항 반영 (#21)

* feat: 이미지 uri 필드 추가 및 isActive 대신 status 추가

* fix: 행정직원 전체 조회 응답에서 task 삭제

* fix: 교수진 페이지 응답 수정

* feat: introduction 패키지, undergraduate 패키지 추가 (#22)

* feat: createUndergraduate, readUndergraduate 추가

* feat: readAllCourses, createCourse, readCourse 추가

* introduction 패키지 추가

* fix: dto에서 postType 삭제

* fix: postType pathVariable->requestBody 수정, 오타 수정

* fix: 프론트와 협의하여 이름 등 변경

* feat: academics 패키지 대학원도 가능하도록 추가

* feat: 장학제도 세부 장학금 create, read 추가

* fix: 수정

* fix:수정

* feat: admissions, research 패키지 추가 (#23)

* feat: admissions-학부 에서 create, read 추가

* feat: admissions-대학원도 작성 가능하도록 추가

* feat: createResearch 추가

* feat: createLab 추가

* fix: 다른 패키지에 맞게 수정

* research-groups, research-centers에서 read, update 추가

* fix: admissions, research에서 프론트와 협의하여 이름 등 수정

* fix: 오타 수정

* fix: enum 추가, pr 리뷰 반영

* feat: oidc 로그인 (#27)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: idsnucse 다운 되었을때 에러 처리

* feat: idsnucse 다운 되었을때 에러 처리

* feat: cors 설정 (#30)

* fix: cors 추가 설정 (#32)

* feat: cors 설정

* feat: cors 설정

* fix: CORS (#34)

* feat: cors 설정

* feat: cors 설정

* feat: cors 설정

* fix: about, academics, admissions 패키지 수정 (#25)

* fix: admissions, about 컨트롤러 변경

* fix: academics 컨트롤러 수정

* 커밋중

* fix: pr 리뷰 반영

* feat: readMain 추가

* pr 리뷰 반영

* feat: 일반 예약 및 정기 예약 API (#28)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: 예약 엔티티 및 DTO 설계

* feat: 일반 예약 및 정기 예약

* feat: 예약 조회 API (#39)

* feat: 권한 관리 위해 커스텀 어노테이션 생성

* feat: 예약 단건, 주별, 월별 조회 API

* fix: 로컬 DB 설정 수정

* feat: 유저 조회 중복 쿼리 방지

* feat: 예약 응답에 recurrenceId 추가

* feat: 동시 예약 방지

* fix: 시큐리티 로그 다시 로컬에서만 보이도록 변경

* feat: 목데이터 날라가지 않도록 ddl-auto 수정

* feat: about, member, news, seminar 메인 이미지 업로드 추가 (#38)

* feat: uploadImage 추가

* feat: about, member 사진 업로드 추가

* feat: news, seminar 사진 업로드 추가

* refactor: imageEntity 추가 리팩토링

* fix: gif 삭제

* fix: application.yaml 수정

* fix: newsService 태그 -> 이미지로 순서 변경

* fix: pr 리뷰 수정

* fix: extension 없애고, mainImage로 바꾸고, uuid 없애기

* fix: var 삭제

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* CICD: Change deploy port to 8080 (#40)

* [Merge] (#41) (#42)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* :sparkles: 패키지 및 엔티티 생성

* :sparkles: BaseTimeEntity 생성, PostEntity 기본 내용 작성

* :sparkles: PostController 생성 및 기본 내용 작성

* :sparkles: postService 생성

* :sparkles: Exceptions.kt 생성

* :sparkles: postDto 생성

* :sparkles: postRepository 생성 및 기본 내용 작성

* :green_heart: application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

* fix: main에서 develop으로 pr (#16)

* feat: merge develop to main (#13)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* :sparkles: 패키지 및 엔티티 생성

* :sparkles: BaseTimeEntity 생성, PostEntity 기본 내용 작성

* :sparkles: PostController 생성 및 기본 내용 작성

* :sparkles: postService 생성

* :sparkles: Exceptions.kt 생성

* :sparkles: postDto 생성

* :sparkles: postRepository 생성 및 기본 내용 작성

* :green_heart: application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

---------




* hotfix: 사용하지않는 Dto 및 엔티티 삭제 (#14)

---------




* feat: seminar 패키지 추가 (#17)

* feat: createSeminar, readSeminar, updateSeminar 추가

* feat: deleteSeminar, searchSeminar 추가

* fix: distinct 삭제

* hotfix: 불필요한 dto 삭제 (#20)

* hotfix: 불필요한 dto 삭제

* build.gradle 수정

* fix: 이미지 uri 필드 추가 및 프론트 요구사항 반영 (#21)

* feat: 이미지 uri 필드 추가 및 isActive 대신 status 추가

* fix: 행정직원 전체 조회 응답에서 task 삭제

* fix: 교수진 페이지 응답 수정

* feat: introduction 패키지, undergraduate 패키지 추가 (#22)

* feat: createUndergraduate, readUndergraduate 추가

* feat: readAllCourses, createCourse, readCourse 추가

* introduction 패키지 추가

* fix: dto에서 postType 삭제

* fix: postType pathVariable->requestBody 수정, 오타 수정

* fix: 프론트와 협의하여 이름 등 변경

* feat: academics 패키지 대학원도 가능하도록 추가

* feat: 장학제도 세부 장학금 create, read 추가

* fix: 수정

* fix:수정

* feat: admissions, research 패키지 추가 (#23)

* feat: admissions-학부 에서 create, read 추가

* feat: admissions-대학원도 작성 가능하도록 추가

* feat: createResearch 추가

* feat: createLab 추가

* fix: 다른 패키지에 맞게 수정

* research-groups, research-centers에서 read, update 추가

* fix: admissions, research에서 프론트와 협의하여 이름 등 수정

* fix: 오타 수정

* fix: enum 추가, pr 리뷰 반영

* feat: oidc 로그인 (#27)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: idsnucse 다운 되었을때 에러 처리

* feat: idsnucse 다운 되었을때 에러 처리

* feat: cors 설정 (#30)

* fix: cors 추가 설정 (#32)

* feat: cors 설정

* feat: cors 설정

* fix: CORS (#34)

* feat: cors 설정

* feat: cors 설정

* feat: cors 설정

* fix: about, academics, admissions 패키지 수정 (#25)

* fix: admissions, about 컨트롤러 변경

* fix: academics 컨트롤러 수정

* 커밋중

* fix: pr 리뷰 반영

* feat: readMain 추가

* pr 리뷰 반영

* feat: 일반 예약 및 정기 예약 API (#28)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: 예약 엔티티 및 DTO 설계

* feat: 일반 예약 및 정기 예약

* feat: 예약 조회 API (#39)

* feat: 권한 관리 위해 커스텀 어노테이션 생성

* feat: 예약 단건, 주별, 월별 조회 API

* fix: 로컬 DB 설정 수정

* feat: 유저 조회 중복 쿼리 방지

* feat: 예약 응답에 recurrenceId 추가

* feat: 동시 예약 방지

* fix: 시큐리티 로그 다시 로컬에서만 보이도록 변경

* feat: 목데이터 날라가지 않도록 ddl-auto 수정

* feat: about, member, news, seminar 메인 이미지 업로드 추가 (#38)

* feat: uploadImage 추가

* feat: about, member 사진 업로드 추가

* feat: news, seminar 사진 업로드 추가

* refactor: imageEntity 추가 리팩토링

* fix: gif 삭제

* fix: application.yaml 수정

* fix: newsService 태그 -> 이미지로 순서 변경

* fix: pr 리뷰 수정

* fix: extension 없애고, mainImage로 바꾸고, uuid 없애기

* fix: var 삭제

---------



* CICD: Change deploy port to 8080 (#40)

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>

* feat: 장학제도 GET API 및 장학제도 페이지 응답 수정 (#44)

* feat: 장학제도 GET API

* feat: 장학제도 메인페이지 GET API 응답 수정

* feat: custom metadata 설정 + 리다이렉트 엔드포인트 변경 (#45)

* feat: yml 파일에 custom metadata endpoint 추가

* feat: 로그인/로그아웃 성공 리다이렉트 엔드포인트 변경

* feat: attachments 패키지 추가, news와 seminar request에 attachments 추가 (#43)

* feat: attachments 추가, news request에 attachments 추가

* feat: seminar request에 attachments 추가

* fix: mappedBy 추가 + bringAttachments null 없앰

* fix: 경로 분리

* fix: isDeleted false로 수정

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* feat: Top Conference List GET API (#47)

* feat: Top Conference List GET API

* feat: db에서 가져올때 정렬

* feat: 파일 서빙, 다운로드, 삭제 API (#48)

* feat: 파일 서빙, 다운로드, 삭제 API

* fix: extension 중복, 경로 수정

* feat: 공지사항 글쓴이 추가 (#49)

* CI/CD: Https 적용 및 백엔드, 데이터베이스, 프록시 서버 배포 분리 (#50)

* Config: Add gitignore for caddy files.

* CICD: Add caddy config file

* CICD: Seperate docker compose file for db and backend server.

* CICD: Docker Compose file for caddy proxy server.

* CICD: Add path condition for only act when source file has changed.

* CICD: Add workflow for deploying database changes.

* CICD: Add workflow for proxy server changes.

* Refactor: Add /api/v1 in front of all endpoints (except swagger-ui)

* Refactor: Add v1 to Main Image url.

* Refactor: change backend, frontend, login redirect uri to get from env.

* CICD: Add url to .env

* Fix: Change job name of database workflow, fix indent level.

* Fix: Remove duplicated restcontroller mapping.

* Fix: Set reverse proxy for swagger-ui/* for swagger.

* Docs: Set swagger to only scan /api/**

* Fix: add caddy to reverse api-docs/* for springdoc.

* Fix: Add login uris for reverse proxying to backend server.

* CICD: Remove testing branch condition.

* CICD: Add logout uri to reverse proxy to backend server.

* CICD: Remove test branch

* fix: 프론트랑 협의하여 내용 변경 + news, seminar에 image, attachments update 추가 (#51)

* feat: attachments 추가, news request에 attachments 추가

* feat: seminar request에 attachments 추가

* feat: about request에 attachments 추가

* feat: academics request에 attachments 추가

* fix: isPinned 삭제

* fix: image -> mainImage 변경, about에 greetings 추가

* fix: news, seminar update 수정

* fix: 전체적으로 image -> mainImage 변경

* fix: research 패키지 프론트에 맞춰 협의 (#52)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* fix: pr 리뷰 수정

* fix: 오타 수정

* [Refactor] 로그인, file uri 배포 환경에 맞게 수정 (#53)

* Refactor: Change mapping of file to append /api/v1 in front.

* Refactor: Change login, logout redirect uri

* fix: https 적용 관련 로그인 수정 (#56)

* fix: notice 패키지 프론트에 맞게 협의 (#54)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* feat: notice에 attachments 추가

* fix: fix_with_front1 변경 사항에 맞게 수정

* feat: isImportant 추가

* feat: NoticeSearchDto에 hasAttachment 추가

* fix: update에서 attachmetnts가 null일 때 빈 목록 반환

* feat: 공지사항 선택 고정해제, 선택 삭제 추가

* fix: news, seminar에 isImportant 추가

* fix: pr 리뷰 수정

* fix: 수정했던거 다시 복구

* feat: 신임교수초빙 (#59)

* feat: 행정실 권한 체크 API (#60)

* [CICD] mainImage, attachment 경로 mount 설정 (#55)

* CICD: Add mainImage, attachment directory for mounting

* CICD: Add volumes to mount with server directory. (for attachment)

* [Feat] 예전 url과 비슷하게 이전 파일(사진)들 접근할 수 있도록 controller 생성 (#58)

* Config: Add oldFiles path for properties.

* Feat: Add deprecated file controller for getting old files temporarily.

* CICD: Add volume mounting for old files.

* CICD: Add dir to mount for old files.

* Refactor: Change api to /sites/default/files/{PATH}

* CICD: Add reverse proxy for old file serving.

* fix: 예약 dto에 지도교수, 반복 횟수 추가 (#61)

* fix: 로그아웃 엔드포인트 변경 (#64)

* fix: 로그아웃 엔드포인트 변경

* fix: 로그아웃 성공 리다이렉트 엔드포인트 변경

* [Fix] Notice, News Description TEXT type으로 변환 (#65)

* Fix: Change notice and news entity description type as TEXT.

* Fix: Change to mediumtext

* fix: newsSearchResponse, seminarSearchResponse 수정 (#66)

* fix: newsSearchResponse 수정

* fix: SeminarSearchResponse 수정

* fix: 오타수정

* fix: 파일 업로드 경로 통일 (#68)

* fix: 갯수만 fetch하도록 최적화 (#70)

* Fix: Change type of additionalNote column on SeminarEntity to "TEXT" (#71)

* fix: academics 패키지 프론트에 맞춰 협의, admin 패키지 추가 (#69)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* feat: notice에 attachments 추가

* fix: fix_with_front1 변경 사항에 맞게 수정

* feat: isImportant 추가

* feat: NoticeSearchDto에 hasAttachment 추가

* fix: update에서 attachmetnts가 null일 때 빈 목록 반환

* feat: 공지사항 선택 고정해제, 선택 삭제 추가

* fix: news, seminar에 isImportant 추가

* fix: pr 리뷰 수정

* fix: 수정했던거 다시 복구

* fix: course response 수정

* feat: academics에서 연도별로 주는 response 추가

* feat: academics YearResponses 추가

* fix: createScholarship 합치기

* fix: scholarship 패키지의 내용을 academics 하위로 옮김

* feat: createScholarshipDetail 추가

* fix: 필수 교양과목 response 변경

* feat: admin 패키지에서 readAllSlides 추가

* feat: admin 패키지 readAllImportants 추가

* feat: admin 패키지 중요안내 추가

* Refactor: HTML로부터 텍스트 추출 함수 Utils로 이동 (#73)

* Feat: Add cleanTextFromHtml.

* Refactor: Remove private clean method, replace to Utils.cleanTextFromHtml.

* Refactor: Remove unused imports.

* Feat: Add plain text description for notice (#74)

* Feat: Add cleanTextFromHtml.

* Refactor: Remove private clean method, replace to Utils.cleanTextFromHtml.

* Refactor: Remove unused imports.

* Feat: Add plainTextDescription.

* Feat: Add plainTextDescription in createNotice.

* Feat: add updating plainTextDescription when updating description.

* fix: admissions 패키지 프론트에 맞게 협의 (#76)

* fix: admissions 프론트에 맞게 협의

* fix: seminarEntity time 삭제

* fix: admissionsEntity pageName 추가

* fix: 불필요한 파일 삭제

* 커밋

* fix: 이전 글 다음 글만 fetch 하도록 쿼리 최적화 (#75)

* fix: 이전 글 다음 글만 fetch 하도록 쿼리 최적화

* fix: distinct 수정

* fix: 쿼리 최적화

* fix: total Long 타입으로 수정

* CI/CD: Test 설정 (#77)

* Config: Add kotest, mockk, h2 db for testing.

* Config: Add test profile.

* Config: Add testconfig for jpaqueryfactory.

* CICD: Add build, test workflow

* Fix: Revert local datasource url change.

* [Test] Notice create, update 시 plainTextDescription 동작 테스트 (#78)

* Config: Add test profile.

* Test: Add Tests for Create, Update Notice, in perspective of plainTextDescription

* Fix: Change life cycle hook resolution to container.

* [Feat] Seminar plain text field 추가 (#79)

* Feat: Add plain text column for description, introduction, additionalnote.

* Feat: Add description, introduction, additionalnote for dto -> entity.

* Feat: Change to update plain description, introduction, additional note.

* Feat: Use plainTextDesription for searchdto.

* Test: Test for create, update of plain texts.

* Test: Fix seminar service test.

* Feat: News plain text field 추가 (#80)

* Feat: Add plainTextDescription field for news entity

* Feat: Add to create, and update plainTextDescription.

* Feat: Change to use plainTextDescription when making newssearchdto.

* Test: Test for create/update plainTextDescription.

* Feat: 구성원 검색 위한 table 추가. (#81)

* Feat: MemberSearchEntity 추가.

* Feat: MemberSearchRepository 추가

* Feat: MemberSearchService 추가

* Feat: ProfessorEntity, StaffEntity에 MemberSearch 추가.

* Feat: ProfessorStatus에 한글 값 추가.

* Feat: professor create, update 시 memberSearch도 반영하도록 추가.

* Feat: seminar create, update 시 memberSearch도 반영하도록 추가.

* Test: ProfessorService 테스트 추가.

* Test: StaffServiceTest 추가.

* fix: 새소식 세미나 쿼리 수정 (#82)

* refactor: 유틸 패키지 생성 및 FixedPageRequest 분리

* feat: 새소식 세미나 이전 다음 글 및 total 쿼리 최적화

* fix: pageNum 값으로 usePageBtn 값 설정

* fix: import 경로 수정

* fix: local db port 3306

* 중복 삭제

* fix: prod endpoint https로 변경

* fix: main 프론트에 맞게 협의, notice 태그 enum 추가 (#83)

* fix: mainResponse 다시 작성

* feat: TagInNoticeEnum 추가

* feat: notice enum 추가

* fix: 코드 수정

* fix: isPublic -> isPrivate으로 정리 (#86)

* fix: rebase 정리

* fix: 오타 수정

* feat: 로컬 로그인 테스트용 엔드포인트로 임시 변경 (#87)

* Feat: 구성원 검색 API 추가 (#85)

* Feat: Add mysql custom dialect with MATCH AGAINST BOOLEAN MODE function.

* CICD: Add config for mysql db

* CICD: Add volumes for config file.

* CICD: Add db_config for condition for db deploy

* Feat: Add search top, and search query.

* Feat: Add DTOs

* Feat: Add Controller for member search only top, and page.

* Feat: Add dialect config for application.yaml

* Feat: Add controller for member search.

* Refactor: Change exception message to korean.

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>

* fix: 세미나 시간 타입 변경 (#91)

* fix: 세미나 시간 LocalDateTime으로 변경

* test: 테스트 수정

* fix: 태그 항목 수정 (#92)

* fix: news tag 추가 (#90)

* fix: news tag 추가

* fix: 일반인은 isPrivate = false인 것만, 직원은 모든 게시글 보여주기

* feat: 졸업생 창업 진로, 졸업생 진로 response 추가 (#94)

* fix: news tag 추가

* fix: 일반인은 isPrivate = false인 것만, 직원은 모든 게시글 보여주기

* feat: about  졸업생 read 추가

* fix: 오타 수정

* fix: conference 주소 추가 (#95)

* Feat: 연구 탭 통합검색 위한 Table 생성. (#97)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Fix: Fix typo, import library.

* Feat: Lab Update API 추가 (#98)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Feat: Add update method for labentity.

* Feat: Add update lab service.

* Feat: Add update lab controller.

* Test: Add ResearchServiceTest.

* Feat: Add deleteAttachment (marking)

* Fix: Add typo, add import library.

* Feat: Conference page 수정 API (#99)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Feat: Add update method for labentity.

* Feat: Add update lab service.

* Feat: Add update lab controller.

* Test: Add ResearchServiceTest.

* Feat: Add Conference Repository.

* Feat: add conferenc eentity method for create, update entity.

* Feat: Change variables to mutable.

* Feat: Add id in conferencedto.

* Feat: Add to sort the conferenceList.

* Feat: Add deleteAttachment (marking)

* Feat add service to modify conference page (create, modify, delete conferences)

* Feat: Add api for modify conference page.

* Test: Add test for conference service.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 파일 관련 수정 (#100)

* fix: 업로드 파일 사이즈 제한

* fix: 원본 첨부파일 이름으로 응답

* refactor: 세미나 업데이트 시 삭제할 첨부파일 id만 받도록 변경

* fix: 파일 api 경로 수정

* fix: deleteAttachment

* fix: GET notice 권한 관련 로직 수정 (#101)

* Refactor: Extract Full Text Query Template to CommonRepository (#102)

* Feat: Extract full text search template to common repository.

* Feat: Change full text search to use extracted repository.

* Feat: Add for 4 elements.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Notice Seminar News Search to Full Text Query (#105)

* Feat: Extract full text search template to common repository.

* Feat: Change full text search to use extracted repository.

* Feat: Add for 4 elements.

* Feat: Add more args cnt.

* Feat: Change keyword boolean builder to full text.

* Feat: Change keyword boolean builder to full text.

* Feat: Change keyword boolean builder to full text.

* Hotfix: Change mount volume. (#103)

* feat: api 권한 설정 (#84)

* fix: GET notice 권한 관련 로직 수정 (#109)

* fix: 필요한 column만 select (#111)

* refactor: 공지 태그 응답 한국어로 변경 및 리팩토링 (#113)

* refactor: 공지 태그 응답 한국어로 수정 및 리팩토링

* refactor: 새소식 태그 리팩토링

* fix: NewsRepository

* fix: 공지 새소식 PATCH 로직 수정 (#114)

* fix: 공지 새소식 PATCH 로직 수정

* test: 테스트 수정

* fix: news 엔티티에 날짜 추가 (#115)

* Feat: 검색 결과에서 keyword 위치, 적절한 substring 추출 위한 method 추가 (#116)

* Feat: Add utils substringAroundKeyword

* Test: Add test for Utils.kt

* fix: total 더미 값 + pageNum null일때만 더미 값 주기 (#117)

* fix: 예약 조회 권한 분리 및 응답 단순화 (#119)

* fix: 예약 단건 조회 권한 분리

* feat: 월별,주별 조회용 SimpleReservationDto

* fix: 로그인 리다이렉트 엔드포인트 복구 (#121)

* feat: migrateAbout, migrateFutureCareers 추가 (#118)

* feat: AboutRequest, migrateAbout 추가

* feat: future-careers 마이그레이션 추가

* feat: request 패키지 추가

* fix: AboutRequest 간소화

* fix: future-careers description aboutEntity에 저장

* feat: about 패키지 마이그레이션 추가 (#120)

* feat: AboutRequest, migrateAbout 추가

* feat: future-careers 마이그레이션 추가

* feat: request 패키지 추가

* fix: 불필요한 dto 삭제

* feat: migrateStudentClubs 추가

* feat: migrateFacilities 추가

* feat: migrateDirections 추가

* fix: 불필요한 dto 삭제

* fix: request 패키지 삭제

* fix: 오타 수정

* fix: news, notice에 titleForMain 추가 (#125)

* fix: 소식3총사 titleForMain 데이터 생성

* fix: 테스트에 titleForMain  추가

* Revert "fix: 테스트에 titleForMain  추가"

This reverts commit e824ad34e60e0785f1d4c4e187776d4b8bf53dfa.

* fix: 테스트에 titleForMain 추가

* fix: seminar titleForMain 추가

* fix: seminar test titleForMain 추가

* feat: LocalDateTime 응답 마지막에 Z 추가 (#126)

* refactor: deleteIds request 내부로 이동 (#127)

* refactor: deleteIds request 내부로 이동

* test: 테스트 수정

* fix: 확장자 중복 버그 (#128)

* feat: 관리자는 새소식, 세미나 목록에서 비공개 글 확인 가능 (#129)

* feat: research, member 패키지 migrate 추가 (#130)

* feat: migrateProfessors 추가

* feat: migrateResearchDetail 추가

* feat: migrateLabs 추가

* fix: migrate 엔티티 description에 mediumText 추가

* feat: migrateStaff 추가

* fix: 빠진거 수정

* fix: 중복 패키지 삭제

* fix: 너무 안긴거 text로 수정

* fix: noticeSearchDto에도 private 추가 (#131)

* fix: noticeSearchDto에도 private 추가

* fix: json 추가

* fix: 수정 및 추가

* fix: 수정

* Fix: 키워드 추출 함수 수정 (#122)

* Fix: Fix IndexOutOfBoundException, change to return index based on substring.

* Fix: Change to check index exclude case, and set front, back index to better contains keyword.

* Test: Update Test.

* Feat: 통합검색 Notice API 구현 (#123)

* Feat: Add dtos for notice total search.

* Feat: Add repository for notice total search.

* Feat: Add service, controller for notice total search

* Feat: News 통합 검색 API 구현 (#124)

* Feat: Add dto for total search of news.

* Feat: Add repository for total search.

* Feat: Add service, controller for news total search.

* Fix: Fix conflict issues.

* fix: 기존 objectMapper 설정 오버라이드 (#132)

* feat: 파일 업로드 컨트롤러 구현 (#133)

* Feat: Change titleForMain column to TEXT type. (#134)

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* hotfix: mixed content issue (#136)

* hotfix: loginPage to https (#139)

* hotfix: mixed content issue

* hotfix: loginPage

* fix: false로 수정 (#141)

* fix: 이전 다음 글에서 비공개 글 제외 (#143)

* fix: 이전 다음글 비공개 제외

* fix: prev-next

* CBT 위해서 예약 GET 권한체크 주석처리

* Feat: 뉴스 날짜로 정렬 (#144)

* Feat: Change date field to NOT NULLABLE.

* Feat: Change to sort by date, not createdat.

* Test: Fix test.

* Test: Move news test dir.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Add description for slide. (#146)

* style: ktlint (#145)

* style: ktlint

* Feat: change to ktlint_disabled_rules

* Refactor: fix to lint using ktlint.

* Refactor: After merge.

* Fix: After merge.

* Refactor: ReReLint

---------

Co-authored-by: huGgW <whjoon0225@naver.com>

* fix: 텍스트 인코딩 (#147)

* fix: content-dispostion

* fix: 텍스트 인코딩

* fix: 강제 다운로드

* style: ktlint

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* Update ktlint-check.yml

* fix: 중요 안내 (#149)

* fix: 삭제된 글 중요 안내에서 보이지 않도록 수정

* fix: 중요 안내 최대 2개만 보내도록 + plainTextDescription

* style: ktlint

* fix: 첨부파일 다운로드 (#154)

* Feat: 관리자 슬라이드에 total 추가, refactoring (#153)

* Feat: Change dto name, and add total to AdminSlidesResponse.

* Feat: Add pageSize as parameter.

* Feat: move readAllSlides to news repository, add total query.

* Feat: Extract getNewsEntityByIdOrThrow

* Feat: Move readAllSlides and unSlideManyNews logic handling to news service.

* Comment: Add comment for refactoring.

* Test: Add test for read all slides.

* Refactor: Linting.

* Feat: Change pageNum to start at 1.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 세미나 isYearLast 로직 수정 (#155)

* fix: 세미나 isYearFirst 로직 수정

* fix: isYearLast로 재변경 및 로직 수정

* fix: 이전글 다음 글 isDelete,isPrivate 조건 추가 (#151)

* fix: 이전글 다음 글 isDelete 추가

* fix: ktlint 수정

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 메인 공지 정렬 (#158)

* fix: 예약 조회 권한 수정 (#157)

* Feat: 통합검색 정렬 최신순 (#156)

* Feat: Admin Important에 pagination 추가, total 추가. (#159)

* fix: titleForMain이 없어도 isImportant 등록 가능 (#160)

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: em.close() 추가 (#162)

* fix: em.close() 추가

* fix: total에도 추가

* feat: migrateConference 추가 (#164)

* feat: migrateConferences 추가

* fix: 수정

* fix: 수정

* fix: 검색 추가

* fix: createConferenceDto 삭제

* CICD: Add blocking backend api except frontend. (#166)

* CICD: Add blocking backend api except frontend.

* CICD: Remove login, logout, file api from blacklist.

* CICD: Change to just block swagger apis.

* fix: group 변경 반영 (#167)

* refactor: 실제 스누씨 서버 연동 (#168)

* refactor: local-test 중복 항목 공통으로 처리하고 prod에서 오버라이드

* feat: 스누씨 실서버용 환경 변수 설정

* refactor: 로그인 페이지 통합 및 CORS 설정 변경

* fix: CORS

* feat: migrateAdmissions 추가 (#165)

* fix: migrateAdmissions 추가

* fix: 잘못 쓴거 수정

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Increase speakerurl size (#170)

* fix: 로컬에서도 idsnucse로 연결 (#174)

* fix: 로컬에서도 idsnucse 바라보게끔 변경

* fix: test에서 idsnucse 접근 x

* Revert "fix: test에서 idsnucse 접근 x"

This reverts commit cf526452abdc629b433efe701c9fd6ff60893f1e.

* Fix: move local security settings to local, not global.

* Fix: Disable SecurityConfig on "test" profile

---------

Co-authored-by: huGgW <whjoon0225@naver.com>

* feat: Research 검색 (#175)

* fix: 로컬에서도 idsnucse 바라보게끔 변경

* feat: enable async.

* Feat: create professor event.

* Feat: Publish event on professor modification.

* Feat: Update research search when listen professor event.

* Test: ResearchSearchService listen professor event

* fix: test에서 idsnucse 접근 x

* Revert "fix: test에서 idsnucse 접근 x"

This reverts commit cf526452abdc629b433efe701c9fd6ff60893f1e.

* Fix: fixed event listener logic

* Feat: Add search api for research.

* Test: Fix test.

* Fix: move local security settings to local, not global.

* Fix: Disable SecurityConfig on "test" profile

---------

Co-authored-by: leeeryboy <indiv0227@snu.ac.kr>

* feat: staff 검색 기능 추가 (#176)

* Feat: 학사 및 교과 검색 기능 추가 (#177)

* Revert "fix: test에서 idsnucse 접근 x"

This reverts commit cf526452abdc629b433efe701c9fd6ff60893f1e.

* Fix: move local security settings to local, not global.

* Feat: AcademicsStudentType에 값 지정.

* Feat: AcademicsSearchEntity 추가

* Feat: 각 entity에 search 관계 추가

* Feat: 각 entity create하는 서비스 method에 search entity도 생성하도록 추가.

* Feat: Add academicsSearchRepository

* Feat: Add dto for search

* Refactor: Make name field of academics non null

* Feat: Add exchangePageNum to utils.

* Feat: Add academics search service

* Feat: Add search api for academics.

* Feat: add validation code for utils.exchangePageNum

* Test: Add testcode for exchangePageNum

* REfactor: Add transactional readonly for readGeneralStudies

* fix: apply newacademics to use after saved cached entity.

* fix: fix to add target enitity when create of search entity is called.

* refactor: add default values for nullable values.

* Temp: test code, should be fixed h2 issue.

---------

Co-authored-by: leeeryboy <indiv0227@snu.ac.kr>

* Fix: Research 검색에서 html 태그 없이 검색되도록 설정 (#178)

* Fix: Change createContent to remove html tags on description.

* Test: Update to check removing html tags.

* Feat/add language field (#180)

* feat: 엔티티, dto에 language 추가

* feat: read에 language 추가

* fix: ktlint 수정

* fix: languageRepository 삭제, 함수 enum 클래스로 이동

* fix: language pathVariable -> requestParam 변경 && engName 추가 삭제

* fix: dto 소문자로 return하기 enum 함수로 넣어주기

* fix: requestParam defaultValue 추가

* Refactor: Admission 언어 추가 및 리팩터링 진행 (#182)

* Feat: Move type to type dir, and add main type enum.

* Refactor: Add request body for create, and changed migrate elem body.

* Feat: Change pagename -> name, add language and mainType column, add unique constraints.

* Refactor: Remove unused request dto.

* Refactor: Change AdmissionsDto by adding columns, to be able to used as pure dto.

* Feat: Change to more specific search query.

* Feat: Change multiple methods to few methods, by using mainType.

* Feat: Change to few controller by using mainType, and use request bodies instead of dto.

* Test: AdmissionsServiceTest

* Fix: Add mapping path variable.

* Fix: Fix replacing logic.

* feat: academics 패키지에 language field 추가 (#181)

* feat: 엔티티, dto에 language 추가

* feat: read에 language 추가

* feat: academics에 language field 추가

* fix: ktlint 수정

* feat: course 엔티티에 language field 추가

* feat: readCourse에 language parameter 추가

* fix: languageRepository 삭제, 함수 enum 클래스 이동, academicsEntity name 속성 nullable 추가

* fix: requestParam+defaultValue 추가,

* fix: academics name nullable 없앰

* feat: staff에 language, migration 방법 추가 (#183)

* feat: staffEntity에 language 추가

* feat: branch 이름 변경

* fix: branch origin 이름 변경

* feat: staff 읽기, 수정에서 language 속성 추가

* feat: migrateStaffImage 추가

* fix: StaffServiceTest 수정

* Feat: Admission 검색 (#184)

* Feat: Add korean, english section name.

* Feat: add searchContent column for saving index.

* Feat: Add search query repository method.

* Feat: Define dto of search result element.

* Feat: Add search Top Admission method, and add migrate method creating search content.

* Feat: Add search top admissions method to controller.

* Test: Add test for Admission Service.

* Refactor: Remove Location Entity (#186)

* feat: member/research 패키지 이미지와 첨부파일 마이그레이션 코드 작성 (#185)

* feat: migrateProfessorImage 추가

* feat: migrateResearchImageAndAttachments 추가

* feat: migrateStaffImage 추가

* feat: migrateLabPdf 추가

* feat: about에서 이미지랑 첨부파일 추가 (#187)

* feat: migrateProfessorImage 추가

* feat: migrateResearchImageAndAttachments 추가

* feat: migrateStaffImage 추가

* feat: migrateLabPdf 추가

* feat: about에서 이미지랑 첨부파일 추가

* feat: dev 로그인 (#188)

* dev서버 로그인 바이패스

* style: ktlint

* fix: mock auth config 분리

* fix: uri 수정

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: professor language 추가 (#189)

* fix: professor language 추가

* feat: professor 테스트 추가

* feat: professor language 다른 테스트에도 추가

* feat: 테스트 알맞게 수정

* Feature: About 검색 추가 (#192)

* Feat: Change to create search content.

* Feat: Add search query method.

* Feat: Add create, migrate to create searchContent, and add search method.

* Feat: add search api

* COMMENT: add fix comment for aboutservicetest.

* Refactor: Move dtos to ee directory.

* Feat: Add validation for number, pagesize, pagenum

* feat: research 패키지에 language 추가 (#194)

* fix: professor language 추가

* feat: professor 테스트 추가

* feat: professor language 다른 테스트에도 추가

* feat: 테스트 알맞게 수정

* feat: researchDetail에 language 추가

* feat: lab에 language 추가

* fix: about, admission migrate search todo 추가

* Refactor: Admission 검색 리펙터링 (#193)

* Refactor: Merge queries into one.

* Refactor: Add page search method.

* Refactor: Add total count.

* Refactor: change to search page or search top.

* feat: academics 패키지 마이그레이션 추가 (#195)

* fix: professor language 추가

* feat: professor 테스트 추가

* feat: professor language 다른 테스트에도 추가

* feat: 테스트 알맞게 수정

* feat: researchDetail에 language 추가

* feat: lab에 language 추가

* fix: about, admission migrate search todo 추가

* fix: course migrate 추가

* fix: conference, scholarship language 추가

* fix: migrate academics, scholarship 추가

* fix: migrate academics attachments 추가

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: ktlint 정리

* fix: ktlint 정리 2

* fix: 실수로 삭제한 코드 복구

* Refactor: Member Search (#197)

* feat: professor 테스트 추가

* feat: 테스트 알맞게 수정

* fix: about, admission migrate search todo 추가

* Fix: Add commented authentication.

* Feat: Add language field to search entity

* Feat: Add language in search condition, remove duplicated exchangePageNum, Merge search queries

* Feat: Change res body dir, merge two seperate body into one, add language field

* Feat: Change return body, repository method useing.

* Feat: Add language query parameter, change response body.

* Test: Check language of search.

* Refactor: Change res body results key as "results"

* Refactor: Remove unneeded transactional on interface.

---------

Co-authored-by: DESKTOP-USQPRVG\gram <blueland1998@naver.com>

* feat: getMapping에 language requestParam 추가 (#198)

* fix: academics 패키지 get에 language 추가

* fix: professor 패키지 get에 language 추가

* fix: research 패키지 get에 language 추가

* feat: academics 패키지 이름에 맞게 변경 (#199)

* feat: add readDegreeRequirements

* feat: readGeneralRequirements 삭제, readDegreeRequirements 추가

* feat: AcademicsEntity time 칼럼 삭제

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* Refactor: academics search (#200)

* Refactor: research search (#201)

* fix: pageSize 추가 (#203)

* fix: pageSize 쿼리 파라미터 추가

* 함수 인자에서 defaultValue 지정

* fix: 인증 로직 수정 (#206)

* fix: mock-login 위해서 인증 로직 수정

* add v1 to uri

* fix: migrateConferences에서 authenticatedStaff 삭제 (#204)

* fix: simpleProfessorDto에서 status 추가 (#205)

* fix: readDegreeRequirements에 파일 보이도록 추가 (#209)

* fix: StudentClubDto에 engName 추가 (#210)

* fix: researchEntity에 websiteURL 추가 (#211)

* fix: researchEntity에 websiteURL 추가

* fix: ProfessorServiceTest 수정

* Fix: `exchangepageNum`에서 total이 0일 경우 케이스 추가. (#213)

* Fix: Add condition that when total is 0 return pageNum as 1

* Refactor: Rename method name to be more clear.

* Refactor: Remove not needed duplicated conditional check.

* Test: Add test for exchangeValidPageNum for checking when total = 0

* fix: readGeneralStudiesRequirements 추가 (#212)

* fix: readGeneralStudiesRequirements 추가

* fix: readGeneralStudiesRequirements 프론트 협의사항에 따라 수정

* fix: DegreeRequirementsDto description 삭제

* AcademicsPostType 타입 이름 주석 추가

* Fix: Notice 비밀글 표시 안되도록 수정 (#216)

* Feat: Add FindByIdAndIsPrivateFalse

* Fix: Change totalSearchNotice to get isStaff and hide private when not a staff.

* Fix: Change searchTotalNotice and readNotice to consider isStaff.

* Fix: Change totalSearchNotice and readNotice to check authentication and get staff info.

* fix: readFutureCareers에 description 수정 (#214)

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: 파일 크기 100MB로 늘림

* Feat: Research 검색 결과 research 타입 상세화 (#218)

* Refactor: Remove unused method

* Comment: Add comment

* Feat: Add specific research types to enum

* Feat: Change to give more specified enum when it is research related column.

* Refactor: Remove unused LAB entry from Research.

* fix: pdf 타입 AttachmentResponse로 변경 (#220)

* Feat: Add more type to academic. (#221)

* Fix: Change partialDescription to give with searchContent. (without html, all fields) (#222)

* fix: 단건 조회 & 통합 검색 권한 체크 (#217)

* fix: private 단건 조회 권한 체크

* Fix: Notice 비밀글 표시 안되도록 수정 (#216)

* Feat: Add FindByIdAndIsPrivateFalse

* Fix: Change totalSearchNotice to get isStaff and hide private when not a staff.

* Fix: Change searchTotalNotice and readNotice to consider isStaff.

* Fix: Change totalSearchNotice and readNotice to check authentication and get staff info.

* fix: newsTotalSearch 권한 체크

* style: ktlint

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* Fix: Formatting issue.

* Fix: Add studentType for all academic search result. (#224)

* Config: Spring Boot 3.2, Java 21로 업그레이드, Virtual Thread 적용 (#223)

* Fix: add join condition for news total search (#226)

* Feat: Spring Boot 서버에서 Error 발생 시 Slack으로 로그 전송 기능 추가 (#228)

* Dependency: Add slack appender

* Config: Add slack appender for sending error log to slack.

* Config: Add slack api info when making env file.

* Feat: Add to logging error for SQLIntegrityConstraintViolationException and RESTClientException

* Config: Update gradle wrapper

* feat: 학부 총괄 행정직원 맨 앞으로 이동 (#232)

* feat: 한글 이름 우선순위 정렬 (#235)

* feat: 한글 이름 우선순위 정렬

* refactor: 유틸 함수 분리

* Feat: 게시물 제외 통합검색에 사용되는 field들 refersh하는 API 추가 (#236)

* Feat: Add refresh search event

* Feat: Add api for trigger refresh search indexes.

* Feat: Add refresh search event listener for about entity.

* Feat: Add refresh search event listener for academics entity.

* Feat: Add refresh search event listener for admission entity.

* Feat: Add refresh search event listener for member entity.

* Feat: Add refresh search event listener for research entity.

* Fix: Change transactional propagation as REQUIRES_NEW for about's refresh event listener.

* style: ktlint

---------

Co-authored-by: Junhyeong Kim <leeeryboy@gmail.com>
Co-authored-by: leeeryboy <indiv0227@snu.ac.kr>

* delete image thumbnail logic (#237)

* Fix: Fill "mappedBy" information for remove about_attachments table. (#239)

* CICD: 배포, 개발계 분리 적용 (#238)

* CICD: Add dev deployment workflow

* Refactor: Remove unused comments

* Config: Add dev profile

* CICD: Add ssh port for production deploy environment

* Config: Change slack message format to more readable

* fix: course 띄어쓰기 그대로 유지 (#241)

* prod에서 mock-login 삭제 (#242)

* feat: mock login api only for profile dev

* feat: delete mock login api in prod

* fix: 교수 정렬 (#243)

* Refactor: Move languagetype from properties from enums (#244)

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>

* fix: stat year 2050년까지 확장 (#245)

* fix: stat year 2050년까지 확장

* fix: 쿼리 수정

* fix: adjust max thread and pool size (#246)

* Feat: 공지, 새소식, 세미나 정렬 옵션 추가 (#247)

* Refactor: Move languagetype from properties from enums

* Feat: Add sort order type for content search (notice, news, seminar)

* Feat: Add sort option for news search.

* Feat: Add sort option for notice search.

* Feat: Add sort option for seminar search.

* Fix: Handle for empty keyword.

---------

Co-authored-by: Junhyeong Kim <leeeryboy@gmail.com>

* CICD: env 파일 분리, 서버 docker image tag 분리 (#248)

* CICD: Seperate docker image tag of prod, dev, rename env

* CICD: Change env name of db

* CICD: Change env name of proxy

* CICD: Remove unused latest tag

---------

Co-authored-by: Junhyeong Kim <leeeryboy@gmail.com>

* feat: 개인정보 동의 여부 기록 (#250)

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* Fix: fix merge conflict

* Fix: give 0.0 to score when keyword is null or empty on notice. (#254)

* CICD: Disable auto https redirect. (#256)

* CICD: Revert to enable redirect

* fix: sort labs (#258)

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
Co-authored-by: DESKTOP-USQPRVG\gram <blueland1998@naver.com>
leeeryboy added a commit that referenced this pull request Apr 7, 2024
* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* :sparkles: 패키지 및 엔티티 생성

* :sparkles: BaseTimeEntity 생성, PostEntity 기본 내용 작성

* :sparkles: PostController 생성 및 기본 내용 작성

* :sparkles: postService 생성

* :sparkles: Exceptions.kt 생성

* :sparkles: postDto 생성

* :sparkles: postRepository 생성 및 기본 내용 작성

* :green_heart: application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

* fix: main에서 develop으로 pr (#16)

* feat: merge develop to main (#13)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* :sparkles: 패키지 및 엔티티 생성

* :sparkles: BaseTimeEntity 생성, PostEntity 기본 내용 작성

* :sparkles: PostController 생성 및 기본 내용 작성

* :sparkles: postService 생성

* :sparkles: Exceptions.kt 생성

* :sparkles: postDto 생성

* :sparkles: postRepository 생성 및 기본 내용 작성

* :green_heart: application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* hotfix: 사용하지않는 Dto 및 엔티티 삭제 (#14)

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* feat: seminar 패키지 추가 (#17)

* feat: createSeminar, readSeminar, updateSeminar 추가

* feat: deleteSeminar, searchSeminar 추가

* fix: distinct 삭제

* hotfix: 불필요한 dto 삭제 (#20)

* hotfix: 불필요한 dto 삭제

* build.gradle 수정

* fix: 이미지 uri 필드 추가 및 프론트 요구사항 반영 (#21)

* feat: 이미지 uri 필드 추가 및 isActive 대신 status 추가

* fix: 행정직원 전체 조회 응답에서 task 삭제

* fix: 교수진 페이지 응답 수정

* feat: introduction 패키지, undergraduate 패키지 추가 (#22)

* feat: createUndergraduate, readUndergraduate 추가

* feat: readAllCourses, createCourse, readCourse 추가

* introduction 패키지 추가

* fix: dto에서 postType 삭제

* fix: postType pathVariable->requestBody 수정, 오타 수정

* fix: 프론트와 협의하여 이름 등 변경

* feat: academics 패키지 대학원도 가능하도록 추가

* feat: 장학제도 세부 장학금 create, read 추가

* fix: 수정

* fix:수정

* feat: admissions, research 패키지 추가 (#23)

* feat: admissions-학부 에서 create, read 추가

* feat: admissions-대학원도 작성 가능하도록 추가

* feat: createResearch 추가

* feat: createLab 추가

* fix: 다른 패키지에 맞게 수정

* research-groups, research-centers에서 read, update 추가

* fix: admissions, research에서 프론트와 협의하여 이름 등 수정

* fix: 오타 수정

* fix: enum 추가, pr 리뷰 반영

* feat: oidc 로그인 (#27)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: idsnucse 다운 되었을때 에러 처리

* feat: idsnucse 다운 되었을때 에러 처리

* feat: cors 설정 (#30)

* fix: cors 추가 설정 (#32)

* feat: cors 설정

* feat: cors 설정

* fix: CORS (#34)

* feat: cors 설정

* feat: cors 설정

* feat: cors 설정

* fix: about, academics, admissions 패키지 수정 (#25)

* fix: admissions, about 컨트롤러 변경

* fix: academics 컨트롤러 수정

* 커밋중

* fix: pr 리뷰 반영

* feat: readMain 추가

* pr 리뷰 반영

* feat: 일반 예약 및 정기 예약 API (#28)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: 예약 엔티티 및 DTO 설계

* feat: 일반 예약 및 정기 예약

* feat: 예약 조회 API (#39)

* feat: 권한 관리 위해 커스텀 어노테이션 생성

* feat: 예약 단건, 주별, 월별 조회 API

* fix: 로컬 DB 설정 수정

* feat: 유저 조회 중복 쿼리 방지

* feat: 예약 응답에 recurrenceId 추가

* feat: 동시 예약 방지

* fix: 시큐리티 로그 다시 로컬에서만 보이도록 변경

* feat: 목데이터 날라가지 않도록 ddl-auto 수정

* feat: about, member, news, seminar 메인 이미지 업로드 추가 (#38)

* feat: uploadImage 추가

* feat: about, member 사진 업로드 추가

* feat: news, seminar 사진 업로드 추가

* refactor: imageEntity 추가 리팩토링

* fix: gif 삭제

* fix: application.yaml 수정

* fix: newsService 태그 -> 이미지로 순서 변경

* fix: pr 리뷰 수정

* fix: extension 없애고, mainImage로 바꾸고, uuid 없애기

* fix: var 삭제

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* CICD: Change deploy port to 8080 (#40)

* [Merge] (#41) (#42)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* :sparkles: 패키지 및 엔티티 생성

* :sparkles: BaseTimeEntity 생성, PostEntity 기본 내용 작성

* :sparkles: PostController 생성 및 기본 내용 작성

* :sparkles: postService 생성

* :sparkles: Exceptions.kt 생성

* :sparkles: postDto 생성

* :sparkles: postRepository 생성 및 기본 내용 작성

* :green_heart: application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

* fix: main에서 develop으로 pr (#16)

* feat: merge develop to main (#13)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* :sparkles: 패키지 및 엔티티 생성

* :sparkles: BaseTimeEntity 생성, PostEntity 기본 내용 작성

* :sparkles: PostController 생성 및 기본 내용 작성

* :sparkles: postService 생성

* :sparkles: Exceptions.kt 생성

* :sparkles: postDto 생성

* :sparkles: postRepository 생성 및 기본 내용 작성

* :green_heart: application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

---------




* hotfix: 사용하지않는 Dto 및 엔티티 삭제 (#14)

---------




* feat: seminar 패키지 추가 (#17)

* feat: createSeminar, readSeminar, updateSeminar 추가

* feat: deleteSeminar, searchSeminar 추가

* fix: distinct 삭제

* hotfix: 불필요한 dto 삭제 (#20)

* hotfix: 불필요한 dto 삭제

* build.gradle 수정

* fix: 이미지 uri 필드 추가 및 프론트 요구사항 반영 (#21)

* feat: 이미지 uri 필드 추가 및 isActive 대신 status 추가

* fix: 행정직원 전체 조회 응답에서 task 삭제

* fix: 교수진 페이지 응답 수정

* feat: introduction 패키지, undergraduate 패키지 추가 (#22)

* feat: createUndergraduate, readUndergraduate 추가

* feat: readAllCourses, createCourse, readCourse 추가

* introduction 패키지 추가

* fix: dto에서 postType 삭제

* fix: postType pathVariable->requestBody 수정, 오타 수정

* fix: 프론트와 협의하여 이름 등 변경

* feat: academics 패키지 대학원도 가능하도록 추가

* feat: 장학제도 세부 장학금 create, read 추가

* fix: 수정

* fix:수정

* feat: admissions, research 패키지 추가 (#23)

* feat: admissions-학부 에서 create, read 추가

* feat: admissions-대학원도 작성 가능하도록 추가

* feat: createResearch 추가

* feat: createLab 추가

* fix: 다른 패키지에 맞게 수정

* research-groups, research-centers에서 read, update 추가

* fix: admissions, research에서 프론트와 협의하여 이름 등 수정

* fix: 오타 수정

* fix: enum 추가, pr 리뷰 반영

* feat: oidc 로그인 (#27)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: idsnucse 다운 되었을때 에러 처리

* feat: idsnucse 다운 되었을때 에러 처리

* feat: cors 설정 (#30)

* fix: cors 추가 설정 (#32)

* feat: cors 설정

* feat: cors 설정

* fix: CORS (#34)

* feat: cors 설정

* feat: cors 설정

* feat: cors 설정

* fix: about, academics, admissions 패키지 수정 (#25)

* fix: admissions, about 컨트롤러 변경

* fix: academics 컨트롤러 수정

* 커밋중

* fix: pr 리뷰 반영

* feat: readMain 추가

* pr 리뷰 반영

* feat: 일반 예약 및 정기 예약 API (#28)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: 예약 엔티티 및 DTO 설계

* feat: 일반 예약 및 정기 예약

* feat: 예약 조회 API (#39)

* feat: 권한 관리 위해 커스텀 어노테이션 생성

* feat: 예약 단건, 주별, 월별 조회 API

* fix: 로컬 DB 설정 수정

* feat: 유저 조회 중복 쿼리 방지

* feat: 예약 응답에 recurrenceId 추가

* feat: 동시 예약 방지

* fix: 시큐리티 로그 다시 로컬에서만 보이도록 변경

* feat: 목데이터 날라가지 않도록 ddl-auto 수정

* feat: about, member, news, seminar 메인 이미지 업로드 추가 (#38)

* feat: uploadImage 추가

* feat: about, member 사진 업로드 추가

* feat: news, seminar 사진 업로드 추가

* refactor: imageEntity 추가 리팩토링

* fix: gif 삭제

* fix: application.yaml 수정

* fix: newsService 태그 -> 이미지로 순서 변경

* fix: pr 리뷰 수정

* fix: extension 없애고, mainImage로 바꾸고, uuid 없애기

* fix: var 삭제

---------



* CICD: Change deploy port to 8080 (#40)

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>

* feat: 장학제도 GET API 및 장학제도 페이지 응답 수정 (#44)

* feat: 장학제도 GET API

* feat: 장학제도 메인페이지 GET API 응답 수정

* feat: custom metadata 설정 + 리다이렉트 엔드포인트 변경 (#45)

* feat: yml 파일에 custom metadata endpoint 추가

* feat: 로그인/로그아웃 성공 리다이렉트 엔드포인트 변경

* feat: attachments 패키지 추가, news와 seminar request에 attachments 추가 (#43)

* feat: attachments 추가, news request에 attachments 추가

* feat: seminar request에 attachments 추가

* fix: mappedBy 추가 + bringAttachments null 없앰

* fix: 경로 분리

* fix: isDeleted false로 수정

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* feat: Top Conference List GET API (#47)

* feat: Top Conference List GET API

* feat: db에서 가져올때 정렬

* feat: 파일 서빙, 다운로드, 삭제 API (#48)

* feat: 파일 서빙, 다운로드, 삭제 API

* fix: extension 중복, 경로 수정

* feat: 공지사항 글쓴이 추가 (#49)

* CI/CD: Https 적용 및 백엔드, 데이터베이스, 프록시 서버 배포 분리 (#50)

* Config: Add gitignore for caddy files.

* CICD: Add caddy config file

* CICD: Seperate docker compose file for db and backend server.

* CICD: Docker Compose file for caddy proxy server.

* CICD: Add path condition for only act when source file has changed.

* CICD: Add workflow for deploying database changes.

* CICD: Add workflow for proxy server changes.

* Refactor: Add /api/v1 in front of all endpoints (except swagger-ui)

* Refactor: Add v1 to Main Image url.

* Refactor: change backend, frontend, login redirect uri to get from env.

* CICD: Add url to .env

* Fix: Change job name of database workflow, fix indent level.

* Fix: Remove duplicated restcontroller mapping.

* Fix: Set reverse proxy for swagger-ui/* for swagger.

* Docs: Set swagger to only scan /api/**

* Fix: add caddy to reverse api-docs/* for springdoc.

* Fix: Add login uris for reverse proxying to backend server.

* CICD: Remove testing branch condition.

* CICD: Add logout uri to reverse proxy to backend server.

* CICD: Remove test branch

* fix: 프론트랑 협의하여 내용 변경 + news, seminar에 image, attachments update 추가 (#51)

* feat: attachments 추가, news request에 attachments 추가

* feat: seminar request에 attachments 추가

* feat: about request에 attachments 추가

* feat: academics request에 attachments 추가

* fix: isPinned 삭제

* fix: image -> mainImage 변경, about에 greetings 추가

* fix: news, seminar update 수정

* fix: 전체적으로 image -> mainImage 변경

* fix: research 패키지 프론트에 맞춰 협의 (#52)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* fix: pr 리뷰 수정

* fix: 오타 수정

* [Refactor] 로그인, file uri 배포 환경에 맞게 수정 (#53)

* Refactor: Change mapping of file to append /api/v1 in front.

* Refactor: Change login, logout redirect uri

* fix: https 적용 관련 로그인 수정 (#56)

* fix: notice 패키지 프론트에 맞게 협의 (#54)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* feat: notice에 attachments 추가

* fix: fix_with_front1 변경 사항에 맞게 수정

* feat: isImportant 추가

* feat: NoticeSearchDto에 hasAttachment 추가

* fix: update에서 attachmetnts가 null일 때 빈 목록 반환

* feat: 공지사항 선택 고정해제, 선택 삭제 추가

* fix: news, seminar에 isImportant 추가

* fix: pr 리뷰 수정

* fix: 수정했던거 다시 복구

* feat: 신임교수초빙 (#59)

* feat: 행정실 권한 체크 API (#60)

* [CICD] mainImage, attachment 경로 mount 설정 (#55)

* CICD: Add mainImage, attachment directory for mounting

* CICD: Add volumes to mount with server directory. (for attachment)

* [Feat] 예전 url과 비슷하게 이전 파일(사진)들 접근할 수 있도록 controller 생성 (#58)

* Config: Add oldFiles path for properties.

* Feat: Add deprecated file controller for getting old files temporarily.

* CICD: Add volume mounting for old files.

* CICD: Add dir to mount for old files.

* Refactor: Change api to /sites/default/files/{PATH}

* CICD: Add reverse proxy for old file serving.

* fix: 예약 dto에 지도교수, 반복 횟수 추가 (#61)

* fix: 로그아웃 엔드포인트 변경 (#64)

* fix: 로그아웃 엔드포인트 변경

* fix: 로그아웃 성공 리다이렉트 엔드포인트 변경

* [Fix] Notice, News Description TEXT type으로 변환 (#65)

* Fix: Change notice and news entity description type as TEXT.

* Fix: Change to mediumtext

* fix: newsSearchResponse, seminarSearchResponse 수정 (#66)

* fix: newsSearchResponse 수정

* fix: SeminarSearchResponse 수정

* fix: 오타수정

* fix: 파일 업로드 경로 통일 (#68)

* fix: 갯수만 fetch하도록 최적화 (#70)

* Fix: Change type of additionalNote column on SeminarEntity to "TEXT" (#71)

* fix: academics 패키지 프론트에 맞춰 협의, admin 패키지 추가 (#69)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* feat: notice에 attachments 추가

* fix: fix_with_front1 변경 사항에 맞게 수정

* feat: isImportant 추가

* feat: NoticeSearchDto에 hasAttachment 추가

* fix: update에서 attachmetnts가 null일 때 빈 목록 반환

* feat: 공지사항 선택 고정해제, 선택 삭제 추가

* fix: news, seminar에 isImportant 추가

* fix: pr 리뷰 수정

* fix: 수정했던거 다시 복구

* fix: course response 수정

* feat: academics에서 연도별로 주는 response 추가

* feat: academics YearResponses 추가

* fix: createScholarship 합치기

* fix: scholarship 패키지의 내용을 academics 하위로 옮김

* feat: createScholarshipDetail 추가

* fix: 필수 교양과목 response 변경

* feat: admin 패키지에서 readAllSlides 추가

* feat: admin 패키지 readAllImportants 추가

* feat: admin 패키지 중요안내 추가

* Refactor: HTML로부터 텍스트 추출 함수 Utils로 이동 (#73)

* Feat: Add cleanTextFromHtml.

* Refactor: Remove private clean method, replace to Utils.cleanTextFromHtml.

* Refactor: Remove unused imports.

* Feat: Add plain text description for notice (#74)

* Feat: Add cleanTextFromHtml.

* Refactor: Remove private clean method, replace to Utils.cleanTextFromHtml.

* Refactor: Remove unused imports.

* Feat: Add plainTextDescription.

* Feat: Add plainTextDescription in createNotice.

* Feat: add updating plainTextDescription when updating description.

* fix: admissions 패키지 프론트에 맞게 협의 (#76)

* fix: admissions 프론트에 맞게 협의

* fix: seminarEntity time 삭제

* fix: admissionsEntity pageName 추가

* fix: 불필요한 파일 삭제

* 커밋

* fix: 이전 글 다음 글만 fetch 하도록 쿼리 최적화 (#75)

* fix: 이전 글 다음 글만 fetch 하도록 쿼리 최적화

* fix: distinct 수정

* fix: 쿼리 최적화

* fix: total Long 타입으로 수정

* CI/CD: Test 설정 (#77)

* Config: Add kotest, mockk, h2 db for testing.

* Config: Add test profile.

* Config: Add testconfig for jpaqueryfactory.

* CICD: Add build, test workflow

* Fix: Revert local datasource url change.

* [Test] Notice create, update 시 plainTextDescription 동작 테스트 (#78)

* Config: Add test profile.

* Test: Add Tests for Create, Update Notice, in perspective of plainTextDescription

* Fix: Change life cycle hook resolution to container.

* [Feat] Seminar plain text field 추가 (#79)

* Feat: Add plain text column for description, introduction, additionalnote.

* Feat: Add description, introduction, additionalnote for dto -> entity.

* Feat: Change to update plain description, introduction, additional note.

* Feat: Use plainTextDesription for searchdto.

* Test: Test for create, update of plain texts.

* Test: Fix seminar service test.

* Feat: News plain text field 추가 (#80)

* Feat: Add plainTextDescription field for news entity

* Feat: Add to create, and update plainTextDescription.

* Feat: Change to use plainTextDescription when making newssearchdto.

* Test: Test for create/update plainTextDescription.

* Feat: 구성원 검색 위한 table 추가. (#81)

* Feat: MemberSearchEntity 추가.

* Feat: MemberSearchRepository 추가

* Feat: MemberSearchService 추가

* Feat: ProfessorEntity, StaffEntity에 MemberSearch 추가.

* Feat: ProfessorStatus에 한글 값 추가.

* Feat: professor create, update 시 memberSearch도 반영하도록 추가.

* Feat: seminar create, update 시 memberSearch도 반영하도록 추가.

* Test: ProfessorService 테스트 추가.

* Test: StaffServiceTest 추가.

* fix: 새소식 세미나 쿼리 수정 (#82)

* refactor: 유틸 패키지 생성 및 FixedPageRequest 분리

* feat: 새소식 세미나 이전 다음 글 및 total 쿼리 최적화

* fix: pageNum 값으로 usePageBtn 값 설정

* fix: import 경로 수정

* fix: local db port 3306

* 중복 삭제

* fix: prod endpoint https로 변경

* fix: main 프론트에 맞게 협의, notice 태그 enum 추가 (#83)

* fix: mainResponse 다시 작성

* feat: TagInNoticeEnum 추가

* feat: notice enum 추가

* fix: 코드 수정

* fix: isPublic -> isPrivate으로 정리 (#86)

* fix: rebase 정리

* fix: 오타 수정

* feat: 로컬 로그인 테스트용 엔드포인트로 임시 변경 (#87)

* Feat: 구성원 검색 API 추가 (#85)

* Feat: Add mysql custom dialect with MATCH AGAINST BOOLEAN MODE function.

* CICD: Add config for mysql db

* CICD: Add volumes for config file.

* CICD: Add db_config for condition for db deploy

* Feat: Add search top, and search query.

* Feat: Add DTOs

* Feat: Add Controller for member search only top, and page.

* Feat: Add dialect config for application.yaml

* Feat: Add controller for member search.

* Refactor: Change exception message to korean.

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>

* fix: 세미나 시간 타입 변경 (#91)

* fix: 세미나 시간 LocalDateTime으로 변경

* test: 테스트 수정

* fix: 태그 항목 수정 (#92)

* fix: news tag 추가 (#90)

* fix: news tag 추가

* fix: 일반인은 isPrivate = false인 것만, 직원은 모든 게시글 보여주기

* feat: 졸업생 창업 진로, 졸업생 진로 response 추가 (#94)

* fix: news tag 추가

* fix: 일반인은 isPrivate = false인 것만, 직원은 모든 게시글 보여주기

* feat: about  졸업생 read 추가

* fix: 오타 수정

* fix: conference 주소 추가 (#95)

* Feat: 연구 탭 통합검색 위한 Table 생성. (#97)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Fix: Fix typo, import library.

* Feat: Lab Update API 추가 (#98)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Feat: Add update method for labentity.

* Feat: Add update lab service.

* Feat: Add update lab controller.

* Test: Add ResearchServiceTest.

* Feat: Add deleteAttachment (marking)

* Fix: Add typo, add import library.

* Feat: Conference page 수정 API (#99)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Feat: Add update method for labentity.

* Feat: Add update lab service.

* Feat: Add update lab controller.

* Test: Add ResearchServiceTest.

* Feat: Add Conference Repository.

* Feat: add conferenc eentity method for create, update entity.

* Feat: Change variables to mutable.

* Feat: Add id in conferencedto.

* Feat: Add to sort the conferenceList.

* Feat: Add deleteAttachment (marking)

* Feat add service to modify conference page (create, modify, delete conferences)

* Feat: Add api for modify conference page.

* Test: Add test for conference service.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 파일 관련 수정 (#100)

* fix: 업로드 파일 사이즈 제한

* fix: 원본 첨부파일 이름으로 응답

* refactor: 세미나 업데이트 시 삭제할 첨부파일 id만 받도록 변경

* fix: 파일 api 경로 수정

* fix: deleteAttachment

* fix: GET notice 권한 관련 로직 수정 (#101)

* Refactor: Extract Full Text Query Template to CommonRepository (#102)

* Feat: Extract full text search template to common repository.

* Feat: Change full text search to use extracted repository.

* Feat: Add for 4 elements.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Notice Seminar News Search to Full Text Query (#105)

* Feat: Extract full text search template to common repository.

* Feat: Change full text search to use extracted repository.

* Feat: Add for 4 elements.

* Feat: Add more args cnt.

* Feat: Change keyword boolean builder to full text.

* Feat: Change keyword boolean builder to full text.

* Feat: Change keyword boolean builder to full text.

* Hotfix: Change mount volume. (#103)

* feat: api 권한 설정 (#84)

* fix: GET notice 권한 관련 로직 수정 (#109)

* fix: 필요한 column만 select (#111)

* refactor: 공지 태그 응답 한국어로 변경 및 리팩토링 (#113)

* refactor: 공지 태그 응답 한국어로 수정 및 리팩토링

* refactor: 새소식 태그 리팩토링

* fix: NewsRepository

* fix: 공지 새소식 PATCH 로직 수정 (#114)

* fix: 공지 새소식 PATCH 로직 수정

* test: 테스트 수정

* fix: news 엔티티에 날짜 추가 (#115)

* Feat: 검색 결과에서 keyword 위치, 적절한 substring 추출 위한 method 추가 (#116)

* Feat: Add utils substringAroundKeyword

* Test: Add test for Utils.kt

* fix: total 더미 값 + pageNum null일때만 더미 값 주기 (#117)

* fix: 예약 조회 권한 분리 및 응답 단순화 (#119)

* fix: 예약 단건 조회 권한 분리

* feat: 월별,주별 조회용 SimpleReservationDto

* fix: 로그인 리다이렉트 엔드포인트 복구 (#121)

* feat: migrateAbout, migrateFutureCareers 추가 (#118)

* feat: AboutRequest, migrateAbout 추가

* feat: future-careers 마이그레이션 추가

* feat: request 패키지 추가

* fix: AboutRequest 간소화

* fix: future-careers description aboutEntity에 저장

* feat: about 패키지 마이그레이션 추가 (#120)

* feat: AboutRequest, migrateAbout 추가

* feat: future-careers 마이그레이션 추가

* feat: request 패키지 추가

* fix: 불필요한 dto 삭제

* feat: migrateStudentClubs 추가

* feat: migrateFacilities 추가

* feat: migrateDirections 추가

* fix: 불필요한 dto 삭제

* fix: request 패키지 삭제

* fix: 오타 수정

* fix: news, notice에 titleForMain 추가 (#125)

* fix: 소식3총사 titleForMain 데이터 생성

* fix: 테스트에 titleForMain  추가

* Revert "fix: 테스트에 titleForMain  추가"

This reverts commit e824ad34e60e0785f1d4c4e187776d4b8bf53dfa.

* fix: 테스트에 titleForMain 추가

* fix: seminar titleForMain 추가

* fix: seminar test titleForMain 추가

* feat: LocalDateTime 응답 마지막에 Z 추가 (#126)

* refactor: deleteIds request 내부로 이동 (#127)

* refactor: deleteIds request 내부로 이동

* test: 테스트 수정

* fix: 확장자 중복 버그 (#128)

* feat: 관리자는 새소식, 세미나 목록에서 비공개 글 확인 가능 (#129)

* feat: research, member 패키지 migrate 추가 (#130)

* feat: migrateProfessors 추가

* feat: migrateResearchDetail 추가

* feat: migrateLabs 추가

* fix: migrate 엔티티 description에 mediumText 추가

* feat: migrateStaff 추가

* fix: 빠진거 수정

* fix: 중복 패키지 삭제

* fix: 너무 안긴거 text로 수정

* fix: noticeSearchDto에도 private 추가 (#131)

* fix: noticeSearchDto에도 private 추가

* fix: json 추가

* fix: 수정 및 추가

* fix: 수정

* Fix: 키워드 추출 함수 수정 (#122)

* Fix: Fix IndexOutOfBoundException, change to return index based on substring.

* Fix: Change to check index exclude case, and set front, back index to better contains keyword.

* Test: Update Test.

* Feat: 통합검색 Notice API 구현 (#123)

* Feat: Add dtos for notice total search.

* Feat: Add repository for notice total search.

* Feat: Add service, controller for notice total search

* Feat: News 통합 검색 API 구현 (#124)

* Feat: Add dto for total search of news.

* Feat: Add repository for total search.

* Feat: Add service, controller for news total search.

* Fix: Fix conflict issues.

* fix: 기존 objectMapper 설정 오버라이드 (#132)

* feat: 파일 업로드 컨트롤러 구현 (#133)

* Feat: Change titleForMain column to TEXT type. (#134)

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* hotfix: mixed content issue (#136)

* hotfix: loginPage to https (#139)

* hotfix: mixed content issue

* hotfix: loginPage

* fix: false로 수정 (#141)

* fix: 이전 다음 글에서 비공개 글 제외 (#143)

* fix: 이전 다음글 비공개 제외

* fix: prev-next

* CBT 위해서 예약 GET 권한체크 주석처리

* Feat: 뉴스 날짜로 정렬 (#144)

* Feat: Change date field to NOT NULLABLE.

* Feat: Change to sort by date, not createdat.

* Test: Fix test.

* Test: Move news test dir.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Add description for slide. (#146)

* style: ktlint (#145)

* style: ktlint

* Feat: change to ktlint_disabled_rules

* Refactor: fix to lint using ktlint.

* Refactor: After merge.

* Fix: After merge.

* Refactor: ReReLint

---------

Co-authored-by: huGgW <whjoon0225@naver.com>

* fix: 텍스트 인코딩 (#147)

* fix: content-dispostion

* fix: 텍스트 인코딩

* fix: 강제 다운로드

* style: ktlint

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* Update ktlint-check.yml

* fix: 중요 안내 (#149)

* fix: 삭제된 글 중요 안내에서 보이지 않도록 수정

* fix: 중요 안내 최대 2개만 보내도록 + plainTextDescription

* style: ktlint

* fix: 첨부파일 다운로드 (#154)

* Feat: 관리자 슬라이드에 total 추가, refactoring (#153)

* Feat: Change dto name, and add total to AdminSlidesResponse.

* Feat: Add pageSize as parameter.

* Feat: move readAllSlides to news repository, add total query.

* Feat: Extract getNewsEntityByIdOrThrow

* Feat: Move readAllSlides and unSlideManyNews logic handling to news service.

* Comment: Add comment for refactoring.

* Test: Add test for read all slides.

* Refactor: Linting.

* Feat: Change pageNum to start at 1.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 세미나 isYearLast 로직 수정 (#155)

* fix: 세미나 isYearFirst 로직 수정

* fix: isYearLast로 재변경 및 로직 수정

* fix: 이전글 다음 글 isDelete,isPrivate 조건 추가 (#151)

* fix: 이전글 다음 글 isDelete 추가

* fix: ktlint 수정

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 메인 공지 정렬 (#158)

* fix: 예약 조회 권한 수정 (#157)

* Feat: 통합검색 정렬 최신순 (#156)

* Feat: Admin Important에 pagination 추가, total 추가. (#159)

* fix: titleForMain이 없어도 isImportant 등록 가능 (#160)

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: em.close() 추가 (#162)

* fix: em.close() 추가

* fix: total에도 추가

* feat: migrateConference 추가 (#164)

* feat: migrateConferences 추가

* fix: 수정

* fix: 수정

* fix: 검색 추가

* fix: createConferenceDto 삭제

* CICD: Add blocking backend api except frontend. (#166)

* CICD: Add blocking backend api except frontend.

* CICD: Remove login, logout, file api from blacklist.

* CICD: Change to just block swagger apis.

* fix: group 변경 반영 (#167)

* refactor: 실제 스누씨 서버 연동 (#168)

* refactor: local-test 중복 항목 공통으로 처리하고 prod에서 오버라이드

* feat: 스누씨 실서버용 환경 변수 설정

* refactor: 로그인 페이지 통합 및 CORS 설정 변경

* fix: CORS

* feat: migrateAdmissions 추가 (#165)

* fix: migrateAdmissions 추가

* fix: 잘못 쓴거 수정

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Increase speakerurl size (#170)

* fix: 로컬에서도 idsnucse로 연결 (#174)

* fix: 로컬에서도 idsnucse 바라보게끔 변경

* fix: test에서 idsnucse 접근 x

* Revert "fix: test에서 idsnucse 접근 x"

This reverts commit cf526452abdc629b433efe701c9fd6ff60893f1e.

* Fix: move local security settings to local, not global.

* Fix: Disable SecurityConfig on "test" profile

---------

Co-authored-by: huGgW <whjoon0225@naver.com>

* feat: Research 검색 (#175)

* fix: 로컬에서도 idsnucse 바라보게끔 변경

* feat: enable async.

* Feat: create professor event.

* Feat: Publish event on professor modification.

* Feat: Update research search when listen professor event.

* Test: ResearchSearchService listen professor event

* fix: test에서 idsnucse 접근 x

* Revert "fix: test에서 idsnucse 접근 x"

This reverts commit cf526452abdc629b433efe701c9fd6ff60893f1e.

* Fix: fixed event listener logic

* Feat: Add search api for research.

* Test: Fix test.

* Fix: move local security settings to local, not global.

* Fix: Disable SecurityConfig on "test" profile

---------

Co-authored-by: leeeryboy <indiv0227@snu.ac.kr>

* feat: staff 검색 기능 추가 (#176)

* Feat: 학사 및 교과 검색 기능 추가 (#177)

* Revert "fix: test에서 idsnucse 접근 x"

This reverts commit cf526452abdc629b433efe701c9fd6ff60893f1e.

* Fix: move local security settings to local, not global.

* Feat: AcademicsStudentType에 값 지정.

* Feat: AcademicsSearchEntity 추가

* Feat: 각 entity에 search 관계 추가

* Feat: 각 entity create하는 서비스 method에 search entity도 생성하도록 추가.

* Feat: Add academicsSearchRepository

* Feat: Add dto for search

* Refactor: Make name field of academics non null

* Feat: Add exchangePageNum to utils.

* Feat: Add academics search service

* Feat: Add search api for academics.

* Feat: add validation code for utils.exchangePageNum

* Test: Add testcode for exchangePageNum

* REfactor: Add transactional readonly for readGeneralStudies

* fix: apply newacademics to use after saved cached entity.

* fix: fix to add target enitity when create of search entity is called.

* refactor: add default values for nullable values.

* Temp: test code, should be fixed h2 issue.

---------

Co-authored-by: leeeryboy <indiv0227@snu.ac.kr>

* Fix: Research 검색에서 html 태그 없이 검색되도록 설정 (#178)

* Fix: Change createContent to remove html tags on description.

* Test: Update to check removing html tags.

* Feat/add language field (#180)

* feat: 엔티티, dto에 language 추가

* feat: read에 language 추가

* fix: ktlint 수정

* fix: languageRepository 삭제, 함수 enum 클래스로 이동

* fix: language pathVariable -> requestParam 변경 && engName 추가 삭제

* fix: dto 소문자로 return하기 enum 함수로 넣어주기

* fix: requestParam defaultValue 추가

* Refactor: Admission 언어 추가 및 리팩터링 진행 (#182)

* Feat: Move type to type dir, and add main type enum.

* Refactor: Add request body for create, and changed migrate elem body.

* Feat: Change pagename -> name, add language and mainType column, add unique constraints.

* Refactor: Remove unused request dto.

* Refactor: Change AdmissionsDto by adding columns, to be able to used as pure dto.

* Feat: Change to more specific search query.

* Feat: Change multiple methods to few methods, by using mainType.

* Feat: Change to few controller by using mainType, and use request bodies instead of dto.

* Test: AdmissionsServiceTest

* Fix: Add mapping path variable.

* Fix: Fix replacing logic.

* feat: academics 패키지에 language field 추가 (#181)

* feat: 엔티티, dto에 language 추가

* feat: read에 language 추가

* feat: academics에 language field 추가

* fix: ktlint 수정

* feat: course 엔티티에 language field 추가

* feat: readCourse에 language parameter 추가

* fix: languageRepository 삭제, 함수 enum 클래스 이동, academicsEntity name 속성 nullable 추가

* fix: requestParam+defaultValue 추가,

* fix: academics name nullable 없앰

* feat: staff에 language, migration 방법 추가 (#183)

* feat: staffEntity에 language 추가

* feat: branch 이름 변경

* fix: branch origin 이름 변경

* feat: staff 읽기, 수정에서 language 속성 추가

* feat: migrateStaffImage 추가

* fix: StaffServiceTest 수정

* Feat: Admission 검색 (#184)

* Feat: Add korean, english section name.

* Feat: add searchContent column for saving index.

* Feat: Add search query repository method.

* Feat: Define dto of search result element.

* Feat: Add search Top Admission method, and add migrate method creating search content.

* Feat: Add search top admissions method to controller.

* Test: Add test for Admission Service.

* Refactor: Remove Location Entity (#186)

* feat: member/research 패키지 이미지와 첨부파일 마이그레이션 코드 작성 (#185)

* feat: migrateProfessorImage 추가

* feat: migrateResearchImageAndAttachments 추가

* feat: migrateStaffImage 추가

* feat: migrateLabPdf 추가

* feat: about에서 이미지랑 첨부파일 추가 (#187)

* feat: migrateProfessorImage 추가

* feat: migrateResearchImageAndAttachments 추가

* feat: migrateStaffImage 추가

* feat: migrateLabPdf 추가

* feat: about에서 이미지랑 첨부파일 추가

* feat: dev 로그인 (#188)

* dev서버 로그인 바이패스

* style: ktlint

* fix: mock auth config 분리

* fix: uri 수정

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: professor language 추가 (#189)

* fix: professor language 추가

* feat: professor 테스트 추가

* feat: professor language 다른 테스트에도 추가

* feat: 테스트 알맞게 수정

* Feature: About 검색 추가 (#192)

* Feat: Change to create search content.

* Feat: Add search query method.

* Feat: Add create, migrate to create searchContent, and add search method.

* Feat: add search api

* COMMENT: add fix comment for aboutservicetest.

* Refactor: Move dtos to ee directory.

* Feat: Add validation for number, pagesize, pagenum

* feat: research 패키지에 language 추가 (#194)

* fix: professor language 추가

* feat: professor 테스트 추가

* feat: professor language 다른 테스트에도 추가

* feat: 테스트 알맞게 수정

* feat: researchDetail에 language 추가

* feat: lab에 language 추가

* fix: about, admission migrate search todo 추가

* Refactor: Admission 검색 리펙터링 (#193)

* Refactor: Merge queries into one.

* Refactor: Add page search method.

* Refactor: Add total count.

* Refactor: change to search page or search top.

* feat: academics 패키지 마이그레이션 추가 (#195)

* fix: professor language 추가

* feat: professor 테스트 추가

* feat: professor language 다른 테스트에도 추가

* feat: 테스트 알맞게 수정

* feat: researchDetail에 language 추가

* feat: lab에 language 추가

* fix: about, admission migrate search todo 추가

* fix: course migrate 추가

* fix: conference, scholarship language 추가

* fix: migrate academics, scholarship 추가

* fix: migrate academics attachments 추가

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: ktlint 정리

* fix: ktlint 정리 2

* fix: 실수로 삭제한 코드 복구

* Refactor: Member Search (#197)

* feat: professor 테스트 추가

* feat: 테스트 알맞게 수정

* fix: about, admission migrate search todo 추가

* Fix: Add commented authentication.

* Feat: Add language field to search entity

* Feat: Add language in search condition, remove duplicated exchangePageNum, Merge search queries

* Feat: Change res body dir, merge two seperate body into one, add language field

* Feat: Change return body, repository method useing.

* Feat: Add language query parameter, change response body.

* Test: Check language of search.

* Refactor: Change res body results key as "results"

* Refactor: Remove unneeded transactional on interface.

---------

Co-authored-by: DESKTOP-USQPRVG\gram <blueland1998@naver.com>

* feat: getMapping에 language requestParam 추가 (#198)

* fix: academics 패키지 get에 language 추가

* fix: professor 패키지 get에 language 추가

* fix: research 패키지 get에 language 추가

* feat: academics 패키지 이름에 맞게 변경 (#199)

* feat: add readDegreeRequirements

* feat: readGeneralRequirements 삭제, readDegreeRequirements 추가

* feat: AcademicsEntity time 칼럼 삭제

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* Refactor: academics search (#200)

* Refactor: research search (#201)

* fix: pageSize 추가 (#203)

* fix: pageSize 쿼리 파라미터 추가

* 함수 인자에서 defaultValue 지정

* fix: 인증 로직 수정 (#206)

* fix: mock-login 위해서 인증 로직 수정

* add v1 to uri

* fix: migrateConferences에서 authenticatedStaff 삭제 (#204)

* fix: simpleProfessorDto에서 status 추가 (#205)

* fix: readDegreeRequirements에 파일 보이도록 추가 (#209)

* fix: StudentClubDto에 engName 추가 (#210)

* fix: researchEntity에 websiteURL 추가 (#211)

* fix: researchEntity에 websiteURL 추가

* fix: ProfessorServiceTest 수정

* Fix: `exchangepageNum`에서 total이 0일 경우 케이스 추가. (#213)

* Fix: Add condition that when total is 0 return pageNum as 1

* Refactor: Rename method name to be more clear.

* Refactor: Remove not needed duplicated conditional check.

* Test: Add test for exchangeValidPageNum for checking when total = 0

* fix: readGeneralStudiesRequirements 추가 (#212)

* fix: readGeneralStudiesRequirements 추가

* fix: readGeneralStudiesRequirements 프론트 협의사항에 따라 수정

* fix: DegreeRequirementsDto description 삭제

* AcademicsPostType 타입 이름 주석 추가

* Fix: Notice 비밀글 표시 안되도록 수정 (#216)

* Feat: Add FindByIdAndIsPrivateFalse

* Fix: Change totalSearchNotice to get isStaff and hide private when not a staff.

* Fix: Change searchTotalNotice and readNotice to consider isStaff.

* Fix: Change totalSearchNotice and readNotice to check authentication and get staff info.

* fix: readFutureCareers에 description 수정 (#214)

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: 파일 크기 100MB로 늘림

* Feat: Research 검색 결과 research 타입 상세화 (#218)

* Refactor: Remove unused method

* Comment: Add comment

* Feat: Add specific research types to enum

* Feat: Change to give more specified enum when it is research related column.

* Refactor: Remove unused LAB entry from Research.

* fix: pdf 타입 AttachmentResponse로 변경 (#220)

* Feat: Add more type to academic. (#221)

* Fix: Change partialDescription to give with searchContent. (without html, all fields) (#222)

* fix: 단건 조회 & 통합 검색 권한 체크 (#217)

* fix: private 단건 조회 권한 체크

* Fix: Notice 비밀글 표시 안되도록 수정 (#216)

* Feat: Add FindByIdAndIsPrivateFalse

* Fix: Change totalSearchNotice to get isStaff and hide private when not a staff.

* Fix: Change searchTotalNotice and readNotice to consider isStaff.

* Fix: Change totalSearchNotice and readNotice to check authentication and get staff info.

* fix: newsTotalSearch 권한 체크

* style: ktlint

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* Fix: Formatting issue.

* Fix: Add studentType for all academic search result. (#224)

* Config: Spring Boot 3.2, Java 21로 업그레이드, Virtual Thread 적용 (#223)

* Fix: add join condition for news total search (#226)

* Feat: Spring Boot 서버에서 Error 발생 시 Slack으로 로그 전송 기능 추가 (#228)

* Dependency: Add slack appender

* Config: Add slack appender for sending error log to slack.

* Config: Add slack api info when making env file.

* Feat: Add to logging error for SQLIntegrityConstraintViolationException and RESTClientException

* Config: Update gradle wrapper

* feat: 학부 총괄 행정직원 맨 앞으로 이동 (#232)

* feat: 한글 이름 우선순위 정렬 (#235)

* feat: 한글 이름 우선순위 정렬

* refactor: 유틸 함수 분리

* Feat: 게시물 제외 통합검색에 사용되는 field들 refersh하는 API 추가 (#236)

* Feat: Add refresh search event

* Feat: Add api for trigger refresh search indexes.

* Feat: Add refresh search event listener for about entity.

* Feat: Add refresh search event listener for academics entity.

* Feat: Add refresh search event listener for admission entity.

* Feat: Add refresh search event listener for member entity.

* Feat: Add refresh search event listener for research entity.

* Fix: Change transactional propagation as REQUIRES_NEW for about's refresh event listener.

* style: ktlint

---------

Co-authored-by: Junhyeong Kim <leeeryboy@gmail.com>
Co-authored-by: leeeryboy <indiv0227@snu.ac.kr>

* delete image thumbnail logic (#237)

* Fix: Fill "mappedBy" information for remove about_attachments table. (#239)

* CICD: 배포, 개발계 분리 적용 (#238)

* CICD: Add dev deployment workflow

* Refactor: Remove unused comments

* Config: Add dev profile

* CICD: Add ssh port for production deploy environment

* Config: Change slack message format to more readable

* fix: course 띄어쓰기 그대로 유지 (#241)

* prod에서 mock-login 삭제 (#242)

* feat: mock login api only for profile dev

* feat: delete mock login api in prod

* fix: 교수 정렬 (#243)

* Refactor: Move languagetype from properties from enums (#244)

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>

* fix: stat year 2050년까지 확장 (#245)

* fix: stat year 2050년까지 확장

* fix: 쿼리 수정

* fix: adjust max thread and pool size (#246)

* Feat: 공지, 새소식, 세미나 정렬 옵션 추가 (#247)

* Refactor: Move languagetype from properties from enums

* Feat: Add sort order type for content search (notice, news, seminar)

* Feat: Add sort option for news search.

* Feat: Add sort option for notice search.

* Feat: Add sort option for seminar search.

* Fix: Handle for empty keyword.

---------

Co-authored-by: Junhyeong Kim <leeeryboy@gmail.com>

* CICD: env 파일 분리, 서버 docker image tag 분리 (#248)

* CICD: Seperate docker image tag of prod, dev, rename env

* CICD: Change env name of db

* CICD: Change env name of proxy

* CICD: Remove unused latest tag

---------

Co-authored-by: Junhyeong Kim <leeeryboy@gmail.com>

* feat: 개인정보 동의 여부 기록 (#250)

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* Fix: fix merge conflict

* Fix: give 0.0 to score when keyword is null or empty on notice. (#254)

* CICD: Disable auto https redirect. (#256)

* CICD: Revert to enable redirect

* fix: sort labs (#258)

* fix: idsnucse prod 설정 분리 (#260)

* fix: idsnucse prod

* fix: 환경변수 이름

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
Co-authored-by: DESKTOP-USQPRVG\gram <blueland1998@naver.com>
leeeryboy added a commit that referenced this pull request Apr 7, 2024
* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* :sparkles: 패키지 및 엔티티 생성

* :sparkles: BaseTimeEntity 생성, PostEntity 기본 내용 작성

* :sparkles: PostController 생성 및 기본 내용 작성

* :sparkles: postService 생성

* :sparkles: Exceptions.kt 생성

* :sparkles: postDto 생성

* :sparkles: postRepository 생성 및 기본 내용 작성

* :green_heart: application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

* fix: main에서 develop으로 pr (#16)

* feat: merge develop to main (#13)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* :sparkles: 패키지 및 엔티티 생성

* :sparkles: BaseTimeEntity 생성, PostEntity 기본 내용 작성

* :sparkles: PostController 생성 및 기본 내용 작성

* :sparkles: postService 생성

* :sparkles: Exceptions.kt 생성

* :sparkles: postDto 생성

* :sparkles: postRepository 생성 및 기본 내용 작성

* :green_heart: application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* hotfix: 사용하지않는 Dto 및 엔티티 삭제 (#14)

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* feat: seminar 패키지 추가 (#17)

* feat: createSeminar, readSeminar, updateSeminar 추가

* feat: deleteSeminar, searchSeminar 추가

* fix: distinct 삭제

* hotfix: 불필요한 dto 삭제 (#20)

* hotfix: 불필요한 dto 삭제

* build.gradle 수정

* fix: 이미지 uri 필드 추가 및 프론트 요구사항 반영 (#21)

* feat: 이미지 uri 필드 추가 및 isActive 대신 status 추가

* fix: 행정직원 전체 조회 응답에서 task 삭제

* fix: 교수진 페이지 응답 수정

* feat: introduction 패키지, undergraduate 패키지 추가 (#22)

* feat: createUndergraduate, readUndergraduate 추가

* feat: readAllCourses, createCourse, readCourse 추가

* introduction 패키지 추가

* fix: dto에서 postType 삭제

* fix: postType pathVariable->requestBody 수정, 오타 수정

* fix: 프론트와 협의하여 이름 등 변경

* feat: academics 패키지 대학원도 가능하도록 추가

* feat: 장학제도 세부 장학금 create, read 추가

* fix: 수정

* fix:수정

* feat: admissions, research 패키지 추가 (#23)

* feat: admissions-학부 에서 create, read 추가

* feat: admissions-대학원도 작성 가능하도록 추가

* feat: createResearch 추가

* feat: createLab 추가

* fix: 다른 패키지에 맞게 수정

* research-groups, research-centers에서 read, update 추가

* fix: admissions, research에서 프론트와 협의하여 이름 등 수정

* fix: 오타 수정

* fix: enum 추가, pr 리뷰 반영

* feat: oidc 로그인 (#27)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: idsnucse 다운 되었을때 에러 처리

* feat: idsnucse 다운 되었을때 에러 처리

* feat: cors 설정 (#30)

* fix: cors 추가 설정 (#32)

* feat: cors 설정

* feat: cors 설정

* fix: CORS (#34)

* feat: cors 설정

* feat: cors 설정

* feat: cors 설정

* fix: about, academics, admissions 패키지 수정 (#25)

* fix: admissions, about 컨트롤러 변경

* fix: academics 컨트롤러 수정

* 커밋중

* fix: pr 리뷰 반영

* feat: readMain 추가

* pr 리뷰 반영

* feat: 일반 예약 및 정기 예약 API (#28)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: 예약 엔티티 및 DTO 설계

* feat: 일반 예약 및 정기 예약

* feat: 예약 조회 API (#39)

* feat: 권한 관리 위해 커스텀 어노테이션 생성

* feat: 예약 단건, 주별, 월별 조회 API

* fix: 로컬 DB 설정 수정

* feat: 유저 조회 중복 쿼리 방지

* feat: 예약 응답에 recurrenceId 추가

* feat: 동시 예약 방지

* fix: 시큐리티 로그 다시 로컬에서만 보이도록 변경

* feat: 목데이터 날라가지 않도록 ddl-auto 수정

* feat: about, member, news, seminar 메인 이미지 업로드 추가 (#38)

* feat: uploadImage 추가

* feat: about, member 사진 업로드 추가

* feat: news, seminar 사진 업로드 추가

* refactor: imageEntity 추가 리팩토링

* fix: gif 삭제

* fix: application.yaml 수정

* fix: newsService 태그 -> 이미지로 순서 변경

* fix: pr 리뷰 수정

* fix: extension 없애고, mainImage로 바꾸고, uuid 없애기

* fix: var 삭제

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* CICD: Change deploy port to 8080 (#40)

* [Merge] (#41) (#42)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* :sparkles: 패키지 및 엔티티 생성

* :sparkles: BaseTimeEntity 생성, PostEntity 기본 내용 작성

* :sparkles: PostController 생성 및 기본 내용 작성

* :sparkles: postService 생성

* :sparkles: Exceptions.kt 생성

* :sparkles: postDto 생성

* :sparkles: postRepository 생성 및 기본 내용 작성

* :green_heart: application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

* fix: main에서 develop으로 pr (#16)

* feat: merge develop to main (#13)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* :sparkles: 패키지 및 엔티티 생성

* :sparkles: BaseTimeEntity 생성, PostEntity 기본 내용 작성

* :sparkles: PostController 생성 및 기본 내용 작성

* :sparkles: postService 생성

* :sparkles: Exceptions.kt 생성

* :sparkles: postDto 생성

* :sparkles: postRepository 생성 및 기본 내용 작성

* :green_heart: application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

---------




* hotfix: 사용하지않는 Dto 및 엔티티 삭제 (#14)

---------




* feat: seminar 패키지 추가 (#17)

* feat: createSeminar, readSeminar, updateSeminar 추가

* feat: deleteSeminar, searchSeminar 추가

* fix: distinct 삭제

* hotfix: 불필요한 dto 삭제 (#20)

* hotfix: 불필요한 dto 삭제

* build.gradle 수정

* fix: 이미지 uri 필드 추가 및 프론트 요구사항 반영 (#21)

* feat: 이미지 uri 필드 추가 및 isActive 대신 status 추가

* fix: 행정직원 전체 조회 응답에서 task 삭제

* fix: 교수진 페이지 응답 수정

* feat: introduction 패키지, undergraduate 패키지 추가 (#22)

* feat: createUndergraduate, readUndergraduate 추가

* feat: readAllCourses, createCourse, readCourse 추가

* introduction 패키지 추가

* fix: dto에서 postType 삭제

* fix: postType pathVariable->requestBody 수정, 오타 수정

* fix: 프론트와 협의하여 이름 등 변경

* feat: academics 패키지 대학원도 가능하도록 추가

* feat: 장학제도 세부 장학금 create, read 추가

* fix: 수정

* fix:수정

* feat: admissions, research 패키지 추가 (#23)

* feat: admissions-학부 에서 create, read 추가

* feat: admissions-대학원도 작성 가능하도록 추가

* feat: createResearch 추가

* feat: createLab 추가

* fix: 다른 패키지에 맞게 수정

* research-groups, research-centers에서 read, update 추가

* fix: admissions, research에서 프론트와 협의하여 이름 등 수정

* fix: 오타 수정

* fix: enum 추가, pr 리뷰 반영

* feat: oidc 로그인 (#27)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: idsnucse 다운 되었을때 에러 처리

* feat: idsnucse 다운 되었을때 에러 처리

* feat: cors 설정 (#30)

* fix: cors 추가 설정 (#32)

* feat: cors 설정

* feat: cors 설정

* fix: CORS (#34)

* feat: cors 설정

* feat: cors 설정

* feat: cors 설정

* fix: about, academics, admissions 패키지 수정 (#25)

* fix: admissions, about 컨트롤러 변경

* fix: academics 컨트롤러 수정

* 커밋중

* fix: pr 리뷰 반영

* feat: readMain 추가

* pr 리뷰 반영

* feat: 일반 예약 및 정기 예약 API (#28)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: 예약 엔티티 및 DTO 설계

* feat: 일반 예약 및 정기 예약

* feat: 예약 조회 API (#39)

* feat: 권한 관리 위해 커스텀 어노테이션 생성

* feat: 예약 단건, 주별, 월별 조회 API

* fix: 로컬 DB 설정 수정

* feat: 유저 조회 중복 쿼리 방지

* feat: 예약 응답에 recurrenceId 추가

* feat: 동시 예약 방지

* fix: 시큐리티 로그 다시 로컬에서만 보이도록 변경

* feat: 목데이터 날라가지 않도록 ddl-auto 수정

* feat: about, member, news, seminar 메인 이미지 업로드 추가 (#38)

* feat: uploadImage 추가

* feat: about, member 사진 업로드 추가

* feat: news, seminar 사진 업로드 추가

* refactor: imageEntity 추가 리팩토링

* fix: gif 삭제

* fix: application.yaml 수정

* fix: newsService 태그 -> 이미지로 순서 변경

* fix: pr 리뷰 수정

* fix: extension 없애고, mainImage로 바꾸고, uuid 없애기

* fix: var 삭제

---------



* CICD: Change deploy port to 8080 (#40)

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>

* feat: 장학제도 GET API 및 장학제도 페이지 응답 수정 (#44)

* feat: 장학제도 GET API

* feat: 장학제도 메인페이지 GET API 응답 수정

* feat: custom metadata 설정 + 리다이렉트 엔드포인트 변경 (#45)

* feat: yml 파일에 custom metadata endpoint 추가

* feat: 로그인/로그아웃 성공 리다이렉트 엔드포인트 변경

* feat: attachments 패키지 추가, news와 seminar request에 attachments 추가 (#43)

* feat: attachments 추가, news request에 attachments 추가

* feat: seminar request에 attachments 추가

* fix: mappedBy 추가 + bringAttachments null 없앰

* fix: 경로 분리

* fix: isDeleted false로 수정

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* feat: Top Conference List GET API (#47)

* feat: Top Conference List GET API

* feat: db에서 가져올때 정렬

* feat: 파일 서빙, 다운로드, 삭제 API (#48)

* feat: 파일 서빙, 다운로드, 삭제 API

* fix: extension 중복, 경로 수정

* feat: 공지사항 글쓴이 추가 (#49)

* CI/CD: Https 적용 및 백엔드, 데이터베이스, 프록시 서버 배포 분리 (#50)

* Config: Add gitignore for caddy files.

* CICD: Add caddy config file

* CICD: Seperate docker compose file for db and backend server.

* CICD: Docker Compose file for caddy proxy server.

* CICD: Add path condition for only act when source file has changed.

* CICD: Add workflow for deploying database changes.

* CICD: Add workflow for proxy server changes.

* Refactor: Add /api/v1 in front of all endpoints (except swagger-ui)

* Refactor: Add v1 to Main Image url.

* Refactor: change backend, frontend, login redirect uri to get from env.

* CICD: Add url to .env

* Fix: Change job name of database workflow, fix indent level.

* Fix: Remove duplicated restcontroller mapping.

* Fix: Set reverse proxy for swagger-ui/* for swagger.

* Docs: Set swagger to only scan /api/**

* Fix: add caddy to reverse api-docs/* for springdoc.

* Fix: Add login uris for reverse proxying to backend server.

* CICD: Remove testing branch condition.

* CICD: Add logout uri to reverse proxy to backend server.

* CICD: Remove test branch

* fix: 프론트랑 협의하여 내용 변경 + news, seminar에 image, attachments update 추가 (#51)

* feat: attachments 추가, news request에 attachments 추가

* feat: seminar request에 attachments 추가

* feat: about request에 attachments 추가

* feat: academics request에 attachments 추가

* fix: isPinned 삭제

* fix: image -> mainImage 변경, about에 greetings 추가

* fix: news, seminar update 수정

* fix: 전체적으로 image -> mainImage 변경

* fix: research 패키지 프론트에 맞춰 협의 (#52)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* fix: pr 리뷰 수정

* fix: 오타 수정

* [Refactor] 로그인, file uri 배포 환경에 맞게 수정 (#53)

* Refactor: Change mapping of file to append /api/v1 in front.

* Refactor: Change login, logout redirect uri

* fix: https 적용 관련 로그인 수정 (#56)

* fix: notice 패키지 프론트에 맞게 협의 (#54)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* feat: notice에 attachments 추가

* fix: fix_with_front1 변경 사항에 맞게 수정

* feat: isImportant 추가

* feat: NoticeSearchDto에 hasAttachment 추가

* fix: update에서 attachmetnts가 null일 때 빈 목록 반환

* feat: 공지사항 선택 고정해제, 선택 삭제 추가

* fix: news, seminar에 isImportant 추가

* fix: pr 리뷰 수정

* fix: 수정했던거 다시 복구

* feat: 신임교수초빙 (#59)

* feat: 행정실 권한 체크 API (#60)

* [CICD] mainImage, attachment 경로 mount 설정 (#55)

* CICD: Add mainImage, attachment directory for mounting

* CICD: Add volumes to mount with server directory. (for attachment)

* [Feat] 예전 url과 비슷하게 이전 파일(사진)들 접근할 수 있도록 controller 생성 (#58)

* Config: Add oldFiles path for properties.

* Feat: Add deprecated file controller for getting old files temporarily.

* CICD: Add volume mounting for old files.

* CICD: Add dir to mount for old files.

* Refactor: Change api to /sites/default/files/{PATH}

* CICD: Add reverse proxy for old file serving.

* fix: 예약 dto에 지도교수, 반복 횟수 추가 (#61)

* fix: 로그아웃 엔드포인트 변경 (#64)

* fix: 로그아웃 엔드포인트 변경

* fix: 로그아웃 성공 리다이렉트 엔드포인트 변경

* [Fix] Notice, News Description TEXT type으로 변환 (#65)

* Fix: Change notice and news entity description type as TEXT.

* Fix: Change to mediumtext

* fix: newsSearchResponse, seminarSearchResponse 수정 (#66)

* fix: newsSearchResponse 수정

* fix: SeminarSearchResponse 수정

* fix: 오타수정

* fix: 파일 업로드 경로 통일 (#68)

* fix: 갯수만 fetch하도록 최적화 (#70)

* Fix: Change type of additionalNote column on SeminarEntity to "TEXT" (#71)

* fix: academics 패키지 프론트에 맞춰 협의, admin 패키지 추가 (#69)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* feat: notice에 attachments 추가

* fix: fix_with_front1 변경 사항에 맞게 수정

* feat: isImportant 추가

* feat: NoticeSearchDto에 hasAttachment 추가

* fix: update에서 attachmetnts가 null일 때 빈 목록 반환

* feat: 공지사항 선택 고정해제, 선택 삭제 추가

* fix: news, seminar에 isImportant 추가

* fix: pr 리뷰 수정

* fix: 수정했던거 다시 복구

* fix: course response 수정

* feat: academics에서 연도별로 주는 response 추가

* feat: academics YearResponses 추가

* fix: createScholarship 합치기

* fix: scholarship 패키지의 내용을 academics 하위로 옮김

* feat: createScholarshipDetail 추가

* fix: 필수 교양과목 response 변경

* feat: admin 패키지에서 readAllSlides 추가

* feat: admin 패키지 readAllImportants 추가

* feat: admin 패키지 중요안내 추가

* Refactor: HTML로부터 텍스트 추출 함수 Utils로 이동 (#73)

* Feat: Add cleanTextFromHtml.

* Refactor: Remove private clean method, replace to Utils.cleanTextFromHtml.

* Refactor: Remove unused imports.

* Feat: Add plain text description for notice (#74)

* Feat: Add cleanTextFromHtml.

* Refactor: Remove private clean method, replace to Utils.cleanTextFromHtml.

* Refactor: Remove unused imports.

* Feat: Add plainTextDescription.

* Feat: Add plainTextDescription in createNotice.

* Feat: add updating plainTextDescription when updating description.

* fix: admissions 패키지 프론트에 맞게 협의 (#76)

* fix: admissions 프론트에 맞게 협의

* fix: seminarEntity time 삭제

* fix: admissionsEntity pageName 추가

* fix: 불필요한 파일 삭제

* 커밋

* fix: 이전 글 다음 글만 fetch 하도록 쿼리 최적화 (#75)

* fix: 이전 글 다음 글만 fetch 하도록 쿼리 최적화

* fix: distinct 수정

* fix: 쿼리 최적화

* fix: total Long 타입으로 수정

* CI/CD: Test 설정 (#77)

* Config: Add kotest, mockk, h2 db for testing.

* Config: Add test profile.

* Config: Add testconfig for jpaqueryfactory.

* CICD: Add build, test workflow

* Fix: Revert local datasource url change.

* [Test] Notice create, update 시 plainTextDescription 동작 테스트 (#78)

* Config: Add test profile.

* Test: Add Tests for Create, Update Notice, in perspective of plainTextDescription

* Fix: Change life cycle hook resolution to container.

* [Feat] Seminar plain text field 추가 (#79)

* Feat: Add plain text column for description, introduction, additionalnote.

* Feat: Add description, introduction, additionalnote for dto -> entity.

* Feat: Change to update plain description, introduction, additional note.

* Feat: Use plainTextDesription for searchdto.

* Test: Test for create, update of plain texts.

* Test: Fix seminar service test.

* Feat: News plain text field 추가 (#80)

* Feat: Add plainTextDescription field for news entity

* Feat: Add to create, and update plainTextDescription.

* Feat: Change to use plainTextDescription when making newssearchdto.

* Test: Test for create/update plainTextDescription.

* Feat: 구성원 검색 위한 table 추가. (#81)

* Feat: MemberSearchEntity 추가.

* Feat: MemberSearchRepository 추가

* Feat: MemberSearchService 추가

* Feat: ProfessorEntity, StaffEntity에 MemberSearch 추가.

* Feat: ProfessorStatus에 한글 값 추가.

* Feat: professor create, update 시 memberSearch도 반영하도록 추가.

* Feat: seminar create, update 시 memberSearch도 반영하도록 추가.

* Test: ProfessorService 테스트 추가.

* Test: StaffServiceTest 추가.

* fix: 새소식 세미나 쿼리 수정 (#82)

* refactor: 유틸 패키지 생성 및 FixedPageRequest 분리

* feat: 새소식 세미나 이전 다음 글 및 total 쿼리 최적화

* fix: pageNum 값으로 usePageBtn 값 설정

* fix: import 경로 수정

* fix: local db port 3306

* 중복 삭제

* fix: prod endpoint https로 변경

* fix: main 프론트에 맞게 협의, notice 태그 enum 추가 (#83)

* fix: mainResponse 다시 작성

* feat: TagInNoticeEnum 추가

* feat: notice enum 추가

* fix: 코드 수정

* fix: isPublic -> isPrivate으로 정리 (#86)

* fix: rebase 정리

* fix: 오타 수정

* feat: 로컬 로그인 테스트용 엔드포인트로 임시 변경 (#87)

* Feat: 구성원 검색 API 추가 (#85)

* Feat: Add mysql custom dialect with MATCH AGAINST BOOLEAN MODE function.

* CICD: Add config for mysql db

* CICD: Add volumes for config file.

* CICD: Add db_config for condition for db deploy

* Feat: Add search top, and search query.

* Feat: Add DTOs

* Feat: Add Controller for member search only top, and page.

* Feat: Add dialect config for application.yaml

* Feat: Add controller for member search.

* Refactor: Change exception message to korean.

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>

* fix: 세미나 시간 타입 변경 (#91)

* fix: 세미나 시간 LocalDateTime으로 변경

* test: 테스트 수정

* fix: 태그 항목 수정 (#92)

* fix: news tag 추가 (#90)

* fix: news tag 추가

* fix: 일반인은 isPrivate = false인 것만, 직원은 모든 게시글 보여주기

* feat: 졸업생 창업 진로, 졸업생 진로 response 추가 (#94)

* fix: news tag 추가

* fix: 일반인은 isPrivate = false인 것만, 직원은 모든 게시글 보여주기

* feat: about  졸업생 read 추가

* fix: 오타 수정

* fix: conference 주소 추가 (#95)

* Feat: 연구 탭 통합검색 위한 Table 생성. (#97)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Fix: Fix typo, import library.

* Feat: Lab Update API 추가 (#98)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Feat: Add update method for labentity.

* Feat: Add update lab service.

* Feat: Add update lab controller.

* Test: Add ResearchServiceTest.

* Feat: Add deleteAttachment (marking)

* Fix: Add typo, add import library.

* Feat: Conference page 수정 API (#99)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Feat: Add update method for labentity.

* Feat: Add update lab service.

* Feat: Add update lab controller.

* Test: Add ResearchServiceTest.

* Feat: Add Conference Repository.

* Feat: add conferenc eentity method for create, update entity.

* Feat: Change variables to mutable.

* Feat: Add id in conferencedto.

* Feat: Add to sort the conferenceList.

* Feat: Add deleteAttachment (marking)

* Feat add service to modify conference page (create, modify, delete conferences)

* Feat: Add api for modify conference page.

* Test: Add test for conference service.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 파일 관련 수정 (#100)

* fix: 업로드 파일 사이즈 제한

* fix: 원본 첨부파일 이름으로 응답

* refactor: 세미나 업데이트 시 삭제할 첨부파일 id만 받도록 변경

* fix: 파일 api 경로 수정

* fix: deleteAttachment

* fix: GET notice 권한 관련 로직 수정 (#101)

* Refactor: Extract Full Text Query Template to CommonRepository (#102)

* Feat: Extract full text search template to common repository.

* Feat: Change full text search to use extracted repository.

* Feat: Add for 4 elements.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Notice Seminar News Search to Full Text Query (#105)

* Feat: Extract full text search template to common repository.

* Feat: Change full text search to use extracted repository.

* Feat: Add for 4 elements.

* Feat: Add more args cnt.

* Feat: Change keyword boolean builder to full text.

* Feat: Change keyword boolean builder to full text.

* Feat: Change keyword boolean builder to full text.

* Hotfix: Change mount volume. (#103)

* feat: api 권한 설정 (#84)

* fix: GET notice 권한 관련 로직 수정 (#109)

* fix: 필요한 column만 select (#111)

* refactor: 공지 태그 응답 한국어로 변경 및 리팩토링 (#113)

* refactor: 공지 태그 응답 한국어로 수정 및 리팩토링

* refactor: 새소식 태그 리팩토링

* fix: NewsRepository

* fix: 공지 새소식 PATCH 로직 수정 (#114)

* fix: 공지 새소식 PATCH 로직 수정

* test: 테스트 수정

* fix: news 엔티티에 날짜 추가 (#115)

* Feat: 검색 결과에서 keyword 위치, 적절한 substring 추출 위한 method 추가 (#116)

* Feat: Add utils substringAroundKeyword

* Test: Add test for Utils.kt

* fix: total 더미 값 + pageNum null일때만 더미 값 주기 (#117)

* fix: 예약 조회 권한 분리 및 응답 단순화 (#119)

* fix: 예약 단건 조회 권한 분리

* feat: 월별,주별 조회용 SimpleReservationDto

* fix: 로그인 리다이렉트 엔드포인트 복구 (#121)

* feat: migrateAbout, migrateFutureCareers 추가 (#118)

* feat: AboutRequest, migrateAbout 추가

* feat: future-careers 마이그레이션 추가

* feat: request 패키지 추가

* fix: AboutRequest 간소화

* fix: future-careers description aboutEntity에 저장

* feat: about 패키지 마이그레이션 추가 (#120)

* feat: AboutRequest, migrateAbout 추가

* feat: future-careers 마이그레이션 추가

* feat: request 패키지 추가

* fix: 불필요한 dto 삭제

* feat: migrateStudentClubs 추가

* feat: migrateFacilities 추가

* feat: migrateDirections 추가

* fix: 불필요한 dto 삭제

* fix: request 패키지 삭제

* fix: 오타 수정

* fix: news, notice에 titleForMain 추가 (#125)

* fix: 소식3총사 titleForMain 데이터 생성

* fix: 테스트에 titleForMain  추가

* Revert "fix: 테스트에 titleForMain  추가"

This reverts commit e824ad34e60e0785f1d4c4e187776d4b8bf53dfa.

* fix: 테스트에 titleForMain 추가

* fix: seminar titleForMain 추가

* fix: seminar test titleForMain 추가

* feat: LocalDateTime 응답 마지막에 Z 추가 (#126)

* refactor: deleteIds request 내부로 이동 (#127)

* refactor: deleteIds request 내부로 이동

* test: 테스트 수정

* fix: 확장자 중복 버그 (#128)

* feat: 관리자는 새소식, 세미나 목록에서 비공개 글 확인 가능 (#129)

* feat: research, member 패키지 migrate 추가 (#130)

* feat: migrateProfessors 추가

* feat: migrateResearchDetail 추가

* feat: migrateLabs 추가

* fix: migrate 엔티티 description에 mediumText 추가

* feat: migrateStaff 추가

* fix: 빠진거 수정

* fix: 중복 패키지 삭제

* fix: 너무 안긴거 text로 수정

* fix: noticeSearchDto에도 private 추가 (#131)

* fix: noticeSearchDto에도 private 추가

* fix: json 추가

* fix: 수정 및 추가

* fix: 수정

* Fix: 키워드 추출 함수 수정 (#122)

* Fix: Fix IndexOutOfBoundException, change to return index based on substring.

* Fix: Change to check index exclude case, and set front, back index to better contains keyword.

* Test: Update Test.

* Feat: 통합검색 Notice API 구현 (#123)

* Feat: Add dtos for notice total search.

* Feat: Add repository for notice total search.

* Feat: Add service, controller for notice total search

* Feat: News 통합 검색 API 구현 (#124)

* Feat: Add dto for total search of news.

* Feat: Add repository for total search.

* Feat: Add service, controller for news total search.

* Fix: Fix conflict issues.

* fix: 기존 objectMapper 설정 오버라이드 (#132)

* feat: 파일 업로드 컨트롤러 구현 (#133)

* Feat: Change titleForMain column to TEXT type. (#134)

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* hotfix: mixed content issue (#136)

* hotfix: loginPage to https (#139)

* hotfix: mixed content issue

* hotfix: loginPage

* fix: false로 수정 (#141)

* fix: 이전 다음 글에서 비공개 글 제외 (#143)

* fix: 이전 다음글 비공개 제외

* fix: prev-next

* CBT 위해서 예약 GET 권한체크 주석처리

* Feat: 뉴스 날짜로 정렬 (#144)

* Feat: Change date field to NOT NULLABLE.

* Feat: Change to sort by date, not createdat.

* Test: Fix test.

* Test: Move news test dir.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Add description for slide. (#146)

* style: ktlint (#145)

* style: ktlint

* Feat: change to ktlint_disabled_rules

* Refactor: fix to lint using ktlint.

* Refactor: After merge.

* Fix: After merge.

* Refactor: ReReLint

---------

Co-authored-by: huGgW <whjoon0225@naver.com>

* fix: 텍스트 인코딩 (#147)

* fix: content-dispostion

* fix: 텍스트 인코딩

* fix: 강제 다운로드

* style: ktlint

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* Update ktlint-check.yml

* fix: 중요 안내 (#149)

* fix: 삭제된 글 중요 안내에서 보이지 않도록 수정

* fix: 중요 안내 최대 2개만 보내도록 + plainTextDescription

* style: ktlint

* fix: 첨부파일 다운로드 (#154)

* Feat: 관리자 슬라이드에 total 추가, refactoring (#153)

* Feat: Change dto name, and add total to AdminSlidesResponse.

* Feat: Add pageSize as parameter.

* Feat: move readAllSlides to news repository, add total query.

* Feat: Extract getNewsEntityByIdOrThrow

* Feat: Move readAllSlides and unSlideManyNews logic handling to news service.

* Comment: Add comment for refactoring.

* Test: Add test for read all slides.

* Refactor: Linting.

* Feat: Change pageNum to start at 1.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 세미나 isYearLast 로직 수정 (#155)

* fix: 세미나 isYearFirst 로직 수정

* fix: isYearLast로 재변경 및 로직 수정

* fix: 이전글 다음 글 isDelete,isPrivate 조건 추가 (#151)

* fix: 이전글 다음 글 isDelete 추가

* fix: ktlint 수정

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 메인 공지 정렬 (#158)

* fix: 예약 조회 권한 수정 (#157)

* Feat: 통합검색 정렬 최신순 (#156)

* Feat: Admin Important에 pagination 추가, total 추가. (#159)

* fix: titleForMain이 없어도 isImportant 등록 가능 (#160)

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: em.close() 추가 (#162)

* fix: em.close() 추가

* fix: total에도 추가

* feat: migrateConference 추가 (#164)

* feat: migrateConferences 추가

* fix: 수정

* fix: 수정

* fix: 검색 추가

* fix: createConferenceDto 삭제

* CICD: Add blocking backend api except frontend. (#166)

* CICD: Add blocking backend api except frontend.

* CICD: Remove login, logout, file api from blacklist.

* CICD: Change to just block swagger apis.

* fix: group 변경 반영 (#167)

* refactor: 실제 스누씨 서버 연동 (#168)

* refactor: local-test 중복 항목 공통으로 처리하고 prod에서 오버라이드

* feat: 스누씨 실서버용 환경 변수 설정

* refactor: 로그인 페이지 통합 및 CORS 설정 변경

* fix: CORS

* feat: migrateAdmissions 추가 (#165)

* fix: migrateAdmissions 추가

* fix: 잘못 쓴거 수정

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Increase speakerurl size (#170)

* fix: 로컬에서도 idsnucse로 연결 (#174)

* fix: 로컬에서도 idsnucse 바라보게끔 변경

* fix: test에서 idsnucse 접근 x

* Revert "fix: test에서 idsnucse 접근 x"

This reverts commit cf526452abdc629b433efe701c9fd6ff60893f1e.

* Fix: move local security settings to local, not global.

* Fix: Disable SecurityConfig on "test" profile

---------

Co-authored-by: huGgW <whjoon0225@naver.com>

* feat: Research 검색 (#175)

* fix: 로컬에서도 idsnucse 바라보게끔 변경

* feat: enable async.

* Feat: create professor event.

* Feat: Publish event on professor modification.

* Feat: Update research search when listen professor event.

* Test: ResearchSearchService listen professor event

* fix: test에서 idsnucse 접근 x

* Revert "fix: test에서 idsnucse 접근 x"

This reverts commit cf526452abdc629b433efe701c9fd6ff60893f1e.

* Fix: fixed event listener logic

* Feat: Add search api for research.

* Test: Fix test.

* Fix: move local security settings to local, not global.

* Fix: Disable SecurityConfig on "test" profile

---------

Co-authored-by: leeeryboy <indiv0227@snu.ac.kr>

* feat: staff 검색 기능 추가 (#176)

* Feat: 학사 및 교과 검색 기능 추가 (#177)

* Revert "fix: test에서 idsnucse 접근 x"

This reverts commit cf526452abdc629b433efe701c9fd6ff60893f1e.

* Fix: move local security settings to local, not global.

* Feat: AcademicsStudentType에 값 지정.

* Feat: AcademicsSearchEntity 추가

* Feat: 각 entity에 search 관계 추가

* Feat: 각 entity create하는 서비스 method에 search entity도 생성하도록 추가.

* Feat: Add academicsSearchRepository

* Feat: Add dto for search

* Refactor: Make name field of academics non null

* Feat: Add exchangePageNum to utils.

* Feat: Add academics search service

* Feat: Add search api for academics.

* Feat: add validation code for utils.exchangePageNum

* Test: Add testcode for exchangePageNum

* REfactor: Add transactional readonly for readGeneralStudies

* fix: apply newacademics to use after saved cached entity.

* fix: fix to add target enitity when create of search entity is called.

* refactor: add default values for nullable values.

* Temp: test code, should be fixed h2 issue.

---------

Co-authored-by: leeeryboy <indiv0227@snu.ac.kr>

* Fix: Research 검색에서 html 태그 없이 검색되도록 설정 (#178)

* Fix: Change createContent to remove html tags on description.

* Test: Update to check removing html tags.

* Feat/add language field (#180)

* feat: 엔티티, dto에 language 추가

* feat: read에 language 추가

* fix: ktlint 수정

* fix: languageRepository 삭제, 함수 enum 클래스로 이동

* fix: language pathVariable -> requestParam 변경 && engName 추가 삭제

* fix: dto 소문자로 return하기 enum 함수로 넣어주기

* fix: requestParam defaultValue 추가

* Refactor: Admission 언어 추가 및 리팩터링 진행 (#182)

* Feat: Move type to type dir, and add main type enum.

* Refactor: Add request body for create, and changed migrate elem body.

* Feat: Change pagename -> name, add language and mainType column, add unique constraints.

* Refactor: Remove unused request dto.

* Refactor: Change AdmissionsDto by adding columns, to be able to used as pure dto.

* Feat: Change to more specific search query.

* Feat: Change multiple methods to few methods, by using mainType.

* Feat: Change to few controller by using mainType, and use request bodies instead of dto.

* Test: AdmissionsServiceTest

* Fix: Add mapping path variable.

* Fix: Fix replacing logic.

* feat: academics 패키지에 language field 추가 (#181)

* feat: 엔티티, dto에 language 추가

* feat: read에 language 추가

* feat: academics에 language field 추가

* fix: ktlint 수정

* feat: course 엔티티에 language field 추가

* feat: readCourse에 language parameter 추가

* fix: languageRepository 삭제, 함수 enum 클래스 이동, academicsEntity name 속성 nullable 추가

* fix: requestParam+defaultValue 추가,

* fix: academics name nullable 없앰

* feat: staff에 language, migration 방법 추가 (#183)

* feat: staffEntity에 language 추가

* feat: branch 이름 변경

* fix: branch origin 이름 변경

* feat: staff 읽기, 수정에서 language 속성 추가

* feat: migrateStaffImage 추가

* fix: StaffServiceTest 수정

* Feat: Admission 검색 (#184)

* Feat: Add korean, english section name.

* Feat: add searchContent column for saving index.

* Feat: Add search query repository method.

* Feat: Define dto of search result element.

* Feat: Add search Top Admission method, and add migrate method creating search content.

* Feat: Add search top admissions method to controller.

* Test: Add test for Admission Service.

* Refactor: Remove Location Entity (#186)

* feat: member/research 패키지 이미지와 첨부파일 마이그레이션 코드 작성 (#185)

* feat: migrateProfessorImage 추가

* feat: migrateResearchImageAndAttachments 추가

* feat: migrateStaffImage 추가

* feat: migrateLabPdf 추가

* feat: about에서 이미지랑 첨부파일 추가 (#187)

* feat: migrateProfessorImage 추가

* feat: migrateResearchImageAndAttachments 추가

* feat: migrateStaffImage 추가

* feat: migrateLabPdf 추가

* feat: about에서 이미지랑 첨부파일 추가

* feat: dev 로그인 (#188)

* dev서버 로그인 바이패스

* style: ktlint

* fix: mock auth config 분리

* fix: uri 수정

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: professor language 추가 (#189)

* fix: professor language 추가

* feat: professor 테스트 추가

* feat: professor language 다른 테스트에도 추가

* feat: 테스트 알맞게 수정

* Feature: About 검색 추가 (#192)

* Feat: Change to create search content.

* Feat: Add search query method.

* Feat: Add create, migrate to create searchContent, and add search method.

* Feat: add search api

* COMMENT: add fix comment for aboutservicetest.

* Refactor: Move dtos to ee directory.

* Feat: Add validation for number, pagesize, pagenum

* feat: research 패키지에 language 추가 (#194)

* fix: professor language 추가

* feat: professor 테스트 추가

* feat: professor language 다른 테스트에도 추가

* feat: 테스트 알맞게 수정

* feat: researchDetail에 language 추가

* feat: lab에 language 추가

* fix: about, admission migrate search todo 추가

* Refactor: Admission 검색 리펙터링 (#193)

* Refactor: Merge queries into one.

* Refactor: Add page search method.

* Refactor: Add total count.

* Refactor: change to search page or search top.

* feat: academics 패키지 마이그레이션 추가 (#195)

* fix: professor language 추가

* feat: professor 테스트 추가

* feat: professor language 다른 테스트에도 추가

* feat: 테스트 알맞게 수정

* feat: researchDetail에 language 추가

* feat: lab에 language 추가

* fix: about, admission migrate search todo 추가

* fix: course migrate 추가

* fix: conference, scholarship language 추가

* fix: migrate academics, scholarship 추가

* fix: migrate academics attachments 추가

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: ktlint 정리

* fix: ktlint 정리 2

* fix: 실수로 삭제한 코드 복구

* Refactor: Member Search (#197)

* feat: professor 테스트 추가

* feat: 테스트 알맞게 수정

* fix: about, admission migrate search todo 추가

* Fix: Add commented authentication.

* Feat: Add language field to search entity

* Feat: Add language in search condition, remove duplicated exchangePageNum, Merge search queries

* Feat: Change res body dir, merge two seperate body into one, add language field

* Feat: Change return body, repository method useing.

* Feat: Add language query parameter, change response body.

* Test: Check language of search.

* Refactor: Change res body results key as "results"

* Refactor: Remove unneeded transactional on interface.

---------

Co-authored-by: DESKTOP-USQPRVG\gram <blueland1998@naver.com>

* feat: getMapping에 language requestParam 추가 (#198)

* fix: academics 패키지 get에 language 추가

* fix: professor 패키지 get에 language 추가

* fix: research 패키지 get에 language 추가

* feat: academics 패키지 이름에 맞게 변경 (#199)

* feat: add readDegreeRequirements

* feat: readGeneralRequirements 삭제, readDegreeRequirements 추가

* feat: AcademicsEntity time 칼럼 삭제

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* Refactor: academics search (#200)

* Refactor: research search (#201)

* fix: pageSize 추가 (#203)

* fix: pageSize 쿼리 파라미터 추가

* 함수 인자에서 defaultValue 지정

* fix: 인증 로직 수정 (#206)

* fix: mock-login 위해서 인증 로직 수정

* add v1 to uri

* fix: migrateConferences에서 authenticatedStaff 삭제 (#204)

* fix: simpleProfessorDto에서 status 추가 (#205)

* fix: readDegreeRequirements에 파일 보이도록 추가 (#209)

* fix: StudentClubDto에 engName 추가 (#210)

* fix: researchEntity에 websiteURL 추가 (#211)

* fix: researchEntity에 websiteURL 추가

* fix: ProfessorServiceTest 수정

* Fix: `exchangepageNum`에서 total이 0일 경우 케이스 추가. (#213)

* Fix: Add condition that when total is 0 return pageNum as 1

* Refactor: Rename method name to be more clear.

* Refactor: Remove not needed duplicated conditional check.

* Test: Add test for exchangeValidPageNum for checking when total = 0

* fix: readGeneralStudiesRequirements 추가 (#212)

* fix: readGeneralStudiesRequirements 추가

* fix: readGeneralStudiesRequirements 프론트 협의사항에 따라 수정

* fix: DegreeRequirementsDto description 삭제

* AcademicsPostType 타입 이름 주석 추가

* Fix: Notice 비밀글 표시 안되도록 수정 (#216)

* Feat: Add FindByIdAndIsPrivateFalse

* Fix: Change totalSearchNotice to get isStaff and hide private when not a staff.

* Fix: Change searchTotalNotice and readNotice to consider isStaff.

* Fix: Change totalSearchNotice and readNotice to check authentication and get staff info.

* fix: readFutureCareers에 description 수정 (#214)

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: 파일 크기 100MB로 늘림

* Feat: Research 검색 결과 research 타입 상세화 (#218)

* Refactor: Remove unused method

* Comment: Add comment

* Feat: Add specific research types to enum

* Feat: Change to give more specified enum when it is research related column.

* Refactor: Remove unused LAB entry from Research.

* fix: pdf 타입 AttachmentResponse로 변경 (#220)

* Feat: Add more type to academic. (#221)

* Fix: Change partialDescription to give with searchContent. (without html, all fields) (#222)

* fix: 단건 조회 & 통합 검색 권한 체크 (#217)

* fix: private 단건 조회 권한 체크

* Fix: Notice 비밀글 표시 안되도록 수정 (#216)

* Feat: Add FindByIdAndIsPrivateFalse

* Fix: Change totalSearchNotice to get isStaff and hide private when not a staff.

* Fix: Change searchTotalNotice and readNotice to consider isStaff.

* Fix: Change totalSearchNotice and readNotice to check authentication and get staff info.

* fix: newsTotalSearch 권한 체크

* style: ktlint

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* Fix: Formatting issue.

* Fix: Add studentType for all academic search result. (#224)

* Config: Spring Boot 3.2, Java 21로 업그레이드, Virtual Thread 적용 (#223)

* Fix: add join condition for news total search (#226)

* Feat: Spring Boot 서버에서 Error 발생 시 Slack으로 로그 전송 기능 추가 (#228)

* Dependency: Add slack appender

* Config: Add slack appender for sending error log to slack.

* Config: Add slack api info when making env file.

* Feat: Add to logging error for SQLIntegrityConstraintViolationException and RESTClientException

* Config: Update gradle wrapper

* feat: 학부 총괄 행정직원 맨 앞으로 이동 (#232)

* feat: 한글 이름 우선순위 정렬 (#235)

* feat: 한글 이름 우선순위 정렬

* refactor: 유틸 함수 분리

* Feat: 게시물 제외 통합검색에 사용되는 field들 refersh하는 API 추가 (#236)

* Feat: Add refresh search event

* Feat: Add api for trigger refresh search indexes.

* Feat: Add refresh search event listener for about entity.

* Feat: Add refresh search event listener for academics entity.

* Feat: Add refresh search event listener for admission entity.

* Feat: Add refresh search event listener for member entity.

* Feat: Add refresh search event listener for research entity.

* Fix: Change transactional propagation as REQUIRES_NEW for about's refresh event listener.

* style: ktlint

---------

Co-authored-by: Junhyeong Kim <leeeryboy@gmail.com>
Co-authored-by: leeeryboy <indiv0227@snu.ac.kr>

* delete image thumbnail logic (#237)

* Fix: Fill "mappedBy" information for remove about_attachments table. (#239)

* CICD: 배포, 개발계 분리 적용 (#238)

* CICD: Add dev deployment workflow

* Refactor: Remove unused comments

* Config: Add dev profile

* CICD: Add ssh port for production deploy environment

* Config: Change slack message format to more readable

* fix: course 띄어쓰기 그대로 유지 (#241)

* prod에서 mock-login 삭제 (#242)

* feat: mock login api only for profile dev

* feat: delete mock login api in prod

* fix: 교수 정렬 (#243)

* Refactor: Move languagetype from properties from enums (#244)

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>

* fix: stat year 2050년까지 확장 (#245)

* fix: stat year 2050년까지 확장

* fix: 쿼리 수정

* fix: adjust max thread and pool size (#246)

* Feat: 공지, 새소식, 세미나 정렬 옵션 추가 (#247)

* Refactor: Move languagetype from properties from enums

* Feat: Add sort order type for content search (notice, news, seminar)

* Feat: Add sort option for news search.

* Feat: Add sort option for notice search.

* Feat: Add sort option for seminar search.

* Fix: Handle for empty keyword.

---------

Co-authored-by: Junhyeong Kim <leeeryboy@gmail.com>

* CICD: env 파일 분리, 서버 docker image tag 분리 (#248)

* CICD: Seperate docker image tag of prod, dev, rename env

* CICD: Change env name of db

* CICD: Change env name of proxy

* CICD: Remove unused latest tag

---------

Co-authored-by: Junhyeong Kim <leeeryboy@gmail.com>

* feat: 개인정보 동의 여부 기록 (#250)

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* Fix: fix merge conflict

* Fix: give 0.0 to score when keyword is null or empty on notice. (#254)

* CICD: Disable auto https redirect. (#256)

* CICD: Revert to enable redirect

* fix: sort labs (#258)

* fix: idsnucse prod 설정 분리 (#260)

* fix: idsnucse prod

* fix: 환경변수 이름

* Config: Disable migrate on profile prod. (#262)

* Config: Disable migrate on profile prod.

* Config: Disable refresh search on profile prod.

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
Co-authored-by: DESKTOP-USQPRVG\gram <blueland1998@naver.com>
leeeryboy added a commit that referenced this pull request Apr 12, 2024
* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* :sparkles: 패키지 및 엔티티 생성

* :sparkles: BaseTimeEntity 생성, PostEntity 기본 내용 작성

* :sparkles: PostController 생성 및 기본 내용 작성

* :sparkles: postService 생성

* :sparkles: Exceptions.kt 생성

* :sparkles: postDto 생성

* :sparkles: postRepository 생성 및 기본 내용 작성

* :green_heart: application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

* fix: main에서 develop으로 pr (#16)

* feat: merge develop to main (#13)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* :sparkles: 패키지 및 엔티티 생성

* :sparkles: BaseTimeEntity 생성, PostEntity 기본 내용 작성

* :sparkles: PostController 생성 및 기본 내용 작성

* :sparkles: postService 생성

* :sparkles: Exceptions.kt 생성

* :sparkles: postDto 생성

* :sparkles: postRepository 생성 및 기본 내용 작성

* :green_heart: application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* hotfix: 사용하지않는 Dto 및 엔티티 삭제 (#14)

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* feat: seminar 패키지 추가 (#17)

* feat: createSeminar, readSeminar, updateSeminar 추가

* feat: deleteSeminar, searchSeminar 추가

* fix: distinct 삭제

* hotfix: 불필요한 dto 삭제 (#20)

* hotfix: 불필요한 dto 삭제

* build.gradle 수정

* fix: 이미지 uri 필드 추가 및 프론트 요구사항 반영 (#21)

* feat: 이미지 uri 필드 추가 및 isActive 대신 status 추가

* fix: 행정직원 전체 조회 응답에서 task 삭제

* fix: 교수진 페이지 응답 수정

* feat: introduction 패키지, undergraduate 패키지 추가 (#22)

* feat: createUndergraduate, readUndergraduate 추가

* feat: readAllCourses, createCourse, readCourse 추가

* introduction 패키지 추가

* fix: dto에서 postType 삭제

* fix: postType pathVariable->requestBody 수정, 오타 수정

* fix: 프론트와 협의하여 이름 등 변경

* feat: academics 패키지 대학원도 가능하도록 추가

* feat: 장학제도 세부 장학금 create, read 추가

* fix: 수정

* fix:수정

* feat: admissions, research 패키지 추가 (#23)

* feat: admissions-학부 에서 create, read 추가

* feat: admissions-대학원도 작성 가능하도록 추가

* feat: createResearch 추가

* feat: createLab 추가

* fix: 다른 패키지에 맞게 수정

* research-groups, research-centers에서 read, update 추가

* fix: admissions, research에서 프론트와 협의하여 이름 등 수정

* fix: 오타 수정

* fix: enum 추가, pr 리뷰 반영

* feat: oidc 로그인 (#27)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: idsnucse 다운 되었을때 에러 처리

* feat: idsnucse 다운 되었을때 에러 처리

* feat: cors 설정 (#30)

* fix: cors 추가 설정 (#32)

* feat: cors 설정

* feat: cors 설정

* fix: CORS (#34)

* feat: cors 설정

* feat: cors 설정

* feat: cors 설정

* fix: about, academics, admissions 패키지 수정 (#25)

* fix: admissions, about 컨트롤러 변경

* fix: academics 컨트롤러 수정

* 커밋중

* fix: pr 리뷰 반영

* feat: readMain 추가

* pr 리뷰 반영

* feat: 일반 예약 및 정기 예약 API (#28)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: 예약 엔티티 및 DTO 설계

* feat: 일반 예약 및 정기 예약

* feat: 예약 조회 API (#39)

* feat: 권한 관리 위해 커스텀 어노테이션 생성

* feat: 예약 단건, 주별, 월별 조회 API

* fix: 로컬 DB 설정 수정

* feat: 유저 조회 중복 쿼리 방지

* feat: 예약 응답에 recurrenceId 추가

* feat: 동시 예약 방지

* fix: 시큐리티 로그 다시 로컬에서만 보이도록 변경

* feat: 목데이터 날라가지 않도록 ddl-auto 수정

* feat: about, member, news, seminar 메인 이미지 업로드 추가 (#38)

* feat: uploadImage 추가

* feat: about, member 사진 업로드 추가

* feat: news, seminar 사진 업로드 추가

* refactor: imageEntity 추가 리팩토링

* fix: gif 삭제

* fix: application.yaml 수정

* fix: newsService 태그 -> 이미지로 순서 변경

* fix: pr 리뷰 수정

* fix: extension 없애고, mainImage로 바꾸고, uuid 없애기

* fix: var 삭제

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* CICD: Change deploy port to 8080 (#40)

* [Merge] (#41) (#42)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* :sparkles: 패키지 및 엔티티 생성

* :sparkles: BaseTimeEntity 생성, PostEntity 기본 내용 작성

* :sparkles: PostController 생성 및 기본 내용 작성

* :sparkles: postService 생성

* :sparkles: Exceptions.kt 생성

* :sparkles: postDto 생성

* :sparkles: postRepository 생성 및 기본 내용 작성

* :green_heart: application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

* fix: main에서 develop으로 pr (#16)

* feat: merge develop to main (#13)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* :sparkles: 패키지 및 엔티티 생성

* :sparkles: BaseTimeEntity 생성, PostEntity 기본 내용 작성

* :sparkles: PostController 생성 및 기본 내용 작성

* :sparkles: postService 생성

* :sparkles: Exceptions.kt 생성

* :sparkles: postDto 생성

* :sparkles: postRepository 생성 및 기본 내용 작성

* :green_heart: application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

---------




* hotfix: 사용하지않는 Dto 및 엔티티 삭제 (#14)

---------




* feat: seminar 패키지 추가 (#17)

* feat: createSeminar, readSeminar, updateSeminar 추가

* feat: deleteSeminar, searchSeminar 추가

* fix: distinct 삭제

* hotfix: 불필요한 dto 삭제 (#20)

* hotfix: 불필요한 dto 삭제

* build.gradle 수정

* fix: 이미지 uri 필드 추가 및 프론트 요구사항 반영 (#21)

* feat: 이미지 uri 필드 추가 및 isActive 대신 status 추가

* fix: 행정직원 전체 조회 응답에서 task 삭제

* fix: 교수진 페이지 응답 수정

* feat: introduction 패키지, undergraduate 패키지 추가 (#22)

* feat: createUndergraduate, readUndergraduate 추가

* feat: readAllCourses, createCourse, readCourse 추가

* introduction 패키지 추가

* fix: dto에서 postType 삭제

* fix: postType pathVariable->requestBody 수정, 오타 수정

* fix: 프론트와 협의하여 이름 등 변경

* feat: academics 패키지 대학원도 가능하도록 추가

* feat: 장학제도 세부 장학금 create, read 추가

* fix: 수정

* fix:수정

* feat: admissions, research 패키지 추가 (#23)

* feat: admissions-학부 에서 create, read 추가

* feat: admissions-대학원도 작성 가능하도록 추가

* feat: createResearch 추가

* feat: createLab 추가

* fix: 다른 패키지에 맞게 수정

* research-groups, research-centers에서 read, update 추가

* fix: admissions, research에서 프론트와 협의하여 이름 등 수정

* fix: 오타 수정

* fix: enum 추가, pr 리뷰 반영

* feat: oidc 로그인 (#27)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: idsnucse 다운 되었을때 에러 처리

* feat: idsnucse 다운 되었을때 에러 처리

* feat: cors 설정 (#30)

* fix: cors 추가 설정 (#32)

* feat: cors 설정

* feat: cors 설정

* fix: CORS (#34)

* feat: cors 설정

* feat: cors 설정

* feat: cors 설정

* fix: about, academics, admissions 패키지 수정 (#25)

* fix: admissions, about 컨트롤러 변경

* fix: academics 컨트롤러 수정

* 커밋중

* fix: pr 리뷰 반영

* feat: readMain 추가

* pr 리뷰 반영

* feat: 일반 예약 및 정기 예약 API (#28)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: 예약 엔티티 및 DTO 설계

* feat: 일반 예약 및 정기 예약

* feat: 예약 조회 API (#39)

* feat: 권한 관리 위해 커스텀 어노테이션 생성

* feat: 예약 단건, 주별, 월별 조회 API

* fix: 로컬 DB 설정 수정

* feat: 유저 조회 중복 쿼리 방지

* feat: 예약 응답에 recurrenceId 추가

* feat: 동시 예약 방지

* fix: 시큐리티 로그 다시 로컬에서만 보이도록 변경

* feat: 목데이터 날라가지 않도록 ddl-auto 수정

* feat: about, member, news, seminar 메인 이미지 업로드 추가 (#38)

* feat: uploadImage 추가

* feat: about, member 사진 업로드 추가

* feat: news, seminar 사진 업로드 추가

* refactor: imageEntity 추가 리팩토링

* fix: gif 삭제

* fix: application.yaml 수정

* fix: newsService 태그 -> 이미지로 순서 변경

* fix: pr 리뷰 수정

* fix: extension 없애고, mainImage로 바꾸고, uuid 없애기

* fix: var 삭제

---------



* CICD: Change deploy port to 8080 (#40)

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>

* feat: 장학제도 GET API 및 장학제도 페이지 응답 수정 (#44)

* feat: 장학제도 GET API

* feat: 장학제도 메인페이지 GET API 응답 수정

* feat: custom metadata 설정 + 리다이렉트 엔드포인트 변경 (#45)

* feat: yml 파일에 custom metadata endpoint 추가

* feat: 로그인/로그아웃 성공 리다이렉트 엔드포인트 변경

* feat: attachments 패키지 추가, news와 seminar request에 attachments 추가 (#43)

* feat: attachments 추가, news request에 attachments 추가

* feat: seminar request에 attachments 추가

* fix: mappedBy 추가 + bringAttachments null 없앰

* fix: 경로 분리

* fix: isDeleted false로 수정

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* feat: Top Conference List GET API (#47)

* feat: Top Conference List GET API

* feat: db에서 가져올때 정렬

* feat: 파일 서빙, 다운로드, 삭제 API (#48)

* feat: 파일 서빙, 다운로드, 삭제 API

* fix: extension 중복, 경로 수정

* feat: 공지사항 글쓴이 추가 (#49)

* CI/CD: Https 적용 및 백엔드, 데이터베이스, 프록시 서버 배포 분리 (#50)

* Config: Add gitignore for caddy files.

* CICD: Add caddy config file

* CICD: Seperate docker compose file for db and backend server.

* CICD: Docker Compose file for caddy proxy server.

* CICD: Add path condition for only act when source file has changed.

* CICD: Add workflow for deploying database changes.

* CICD: Add workflow for proxy server changes.

* Refactor: Add /api/v1 in front of all endpoints (except swagger-ui)

* Refactor: Add v1 to Main Image url.

* Refactor: change backend, frontend, login redirect uri to get from env.

* CICD: Add url to .env

* Fix: Change job name of database workflow, fix indent level.

* Fix: Remove duplicated restcontroller mapping.

* Fix: Set reverse proxy for swagger-ui/* for swagger.

* Docs: Set swagger to only scan /api/**

* Fix: add caddy to reverse api-docs/* for springdoc.

* Fix: Add login uris for reverse proxying to backend server.

* CICD: Remove testing branch condition.

* CICD: Add logout uri to reverse proxy to backend server.

* CICD: Remove test branch

* fix: 프론트랑 협의하여 내용 변경 + news, seminar에 image, attachments update 추가 (#51)

* feat: attachments 추가, news request에 attachments 추가

* feat: seminar request에 attachments 추가

* feat: about request에 attachments 추가

* feat: academics request에 attachments 추가

* fix: isPinned 삭제

* fix: image -> mainImage 변경, about에 greetings 추가

* fix: news, seminar update 수정

* fix: 전체적으로 image -> mainImage 변경

* fix: research 패키지 프론트에 맞춰 협의 (#52)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* fix: pr 리뷰 수정

* fix: 오타 수정

* [Refactor] 로그인, file uri 배포 환경에 맞게 수정 (#53)

* Refactor: Change mapping of file to append /api/v1 in front.

* Refactor: Change login, logout redirect uri

* fix: https 적용 관련 로그인 수정 (#56)

* fix: notice 패키지 프론트에 맞게 협의 (#54)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* feat: notice에 attachments 추가

* fix: fix_with_front1 변경 사항에 맞게 수정

* feat: isImportant 추가

* feat: NoticeSearchDto에 hasAttachment 추가

* fix: update에서 attachmetnts가 null일 때 빈 목록 반환

* feat: 공지사항 선택 고정해제, 선택 삭제 추가

* fix: news, seminar에 isImportant 추가

* fix: pr 리뷰 수정

* fix: 수정했던거 다시 복구

* feat: 신임교수초빙 (#59)

* feat: 행정실 권한 체크 API (#60)

* [CICD] mainImage, attachment 경로 mount 설정 (#55)

* CICD: Add mainImage, attachment directory for mounting

* CICD: Add volumes to mount with server directory. (for attachment)

* [Feat] 예전 url과 비슷하게 이전 파일(사진)들 접근할 수 있도록 controller 생성 (#58)

* Config: Add oldFiles path for properties.

* Feat: Add deprecated file controller for getting old files temporarily.

* CICD: Add volume mounting for old files.

* CICD: Add dir to mount for old files.

* Refactor: Change api to /sites/default/files/{PATH}

* CICD: Add reverse proxy for old file serving.

* fix: 예약 dto에 지도교수, 반복 횟수 추가 (#61)

* fix: 로그아웃 엔드포인트 변경 (#64)

* fix: 로그아웃 엔드포인트 변경

* fix: 로그아웃 성공 리다이렉트 엔드포인트 변경

* [Fix] Notice, News Description TEXT type으로 변환 (#65)

* Fix: Change notice and news entity description type as TEXT.

* Fix: Change to mediumtext

* fix: newsSearchResponse, seminarSearchResponse 수정 (#66)

* fix: newsSearchResponse 수정

* fix: SeminarSearchResponse 수정

* fix: 오타수정

* fix: 파일 업로드 경로 통일 (#68)

* fix: 갯수만 fetch하도록 최적화 (#70)

* Fix: Change type of additionalNote column on SeminarEntity to "TEXT" (#71)

* fix: academics 패키지 프론트에 맞춰 협의, admin 패키지 추가 (#69)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* feat: notice에 attachments 추가

* fix: fix_with_front1 변경 사항에 맞게 수정

* feat: isImportant 추가

* feat: NoticeSearchDto에 hasAttachment 추가

* fix: update에서 attachmetnts가 null일 때 빈 목록 반환

* feat: 공지사항 선택 고정해제, 선택 삭제 추가

* fix: news, seminar에 isImportant 추가

* fix: pr 리뷰 수정

* fix: 수정했던거 다시 복구

* fix: course response 수정

* feat: academics에서 연도별로 주는 response 추가

* feat: academics YearResponses 추가

* fix: createScholarship 합치기

* fix: scholarship 패키지의 내용을 academics 하위로 옮김

* feat: createScholarshipDetail 추가

* fix: 필수 교양과목 response 변경

* feat: admin 패키지에서 readAllSlides 추가

* feat: admin 패키지 readAllImportants 추가

* feat: admin 패키지 중요안내 추가

* Refactor: HTML로부터 텍스트 추출 함수 Utils로 이동 (#73)

* Feat: Add cleanTextFromHtml.

* Refactor: Remove private clean method, replace to Utils.cleanTextFromHtml.

* Refactor: Remove unused imports.

* Feat: Add plain text description for notice (#74)

* Feat: Add cleanTextFromHtml.

* Refactor: Remove private clean method, replace to Utils.cleanTextFromHtml.

* Refactor: Remove unused imports.

* Feat: Add plainTextDescription.

* Feat: Add plainTextDescription in createNotice.

* Feat: add updating plainTextDescription when updating description.

* fix: admissions 패키지 프론트에 맞게 협의 (#76)

* fix: admissions 프론트에 맞게 협의

* fix: seminarEntity time 삭제

* fix: admissionsEntity pageName 추가

* fix: 불필요한 파일 삭제

* 커밋

* fix: 이전 글 다음 글만 fetch 하도록 쿼리 최적화 (#75)

* fix: 이전 글 다음 글만 fetch 하도록 쿼리 최적화

* fix: distinct 수정

* fix: 쿼리 최적화

* fix: total Long 타입으로 수정

* CI/CD: Test 설정 (#77)

* Config: Add kotest, mockk, h2 db for testing.

* Config: Add test profile.

* Config: Add testconfig for jpaqueryfactory.

* CICD: Add build, test workflow

* Fix: Revert local datasource url change.

* [Test] Notice create, update 시 plainTextDescription 동작 테스트 (#78)

* Config: Add test profile.

* Test: Add Tests for Create, Update Notice, in perspective of plainTextDescription

* Fix: Change life cycle hook resolution to container.

* [Feat] Seminar plain text field 추가 (#79)

* Feat: Add plain text column for description, introduction, additionalnote.

* Feat: Add description, introduction, additionalnote for dto -> entity.

* Feat: Change to update plain description, introduction, additional note.

* Feat: Use plainTextDesription for searchdto.

* Test: Test for create, update of plain texts.

* Test: Fix seminar service test.

* Feat: News plain text field 추가 (#80)

* Feat: Add plainTextDescription field for news entity

* Feat: Add to create, and update plainTextDescription.

* Feat: Change to use plainTextDescription when making newssearchdto.

* Test: Test for create/update plainTextDescription.

* Feat: 구성원 검색 위한 table 추가. (#81)

* Feat: MemberSearchEntity 추가.

* Feat: MemberSearchRepository 추가

* Feat: MemberSearchService 추가

* Feat: ProfessorEntity, StaffEntity에 MemberSearch 추가.

* Feat: ProfessorStatus에 한글 값 추가.

* Feat: professor create, update 시 memberSearch도 반영하도록 추가.

* Feat: seminar create, update 시 memberSearch도 반영하도록 추가.

* Test: ProfessorService 테스트 추가.

* Test: StaffServiceTest 추가.

* fix: 새소식 세미나 쿼리 수정 (#82)

* refactor: 유틸 패키지 생성 및 FixedPageRequest 분리

* feat: 새소식 세미나 이전 다음 글 및 total 쿼리 최적화

* fix: pageNum 값으로 usePageBtn 값 설정

* fix: import 경로 수정

* fix: local db port 3306

* 중복 삭제

* fix: prod endpoint https로 변경

* fix: main 프론트에 맞게 협의, notice 태그 enum 추가 (#83)

* fix: mainResponse 다시 작성

* feat: TagInNoticeEnum 추가

* feat: notice enum 추가

* fix: 코드 수정

* fix: isPublic -> isPrivate으로 정리 (#86)

* fix: rebase 정리

* fix: 오타 수정

* feat: 로컬 로그인 테스트용 엔드포인트로 임시 변경 (#87)

* Feat: 구성원 검색 API 추가 (#85)

* Feat: Add mysql custom dialect with MATCH AGAINST BOOLEAN MODE function.

* CICD: Add config for mysql db

* CICD: Add volumes for config file.

* CICD: Add db_config for condition for db deploy

* Feat: Add search top, and search query.

* Feat: Add DTOs

* Feat: Add Controller for member search only top, and page.

* Feat: Add dialect config for application.yaml

* Feat: Add controller for member search.

* Refactor: Change exception message to korean.

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>

* fix: 세미나 시간 타입 변경 (#91)

* fix: 세미나 시간 LocalDateTime으로 변경

* test: 테스트 수정

* fix: 태그 항목 수정 (#92)

* fix: news tag 추가 (#90)

* fix: news tag 추가

* fix: 일반인은 isPrivate = false인 것만, 직원은 모든 게시글 보여주기

* feat: 졸업생 창업 진로, 졸업생 진로 response 추가 (#94)

* fix: news tag 추가

* fix: 일반인은 isPrivate = false인 것만, 직원은 모든 게시글 보여주기

* feat: about  졸업생 read 추가

* fix: 오타 수정

* fix: conference 주소 추가 (#95)

* Feat: 연구 탭 통합검색 위한 Table 생성. (#97)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Fix: Fix typo, import library.

* Feat: Lab Update API 추가 (#98)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Feat: Add update method for labentity.

* Feat: Add update lab service.

* Feat: Add update lab controller.

* Test: Add ResearchServiceTest.

* Feat: Add deleteAttachment (marking)

* Fix: Add typo, add import library.

* Feat: Conference page 수정 API (#99)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Feat: Add update method for labentity.

* Feat: Add update lab service.

* Feat: Add update lab controller.

* Test: Add ResearchServiceTest.

* Feat: Add Conference Repository.

* Feat: add conferenc eentity method for create, update entity.

* Feat: Change variables to mutable.

* Feat: Add id in conferencedto.

* Feat: Add to sort the conferenceList.

* Feat: Add deleteAttachment (marking)

* Feat add service to modify conference page (create, modify, delete conferences)

* Feat: Add api for modify conference page.

* Test: Add test for conference service.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 파일 관련 수정 (#100)

* fix: 업로드 파일 사이즈 제한

* fix: 원본 첨부파일 이름으로 응답

* refactor: 세미나 업데이트 시 삭제할 첨부파일 id만 받도록 변경

* fix: 파일 api 경로 수정

* fix: deleteAttachment

* fix: GET notice 권한 관련 로직 수정 (#101)

* Refactor: Extract Full Text Query Template to CommonRepository (#102)

* Feat: Extract full text search template to common repository.

* Feat: Change full text search to use extracted repository.

* Feat: Add for 4 elements.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Notice Seminar News Search to Full Text Query (#105)

* Feat: Extract full text search template to common repository.

* Feat: Change full text search to use extracted repository.

* Feat: Add for 4 elements.

* Feat: Add more args cnt.

* Feat: Change keyword boolean builder to full text.

* Feat: Change keyword boolean builder to full text.

* Feat: Change keyword boolean builder to full text.

* Hotfix: Change mount volume. (#103)

* feat: api 권한 설정 (#84)

* fix: GET notice 권한 관련 로직 수정 (#109)

* fix: 필요한 column만 select (#111)

* refactor: 공지 태그 응답 한국어로 변경 및 리팩토링 (#113)

* refactor: 공지 태그 응답 한국어로 수정 및 리팩토링

* refactor: 새소식 태그 리팩토링

* fix: NewsRepository

* fix: 공지 새소식 PATCH 로직 수정 (#114)

* fix: 공지 새소식 PATCH 로직 수정

* test: 테스트 수정

* fix: news 엔티티에 날짜 추가 (#115)

* Feat: 검색 결과에서 keyword 위치, 적절한 substring 추출 위한 method 추가 (#116)

* Feat: Add utils substringAroundKeyword

* Test: Add test for Utils.kt

* fix: total 더미 값 + pageNum null일때만 더미 값 주기 (#117)

* fix: 예약 조회 권한 분리 및 응답 단순화 (#119)

* fix: 예약 단건 조회 권한 분리

* feat: 월별,주별 조회용 SimpleReservationDto

* fix: 로그인 리다이렉트 엔드포인트 복구 (#121)

* feat: migrateAbout, migrateFutureCareers 추가 (#118)

* feat: AboutRequest, migrateAbout 추가

* feat: future-careers 마이그레이션 추가

* feat: request 패키지 추가

* fix: AboutRequest 간소화

* fix: future-careers description aboutEntity에 저장

* feat: about 패키지 마이그레이션 추가 (#120)

* feat: AboutRequest, migrateAbout 추가

* feat: future-careers 마이그레이션 추가

* feat: request 패키지 추가

* fix: 불필요한 dto 삭제

* feat: migrateStudentClubs 추가

* feat: migrateFacilities 추가

* feat: migrateDirections 추가

* fix: 불필요한 dto 삭제

* fix: request 패키지 삭제

* fix: 오타 수정

* fix: news, notice에 titleForMain 추가 (#125)

* fix: 소식3총사 titleForMain 데이터 생성

* fix: 테스트에 titleForMain  추가

* Revert "fix: 테스트에 titleForMain  추가"

This reverts commit e824ad34e60e0785f1d4c4e187776d4b8bf53dfa.

* fix: 테스트에 titleForMain 추가

* fix: seminar titleForMain 추가

* fix: seminar test titleForMain 추가

* feat: LocalDateTime 응답 마지막에 Z 추가 (#126)

* refactor: deleteIds request 내부로 이동 (#127)

* refactor: deleteIds request 내부로 이동

* test: 테스트 수정

* fix: 확장자 중복 버그 (#128)

* feat: 관리자는 새소식, 세미나 목록에서 비공개 글 확인 가능 (#129)

* feat: research, member 패키지 migrate 추가 (#130)

* feat: migrateProfessors 추가

* feat: migrateResearchDetail 추가

* feat: migrateLabs 추가

* fix: migrate 엔티티 description에 mediumText 추가

* feat: migrateStaff 추가

* fix: 빠진거 수정

* fix: 중복 패키지 삭제

* fix: 너무 안긴거 text로 수정

* fix: noticeSearchDto에도 private 추가 (#131)

* fix: noticeSearchDto에도 private 추가

* fix: json 추가

* fix: 수정 및 추가

* fix: 수정

* Fix: 키워드 추출 함수 수정 (#122)

* Fix: Fix IndexOutOfBoundException, change to return index based on substring.

* Fix: Change to check index exclude case, and set front, back index to better contains keyword.

* Test: Update Test.

* Feat: 통합검색 Notice API 구현 (#123)

* Feat: Add dtos for notice total search.

* Feat: Add repository for notice total search.

* Feat: Add service, controller for notice total search

* Feat: News 통합 검색 API 구현 (#124)

* Feat: Add dto for total search of news.

* Feat: Add repository for total search.

* Feat: Add service, controller for news total search.

* Fix: Fix conflict issues.

* fix: 기존 objectMapper 설정 오버라이드 (#132)

* feat: 파일 업로드 컨트롤러 구현 (#133)

* Feat: Change titleForMain column to TEXT type. (#134)

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* hotfix: mixed content issue (#136)

* hotfix: loginPage to https (#139)

* hotfix: mixed content issue

* hotfix: loginPage

* fix: false로 수정 (#141)

* fix: 이전 다음 글에서 비공개 글 제외 (#143)

* fix: 이전 다음글 비공개 제외

* fix: prev-next

* CBT 위해서 예약 GET 권한체크 주석처리

* Feat: 뉴스 날짜로 정렬 (#144)

* Feat: Change date field to NOT NULLABLE.

* Feat: Change to sort by date, not createdat.

* Test: Fix test.

* Test: Move news test dir.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Add description for slide. (#146)

* style: ktlint (#145)

* style: ktlint

* Feat: change to ktlint_disabled_rules

* Refactor: fix to lint using ktlint.

* Refactor: After merge.

* Fix: After merge.

* Refactor: ReReLint

---------

Co-authored-by: huGgW <whjoon0225@naver.com>

* fix: 텍스트 인코딩 (#147)

* fix: content-dispostion

* fix: 텍스트 인코딩

* fix: 강제 다운로드

* style: ktlint

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* Update ktlint-check.yml

* fix: 중요 안내 (#149)

* fix: 삭제된 글 중요 안내에서 보이지 않도록 수정

* fix: 중요 안내 최대 2개만 보내도록 + plainTextDescription

* style: ktlint

* fix: 첨부파일 다운로드 (#154)

* Feat: 관리자 슬라이드에 total 추가, refactoring (#153)

* Feat: Change dto name, and add total to AdminSlidesResponse.

* Feat: Add pageSize as parameter.

* Feat: move readAllSlides to news repository, add total query.

* Feat: Extract getNewsEntityByIdOrThrow

* Feat: Move readAllSlides and unSlideManyNews logic handling to news service.

* Comment: Add comment for refactoring.

* Test: Add test for read all slides.

* Refactor: Linting.

* Feat: Change pageNum to start at 1.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 세미나 isYearLast 로직 수정 (#155)

* fix: 세미나 isYearFirst 로직 수정

* fix: isYearLast로 재변경 및 로직 수정

* fix: 이전글 다음 글 isDelete,isPrivate 조건 추가 (#151)

* fix: 이전글 다음 글 isDelete 추가

* fix: ktlint 수정

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 메인 공지 정렬 (#158)

* fix: 예약 조회 권한 수정 (#157)

* Feat: 통합검색 정렬 최신순 (#156)

* Feat: Admin Important에 pagination 추가, total 추가. (#159)

* fix: titleForMain이 없어도 isImportant 등록 가능 (#160)

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: em.close() 추가 (#162)

* fix: em.close() 추가

* fix: total에도 추가

* feat: migrateConference 추가 (#164)

* feat: migrateConferences 추가

* fix: 수정

* fix: 수정

* fix: 검색 추가

* fix: createConferenceDto 삭제

* CICD: Add blocking backend api except frontend. (#166)

* CICD: Add blocking backend api except frontend.

* CICD: Remove login, logout, file api from blacklist.

* CICD: Change to just block swagger apis.

* fix: group 변경 반영 (#167)

* refactor: 실제 스누씨 서버 연동 (#168)

* refactor: local-test 중복 항목 공통으로 처리하고 prod에서 오버라이드

* feat: 스누씨 실서버용 환경 변수 설정

* refactor: 로그인 페이지 통합 및 CORS 설정 변경

* fix: CORS

* feat: migrateAdmissions 추가 (#165)

* fix: migrateAdmissions 추가

* fix: 잘못 쓴거 수정

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Increase speakerurl size (#170)

* fix: 로컬에서도 idsnucse로 연결 (#174)

* fix: 로컬에서도 idsnucse 바라보게끔 변경

* fix: test에서 idsnucse 접근 x

* Revert "fix: test에서 idsnucse 접근 x"

This reverts commit cf526452abdc629b433efe701c9fd6ff60893f1e.

* Fix: move local security settings to local, not global.

* Fix: Disable SecurityConfig on "test" profile

---------

Co-authored-by: huGgW <whjoon0225@naver.com>

* feat: Research 검색 (#175)

* fix: 로컬에서도 idsnucse 바라보게끔 변경

* feat: enable async.

* Feat: create professor event.

* Feat: Publish event on professor modification.

* Feat: Update research search when listen professor event.

* Test: ResearchSearchService listen professor event

* fix: test에서 idsnucse 접근 x

* Revert "fix: test에서 idsnucse 접근 x"

This reverts commit cf526452abdc629b433efe701c9fd6ff60893f1e.

* Fix: fixed event listener logic

* Feat: Add search api for research.

* Test: Fix test.

* Fix: move local security settings to local, not global.

* Fix: Disable SecurityConfig on "test" profile

---------

Co-authored-by: leeeryboy <indiv0227@snu.ac.kr>

* feat: staff 검색 기능 추가 (#176)

* Feat: 학사 및 교과 검색 기능 추가 (#177)

* Revert "fix: test에서 idsnucse 접근 x"

This reverts commit cf526452abdc629b433efe701c9fd6ff60893f1e.

* Fix: move local security settings to local, not global.

* Feat: AcademicsStudentType에 값 지정.

* Feat: AcademicsSearchEntity 추가

* Feat: 각 entity에 search 관계 추가

* Feat: 각 entity create하는 서비스 method에 search entity도 생성하도록 추가.

* Feat: Add academicsSearchRepository

* Feat: Add dto for search

* Refactor: Make name field of academics non null

* Feat: Add exchangePageNum to utils.

* Feat: Add academics search service

* Feat: Add search api for academics.

* Feat: add validation code for utils.exchangePageNum

* Test: Add testcode for exchangePageNum

* REfactor: Add transactional readonly for readGeneralStudies

* fix: apply newacademics to use after saved cached entity.

* fix: fix to add target enitity when create of search entity is called.

* refactor: add default values for nullable values.

* Temp: test code, should be fixed h2 issue.

---------

Co-authored-by: leeeryboy <indiv0227@snu.ac.kr>

* Fix: Research 검색에서 html 태그 없이 검색되도록 설정 (#178)

* Fix: Change createContent to remove html tags on description.

* Test: Update to check removing html tags.

* Feat/add language field (#180)

* feat: 엔티티, dto에 language 추가

* feat: read에 language 추가

* fix: ktlint 수정

* fix: languageRepository 삭제, 함수 enum 클래스로 이동

* fix: language pathVariable -> requestParam 변경 && engName 추가 삭제

* fix: dto 소문자로 return하기 enum 함수로 넣어주기

* fix: requestParam defaultValue 추가

* Refactor: Admission 언어 추가 및 리팩터링 진행 (#182)

* Feat: Move type to type dir, and add main type enum.

* Refactor: Add request body for create, and changed migrate elem body.

* Feat: Change pagename -> name, add language and mainType column, add unique constraints.

* Refactor: Remove unused request dto.

* Refactor: Change AdmissionsDto by adding columns, to be able to used as pure dto.

* Feat: Change to more specific search query.

* Feat: Change multiple methods to few methods, by using mainType.

* Feat: Change to few controller by using mainType, and use request bodies instead of dto.

* Test: AdmissionsServiceTest

* Fix: Add mapping path variable.

* Fix: Fix replacing logic.

* feat: academics 패키지에 language field 추가 (#181)

* feat: 엔티티, dto에 language 추가

* feat: read에 language 추가

* feat: academics에 language field 추가

* fix: ktlint 수정

* feat: course 엔티티에 language field 추가

* feat: readCourse에 language parameter 추가

* fix: languageRepository 삭제, 함수 enum 클래스 이동, academicsEntity name 속성 nullable 추가

* fix: requestParam+defaultValue 추가,

* fix: academics name nullable 없앰

* feat: staff에 language, migration 방법 추가 (#183)

* feat: staffEntity에 language 추가

* feat: branch 이름 변경

* fix: branch origin 이름 변경

* feat: staff 읽기, 수정에서 language 속성 추가

* feat: migrateStaffImage 추가

* fix: StaffServiceTest 수정

* Feat: Admission 검색 (#184)

* Feat: Add korean, english section name.

* Feat: add searchContent column for saving index.

* Feat: Add search query repository method.

* Feat: Define dto of search result element.

* Feat: Add search Top Admission method, and add migrate method creating search content.

* Feat: Add search top admissions method to controller.

* Test: Add test for Admission Service.

* Refactor: Remove Location Entity (#186)

* feat: member/research 패키지 이미지와 첨부파일 마이그레이션 코드 작성 (#185)

* feat: migrateProfessorImage 추가

* feat: migrateResearchImageAndAttachments 추가

* feat: migrateStaffImage 추가

* feat: migrateLabPdf 추가

* feat: about에서 이미지랑 첨부파일 추가 (#187)

* feat: migrateProfessorImage 추가

* feat: migrateResearchImageAndAttachments 추가

* feat: migrateStaffImage 추가

* feat: migrateLabPdf 추가

* feat: about에서 이미지랑 첨부파일 추가

* feat: dev 로그인 (#188)

* dev서버 로그인 바이패스

* style: ktlint

* fix: mock auth config 분리

* fix: uri 수정

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: professor language 추가 (#189)

* fix: professor language 추가

* feat: professor 테스트 추가

* feat: professor language 다른 테스트에도 추가

* feat: 테스트 알맞게 수정

* Feature: About 검색 추가 (#192)

* Feat: Change to create search content.

* Feat: Add search query method.

* Feat: Add create, migrate to create searchContent, and add search method.

* Feat: add search api

* COMMENT: add fix comment for aboutservicetest.

* Refactor: Move dtos to ee directory.

* Feat: Add validation for number, pagesize, pagenum

* feat: research 패키지에 language 추가 (#194)

* fix: professor language 추가

* feat: professor 테스트 추가

* feat: professor language 다른 테스트에도 추가

* feat: 테스트 알맞게 수정

* feat: researchDetail에 language 추가

* feat: lab에 language 추가

* fix: about, admission migrate search todo 추가

* Refactor: Admission 검색 리펙터링 (#193)

* Refactor: Merge queries into one.

* Refactor: Add page search method.

* Refactor: Add total count.

* Refactor: change to search page or search top.

* feat: academics 패키지 마이그레이션 추가 (#195)

* fix: professor language 추가

* feat: professor 테스트 추가

* feat: professor language 다른 테스트에도 추가

* feat: 테스트 알맞게 수정

* feat: researchDetail에 language 추가

* feat: lab에 language 추가

* fix: about, admission migrate search todo 추가

* fix: course migrate 추가

* fix: conference, scholarship language 추가

* fix: migrate academics, scholarship 추가

* fix: migrate academics attachments 추가

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: ktlint 정리

* fix: ktlint 정리 2

* fix: 실수로 삭제한 코드 복구

* Refactor: Member Search (#197)

* feat: professor 테스트 추가

* feat: 테스트 알맞게 수정

* fix: about, admission migrate search todo 추가

* Fix: Add commented authentication.

* Feat: Add language field to search entity

* Feat: Add language in search condition, remove duplicated exchangePageNum, Merge search queries

* Feat: Change res body dir, merge two seperate body into one, add language field

* Feat: Change return body, repository method useing.

* Feat: Add language query parameter, change response body.

* Test: Check language of search.

* Refactor: Change res body results key as "results"

* Refactor: Remove unneeded transactional on interface.

---------

Co-authored-by: DESKTOP-USQPRVG\gram <blueland1998@naver.com>

* feat: getMapping에 language requestParam 추가 (#198)

* fix: academics 패키지 get에 language 추가

* fix: professor 패키지 get에 language 추가

* fix: research 패키지 get에 language 추가

* feat: academics 패키지 이름에 맞게 변경 (#199)

* feat: add readDegreeRequirements

* feat: readGeneralRequirements 삭제, readDegreeRequirements 추가

* feat: AcademicsEntity time 칼럼 삭제

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* Refactor: academics search (#200)

* Refactor: research search (#201)

* fix: pageSize 추가 (#203)

* fix: pageSize 쿼리 파라미터 추가

* 함수 인자에서 defaultValue 지정

* fix: 인증 로직 수정 (#206)

* fix: mock-login 위해서 인증 로직 수정

* add v1 to uri

* fix: migrateConferences에서 authenticatedStaff 삭제 (#204)

* fix: simpleProfessorDto에서 status 추가 (#205)

* fix: readDegreeRequirements에 파일 보이도록 추가 (#209)

* fix: StudentClubDto에 engName 추가 (#210)

* fix: researchEntity에 websiteURL 추가 (#211)

* fix: researchEntity에 websiteURL 추가

* fix: ProfessorServiceTest 수정

* Fix: `exchangepageNum`에서 total이 0일 경우 케이스 추가. (#213)

* Fix: Add condition that when total is 0 return pageNum as 1

* Refactor: Rename method name to be more clear.

* Refactor: Remove not needed duplicated conditional check.

* Test: Add test for exchangeValidPageNum for checking when total = 0

* fix: readGeneralStudiesRequirements 추가 (#212)

* fix: readGeneralStudiesRequirements 추가

* fix: readGeneralStudiesRequirements 프론트 협의사항에 따라 수정

* fix: DegreeRequirementsDto description 삭제

* AcademicsPostType 타입 이름 주석 추가

* Fix: Notice 비밀글 표시 안되도록 수정 (#216)

* Feat: Add FindByIdAndIsPrivateFalse

* Fix: Change totalSearchNotice to get isStaff and hide private when not a staff.

* Fix: Change searchTotalNotice and readNotice to consider isStaff.

* Fix: Change totalSearchNotice and readNotice to check authentication and get staff info.

* fix: readFutureCareers에 description 수정 (#214)

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: 파일 크기 100MB로 늘림

* Feat: Research 검색 결과 research 타입 상세화 (#218)

* Refactor: Remove unused method

* Comment: Add comment

* Feat: Add specific research types to enum

* Feat: Change to give more specified enum when it is research related column.

* Refactor: Remove unused LAB entry from Research.

* fix: pdf 타입 AttachmentResponse로 변경 (#220)

* Feat: Add more type to academic. (#221)

* Fix: Change partialDescription to give with searchContent. (without html, all fields) (#222)

* fix: 단건 조회 & 통합 검색 권한 체크 (#217)

* fix: private 단건 조회 권한 체크

* Fix: Notice 비밀글 표시 안되도록 수정 (#216)

* Feat: Add FindByIdAndIsPrivateFalse

* Fix: Change totalSearchNotice to get isStaff and hide private when not a staff.

* Fix: Change searchTotalNotice and readNotice to consider isStaff.

* Fix: Change totalSearchNotice and readNotice to check authentication and get staff info.

* fix: newsTotalSearch 권한 체크

* style: ktlint

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* Fix: Formatting issue.

* Fix: Add studentType for all academic search result. (#224)

* Config: Spring Boot 3.2, Java 21로 업그레이드, Virtual Thread 적용 (#223)

* Fix: add join condition for news total search (#226)

* Feat: Spring Boot 서버에서 Error 발생 시 Slack으로 로그 전송 기능 추가 (#228)

* Dependency: Add slack appender

* Config: Add slack appender for sending error log to slack.

* Config: Add slack api info when making env file.

* Feat: Add to logging error for SQLIntegrityConstraintViolationException and RESTClientException

* Config: Update gradle wrapper

* feat: 학부 총괄 행정직원 맨 앞으로 이동 (#232)

* feat: 한글 이름 우선순위 정렬 (#235)

* feat: 한글 이름 우선순위 정렬

* refactor: 유틸 함수 분리

* Feat: 게시물 제외 통합검색에 사용되는 field들 refersh하는 API 추가 (#236)

* Feat: Add refresh search event

* Feat: Add api for trigger refresh search indexes.

* Feat: Add refresh search event listener for about entity.

* Feat: Add refresh search event listener for academics entity.

* Feat: Add refresh search event listener for admission entity.

* Feat: Add refresh search event listener for member entity.

* Feat: Add refresh search event listener for research entity.

* Fix: Change transactional propagation as REQUIRES_NEW for about's refresh event listener.

* style: ktlint

---------

Co-authored-by: Junhyeong Kim <leeeryboy@gmail.com>
Co-authored-by: leeeryboy <indiv0227@snu.ac.kr>

* delete image thumbnail logic (#237)

* Fix: Fill "mappedBy" information for remove about_attachments table. (#239)

* CICD: 배포, 개발계 분리 적용 (#238)

* CICD: Add dev deployment workflow

* Refactor: Remove unused comments

* Config: Add dev profile

* CICD: Add ssh port for production deploy environment

* Config: Change slack message format to more readable

* fix: course 띄어쓰기 그대로 유지 (#241)

* prod에서 mock-login 삭제 (#242)

* feat: mock login api only for profile dev

* feat: delete mock login api in prod

* fix: 교수 정렬 (#243)

* Refactor: Move languagetype from properties from enums (#244)

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>

* fix: stat year 2050년까지 확장 (#245)

* fix: stat year 2050년까지 확장

* fix: 쿼리 수정

* fix: adjust max thread and pool size (#246)

* Feat: 공지, 새소식, 세미나 정렬 옵션 추가 (#247)

* Refactor: Move languagetype from properties from enums

* Feat: Add sort order type for content search (notice, news, seminar)

* Feat: Add sort option for news search.

* Feat: Add sort option for notice search.

* Feat: Add sort option for seminar search.

* Fix: Handle for empty keyword.

---------

Co-authored-by: Junhyeong Kim <leeeryboy@gmail.com>

* CICD: env 파일 분리, 서버 docker image tag 분리 (#248)

* CICD: Seperate docker image tag of prod, dev, rename env

* CICD: Change env name of db

* CICD: Change env name of proxy

* CICD: Remove unused latest tag

---------

Co-authored-by: Junhyeong Kim <leeeryboy@gmail.com>

* feat: 개인정보 동의 여부 기록 (#250)

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* Fix: fix merge conflict

* Fix: give 0.0 to score when keyword is null or empty on notice. (#254)

* CICD: Disable auto https redirect. (#256)

* CICD: Revert to enable redirect

* fix: sort labs (#258)

* fix: idsnucse prod 설정 분리 (#260)

* fix: idsnucse prod

* fix: 환경변수 이름

* Config: Disable migrate on profile prod. (#262)

* Config: Disable migrate on profile prod.

* Config: Disable refresh search on profile prod.

* fix: adjust max thread and pool size (#264)

* Feat: 검색 refresh api 로컬에서 접근 가능하도록 변경 (#265)

* Feat: Change refresh search api available at prod profile

* Config: Block refresh api from proxy.

* Config: Remove unused reverse proxy of swagger, api docs.

* fix: sort seminar (#267)

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: 교양 교과과정 변경 내역 삭제 (#268)

* Config: 로그 파일 저장 추가, 항목 추가 (#266)

* Config: Add async file log appender for dev, prod env

* Config: Set log to show servlet, security, sql info for all profile.

* CICD: Mount log directory.

* Fix: Fix property

* Fix: Extract and set log file name and base property for all profiles.

* Update docker-compose-backend.yml (#269)

* fix: subtract 9 hours to start to convert it to UTC (#270)

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
Co-authored-by: DESKTOP-USQPRVG\gram <blueland1998@naver.com>
skfotakf added a commit that referenced this pull request Apr 17, 2024
* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* :sparkles: 패키지 및 엔티티 생성

* :sparkles: BaseTimeEntity 생성, PostEntity 기본 내용 작성

* :sparkles: PostController 생성 및 기본 내용 작성

* :sparkles: postService 생성

* :sparkles: Exceptions.kt 생성

* :sparkles: postDto 생성

* :sparkles: postRepository 생성 및 기본 내용 작성

* :green_heart: application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

* fix: main에서 develop으로 pr (#16)

* feat: merge develop to main (#13)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* :sparkles: 패키지 및 엔티티 생성

* :sparkles: BaseTimeEntity 생성, PostEntity 기본 내용 작성

* :sparkles: PostController 생성 및 기본 내용 작성

* :sparkles: postService 생성

* :sparkles: Exceptions.kt 생성

* :sparkles: postDto 생성

* :sparkles: postRepository 생성 및 기본 내용 작성

* :green_heart: application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* hotfix: 사용하지않는 Dto 및 엔티티 삭제 (#14)

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* feat: seminar 패키지 추가 (#17)

* feat: createSeminar, readSeminar, updateSeminar 추가

* feat: deleteSeminar, searchSeminar 추가

* fix: distinct 삭제

* hotfix: 불필요한 dto 삭제 (#20)

* hotfix: 불필요한 dto 삭제

* build.gradle 수정

* fix: 이미지 uri 필드 추가 및 프론트 요구사항 반영 (#21)

* feat: 이미지 uri 필드 추가 및 isActive 대신 status 추가

* fix: 행정직원 전체 조회 응답에서 task 삭제

* fix: 교수진 페이지 응답 수정

* feat: introduction 패키지, undergraduate 패키지 추가 (#22)

* feat: createUndergraduate, readUndergraduate 추가

* feat: readAllCourses, createCourse, readCourse 추가

* introduction 패키지 추가

* fix: dto에서 postType 삭제

* fix: postType pathVariable->requestBody 수정, 오타 수정

* fix: 프론트와 협의하여 이름 등 변경

* feat: academics 패키지 대학원도 가능하도록 추가

* feat: 장학제도 세부 장학금 create, read 추가

* fix: 수정

* fix:수정

* feat: admissions, research 패키지 추가 (#23)

* feat: admissions-학부 에서 create, read 추가

* feat: admissions-대학원도 작성 가능하도록 추가

* feat: createResearch 추가

* feat: createLab 추가

* fix: 다른 패키지에 맞게 수정

* research-groups, research-centers에서 read, update 추가

* fix: admissions, research에서 프론트와 협의하여 이름 등 수정

* fix: 오타 수정

* fix: enum 추가, pr 리뷰 반영

* feat: oidc 로그인 (#27)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: idsnucse 다운 되었을때 에러 처리

* feat: idsnucse 다운 되었을때 에러 처리

* feat: cors 설정 (#30)

* fix: cors 추가 설정 (#32)

* feat: cors 설정

* feat: cors 설정

* fix: CORS (#34)

* feat: cors 설정

* feat: cors 설정

* feat: cors 설정

* fix: about, academics, admissions 패키지 수정 (#25)

* fix: admissions, about 컨트롤러 변경

* fix: academics 컨트롤러 수정

* 커밋중

* fix: pr 리뷰 반영

* feat: readMain 추가

* pr 리뷰 반영

* feat: 일반 예약 및 정기 예약 API (#28)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: 예약 엔티티 및 DTO 설계

* feat: 일반 예약 및 정기 예약

* feat: 예약 조회 API (#39)

* feat: 권한 관리 위해 커스텀 어노테이션 생성

* feat: 예약 단건, 주별, 월별 조회 API

* fix: 로컬 DB 설정 수정

* feat: 유저 조회 중복 쿼리 방지

* feat: 예약 응답에 recurrenceId 추가

* feat: 동시 예약 방지

* fix: 시큐리티 로그 다시 로컬에서만 보이도록 변경

* feat: 목데이터 날라가지 않도록 ddl-auto 수정

* feat: about, member, news, seminar 메인 이미지 업로드 추가 (#38)

* feat: uploadImage 추가

* feat: about, member 사진 업로드 추가

* feat: news, seminar 사진 업로드 추가

* refactor: imageEntity 추가 리팩토링

* fix: gif 삭제

* fix: application.yaml 수정

* fix: newsService 태그 -> 이미지로 순서 변경

* fix: pr 리뷰 수정

* fix: extension 없애고, mainImage로 바꾸고, uuid 없애기

* fix: var 삭제

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* CICD: Change deploy port to 8080 (#40)

* [Merge] (#41) (#42)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* :sparkles: 패키지 및 엔티티 생성

* :sparkles: BaseTimeEntity 생성, PostEntity 기본 내용 작성

* :sparkles: PostController 생성 및 기본 내용 작성

* :sparkles: postService 생성

* :sparkles: Exceptions.kt 생성

* :sparkles: postDto 생성

* :sparkles: postRepository 생성 및 기본 내용 작성

* :green_heart: application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

* fix: main에서 develop으로 pr (#16)

* feat: merge develop to main (#13)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* :sparkles: 패키지 및 엔티티 생성

* :sparkles: BaseTimeEntity 생성, PostEntity 기본 내용 작성

* :sparkles: PostController 생성 및 기본 내용 작성

* :sparkles: postService 생성

* :sparkles: Exceptions.kt 생성

* :sparkles: postDto 생성

* :sparkles: postRepository 생성 및 기본 내용 작성

* :green_heart: application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

---------




* hotfix: 사용하지않는 Dto 및 엔티티 삭제 (#14)

---------




* feat: seminar 패키지 추가 (#17)

* feat: createSeminar, readSeminar, updateSeminar 추가

* feat: deleteSeminar, searchSeminar 추가

* fix: distinct 삭제

* hotfix: 불필요한 dto 삭제 (#20)

* hotfix: 불필요한 dto 삭제

* build.gradle 수정

* fix: 이미지 uri 필드 추가 및 프론트 요구사항 반영 (#21)

* feat: 이미지 uri 필드 추가 및 isActive 대신 status 추가

* fix: 행정직원 전체 조회 응답에서 task 삭제

* fix: 교수진 페이지 응답 수정

* feat: introduction 패키지, undergraduate 패키지 추가 (#22)

* feat: createUndergraduate, readUndergraduate 추가

* feat: readAllCourses, createCourse, readCourse 추가

* introduction 패키지 추가

* fix: dto에서 postType 삭제

* fix: postType pathVariable->requestBody 수정, 오타 수정

* fix: 프론트와 협의하여 이름 등 변경

* feat: academics 패키지 대학원도 가능하도록 추가

* feat: 장학제도 세부 장학금 create, read 추가

* fix: 수정

* fix:수정

* feat: admissions, research 패키지 추가 (#23)

* feat: admissions-학부 에서 create, read 추가

* feat: admissions-대학원도 작성 가능하도록 추가

* feat: createResearch 추가

* feat: createLab 추가

* fix: 다른 패키지에 맞게 수정

* research-groups, research-centers에서 read, update 추가

* fix: admissions, research에서 프론트와 협의하여 이름 등 수정

* fix: 오타 수정

* fix: enum 추가, pr 리뷰 반영

* feat: oidc 로그인 (#27)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: idsnucse 다운 되었을때 에러 처리

* feat: idsnucse 다운 되었을때 에러 처리

* feat: cors 설정 (#30)

* fix: cors 추가 설정 (#32)

* feat: cors 설정

* feat: cors 설정

* fix: CORS (#34)

* feat: cors 설정

* feat: cors 설정

* feat: cors 설정

* fix: about, academics, admissions 패키지 수정 (#25)

* fix: admissions, about 컨트롤러 변경

* fix: academics 컨트롤러 수정

* 커밋중

* fix: pr 리뷰 반영

* feat: readMain 추가

* pr 리뷰 반영

* feat: 일반 예약 및 정기 예약 API (#28)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: 예약 엔티티 및 DTO 설계

* feat: 일반 예약 및 정기 예약

* feat: 예약 조회 API (#39)

* feat: 권한 관리 위해 커스텀 어노테이션 생성

* feat: 예약 단건, 주별, 월별 조회 API

* fix: 로컬 DB 설정 수정

* feat: 유저 조회 중복 쿼리 방지

* feat: 예약 응답에 recurrenceId 추가

* feat: 동시 예약 방지

* fix: 시큐리티 로그 다시 로컬에서만 보이도록 변경

* feat: 목데이터 날라가지 않도록 ddl-auto 수정

* feat: about, member, news, seminar 메인 이미지 업로드 추가 (#38)

* feat: uploadImage 추가

* feat: about, member 사진 업로드 추가

* feat: news, seminar 사진 업로드 추가

* refactor: imageEntity 추가 리팩토링

* fix: gif 삭제

* fix: application.yaml 수정

* fix: newsService 태그 -> 이미지로 순서 변경

* fix: pr 리뷰 수정

* fix: extension 없애고, mainImage로 바꾸고, uuid 없애기

* fix: var 삭제

---------



* CICD: Change deploy port to 8080 (#40)

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>

* feat: 장학제도 GET API 및 장학제도 페이지 응답 수정 (#44)

* feat: 장학제도 GET API

* feat: 장학제도 메인페이지 GET API 응답 수정

* feat: custom metadata 설정 + 리다이렉트 엔드포인트 변경 (#45)

* feat: yml 파일에 custom metadata endpoint 추가

* feat: 로그인/로그아웃 성공 리다이렉트 엔드포인트 변경

* feat: attachments 패키지 추가, news와 seminar request에 attachments 추가 (#43)

* feat: attachments 추가, news request에 attachments 추가

* feat: seminar request에 attachments 추가

* fix: mappedBy 추가 + bringAttachments null 없앰

* fix: 경로 분리

* fix: isDeleted false로 수정

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* feat: Top Conference List GET API (#47)

* feat: Top Conference List GET API

* feat: db에서 가져올때 정렬

* feat: 파일 서빙, 다운로드, 삭제 API (#48)

* feat: 파일 서빙, 다운로드, 삭제 API

* fix: extension 중복, 경로 수정

* feat: 공지사항 글쓴이 추가 (#49)

* CI/CD: Https 적용 및 백엔드, 데이터베이스, 프록시 서버 배포 분리 (#50)

* Config: Add gitignore for caddy files.

* CICD: Add caddy config file

* CICD: Seperate docker compose file for db and backend server.

* CICD: Docker Compose file for caddy proxy server.

* CICD: Add path condition for only act when source file has changed.

* CICD: Add workflow for deploying database changes.

* CICD: Add workflow for proxy server changes.

* Refactor: Add /api/v1 in front of all endpoints (except swagger-ui)

* Refactor: Add v1 to Main Image url.

* Refactor: change backend, frontend, login redirect uri to get from env.

* CICD: Add url to .env

* Fix: Change job name of database workflow, fix indent level.

* Fix: Remove duplicated restcontroller mapping.

* Fix: Set reverse proxy for swagger-ui/* for swagger.

* Docs: Set swagger to only scan /api/**

* Fix: add caddy to reverse api-docs/* for springdoc.

* Fix: Add login uris for reverse proxying to backend server.

* CICD: Remove testing branch condition.

* CICD: Add logout uri to reverse proxy to backend server.

* CICD: Remove test branch

* fix: 프론트랑 협의하여 내용 변경 + news, seminar에 image, attachments update 추가 (#51)

* feat: attachments 추가, news request에 attachments 추가

* feat: seminar request에 attachments 추가

* feat: about request에 attachments 추가

* feat: academics request에 attachments 추가

* fix: isPinned 삭제

* fix: image -> mainImage 변경, about에 greetings 추가

* fix: news, seminar update 수정

* fix: 전체적으로 image -> mainImage 변경

* fix: research 패키지 프론트에 맞춰 협의 (#52)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* fix: pr 리뷰 수정

* fix: 오타 수정

* [Refactor] 로그인, file uri 배포 환경에 맞게 수정 (#53)

* Refactor: Change mapping of file to append /api/v1 in front.

* Refactor: Change login, logout redirect uri

* fix: https 적용 관련 로그인 수정 (#56)

* fix: notice 패키지 프론트에 맞게 협의 (#54)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* feat: notice에 attachments 추가

* fix: fix_with_front1 변경 사항에 맞게 수정

* feat: isImportant 추가

* feat: NoticeSearchDto에 hasAttachment 추가

* fix: update에서 attachmetnts가 null일 때 빈 목록 반환

* feat: 공지사항 선택 고정해제, 선택 삭제 추가

* fix: news, seminar에 isImportant 추가

* fix: pr 리뷰 수정

* fix: 수정했던거 다시 복구

* feat: 신임교수초빙 (#59)

* feat: 행정실 권한 체크 API (#60)

* [CICD] mainImage, attachment 경로 mount 설정 (#55)

* CICD: Add mainImage, attachment directory for mounting

* CICD: Add volumes to mount with server directory. (for attachment)

* [Feat] 예전 url과 비슷하게 이전 파일(사진)들 접근할 수 있도록 controller 생성 (#58)

* Config: Add oldFiles path for properties.

* Feat: Add deprecated file controller for getting old files temporarily.

* CICD: Add volume mounting for old files.

* CICD: Add dir to mount for old files.

* Refactor: Change api to /sites/default/files/{PATH}

* CICD: Add reverse proxy for old file serving.

* fix: 예약 dto에 지도교수, 반복 횟수 추가 (#61)

* fix: 로그아웃 엔드포인트 변경 (#64)

* fix: 로그아웃 엔드포인트 변경

* fix: 로그아웃 성공 리다이렉트 엔드포인트 변경

* [Fix] Notice, News Description TEXT type으로 변환 (#65)

* Fix: Change notice and news entity description type as TEXT.

* Fix: Change to mediumtext

* fix: newsSearchResponse, seminarSearchResponse 수정 (#66)

* fix: newsSearchResponse 수정

* fix: SeminarSearchResponse 수정

* fix: 오타수정

* fix: 파일 업로드 경로 통일 (#68)

* fix: 갯수만 fetch하도록 최적화 (#70)

* Fix: Change type of additionalNote column on SeminarEntity to "TEXT" (#71)

* fix: academics 패키지 프론트에 맞춰 협의, admin 패키지 추가 (#69)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* feat: notice에 attachments 추가

* fix: fix_with_front1 변경 사항에 맞게 수정

* feat: isImportant 추가

* feat: NoticeSearchDto에 hasAttachment 추가

* fix: update에서 attachmetnts가 null일 때 빈 목록 반환

* feat: 공지사항 선택 고정해제, 선택 삭제 추가

* fix: news, seminar에 isImportant 추가

* fix: pr 리뷰 수정

* fix: 수정했던거 다시 복구

* fix: course response 수정

* feat: academics에서 연도별로 주는 response 추가

* feat: academics YearResponses 추가

* fix: createScholarship 합치기

* fix: scholarship 패키지의 내용을 academics 하위로 옮김

* feat: createScholarshipDetail 추가

* fix: 필수 교양과목 response 변경

* feat: admin 패키지에서 readAllSlides 추가

* feat: admin 패키지 readAllImportants 추가

* feat: admin 패키지 중요안내 추가

* Refactor: HTML로부터 텍스트 추출 함수 Utils로 이동 (#73)

* Feat: Add cleanTextFromHtml.

* Refactor: Remove private clean method, replace to Utils.cleanTextFromHtml.

* Refactor: Remove unused imports.

* Feat: Add plain text description for notice (#74)

* Feat: Add cleanTextFromHtml.

* Refactor: Remove private clean method, replace to Utils.cleanTextFromHtml.

* Refactor: Remove unused imports.

* Feat: Add plainTextDescription.

* Feat: Add plainTextDescription in createNotice.

* Feat: add updating plainTextDescription when updating description.

* fix: admissions 패키지 프론트에 맞게 협의 (#76)

* fix: admissions 프론트에 맞게 협의

* fix: seminarEntity time 삭제

* fix: admissionsEntity pageName 추가

* fix: 불필요한 파일 삭제

* 커밋

* fix: 이전 글 다음 글만 fetch 하도록 쿼리 최적화 (#75)

* fix: 이전 글 다음 글만 fetch 하도록 쿼리 최적화

* fix: distinct 수정

* fix: 쿼리 최적화

* fix: total Long 타입으로 수정

* CI/CD: Test 설정 (#77)

* Config: Add kotest, mockk, h2 db for testing.

* Config: Add test profile.

* Config: Add testconfig for jpaqueryfactory.

* CICD: Add build, test workflow

* Fix: Revert local datasource url change.

* [Test] Notice create, update 시 plainTextDescription 동작 테스트 (#78)

* Config: Add test profile.

* Test: Add Tests for Create, Update Notice, in perspective of plainTextDescription

* Fix: Change life cycle hook resolution to container.

* [Feat] Seminar plain text field 추가 (#79)

* Feat: Add plain text column for description, introduction, additionalnote.

* Feat: Add description, introduction, additionalnote for dto -> entity.

* Feat: Change to update plain description, introduction, additional note.

* Feat: Use plainTextDesription for searchdto.

* Test: Test for create, update of plain texts.

* Test: Fix seminar service test.

* Feat: News plain text field 추가 (#80)

* Feat: Add plainTextDescription field for news entity

* Feat: Add to create, and update plainTextDescription.

* Feat: Change to use plainTextDescription when making newssearchdto.

* Test: Test for create/update plainTextDescription.

* Feat: 구성원 검색 위한 table 추가. (#81)

* Feat: MemberSearchEntity 추가.

* Feat: MemberSearchRepository 추가

* Feat: MemberSearchService 추가

* Feat: ProfessorEntity, StaffEntity에 MemberSearch 추가.

* Feat: ProfessorStatus에 한글 값 추가.

* Feat: professor create, update 시 memberSearch도 반영하도록 추가.

* Feat: seminar create, update 시 memberSearch도 반영하도록 추가.

* Test: ProfessorService 테스트 추가.

* Test: StaffServiceTest 추가.

* fix: 새소식 세미나 쿼리 수정 (#82)

* refactor: 유틸 패키지 생성 및 FixedPageRequest 분리

* feat: 새소식 세미나 이전 다음 글 및 total 쿼리 최적화

* fix: pageNum 값으로 usePageBtn 값 설정

* fix: import 경로 수정

* fix: local db port 3306

* 중복 삭제

* fix: prod endpoint https로 변경

* fix: main 프론트에 맞게 협의, notice 태그 enum 추가 (#83)

* fix: mainResponse 다시 작성

* feat: TagInNoticeEnum 추가

* feat: notice enum 추가

* fix: 코드 수정

* fix: isPublic -> isPrivate으로 정리 (#86)

* fix: rebase 정리

* fix: 오타 수정

* feat: 로컬 로그인 테스트용 엔드포인트로 임시 변경 (#87)

* Feat: 구성원 검색 API 추가 (#85)

* Feat: Add mysql custom dialect with MATCH AGAINST BOOLEAN MODE function.

* CICD: Add config for mysql db

* CICD: Add volumes for config file.

* CICD: Add db_config for condition for db deploy

* Feat: Add search top, and search query.

* Feat: Add DTOs

* Feat: Add Controller for member search only top, and page.

* Feat: Add dialect config for application.yaml

* Feat: Add controller for member search.

* Refactor: Change exception message to korean.

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>

* fix: 세미나 시간 타입 변경 (#91)

* fix: 세미나 시간 LocalDateTime으로 변경

* test: 테스트 수정

* fix: 태그 항목 수정 (#92)

* fix: news tag 추가 (#90)

* fix: news tag 추가

* fix: 일반인은 isPrivate = false인 것만, 직원은 모든 게시글 보여주기

* feat: 졸업생 창업 진로, 졸업생 진로 response 추가 (#94)

* fix: news tag 추가

* fix: 일반인은 isPrivate = false인 것만, 직원은 모든 게시글 보여주기

* feat: about  졸업생 read 추가

* fix: 오타 수정

* fix: conference 주소 추가 (#95)

* Feat: 연구 탭 통합검색 위한 Table 생성. (#97)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Fix: Fix typo, import library.

* Feat: Lab Update API 추가 (#98)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Feat: Add update method for labentity.

* Feat: Add update lab service.

* Feat: Add update lab controller.

* Test: Add ResearchServiceTest.

* Feat: Add deleteAttachment (marking)

* Fix: Add typo, add import library.

* Feat: Conference page 수정 API (#99)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Feat: Add update method for labentity.

* Feat: Add update lab service.

* Feat: Add update lab controller.

* Test: Add ResearchServiceTest.

* Feat: Add Conference Repository.

* Feat: add conferenc eentity method for create, update entity.

* Feat: Change variables to mutable.

* Feat: Add id in conferencedto.

* Feat: Add to sort the conferenceList.

* Feat: Add deleteAttachment (marking)

* Feat add service to modify conference page (create, modify, delete conferences)

* Feat: Add api for modify conference page.

* Test: Add test for conference service.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 파일 관련 수정 (#100)

* fix: 업로드 파일 사이즈 제한

* fix: 원본 첨부파일 이름으로 응답

* refactor: 세미나 업데이트 시 삭제할 첨부파일 id만 받도록 변경

* fix: 파일 api 경로 수정

* fix: deleteAttachment

* fix: GET notice 권한 관련 로직 수정 (#101)

* Refactor: Extract Full Text Query Template to CommonRepository (#102)

* Feat: Extract full text search template to common repository.

* Feat: Change full text search to use extracted repository.

* Feat: Add for 4 elements.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Notice Seminar News Search to Full Text Query (#105)

* Feat: Extract full text search template to common repository.

* Feat: Change full text search to use extracted repository.

* Feat: Add for 4 elements.

* Feat: Add more args cnt.

* Feat: Change keyword boolean builder to full text.

* Feat: Change keyword boolean builder to full text.

* Feat: Change keyword boolean builder to full text.

* Hotfix: Change mount volume. (#103)

* feat: api 권한 설정 (#84)

* fix: GET notice 권한 관련 로직 수정 (#109)

* fix: 필요한 column만 select (#111)

* refactor: 공지 태그 응답 한국어로 변경 및 리팩토링 (#113)

* refactor: 공지 태그 응답 한국어로 수정 및 리팩토링

* refactor: 새소식 태그 리팩토링

* fix: NewsRepository

* fix: 공지 새소식 PATCH 로직 수정 (#114)

* fix: 공지 새소식 PATCH 로직 수정

* test: 테스트 수정

* fix: news 엔티티에 날짜 추가 (#115)

* Feat: 검색 결과에서 keyword 위치, 적절한 substring 추출 위한 method 추가 (#116)

* Feat: Add utils substringAroundKeyword

* Test: Add test for Utils.kt

* fix: total 더미 값 + pageNum null일때만 더미 값 주기 (#117)

* fix: 예약 조회 권한 분리 및 응답 단순화 (#119)

* fix: 예약 단건 조회 권한 분리

* feat: 월별,주별 조회용 SimpleReservationDto

* fix: 로그인 리다이렉트 엔드포인트 복구 (#121)

* feat: migrateAbout, migrateFutureCareers 추가 (#118)

* feat: AboutRequest, migrateAbout 추가

* feat: future-careers 마이그레이션 추가

* feat: request 패키지 추가

* fix: AboutRequest 간소화

* fix: future-careers description aboutEntity에 저장

* feat: about 패키지 마이그레이션 추가 (#120)

* feat: AboutRequest, migrateAbout 추가

* feat: future-careers 마이그레이션 추가

* feat: request 패키지 추가

* fix: 불필요한 dto 삭제

* feat: migrateStudentClubs 추가

* feat: migrateFacilities 추가

* feat: migrateDirections 추가

* fix: 불필요한 dto 삭제

* fix: request 패키지 삭제

* fix: 오타 수정

* fix: news, notice에 titleForMain 추가 (#125)

* fix: 소식3총사 titleForMain 데이터 생성

* fix: 테스트에 titleForMain  추가

* Revert "fix: 테스트에 titleForMain  추가"

This reverts commit e824ad34e60e0785f1d4c4e187776d4b8bf53dfa.

* fix: 테스트에 titleForMain 추가

* fix: seminar titleForMain 추가

* fix: seminar test titleForMain 추가

* feat: LocalDateTime 응답 마지막에 Z 추가 (#126)

* refactor: deleteIds request 내부로 이동 (#127)

* refactor: deleteIds request 내부로 이동

* test: 테스트 수정

* fix: 확장자 중복 버그 (#128)

* feat: 관리자는 새소식, 세미나 목록에서 비공개 글 확인 가능 (#129)

* feat: research, member 패키지 migrate 추가 (#130)

* feat: migrateProfessors 추가

* feat: migrateResearchDetail 추가

* feat: migrateLabs 추가

* fix: migrate 엔티티 description에 mediumText 추가

* feat: migrateStaff 추가

* fix: 빠진거 수정

* fix: 중복 패키지 삭제

* fix: 너무 안긴거 text로 수정

* fix: noticeSearchDto에도 private 추가 (#131)

* fix: noticeSearchDto에도 private 추가

* fix: json 추가

* fix: 수정 및 추가

* fix: 수정

* Fix: 키워드 추출 함수 수정 (#122)

* Fix: Fix IndexOutOfBoundException, change to return index based on substring.

* Fix: Change to check index exclude case, and set front, back index to better contains keyword.

* Test: Update Test.

* Feat: 통합검색 Notice API 구현 (#123)

* Feat: Add dtos for notice total search.

* Feat: Add repository for notice total search.

* Feat: Add service, controller for notice total search

* Feat: News 통합 검색 API 구현 (#124)

* Feat: Add dto for total search of news.

* Feat: Add repository for total search.

* Feat: Add service, controller for news total search.

* Fix: Fix conflict issues.

* fix: 기존 objectMapper 설정 오버라이드 (#132)

* feat: 파일 업로드 컨트롤러 구현 (#133)

* Feat: Change titleForMain column to TEXT type. (#134)

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* hotfix: mixed content issue (#136)

* hotfix: loginPage to https (#139)

* hotfix: mixed content issue

* hotfix: loginPage

* fix: false로 수정 (#141)

* fix: 이전 다음 글에서 비공개 글 제외 (#143)

* fix: 이전 다음글 비공개 제외

* fix: prev-next

* CBT 위해서 예약 GET 권한체크 주석처리

* Feat: 뉴스 날짜로 정렬 (#144)

* Feat: Change date field to NOT NULLABLE.

* Feat: Change to sort by date, not createdat.

* Test: Fix test.

* Test: Move news test dir.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Add description for slide. (#146)

* style: ktlint (#145)

* style: ktlint

* Feat: change to ktlint_disabled_rules

* Refactor: fix to lint using ktlint.

* Refactor: After merge.

* Fix: After merge.

* Refactor: ReReLint

---------

Co-authored-by: huGgW <whjoon0225@naver.com>

* fix: 텍스트 인코딩 (#147)

* fix: content-dispostion

* fix: 텍스트 인코딩

* fix: 강제 다운로드

* style: ktlint

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* Update ktlint-check.yml

* fix: 중요 안내 (#149)

* fix: 삭제된 글 중요 안내에서 보이지 않도록 수정

* fix: 중요 안내 최대 2개만 보내도록 + plainTextDescription

* style: ktlint

* fix: 첨부파일 다운로드 (#154)

* Feat: 관리자 슬라이드에 total 추가, refactoring (#153)

* Feat: Change dto name, and add total to AdminSlidesResponse.

* Feat: Add pageSize as parameter.

* Feat: move readAllSlides to news repository, add total query.

* Feat: Extract getNewsEntityByIdOrThrow

* Feat: Move readAllSlides and unSlideManyNews logic handling to news service.

* Comment: Add comment for refactoring.

* Test: Add test for read all slides.

* Refactor: Linting.

* Feat: Change pageNum to start at 1.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 세미나 isYearLast 로직 수정 (#155)

* fix: 세미나 isYearFirst 로직 수정

* fix: isYearLast로 재변경 및 로직 수정

* fix: 이전글 다음 글 isDelete,isPrivate 조건 추가 (#151)

* fix: 이전글 다음 글 isDelete 추가

* fix: ktlint 수정

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 메인 공지 정렬 (#158)

* fix: 예약 조회 권한 수정 (#157)

* Feat: 통합검색 정렬 최신순 (#156)

* Feat: Admin Important에 pagination 추가, total 추가. (#159)

* fix: titleForMain이 없어도 isImportant 등록 가능 (#160)

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: em.close() 추가 (#162)

* fix: em.close() 추가

* fix: total에도 추가

* feat: migrateConference 추가 (#164)

* feat: migrateConferences 추가

* fix: 수정

* fix: 수정

* fix: 검색 추가

* fix: createConferenceDto 삭제

* CICD: Add blocking backend api except frontend. (#166)

* CICD: Add blocking backend api except frontend.

* CICD: Remove login, logout, file api from blacklist.

* CICD: Change to just block swagger apis.

* fix: group 변경 반영 (#167)

* refactor: 실제 스누씨 서버 연동 (#168)

* refactor: local-test 중복 항목 공통으로 처리하고 prod에서 오버라이드

* feat: 스누씨 실서버용 환경 변수 설정

* refactor: 로그인 페이지 통합 및 CORS 설정 변경

* fix: CORS

* feat: migrateAdmissions 추가 (#165)

* fix: migrateAdmissions 추가

* fix: 잘못 쓴거 수정

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Increase speakerurl size (#170)

* fix: 로컬에서도 idsnucse로 연결 (#174)

* fix: 로컬에서도 idsnucse 바라보게끔 변경

* fix: test에서 idsnucse 접근 x

* Revert "fix: test에서 idsnucse 접근 x"

This reverts commit cf526452abdc629b433efe701c9fd6ff60893f1e.

* Fix: move local security settings to local, not global.

* Fix: Disable SecurityConfig on "test" profile

---------

Co-authored-by: huGgW <whjoon0225@naver.com>

* feat: Research 검색 (#175)

* fix: 로컬에서도 idsnucse 바라보게끔 변경

* feat: enable async.

* Feat: create professor event.

* Feat: Publish event on professor modification.

* Feat: Update research search when listen professor event.

* Test: ResearchSearchService listen professor event

* fix: test에서 idsnucse 접근 x

* Revert "fix: test에서 idsnucse 접근 x"

This reverts commit cf526452abdc629b433efe701c9fd6ff60893f1e.

* Fix: fixed event listener logic

* Feat: Add search api for research.

* Test: Fix test.

* Fix: move local security settings to local, not global.

* Fix: Disable SecurityConfig on "test" profile

---------

Co-authored-by: leeeryboy <indiv0227@snu.ac.kr>

* feat: staff 검색 기능 추가 (#176)

* Feat: 학사 및 교과 검색 기능 추가 (#177)

* Revert "fix: test에서 idsnucse 접근 x"

This reverts commit cf526452abdc629b433efe701c9fd6ff60893f1e.

* Fix: move local security settings to local, not global.

* Feat: AcademicsStudentType에 값 지정.

* Feat: AcademicsSearchEntity 추가

* Feat: 각 entity에 search 관계 추가

* Feat: 각 entity create하는 서비스 method에 search entity도 생성하도록 추가.

* Feat: Add academicsSearchRepository

* Feat: Add dto for search

* Refactor: Make name field of academics non null

* Feat: Add exchangePageNum to utils.

* Feat: Add academics search service

* Feat: Add search api for academics.

* Feat: add validation code for utils.exchangePageNum

* Test: Add testcode for exchangePageNum

* REfactor: Add transactional readonly for readGeneralStudies

* fix: apply newacademics to use after saved cached entity.

* fix: fix to add target enitity when create of search entity is called.

* refactor: add default values for nullable values.

* Temp: test code, should be fixed h2 issue.

---------

Co-authored-by: leeeryboy <indiv0227@snu.ac.kr>

* Fix: Research 검색에서 html 태그 없이 검색되도록 설정 (#178)

* Fix: Change createContent to remove html tags on description.

* Test: Update to check removing html tags.

* Feat/add language field (#180)

* feat: 엔티티, dto에 language 추가

* feat: read에 language 추가

* fix: ktlint 수정

* fix: languageRepository 삭제, 함수 enum 클래스로 이동

* fix: language pathVariable -> requestParam 변경 && engName 추가 삭제

* fix: dto 소문자로 return하기 enum 함수로 넣어주기

* fix: requestParam defaultValue 추가

* Refactor: Admission 언어 추가 및 리팩터링 진행 (#182)

* Feat: Move type to type dir, and add main type enum.

* Refactor: Add request body for create, and changed migrate elem body.

* Feat: Change pagename -> name, add language and mainType column, add unique constraints.

* Refactor: Remove unused request dto.

* Refactor: Change AdmissionsDto by adding columns, to be able to used as pure dto.

* Feat: Change to more specific search query.

* Feat: Change multiple methods to few methods, by using mainType.

* Feat: Change to few controller by using mainType, and use request bodies instead of dto.

* Test: AdmissionsServiceTest

* Fix: Add mapping path variable.

* Fix: Fix replacing logic.

* feat: academics 패키지에 language field 추가 (#181)

* feat: 엔티티, dto에 language 추가

* feat: read에 language 추가

* feat: academics에 language field 추가

* fix: ktlint 수정

* feat: course 엔티티에 language field 추가

* feat: readCourse에 language parameter 추가

* fix: languageRepository 삭제, 함수 enum 클래스 이동, academicsEntity name 속성 nullable 추가

* fix: requestParam+defaultValue 추가,

* fix: academics name nullable 없앰

* feat: staff에 language, migration 방법 추가 (#183)

* feat: staffEntity에 language 추가

* feat: branch 이름 변경

* fix: branch origin 이름 변경

* feat: staff 읽기, 수정에서 language 속성 추가

* feat: migrateStaffImage 추가

* fix: StaffServiceTest 수정

* Feat: Admission 검색 (#184)

* Feat: Add korean, english section name.

* Feat: add searchContent column for saving index.

* Feat: Add search query repository method.

* Feat: Define dto of search result element.

* Feat: Add search Top Admission method, and add migrate method creating search content.

* Feat: Add search top admissions method to controller.

* Test: Add test for Admission Service.

* Refactor: Remove Location Entity (#186)

* feat: member/research 패키지 이미지와 첨부파일 마이그레이션 코드 작성 (#185)

* feat: migrateProfessorImage 추가

* feat: migrateResearchImageAndAttachments 추가

* feat: migrateStaffImage 추가

* feat: migrateLabPdf 추가

* feat: about에서 이미지랑 첨부파일 추가 (#187)

* feat: migrateProfessorImage 추가

* feat: migrateResearchImageAndAttachments 추가

* feat: migrateStaffImage 추가

* feat: migrateLabPdf 추가

* feat: about에서 이미지랑 첨부파일 추가

* feat: dev 로그인 (#188)

* dev서버 로그인 바이패스

* style: ktlint

* fix: mock auth config 분리

* fix: uri 수정

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: professor language 추가 (#189)

* fix: professor language 추가

* feat: professor 테스트 추가

* feat: professor language 다른 테스트에도 추가

* feat: 테스트 알맞게 수정

* Feature: About 검색 추가 (#192)

* Feat: Change to create search content.

* Feat: Add search query method.

* Feat: Add create, migrate to create searchContent, and add search method.

* Feat: add search api

* COMMENT: add fix comment for aboutservicetest.

* Refactor: Move dtos to ee directory.

* Feat: Add validation for number, pagesize, pagenum

* feat: research 패키지에 language 추가 (#194)

* fix: professor language 추가

* feat: professor 테스트 추가

* feat: professor language 다른 테스트에도 추가

* feat: 테스트 알맞게 수정

* feat: researchDetail에 language 추가

* feat: lab에 language 추가

* fix: about, admission migrate search todo 추가

* Refactor: Admission 검색 리펙터링 (#193)

* Refactor: Merge queries into one.

* Refactor: Add page search method.

* Refactor: Add total count.

* Refactor: change to search page or search top.

* feat: academics 패키지 마이그레이션 추가 (#195)

* fix: professor language 추가

* feat: professor 테스트 추가

* feat: professor language 다른 테스트에도 추가

* feat: 테스트 알맞게 수정

* feat: researchDetail에 language 추가

* feat: lab에 language 추가

* fix: about, admission migrate search todo 추가

* fix: course migrate 추가

* fix: conference, scholarship language 추가

* fix: migrate academics, scholarship 추가

* fix: migrate academics attachments 추가

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: ktlint 정리

* fix: ktlint 정리 2

* fix: 실수로 삭제한 코드 복구

* Refactor: Member Search (#197)

* feat: professor 테스트 추가

* feat: 테스트 알맞게 수정

* fix: about, admission migrate search todo 추가

* Fix: Add commented authentication.

* Feat: Add language field to search entity

* Feat: Add language in search condition, remove duplicated exchangePageNum, Merge search queries

* Feat: Change res body dir, merge two seperate body into one, add language field

* Feat: Change return body, repository method useing.

* Feat: Add language query parameter, change response body.

* Test: Check language of search.

* Refactor: Change res body results key as "results"

* Refactor: Remove unneeded transactional on interface.

---------

Co-authored-by: DESKTOP-USQPRVG\gram <blueland1998@naver.com>

* feat: getMapping에 language requestParam 추가 (#198)

* fix: academics 패키지 get에 language 추가

* fix: professor 패키지 get에 language 추가

* fix: research 패키지 get에 language 추가

* feat: academics 패키지 이름에 맞게 변경 (#199)

* feat: add readDegreeRequirements

* feat: readGeneralRequirements 삭제, readDegreeRequirements 추가

* feat: AcademicsEntity time 칼럼 삭제

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* Refactor: academics search (#200)

* Refactor: research search (#201)

* fix: pageSize 추가 (#203)

* fix: pageSize 쿼리 파라미터 추가

* 함수 인자에서 defaultValue 지정

* fix: 인증 로직 수정 (#206)

* fix: mock-login 위해서 인증 로직 수정

* add v1 to uri

* fix: migrateConferences에서 authenticatedStaff 삭제 (#204)

* fix: simpleProfessorDto에서 status 추가 (#205)

* fix: readDegreeRequirements에 파일 보이도록 추가 (#209)

* fix: StudentClubDto에 engName 추가 (#210)

* fix: researchEntity에 websiteURL 추가 (#211)

* fix: researchEntity에 websiteURL 추가

* fix: ProfessorServiceTest 수정

* Fix: `exchangepageNum`에서 total이 0일 경우 케이스 추가. (#213)

* Fix: Add condition that when total is 0 return pageNum as 1

* Refactor: Rename method name to be more clear.

* Refactor: Remove not needed duplicated conditional check.

* Test: Add test for exchangeValidPageNum for checking when total = 0

* fix: readGeneralStudiesRequirements 추가 (#212)

* fix: readGeneralStudiesRequirements 추가

* fix: readGeneralStudiesRequirements 프론트 협의사항에 따라 수정

* fix: DegreeRequirementsDto description 삭제

* AcademicsPostType 타입 이름 주석 추가

* Fix: Notice 비밀글 표시 안되도록 수정 (#216)

* Feat: Add FindByIdAndIsPrivateFalse

* Fix: Change totalSearchNotice to get isStaff and hide private when not a staff.

* Fix: Change searchTotalNotice and readNotice to consider isStaff.

* Fix: Change totalSearchNotice and readNotice to check authentication and get staff info.

* fix: readFutureCareers에 description 수정 (#214)

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: 파일 크기 100MB로 늘림

* Feat: Research 검색 결과 research 타입 상세화 (#218)

* Refactor: Remove unused method

* Comment: Add comment

* Feat: Add specific research types to enum

* Feat: Change to give more specified enum when it is research related column.

* Refactor: Remove unused LAB entry from Research.

* fix: pdf 타입 AttachmentResponse로 변경 (#220)

* Feat: Add more type to academic. (#221)

* Fix: Change partialDescription to give with searchContent. (without html, all fields) (#222)

* fix: 단건 조회 & 통합 검색 권한 체크 (#217)

* fix: private 단건 조회 권한 체크

* Fix: Notice 비밀글 표시 안되도록 수정 (#216)

* Feat: Add FindByIdAndIsPrivateFalse

* Fix: Change totalSearchNotice to get isStaff and hide private when not a staff.

* Fix: Change searchTotalNotice and readNotice to consider isStaff.

* Fix: Change totalSearchNotice and readNotice to check authentication and get staff info.

* fix: newsTotalSearch 권한 체크

* style: ktlint

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* Fix: Formatting issue.

* Fix: Add studentType for all academic search result. (#224)

* Config: Spring Boot 3.2, Java 21로 업그레이드, Virtual Thread 적용 (#223)

* Fix: add join condition for news total search (#226)

* Feat: Spring Boot 서버에서 Error 발생 시 Slack으로 로그 전송 기능 추가 (#228)

* Dependency: Add slack appender

* Config: Add slack appender for sending error log to slack.

* Config: Add slack api info when making env file.

* Feat: Add to logging error for SQLIntegrityConstraintViolationException and RESTClientException

* Config: Update gradle wrapper

* feat: 학부 총괄 행정직원 맨 앞으로 이동 (#232)

* feat: 한글 이름 우선순위 정렬 (#235)

* feat: 한글 이름 우선순위 정렬

* refactor: 유틸 함수 분리

* Feat: 게시물 제외 통합검색에 사용되는 field들 refersh하는 API 추가 (#236)

* Feat: Add refresh search event

* Feat: Add api for trigger refresh search indexes.

* Feat: Add refresh search event listener for about entity.

* Feat: Add refresh search event listener for academics entity.

* Feat: Add refresh search event listener for admission entity.

* Feat: Add refresh search event listener for member entity.

* Feat: Add refresh search event listener for research entity.

* Fix: Change transactional propagation as REQUIRES_NEW for about's refresh event listener.

* style: ktlint

---------

Co-authored-by: Junhyeong Kim <leeeryboy@gmail.com>
Co-authored-by: leeeryboy <indiv0227@snu.ac.kr>

* delete image thumbnail logic (#237)

* Fix: Fill "mappedBy" information for remove about_attachments table. (#239)

* CICD: 배포, 개발계 분리 적용 (#238)

* CICD: Add dev deployment workflow

* Refactor: Remove unused comments

* Config: Add dev profile

* CICD: Add ssh port for production deploy environment

* Config: Change slack message format to more readable

* fix: course 띄어쓰기 그대로 유지 (#241)

* prod에서 mock-login 삭제 (#242)

* feat: mock login api only for profile dev

* feat: delete mock login api in prod

* fix: 교수 정렬 (#243)

* Refactor: Move languagetype from properties from enums (#244)

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>

* fix: stat year 2050년까지 확장 (#245)

* fix: stat year 2050년까지 확장

* fix: 쿼리 수정

* fix: adjust max thread and pool size (#246)

* Feat: 공지, 새소식, 세미나 정렬 옵션 추가 (#247)

* Refactor: Move languagetype from properties from enums

* Feat: Add sort order type for content search (notice, news, seminar)

* Feat: Add sort option for news search.

* Feat: Add sort option for notice search.

* Feat: Add sort option for seminar search.

* Fix: Handle for empty keyword.

---------

Co-authored-by: Junhyeong Kim <leeeryboy@gmail.com>

* CICD: env 파일 분리, 서버 docker image tag 분리 (#248)

* CICD: Seperate docker image tag of prod, dev, rename env

* CICD: Change env name of db

* CICD: Change env name of proxy

* CICD: Remove unused latest tag

---------

Co-authored-by: Junhyeong Kim <leeeryboy@gmail.com>

* feat: 개인정보 동의 여부 기록 (#250)

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* Fix: fix merge conflict

* Fix: give 0.0 to score when keyword is null or empty on notice. (#254)

* CICD: Disable auto https redirect. (#256)

* CICD: Revert to enable redirect

* fix: sort labs (#258)

* fix: idsnucse prod 설정 분리 (#260)

* fix: idsnucse prod

* fix: 환경변수 이름

* Config: Disable migrate on profile prod. (#262)

* Config: Disable migrate on profile prod.

* Config: Disable refresh search on profile prod.

* fix: adjust max thread and pool size (#264)

* Feat: 검색 refresh api 로컬에서 접근 가능하도록 변경 (#265)

* Feat: Change refresh search api available at prod profile

* Config: Block refresh api from proxy.

* Config: Remove unused reverse proxy of swagger, api docs.

* fix: sort seminar (#267)

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: 교양 교과과정 변경 내역 삭제 (#268)

* Config: 로그 파일 저장 추가, 항목 추가 (#266)

* Config: Add async file log appender for dev, prod env

* Config: Set log to show servlet, security, sql info for all profile.

* CICD: Mount log directory.

* Fix: Fix property

* Fix: Extract and set log file name and base property for all profiles.

* Update docker-compose-backend.yml (#269)

* fix: subtract 9 hours to start to convert it to UTC (#270)

* fix: readDegreeRequirements response 행정실 요구사항에 맞게 수정 (#272)

* fix: readDegreeRequirements response 행정실 요구사항에 맞게 수정

* fix: 주석 삭제

* Feat: 검색 refresh api 로컬에서 접근 가능하도록 변경

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
Co-authored-by: Junhyeong Kim <leeeryboy@gmail.com>
leeeryboy added a commit that referenced this pull request Apr 28, 2024
* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* :sparkles: 패키지 및 엔티티 생성

* :sparkles: BaseTimeEntity 생성, PostEntity 기본 내용 작성

* :sparkles: PostController 생성 및 기본 내용 작성

* :sparkles: postService 생성

* :sparkles: Exceptions.kt 생성

* :sparkles: postDto 생성

* :sparkles: postRepository 생성 및 기본 내용 작성

* :green_heart: application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

* fix: main에서 develop으로 pr (#16)

* feat: merge develop to main (#13)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* :sparkles: 패키지 및 엔티티 생성

* :sparkles: BaseTimeEntity 생성, PostEntity 기본 내용 작성

* :sparkles: PostController 생성 및 기본 내용 작성

* :sparkles: postService 생성

* :sparkles: Exceptions.kt 생성

* :sparkles: postDto 생성

* :sparkles: postRepository 생성 및 기본 내용 작성

* :green_heart: application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* hotfix: 사용하지않는 Dto 및 엔티티 삭제 (#14)

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* feat: seminar 패키지 추가 (#17)

* feat: createSeminar, readSeminar, updateSeminar 추가

* feat: deleteSeminar, searchSeminar 추가

* fix: distinct 삭제

* hotfix: 불필요한 dto 삭제 (#20)

* hotfix: 불필요한 dto 삭제

* build.gradle 수정

* fix: 이미지 uri 필드 추가 및 프론트 요구사항 반영 (#21)

* feat: 이미지 uri 필드 추가 및 isActive 대신 status 추가

* fix: 행정직원 전체 조회 응답에서 task 삭제

* fix: 교수진 페이지 응답 수정

* feat: introduction 패키지, undergraduate 패키지 추가 (#22)

* feat: createUndergraduate, readUndergraduate 추가

* feat: readAllCourses, createCourse, readCourse 추가

* introduction 패키지 추가

* fix: dto에서 postType 삭제

* fix: postType pathVariable->requestBody 수정, 오타 수정

* fix: 프론트와 협의하여 이름 등 변경

* feat: academics 패키지 대학원도 가능하도록 추가

* feat: 장학제도 세부 장학금 create, read 추가

* fix: 수정

* fix:수정

* feat: admissions, research 패키지 추가 (#23)

* feat: admissions-학부 에서 create, read 추가

* feat: admissions-대학원도 작성 가능하도록 추가

* feat: createResearch 추가

* feat: createLab 추가

* fix: 다른 패키지에 맞게 수정

* research-groups, research-centers에서 read, update 추가

* fix: admissions, research에서 프론트와 협의하여 이름 등 수정

* fix: 오타 수정

* fix: enum 추가, pr 리뷰 반영

* feat: oidc 로그인 (#27)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: idsnucse 다운 되었을때 에러 처리

* feat: idsnucse 다운 되었을때 에러 처리

* feat: cors 설정 (#30)

* fix: cors 추가 설정 (#32)

* feat: cors 설정

* feat: cors 설정

* fix: CORS (#34)

* feat: cors 설정

* feat: cors 설정

* feat: cors 설정

* fix: about, academics, admissions 패키지 수정 (#25)

* fix: admissions, about 컨트롤러 변경

* fix: academics 컨트롤러 수정

* 커밋중

* fix: pr 리뷰 반영

* feat: readMain 추가

* pr 리뷰 반영

* feat: 일반 예약 및 정기 예약 API (#28)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: 예약 엔티티 및 DTO 설계

* feat: 일반 예약 및 정기 예약

* feat: 예약 조회 API (#39)

* feat: 권한 관리 위해 커스텀 어노테이션 생성

* feat: 예약 단건, 주별, 월별 조회 API

* fix: 로컬 DB 설정 수정

* feat: 유저 조회 중복 쿼리 방지

* feat: 예약 응답에 recurrenceId 추가

* feat: 동시 예약 방지

* fix: 시큐리티 로그 다시 로컬에서만 보이도록 변경

* feat: 목데이터 날라가지 않도록 ddl-auto 수정

* feat: about, member, news, seminar 메인 이미지 업로드 추가 (#38)

* feat: uploadImage 추가

* feat: about, member 사진 업로드 추가

* feat: news, seminar 사진 업로드 추가

* refactor: imageEntity 추가 리팩토링

* fix: gif 삭제

* fix: application.yaml 수정

* fix: newsService 태그 -> 이미지로 순서 변경

* fix: pr 리뷰 수정

* fix: extension 없애고, mainImage로 바꾸고, uuid 없애기

* fix: var 삭제

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* CICD: Change deploy port to 8080 (#40)

* [Merge] (#41) (#42)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* :sparkles: 패키지 및 엔티티 생성

* :sparkles: BaseTimeEntity 생성, PostEntity 기본 내용 작성

* :sparkles: PostController 생성 및 기본 내용 작성

* :sparkles: postService 생성

* :sparkles: Exceptions.kt 생성

* :sparkles: postDto 생성

* :sparkles: postRepository 생성 및 기본 내용 작성

* :green_heart: application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

* fix: main에서 develop으로 pr (#16)

* feat: merge develop to main (#13)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* :sparkles: 패키지 및 엔티티 생성

* :sparkles: BaseTimeEntity 생성, PostEntity 기본 내용 작성

* :sparkles: PostController 생성 및 기본 내용 작성

* :sparkles: postService 생성

* :sparkles: Exceptions.kt 생성

* :sparkles: postDto 생성

* :sparkles: postRepository 생성 및 기본 내용 작성

* :green_heart: application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

---------




* hotfix: 사용하지않는 Dto 및 엔티티 삭제 (#14)

---------




* feat: seminar 패키지 추가 (#17)

* feat: createSeminar, readSeminar, updateSeminar 추가

* feat: deleteSeminar, searchSeminar 추가

* fix: distinct 삭제

* hotfix: 불필요한 dto 삭제 (#20)

* hotfix: 불필요한 dto 삭제

* build.gradle 수정

* fix: 이미지 uri 필드 추가 및 프론트 요구사항 반영 (#21)

* feat: 이미지 uri 필드 추가 및 isActive 대신 status 추가

* fix: 행정직원 전체 조회 응답에서 task 삭제

* fix: 교수진 페이지 응답 수정

* feat: introduction 패키지, undergraduate 패키지 추가 (#22)

* feat: createUndergraduate, readUndergraduate 추가

* feat: readAllCourses, createCourse, readCourse 추가

* introduction 패키지 추가

* fix: dto에서 postType 삭제

* fix: postType pathVariable->requestBody 수정, 오타 수정

* fix: 프론트와 협의하여 이름 등 변경

* feat: academics 패키지 대학원도 가능하도록 추가

* feat: 장학제도 세부 장학금 create, read 추가

* fix: 수정

* fix:수정

* feat: admissions, research 패키지 추가 (#23)

* feat: admissions-학부 에서 create, read 추가

* feat: admissions-대학원도 작성 가능하도록 추가

* feat: createResearch 추가

* feat: createLab 추가

* fix: 다른 패키지에 맞게 수정

* research-groups, research-centers에서 read, update 추가

* fix: admissions, research에서 프론트와 협의하여 이름 등 수정

* fix: 오타 수정

* fix: enum 추가, pr 리뷰 반영

* feat: oidc 로그인 (#27)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: idsnucse 다운 되었을때 에러 처리

* feat: idsnucse 다운 되었을때 에러 처리

* feat: cors 설정 (#30)

* fix: cors 추가 설정 (#32)

* feat: cors 설정

* feat: cors 설정

* fix: CORS (#34)

* feat: cors 설정

* feat: cors 설정

* feat: cors 설정

* fix: about, academics, admissions 패키지 수정 (#25)

* fix: admissions, about 컨트롤러 변경

* fix: academics 컨트롤러 수정

* 커밋중

* fix: pr 리뷰 반영

* feat: readMain 추가

* pr 리뷰 반영

* feat: 일반 예약 및 정기 예약 API (#28)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: 예약 엔티티 및 DTO 설계

* feat: 일반 예약 및 정기 예약

* feat: 예약 조회 API (#39)

* feat: 권한 관리 위해 커스텀 어노테이션 생성

* feat: 예약 단건, 주별, 월별 조회 API

* fix: 로컬 DB 설정 수정

* feat: 유저 조회 중복 쿼리 방지

* feat: 예약 응답에 recurrenceId 추가

* feat: 동시 예약 방지

* fix: 시큐리티 로그 다시 로컬에서만 보이도록 변경

* feat: 목데이터 날라가지 않도록 ddl-auto 수정

* feat: about, member, news, seminar 메인 이미지 업로드 추가 (#38)

* feat: uploadImage 추가

* feat: about, member 사진 업로드 추가

* feat: news, seminar 사진 업로드 추가

* refactor: imageEntity 추가 리팩토링

* fix: gif 삭제

* fix: application.yaml 수정

* fix: newsService 태그 -> 이미지로 순서 변경

* fix: pr 리뷰 수정

* fix: extension 없애고, mainImage로 바꾸고, uuid 없애기

* fix: var 삭제

---------



* CICD: Change deploy port to 8080 (#40)

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>

* feat: 장학제도 GET API 및 장학제도 페이지 응답 수정 (#44)

* feat: 장학제도 GET API

* feat: 장학제도 메인페이지 GET API 응답 수정

* feat: custom metadata 설정 + 리다이렉트 엔드포인트 변경 (#45)

* feat: yml 파일에 custom metadata endpoint 추가

* feat: 로그인/로그아웃 성공 리다이렉트 엔드포인트 변경

* feat: attachments 패키지 추가, news와 seminar request에 attachments 추가 (#43)

* feat: attachments 추가, news request에 attachments 추가

* feat: seminar request에 attachments 추가

* fix: mappedBy 추가 + bringAttachments null 없앰

* fix: 경로 분리

* fix: isDeleted false로 수정

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* feat: Top Conference List GET API (#47)

* feat: Top Conference List GET API

* feat: db에서 가져올때 정렬

* feat: 파일 서빙, 다운로드, 삭제 API (#48)

* feat: 파일 서빙, 다운로드, 삭제 API

* fix: extension 중복, 경로 수정

* feat: 공지사항 글쓴이 추가 (#49)

* CI/CD: Https 적용 및 백엔드, 데이터베이스, 프록시 서버 배포 분리 (#50)

* Config: Add gitignore for caddy files.

* CICD: Add caddy config file

* CICD: Seperate docker compose file for db and backend server.

* CICD: Docker Compose file for caddy proxy server.

* CICD: Add path condition for only act when source file has changed.

* CICD: Add workflow for deploying database changes.

* CICD: Add workflow for proxy server changes.

* Refactor: Add /api/v1 in front of all endpoints (except swagger-ui)

* Refactor: Add v1 to Main Image url.

* Refactor: change backend, frontend, login redirect uri to get from env.

* CICD: Add url to .env

* Fix: Change job name of database workflow, fix indent level.

* Fix: Remove duplicated restcontroller mapping.

* Fix: Set reverse proxy for swagger-ui/* for swagger.

* Docs: Set swagger to only scan /api/**

* Fix: add caddy to reverse api-docs/* for springdoc.

* Fix: Add login uris for reverse proxying to backend server.

* CICD: Remove testing branch condition.

* CICD: Add logout uri to reverse proxy to backend server.

* CICD: Remove test branch

* fix: 프론트랑 협의하여 내용 변경 + news, seminar에 image, attachments update 추가 (#51)

* feat: attachments 추가, news request에 attachments 추가

* feat: seminar request에 attachments 추가

* feat: about request에 attachments 추가

* feat: academics request에 attachments 추가

* fix: isPinned 삭제

* fix: image -> mainImage 변경, about에 greetings 추가

* fix: news, seminar update 수정

* fix: 전체적으로 image -> mainImage 변경

* fix: research 패키지 프론트에 맞춰 협의 (#52)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* fix: pr 리뷰 수정

* fix: 오타 수정

* [Refactor] 로그인, file uri 배포 환경에 맞게 수정 (#53)

* Refactor: Change mapping of file to append /api/v1 in front.

* Refactor: Change login, logout redirect uri

* fix: https 적용 관련 로그인 수정 (#56)

* fix: notice 패키지 프론트에 맞게 협의 (#54)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* feat: notice에 attachments 추가

* fix: fix_with_front1 변경 사항에 맞게 수정

* feat: isImportant 추가

* feat: NoticeSearchDto에 hasAttachment 추가

* fix: update에서 attachmetnts가 null일 때 빈 목록 반환

* feat: 공지사항 선택 고정해제, 선택 삭제 추가

* fix: news, seminar에 isImportant 추가

* fix: pr 리뷰 수정

* fix: 수정했던거 다시 복구

* feat: 신임교수초빙 (#59)

* feat: 행정실 권한 체크 API (#60)

* [CICD] mainImage, attachment 경로 mount 설정 (#55)

* CICD: Add mainImage, attachment directory for mounting

* CICD: Add volumes to mount with server directory. (for attachment)

* [Feat] 예전 url과 비슷하게 이전 파일(사진)들 접근할 수 있도록 controller 생성 (#58)

* Config: Add oldFiles path for properties.

* Feat: Add deprecated file controller for getting old files temporarily.

* CICD: Add volume mounting for old files.

* CICD: Add dir to mount for old files.

* Refactor: Change api to /sites/default/files/{PATH}

* CICD: Add reverse proxy for old file serving.

* fix: 예약 dto에 지도교수, 반복 횟수 추가 (#61)

* fix: 로그아웃 엔드포인트 변경 (#64)

* fix: 로그아웃 엔드포인트 변경

* fix: 로그아웃 성공 리다이렉트 엔드포인트 변경

* [Fix] Notice, News Description TEXT type으로 변환 (#65)

* Fix: Change notice and news entity description type as TEXT.

* Fix: Change to mediumtext

* fix: newsSearchResponse, seminarSearchResponse 수정 (#66)

* fix: newsSearchResponse 수정

* fix: SeminarSearchResponse 수정

* fix: 오타수정

* fix: 파일 업로드 경로 통일 (#68)

* fix: 갯수만 fetch하도록 최적화 (#70)

* Fix: Change type of additionalNote column on SeminarEntity to "TEXT" (#71)

* fix: academics 패키지 프론트에 맞춰 협의, admin 패키지 추가 (#69)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* feat: notice에 attachments 추가

* fix: fix_with_front1 변경 사항에 맞게 수정

* feat: isImportant 추가

* feat: NoticeSearchDto에 hasAttachment 추가

* fix: update에서 attachmetnts가 null일 때 빈 목록 반환

* feat: 공지사항 선택 고정해제, 선택 삭제 추가

* fix: news, seminar에 isImportant 추가

* fix: pr 리뷰 수정

* fix: 수정했던거 다시 복구

* fix: course response 수정

* feat: academics에서 연도별로 주는 response 추가

* feat: academics YearResponses 추가

* fix: createScholarship 합치기

* fix: scholarship 패키지의 내용을 academics 하위로 옮김

* feat: createScholarshipDetail 추가

* fix: 필수 교양과목 response 변경

* feat: admin 패키지에서 readAllSlides 추가

* feat: admin 패키지 readAllImportants 추가

* feat: admin 패키지 중요안내 추가

* Refactor: HTML로부터 텍스트 추출 함수 Utils로 이동 (#73)

* Feat: Add cleanTextFromHtml.

* Refactor: Remove private clean method, replace to Utils.cleanTextFromHtml.

* Refactor: Remove unused imports.

* Feat: Add plain text description for notice (#74)

* Feat: Add cleanTextFromHtml.

* Refactor: Remove private clean method, replace to Utils.cleanTextFromHtml.

* Refactor: Remove unused imports.

* Feat: Add plainTextDescription.

* Feat: Add plainTextDescription in createNotice.

* Feat: add updating plainTextDescription when updating description.

* fix: admissions 패키지 프론트에 맞게 협의 (#76)

* fix: admissions 프론트에 맞게 협의

* fix: seminarEntity time 삭제

* fix: admissionsEntity pageName 추가

* fix: 불필요한 파일 삭제

* 커밋

* fix: 이전 글 다음 글만 fetch 하도록 쿼리 최적화 (#75)

* fix: 이전 글 다음 글만 fetch 하도록 쿼리 최적화

* fix: distinct 수정

* fix: 쿼리 최적화

* fix: total Long 타입으로 수정

* CI/CD: Test 설정 (#77)

* Config: Add kotest, mockk, h2 db for testing.

* Config: Add test profile.

* Config: Add testconfig for jpaqueryfactory.

* CICD: Add build, test workflow

* Fix: Revert local datasource url change.

* [Test] Notice create, update 시 plainTextDescription 동작 테스트 (#78)

* Config: Add test profile.

* Test: Add Tests for Create, Update Notice, in perspective of plainTextDescription

* Fix: Change life cycle hook resolution to container.

* [Feat] Seminar plain text field 추가 (#79)

* Feat: Add plain text column for description, introduction, additionalnote.

* Feat: Add description, introduction, additionalnote for dto -> entity.

* Feat: Change to update plain description, introduction, additional note.

* Feat: Use plainTextDesription for searchdto.

* Test: Test for create, update of plain texts.

* Test: Fix seminar service test.

* Feat: News plain text field 추가 (#80)

* Feat: Add plainTextDescription field for news entity

* Feat: Add to create, and update plainTextDescription.

* Feat: Change to use plainTextDescription when making newssearchdto.

* Test: Test for create/update plainTextDescription.

* Feat: 구성원 검색 위한 table 추가. (#81)

* Feat: MemberSearchEntity 추가.

* Feat: MemberSearchRepository 추가

* Feat: MemberSearchService 추가

* Feat: ProfessorEntity, StaffEntity에 MemberSearch 추가.

* Feat: ProfessorStatus에 한글 값 추가.

* Feat: professor create, update 시 memberSearch도 반영하도록 추가.

* Feat: seminar create, update 시 memberSearch도 반영하도록 추가.

* Test: ProfessorService 테스트 추가.

* Test: StaffServiceTest 추가.

* fix: 새소식 세미나 쿼리 수정 (#82)

* refactor: 유틸 패키지 생성 및 FixedPageRequest 분리

* feat: 새소식 세미나 이전 다음 글 및 total 쿼리 최적화

* fix: pageNum 값으로 usePageBtn 값 설정

* fix: import 경로 수정

* fix: local db port 3306

* 중복 삭제

* fix: prod endpoint https로 변경

* fix: main 프론트에 맞게 협의, notice 태그 enum 추가 (#83)

* fix: mainResponse 다시 작성

* feat: TagInNoticeEnum 추가

* feat: notice enum 추가

* fix: 코드 수정

* fix: isPublic -> isPrivate으로 정리 (#86)

* fix: rebase 정리

* fix: 오타 수정

* feat: 로컬 로그인 테스트용 엔드포인트로 임시 변경 (#87)

* Feat: 구성원 검색 API 추가 (#85)

* Feat: Add mysql custom dialect with MATCH AGAINST BOOLEAN MODE function.

* CICD: Add config for mysql db

* CICD: Add volumes for config file.

* CICD: Add db_config for condition for db deploy

* Feat: Add search top, and search query.

* Feat: Add DTOs

* Feat: Add Controller for member search only top, and page.

* Feat: Add dialect config for application.yaml

* Feat: Add controller for member search.

* Refactor: Change exception message to korean.

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>

* fix: 세미나 시간 타입 변경 (#91)

* fix: 세미나 시간 LocalDateTime으로 변경

* test: 테스트 수정

* fix: 태그 항목 수정 (#92)

* fix: news tag 추가 (#90)

* fix: news tag 추가

* fix: 일반인은 isPrivate = false인 것만, 직원은 모든 게시글 보여주기

* feat: 졸업생 창업 진로, 졸업생 진로 response 추가 (#94)

* fix: news tag 추가

* fix: 일반인은 isPrivate = false인 것만, 직원은 모든 게시글 보여주기

* feat: about  졸업생 read 추가

* fix: 오타 수정

* fix: conference 주소 추가 (#95)

* Feat: 연구 탭 통합검색 위한 Table 생성. (#97)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Fix: Fix typo, import library.

* Feat: Lab Update API 추가 (#98)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Feat: Add update method for labentity.

* Feat: Add update lab service.

* Feat: Add update lab controller.

* Test: Add ResearchServiceTest.

* Feat: Add deleteAttachment (marking)

* Fix: Add typo, add import library.

* Feat: Conference page 수정 API (#99)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Feat: Add update method for labentity.

* Feat: Add update lab service.

* Feat: Add update lab controller.

* Test: Add ResearchServiceTest.

* Feat: Add Conference Repository.

* Feat: add conferenc eentity method for create, update entity.

* Feat: Change variables to mutable.

* Feat: Add id in conferencedto.

* Feat: Add to sort the conferenceList.

* Feat: Add deleteAttachment (marking)

* Feat add service to modify conference page (create, modify, delete conferences)

* Feat: Add api for modify conference page.

* Test: Add test for conference service.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 파일 관련 수정 (#100)

* fix: 업로드 파일 사이즈 제한

* fix: 원본 첨부파일 이름으로 응답

* refactor: 세미나 업데이트 시 삭제할 첨부파일 id만 받도록 변경

* fix: 파일 api 경로 수정

* fix: deleteAttachment

* fix: GET notice 권한 관련 로직 수정 (#101)

* Refactor: Extract Full Text Query Template to CommonRepository (#102)

* Feat: Extract full text search template to common repository.

* Feat: Change full text search to use extracted repository.

* Feat: Add for 4 elements.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Notice Seminar News Search to Full Text Query (#105)

* Feat: Extract full text search template to common repository.

* Feat: Change full text search to use extracted repository.

* Feat: Add for 4 elements.

* Feat: Add more args cnt.

* Feat: Change keyword boolean builder to full text.

* Feat: Change keyword boolean builder to full text.

* Feat: Change keyword boolean builder to full text.

* Hotfix: Change mount volume. (#103)

* feat: api 권한 설정 (#84)

* fix: GET notice 권한 관련 로직 수정 (#109)

* fix: 필요한 column만 select (#111)

* refactor: 공지 태그 응답 한국어로 변경 및 리팩토링 (#113)

* refactor: 공지 태그 응답 한국어로 수정 및 리팩토링

* refactor: 새소식 태그 리팩토링

* fix: NewsRepository

* fix: 공지 새소식 PATCH 로직 수정 (#114)

* fix: 공지 새소식 PATCH 로직 수정

* test: 테스트 수정

* fix: news 엔티티에 날짜 추가 (#115)

* Feat: 검색 결과에서 keyword 위치, 적절한 substring 추출 위한 method 추가 (#116)

* Feat: Add utils substringAroundKeyword

* Test: Add test for Utils.kt

* fix: total 더미 값 + pageNum null일때만 더미 값 주기 (#117)

* fix: 예약 조회 권한 분리 및 응답 단순화 (#119)

* fix: 예약 단건 조회 권한 분리

* feat: 월별,주별 조회용 SimpleReservationDto

* fix: 로그인 리다이렉트 엔드포인트 복구 (#121)

* feat: migrateAbout, migrateFutureCareers 추가 (#118)

* feat: AboutRequest, migrateAbout 추가

* feat: future-careers 마이그레이션 추가

* feat: request 패키지 추가

* fix: AboutRequest 간소화

* fix: future-careers description aboutEntity에 저장

* feat: about 패키지 마이그레이션 추가 (#120)

* feat: AboutRequest, migrateAbout 추가

* feat: future-careers 마이그레이션 추가

* feat: request 패키지 추가

* fix: 불필요한 dto 삭제

* feat: migrateStudentClubs 추가

* feat: migrateFacilities 추가

* feat: migrateDirections 추가

* fix: 불필요한 dto 삭제

* fix: request 패키지 삭제

* fix: 오타 수정

* fix: news, notice에 titleForMain 추가 (#125)

* fix: 소식3총사 titleForMain 데이터 생성

* fix: 테스트에 titleForMain  추가

* Revert "fix: 테스트에 titleForMain  추가"

This reverts commit e824ad34e60e0785f1d4c4e187776d4b8bf53dfa.

* fix: 테스트에 titleForMain 추가

* fix: seminar titleForMain 추가

* fix: seminar test titleForMain 추가

* feat: LocalDateTime 응답 마지막에 Z 추가 (#126)

* refactor: deleteIds request 내부로 이동 (#127)

* refactor: deleteIds request 내부로 이동

* test: 테스트 수정

* fix: 확장자 중복 버그 (#128)

* feat: 관리자는 새소식, 세미나 목록에서 비공개 글 확인 가능 (#129)

* feat: research, member 패키지 migrate 추가 (#130)

* feat: migrateProfessors 추가

* feat: migrateResearchDetail 추가

* feat: migrateLabs 추가

* fix: migrate 엔티티 description에 mediumText 추가

* feat: migrateStaff 추가

* fix: 빠진거 수정

* fix: 중복 패키지 삭제

* fix: 너무 안긴거 text로 수정

* fix: noticeSearchDto에도 private 추가 (#131)

* fix: noticeSearchDto에도 private 추가

* fix: json 추가

* fix: 수정 및 추가

* fix: 수정

* Fix: 키워드 추출 함수 수정 (#122)

* Fix: Fix IndexOutOfBoundException, change to return index based on substring.

* Fix: Change to check index exclude case, and set front, back index to better contains keyword.

* Test: Update Test.

* Feat: 통합검색 Notice API 구현 (#123)

* Feat: Add dtos for notice total search.

* Feat: Add repository for notice total search.

* Feat: Add service, controller for notice total search

* Feat: News 통합 검색 API 구현 (#124)

* Feat: Add dto for total search of news.

* Feat: Add repository for total search.

* Feat: Add service, controller for news total search.

* Fix: Fix conflict issues.

* fix: 기존 objectMapper 설정 오버라이드 (#132)

* feat: 파일 업로드 컨트롤러 구현 (#133)

* Feat: Change titleForMain column to TEXT type. (#134)

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* hotfix: mixed content issue (#136)

* hotfix: loginPage to https (#139)

* hotfix: mixed content issue

* hotfix: loginPage

* fix: false로 수정 (#141)

* fix: 이전 다음 글에서 비공개 글 제외 (#143)

* fix: 이전 다음글 비공개 제외

* fix: prev-next

* CBT 위해서 예약 GET 권한체크 주석처리

* Feat: 뉴스 날짜로 정렬 (#144)

* Feat: Change date field to NOT NULLABLE.

* Feat: Change to sort by date, not createdat.

* Test: Fix test.

* Test: Move news test dir.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Add description for slide. (#146)

* style: ktlint (#145)

* style: ktlint

* Feat: change to ktlint_disabled_rules

* Refactor: fix to lint using ktlint.

* Refactor: After merge.

* Fix: After merge.

* Refactor: ReReLint

---------

Co-authored-by: huGgW <whjoon0225@naver.com>

* fix: 텍스트 인코딩 (#147)

* fix: content-dispostion

* fix: 텍스트 인코딩

* fix: 강제 다운로드

* style: ktlint

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* Update ktlint-check.yml

* fix: 중요 안내 (#149)

* fix: 삭제된 글 중요 안내에서 보이지 않도록 수정

* fix: 중요 안내 최대 2개만 보내도록 + plainTextDescription

* style: ktlint

* fix: 첨부파일 다운로드 (#154)

* Feat: 관리자 슬라이드에 total 추가, refactoring (#153)

* Feat: Change dto name, and add total to AdminSlidesResponse.

* Feat: Add pageSize as parameter.

* Feat: move readAllSlides to news repository, add total query.

* Feat: Extract getNewsEntityByIdOrThrow

* Feat: Move readAllSlides and unSlideManyNews logic handling to news service.

* Comment: Add comment for refactoring.

* Test: Add test for read all slides.

* Refactor: Linting.

* Feat: Change pageNum to start at 1.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 세미나 isYearLast 로직 수정 (#155)

* fix: 세미나 isYearFirst 로직 수정

* fix: isYearLast로 재변경 및 로직 수정

* fix: 이전글 다음 글 isDelete,isPrivate 조건 추가 (#151)

* fix: 이전글 다음 글 isDelete 추가

* fix: ktlint 수정

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 메인 공지 정렬 (#158)

* fix: 예약 조회 권한 수정 (#157)

* Feat: 통합검색 정렬 최신순 (#156)

* Feat: Admin Important에 pagination 추가, total 추가. (#159)

* fix: titleForMain이 없어도 isImportant 등록 가능 (#160)

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: em.close() 추가 (#162)

* fix: em.close() 추가

* fix: total에도 추가

* feat: migrateConference 추가 (#164)

* feat: migrateConferences 추가

* fix: 수정

* fix: 수정

* fix: 검색 추가

* fix: createConferenceDto 삭제

* CICD: Add blocking backend api except frontend. (#166)

* CICD: Add blocking backend api except frontend.

* CICD: Remove login, logout, file api from blacklist.

* CICD: Change to just block swagger apis.

* fix: group 변경 반영 (#167)

* refactor: 실제 스누씨 서버 연동 (#168)

* refactor: local-test 중복 항목 공통으로 처리하고 prod에서 오버라이드

* feat: 스누씨 실서버용 환경 변수 설정

* refactor: 로그인 페이지 통합 및 CORS 설정 변경

* fix: CORS

* feat: migrateAdmissions 추가 (#165)

* fix: migrateAdmissions 추가

* fix: 잘못 쓴거 수정

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Increase speakerurl size (#170)

* fix: 로컬에서도 idsnucse로 연결 (#174)

* fix: 로컬에서도 idsnucse 바라보게끔 변경

* fix: test에서 idsnucse 접근 x

* Revert "fix: test에서 idsnucse 접근 x"

This reverts commit cf526452abdc629b433efe701c9fd6ff60893f1e.

* Fix: move local security settings to local, not global.

* Fix: Disable SecurityConfig on "test" profile

---------

Co-authored-by: huGgW <whjoon0225@naver.com>

* feat: Research 검색 (#175)

* fix: 로컬에서도 idsnucse 바라보게끔 변경

* feat: enable async.

* Feat: create professor event.

* Feat: Publish event on professor modification.

* Feat: Update research search when listen professor event.

* Test: ResearchSearchService listen professor event

* fix: test에서 idsnucse 접근 x

* Revert "fix: test에서 idsnucse 접근 x"

This reverts commit cf526452abdc629b433efe701c9fd6ff60893f1e.

* Fix: fixed event listener logic

* Feat: Add search api for research.

* Test: Fix test.

* Fix: move local security settings to local, not global.

* Fix: Disable SecurityConfig on "test" profile

---------

Co-authored-by: leeeryboy <indiv0227@snu.ac.kr>

* feat: staff 검색 기능 추가 (#176)

* Feat: 학사 및 교과 검색 기능 추가 (#177)

* Revert "fix: test에서 idsnucse 접근 x"

This reverts commit cf526452abdc629b433efe701c9fd6ff60893f1e.

* Fix: move local security settings to local, not global.

* Feat: AcademicsStudentType에 값 지정.

* Feat: AcademicsSearchEntity 추가

* Feat: 각 entity에 search 관계 추가

* Feat: 각 entity create하는 서비스 method에 search entity도 생성하도록 추가.

* Feat: Add academicsSearchRepository

* Feat: Add dto for search

* Refactor: Make name field of academics non null

* Feat: Add exchangePageNum to utils.

* Feat: Add academics search service

* Feat: Add search api for academics.

* Feat: add validation code for utils.exchangePageNum

* Test: Add testcode for exchangePageNum

* REfactor: Add transactional readonly for readGeneralStudies

* fix: apply newacademics to use after saved cached entity.

* fix: fix to add target enitity when create of search entity is called.

* refactor: add default values for nullable values.

* Temp: test code, should be fixed h2 issue.

---------

Co-authored-by: leeeryboy <indiv0227@snu.ac.kr>

* Fix: Research 검색에서 html 태그 없이 검색되도록 설정 (#178)

* Fix: Change createContent to remove html tags on description.

* Test: Update to check removing html tags.

* Feat/add language field (#180)

* feat: 엔티티, dto에 language 추가

* feat: read에 language 추가

* fix: ktlint 수정

* fix: languageRepository 삭제, 함수 enum 클래스로 이동

* fix: language pathVariable -> requestParam 변경 && engName 추가 삭제

* fix: dto 소문자로 return하기 enum 함수로 넣어주기

* fix: requestParam defaultValue 추가

* Refactor: Admission 언어 추가 및 리팩터링 진행 (#182)

* Feat: Move type to type dir, and add main type enum.

* Refactor: Add request body for create, and changed migrate elem body.

* Feat: Change pagename -> name, add language and mainType column, add unique constraints.

* Refactor: Remove unused request dto.

* Refactor: Change AdmissionsDto by adding columns, to be able to used as pure dto.

* Feat: Change to more specific search query.

* Feat: Change multiple methods to few methods, by using mainType.

* Feat: Change to few controller by using mainType, and use request bodies instead of dto.

* Test: AdmissionsServiceTest

* Fix: Add mapping path variable.

* Fix: Fix replacing logic.

* feat: academics 패키지에 language field 추가 (#181)

* feat: 엔티티, dto에 language 추가

* feat: read에 language 추가

* feat: academics에 language field 추가

* fix: ktlint 수정

* feat: course 엔티티에 language field 추가

* feat: readCourse에 language parameter 추가

* fix: languageRepository 삭제, 함수 enum 클래스 이동, academicsEntity name 속성 nullable 추가

* fix: requestParam+defaultValue 추가,

* fix: academics name nullable 없앰

* feat: staff에 language, migration 방법 추가 (#183)

* feat: staffEntity에 language 추가

* feat: branch 이름 변경

* fix: branch origin 이름 변경

* feat: staff 읽기, 수정에서 language 속성 추가

* feat: migrateStaffImage 추가

* fix: StaffServiceTest 수정

* Feat: Admission 검색 (#184)

* Feat: Add korean, english section name.

* Feat: add searchContent column for saving index.

* Feat: Add search query repository method.

* Feat: Define dto of search result element.

* Feat: Add search Top Admission method, and add migrate method creating search content.

* Feat: Add search top admissions method to controller.

* Test: Add test for Admission Service.

* Refactor: Remove Location Entity (#186)

* feat: member/research 패키지 이미지와 첨부파일 마이그레이션 코드 작성 (#185)

* feat: migrateProfessorImage 추가

* feat: migrateResearchImageAndAttachments 추가

* feat: migrateStaffImage 추가

* feat: migrateLabPdf 추가

* feat: about에서 이미지랑 첨부파일 추가 (#187)

* feat: migrateProfessorImage 추가

* feat: migrateResearchImageAndAttachments 추가

* feat: migrateStaffImage 추가

* feat: migrateLabPdf 추가

* feat: about에서 이미지랑 첨부파일 추가

* feat: dev 로그인 (#188)

* dev서버 로그인 바이패스

* style: ktlint

* fix: mock auth config 분리

* fix: uri 수정

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: professor language 추가 (#189)

* fix: professor language 추가

* feat: professor 테스트 추가

* feat: professor language 다른 테스트에도 추가

* feat: 테스트 알맞게 수정

* Feature: About 검색 추가 (#192)

* Feat: Change to create search content.

* Feat: Add search query method.

* Feat: Add create, migrate to create searchContent, and add search method.

* Feat: add search api

* COMMENT: add fix comment for aboutservicetest.

* Refactor: Move dtos to ee directory.

* Feat: Add validation for number, pagesize, pagenum

* feat: research 패키지에 language 추가 (#194)

* fix: professor language 추가

* feat: professor 테스트 추가

* feat: professor language 다른 테스트에도 추가

* feat: 테스트 알맞게 수정

* feat: researchDetail에 language 추가

* feat: lab에 language 추가

* fix: about, admission migrate search todo 추가

* Refactor: Admission 검색 리펙터링 (#193)

* Refactor: Merge queries into one.

* Refactor: Add page search method.

* Refactor: Add total count.

* Refactor: change to search page or search top.

* feat: academics 패키지 마이그레이션 추가 (#195)

* fix: professor language 추가

* feat: professor 테스트 추가

* feat: professor language 다른 테스트에도 추가

* feat: 테스트 알맞게 수정

* feat: researchDetail에 language 추가

* feat: lab에 language 추가

* fix: about, admission migrate search todo 추가

* fix: course migrate 추가

* fix: conference, scholarship language 추가

* fix: migrate academics, scholarship 추가

* fix: migrate academics attachments 추가

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: ktlint 정리

* fix: ktlint 정리 2

* fix: 실수로 삭제한 코드 복구

* Refactor: Member Search (#197)

* feat: professor 테스트 추가

* feat: 테스트 알맞게 수정

* fix: about, admission migrate search todo 추가

* Fix: Add commented authentication.

* Feat: Add language field to search entity

* Feat: Add language in search condition, remove duplicated exchangePageNum, Merge search queries

* Feat: Change res body dir, merge two seperate body into one, add language field

* Feat: Change return body, repository method useing.

* Feat: Add language query parameter, change response body.

* Test: Check language of search.

* Refactor: Change res body results key as "results"

* Refactor: Remove unneeded transactional on interface.

---------

Co-authored-by: DESKTOP-USQPRVG\gram <blueland1998@naver.com>

* feat: getMapping에 language requestParam 추가 (#198)

* fix: academics 패키지 get에 language 추가

* fix: professor 패키지 get에 language 추가

* fix: research 패키지 get에 language 추가

* feat: academics 패키지 이름에 맞게 변경 (#199)

* feat: add readDegreeRequirements

* feat: readGeneralRequirements 삭제, readDegreeRequirements 추가

* feat: AcademicsEntity time 칼럼 삭제

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* Refactor: academics search (#200)

* Refactor: research search (#201)

* fix: pageSize 추가 (#203)

* fix: pageSize 쿼리 파라미터 추가

* 함수 인자에서 defaultValue 지정

* fix: 인증 로직 수정 (#206)

* fix: mock-login 위해서 인증 로직 수정

* add v1 to uri

* fix: migrateConferences에서 authenticatedStaff 삭제 (#204)

* fix: simpleProfessorDto에서 status 추가 (#205)

* fix: readDegreeRequirements에 파일 보이도록 추가 (#209)

* fix: StudentClubDto에 engName 추가 (#210)

* fix: researchEntity에 websiteURL 추가 (#211)

* fix: researchEntity에 websiteURL 추가

* fix: ProfessorServiceTest 수정

* Fix: `exchangepageNum`에서 total이 0일 경우 케이스 추가. (#213)

* Fix: Add condition that when total is 0 return pageNum as 1

* Refactor: Rename method name to be more clear.

* Refactor: Remove not needed duplicated conditional check.

* Test: Add test for exchangeValidPageNum for checking when total = 0

* fix: readGeneralStudiesRequirements 추가 (#212)

* fix: readGeneralStudiesRequirements 추가

* fix: readGeneralStudiesRequirements 프론트 협의사항에 따라 수정

* fix: DegreeRequirementsDto description 삭제

* AcademicsPostType 타입 이름 주석 추가

* Fix: Notice 비밀글 표시 안되도록 수정 (#216)

* Feat: Add FindByIdAndIsPrivateFalse

* Fix: Change totalSearchNotice to get isStaff and hide private when not a staff.

* Fix: Change searchTotalNotice and readNotice to consider isStaff.

* Fix: Change totalSearchNotice and readNotice to check authentication and get staff info.

* fix: readFutureCareers에 description 수정 (#214)

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: 파일 크기 100MB로 늘림

* Feat: Research 검색 결과 research 타입 상세화 (#218)

* Refactor: Remove unused method

* Comment: Add comment

* Feat: Add specific research types to enum

* Feat: Change to give more specified enum when it is research related column.

* Refactor: Remove unused LAB entry from Research.

* fix: pdf 타입 AttachmentResponse로 변경 (#220)

* Feat: Add more type to academic. (#221)

* Fix: Change partialDescription to give with searchContent. (without html, all fields) (#222)

* fix: 단건 조회 & 통합 검색 권한 체크 (#217)

* fix: private 단건 조회 권한 체크

* Fix: Notice 비밀글 표시 안되도록 수정 (#216)

* Feat: Add FindByIdAndIsPrivateFalse

* Fix: Change totalSearchNotice to get isStaff and hide private when not a staff.

* Fix: Change searchTotalNotice and readNotice to consider isStaff.

* Fix: Change totalSearchNotice and readNotice to check authentication and get staff info.

* fix: newsTotalSearch 권한 체크

* style: ktlint

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* Fix: Formatting issue.

* Fix: Add studentType for all academic search result. (#224)

* Config: Spring Boot 3.2, Java 21로 업그레이드, Virtual Thread 적용 (#223)

* Fix: add join condition for news total search (#226)

* Feat: Spring Boot 서버에서 Error 발생 시 Slack으로 로그 전송 기능 추가 (#228)

* Dependency: Add slack appender

* Config: Add slack appender for sending error log to slack.

* Config: Add slack api info when making env file.

* Feat: Add to logging error for SQLIntegrityConstraintViolationException and RESTClientException

* Config: Update gradle wrapper

* feat: 학부 총괄 행정직원 맨 앞으로 이동 (#232)

* feat: 한글 이름 우선순위 정렬 (#235)

* feat: 한글 이름 우선순위 정렬

* refactor: 유틸 함수 분리

* Feat: 게시물 제외 통합검색에 사용되는 field들 refersh하는 API 추가 (#236)

* Feat: Add refresh search event

* Feat: Add api for trigger refresh search indexes.

* Feat: Add refresh search event listener for about entity.

* Feat: Add refresh search event listener for academics entity.

* Feat: Add refresh search event listener for admission entity.

* Feat: Add refresh search event listener for member entity.

* Feat: Add refresh search event listener for research entity.

* Fix: Change transactional propagation as REQUIRES_NEW for about's refresh event listener.

* style: ktlint

---------

Co-authored-by: Junhyeong Kim <leeeryboy@gmail.com>
Co-authored-by: leeeryboy <indiv0227@snu.ac.kr>

* delete image thumbnail logic (#237)

* Fix: Fill "mappedBy" information for remove about_attachments table. (#239)

* CICD: 배포, 개발계 분리 적용 (#238)

* CICD: Add dev deployment workflow

* Refactor: Remove unused comments

* Config: Add dev profile

* CICD: Add ssh port for production deploy environment

* Config: Change slack message format to more readable

* fix: course 띄어쓰기 그대로 유지 (#241)

* prod에서 mock-login 삭제 (#242)

* feat: mock login api only for profile dev

* feat: delete mock login api in prod

* fix: 교수 정렬 (#243)

* Refactor: Move languagetype from properties from enums (#244)

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>

* fix: stat year 2050년까지 확장 (#245)

* fix: stat year 2050년까지 확장

* fix: 쿼리 수정

* fix: adjust max thread and pool size (#246)

* Feat: 공지, 새소식, 세미나 정렬 옵션 추가 (#247)

* Refactor: Move languagetype from properties from enums

* Feat: Add sort order type for content search (notice, news, seminar)

* Feat: Add sort option for news search.

* Feat: Add sort option for notice search.

* Feat: Add sort option for seminar search.

* Fix: Handle for empty keyword.

---------

Co-authored-by: Junhyeong Kim <leeeryboy@gmail.com>

* CICD: env 파일 분리, 서버 docker image tag 분리 (#248)

* CICD: Seperate docker image tag of prod, dev, rename env

* CICD: Change env name of db

* CICD: Change env name of proxy

* CICD: Remove unused latest tag

---------

Co-authored-by: Junhyeong Kim <leeeryboy@gmail.com>

* feat: 개인정보 동의 여부 기록 (#250)

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* Fix: fix merge conflict

* Fix: give 0.0 to score when keyword is null or empty on notice. (#254)

* CICD: Disable auto https redirect. (#256)

* CICD: Revert to enable redirect

* fix: sort labs (#258)

* fix: idsnucse prod 설정 분리 (#260)

* fix: idsnucse prod

* fix: 환경변수 이름

* Config: Disable migrate on profile prod. (#262)

* Config: Disable migrate on profile prod.

* Config: Disable refresh search on profile prod.

* fix: adjust max thread and pool size (#264)

* Feat: 검색 refresh api 로컬에서 접근 가능하도록 변경 (#265)

* Feat: Change refresh search api available at prod profile

* Config: Block refresh api from proxy.

* Config: Remove unused reverse proxy of swagger, api docs.

* fix: sort seminar (#267)

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: 교양 교과과정 변경 내역 삭제 (#268)

* Config: 로그 파일 저장 추가, 항목 추가 (#266)

* Config: Add async file log appender for dev, prod env

* Config: Set log to show servlet, security, sql info for all profile.

* CICD: Mount log directory.

* Fix: Fix property

* Fix: Extract and set log file name and base property for all profiles.

* Update docker-compose-backend.yml (#269)

* fix: subtract 9 hours to start to convert it to UTC (#270)

* fix: readDegreeRequirements response 행정실 요구사항에 맞게 수정 (#272)

* fix: readDegreeRequirements response 행정실 요구사항에 맞게 수정

* fix: 주석 삭제

* Feat: 검색 refresh api 로컬에서 접근 가능하도록 변경

* tcl 관련 수정 (#274)

* fix: 인정 IF 필드 추가

* fix: code 없는 컨퍼런스 후순위로 조정

* test 수정

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
Co-authored-by: DESKTOP-USQPRVG\gram <blueland1998@naver.com>
leeeryboy added a commit that referenced this pull request Apr 29, 2024
* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

* fix: main에서 develop으로 pr (#16)

* feat: merge develop to main (#13)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* :sparkles: 패키지 및 엔티티 생성

* :sparkles: BaseTimeEntity 생성, PostEntity 기본 내용 작성

* :sparkles: PostController 생성 및 기본 내용 작성

* :sparkles: postService 생성

* :sparkles: Exceptions.kt 생성

* :sparkles: postDto 생성

* :sparkles: postRepository 생성 및 기본 내용 작성

* :green_heart: application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* hotfix: 사용하지않는 Dto 및 엔티티 삭제 (#14)

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* feat: seminar 패키지 추가 (#17)

* feat: createSeminar, readSeminar, updateSeminar 추가

* feat: deleteSeminar, searchSeminar 추가

* fix: distinct 삭제

* hotfix: 불필요한 dto 삭제 (#20)

* hotfix: 불필요한 dto 삭제

* build.gradle 수정

* fix: 이미지 uri 필드 추가 및 프론트 요구사항 반영 (#21)

* feat: 이미지 uri 필드 추가 및 isActive 대신 status 추가

* fix: 행정직원 전체 조회 응답에서 task 삭제

* fix: 교수진 페이지 응답 수정

* feat: introduction 패키지, undergraduate 패키지 추가 (#22)

* feat: createUndergraduate, readUndergraduate 추가

* feat: readAllCourses, createCourse, readCourse 추가

* introduction 패키지 추가

* fix: dto에서 postType 삭제

* fix: postType pathVariable->requestBody 수정, 오타 수정

* fix: 프론트와 협의하여 이름 등 변경

* feat: academics 패키지 대학원도 가능하도록 추가

* feat: 장학제도 세부 장학금 create, read 추가

* fix: 수정

* fix:수정

* feat: admissions, research 패키지 추가 (#23)

* feat: admissions-학부 에서 create, read 추가

* feat: admissions-대학원도 작성 가능하도록 추가

* feat: createResearch 추가

* feat: createLab 추가

* fix: 다른 패키지에 맞게 수정

* research-groups, research-centers에서 read, update 추가

* fix: admissions, research에서 프론트와 협의하여 이름 등 수정

* fix: 오타 수정

* fix: enum 추가, pr 리뷰 반영

* feat: oidc 로그인 (#27)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: idsnucse 다운 되었을때 에러 처리

* feat: idsnucse 다운 되었을때 에러 처리

* feat: cors 설정 (#30)

* fix: cors 추가 설정 (#32)

* feat: cors 설정

* feat: cors 설정

* fix: CORS (#34)

* feat: cors 설정

* feat: cors 설정

* feat: cors 설정

* fix: about, academics, admissions 패키지 수정 (#25)

* fix: admissions, about 컨트롤러 변경

* fix: academics 컨트롤러 수정

* 커밋중

* fix: pr 리뷰 반영

* feat: readMain 추가

* pr 리뷰 반영

* feat: 일반 예약 및 정기 예약 API (#28)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: 예약 엔티티 및 DTO 설계

* feat: 일반 예약 및 정기 예약

* feat: 예약 조회 API (#39)

* feat: 권한 관리 위해 커스텀 어노테이션 생성

* feat: 예약 단건, 주별, 월별 조회 API

* fix: 로컬 DB 설정 수정

* feat: 유저 조회 중복 쿼리 방지

* feat: 예약 응답에 recurrenceId 추가

* feat: 동시 예약 방지

* fix: 시큐리티 로그 다시 로컬에서만 보이도록 변경

* feat: 목데이터 날라가지 않도록 ddl-auto 수정

* feat: about, member, news, seminar 메인 이미지 업로드 추가 (#38)

* feat: uploadImage 추가

* feat: about, member 사진 업로드 추가

* feat: news, seminar 사진 업로드 추가

* refactor: imageEntity 추가 리팩토링

* fix: gif 삭제

* fix: application.yaml 수정

* fix: newsService 태그 -> 이미지로 순서 변경

* fix: pr 리뷰 수정

* fix: extension 없애고, mainImage로 바꾸고, uuid 없애기

* fix: var 삭제

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* CICD: Change deploy port to 8080 (#40)

* [Merge] (#41) (#42)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* :sparkles: 패키지 및 엔티티 생성

* :sparkles: BaseTimeEntity 생성, PostEntity 기본 내용 작성

* :sparkles: PostController 생성 및 기본 내용 작성

* :sparkles: postService 생성

* :sparkles: Exceptions.kt 생성

* :sparkles: postDto 생성

* :sparkles: postRepository 생성 및 기본 내용 작성

* :green_heart: application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

* fix: main에서 develop으로 pr (#16)

* feat: merge develop to main (#13)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* :sparkles: 패키지 및 엔티티 생성

* :sparkles: BaseTimeEntity 생성, PostEntity 기본 내용 작성

* :sparkles: PostController 생성 및 기본 내용 작성

* :sparkles: postService 생성

* :sparkles: Exceptions.kt 생성

* :sparkles: postDto 생성

* :sparkles: postRepository 생성 및 기본 내용 작성

* :green_heart: application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

---------




* hotfix: 사용하지않는 Dto 및 엔티티 삭제 (#14)

---------




* feat: seminar 패키지 추가 (#17)

* feat: createSeminar, readSeminar, updateSeminar 추가

* feat: deleteSeminar, searchSeminar 추가

* fix: distinct 삭제

* hotfix: 불필요한 dto 삭제 (#20)

* hotfix: 불필요한 dto 삭제

* build.gradle 수정

* fix: 이미지 uri 필드 추가 및 프론트 요구사항 반영 (#21)

* feat: 이미지 uri 필드 추가 및 isActive 대신 status 추가

* fix: 행정직원 전체 조회 응답에서 task 삭제

* fix: 교수진 페이지 응답 수정

* feat: introduction 패키지, undergraduate 패키지 추가 (#22)

* feat: createUndergraduate, readUndergraduate 추가

* feat: readAllCourses, createCourse, readCourse 추가

* introduction 패키지 추가

* fix: dto에서 postType 삭제

* fix: postType pathVariable->requestBody 수정, 오타 수정

* fix: 프론트와 협의하여 이름 등 변경

* feat: academics 패키지 대학원도 가능하도록 추가

* feat: 장학제도 세부 장학금 create, read 추가

* fix: 수정

* fix:수정

* feat: admissions, research 패키지 추가 (#23)

* feat: admissions-학부 에서 create, read 추가

* feat: admissions-대학원도 작성 가능하도록 추가

* feat: createResearch 추가

* feat: createLab 추가

* fix: 다른 패키지에 맞게 수정

* research-groups, research-centers에서 read, update 추가

* fix: admissions, research에서 프론트와 협의하여 이름 등 수정

* fix: 오타 수정

* fix: enum 추가, pr 리뷰 반영

* feat: oidc 로그인 (#27)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: idsnucse 다운 되었을때 에러 처리

* feat: idsnucse 다운 되었을때 에러 처리

* feat: cors 설정 (#30)

* fix: cors 추가 설정 (#32)

* feat: cors 설정

* feat: cors 설정

* fix: CORS (#34)

* feat: cors 설정

* feat: cors 설정

* feat: cors 설정

* fix: about, academics, admissions 패키지 수정 (#25)

* fix: admissions, about 컨트롤러 변경

* fix: academics 컨트롤러 수정

* 커밋중

* fix: pr 리뷰 반영

* feat: readMain 추가

* pr 리뷰 반영

* feat: 일반 예약 및 정기 예약 API (#28)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: 예약 엔티티 및 DTO 설계

* feat: 일반 예약 및 정기 예약

* feat: 예약 조회 API (#39)

* feat: 권한 관리 위해 커스텀 어노테이션 생성

* feat: 예약 단건, 주별, 월별 조회 API

* fix: 로컬 DB 설정 수정

* feat: 유저 조회 중복 쿼리 방지

* feat: 예약 응답에 recurrenceId 추가

* feat: 동시 예약 방지

* fix: 시큐리티 로그 다시 로컬에서만 보이도록 변경

* feat: 목데이터 날라가지 않도록 ddl-auto 수정

* feat: about, member, news, seminar 메인 이미지 업로드 추가 (#38)

* feat: uploadImage 추가

* feat: about, member 사진 업로드 추가

* feat: news, seminar 사진 업로드 추가

* refactor: imageEntity 추가 리팩토링

* fix: gif 삭제

* fix: application.yaml 수정

* fix: newsService 태그 -> 이미지로 순서 변경

* fix: pr 리뷰 수정

* fix: extension 없애고, mainImage로 바꾸고, uuid 없애기

* fix: var 삭제

---------



* CICD: Change deploy port to 8080 (#40)

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>

* feat: 장학제도 GET API 및 장학제도 페이지 응답 수정 (#44)

* feat: 장학제도 GET API

* feat: 장학제도 메인페이지 GET API 응답 수정

* feat: custom metadata 설정 + 리다이렉트 엔드포인트 변경 (#45)

* feat: yml 파일에 custom metadata endpoint 추가

* feat: 로그인/로그아웃 성공 리다이렉트 엔드포인트 변경

* feat: attachments 패키지 추가, news와 seminar request에 attachments 추가 (#43)

* feat: attachments 추가, news request에 attachments 추가

* feat: seminar request에 attachments 추가

* fix: mappedBy 추가 + bringAttachments null 없앰

* fix: 경로 분리

* fix: isDeleted false로 수정

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* feat: Top Conference List GET API (#47)

* feat: Top Conference List GET API

* feat: db에서 가져올때 정렬

* feat: 파일 서빙, 다운로드, 삭제 API (#48)

* feat: 파일 서빙, 다운로드, 삭제 API

* fix: extension 중복, 경로 수정

* feat: 공지사항 글쓴이 추가 (#49)

* CI/CD: Https 적용 및 백엔드, 데이터베이스, 프록시 서버 배포 분리 (#50)

* Config: Add gitignore for caddy files.

* CICD: Add caddy config file

* CICD: Seperate docker compose file for db and backend server.

* CICD: Docker Compose file for caddy proxy server.

* CICD: Add path condition for only act when source file has changed.

* CICD: Add workflow for deploying database changes.

* CICD: Add workflow for proxy server changes.

* Refactor: Add /api/v1 in front of all endpoints (except swagger-ui)

* Refactor: Add v1 to Main Image url.

* Refactor: change backend, frontend, login redirect uri to get from env.

* CICD: Add url to .env

* Fix: Change job name of database workflow, fix indent level.

* Fix: Remove duplicated restcontroller mapping.

* Fix: Set reverse proxy for swagger-ui/* for swagger.

* Docs: Set swagger to only scan /api/**

* Fix: add caddy to reverse api-docs/* for springdoc.

* Fix: Add login uris for reverse proxying to backend server.

* CICD: Remove testing branch condition.

* CICD: Add logout uri to reverse proxy to backend server.

* CICD: Remove test branch

* fix: 프론트랑 협의하여 내용 변경 + news, seminar에 image, attachments update 추가 (#51)

* feat: attachments 추가, news request에 attachments 추가

* feat: seminar request에 attachments 추가

* feat: about request에 attachments 추가

* feat: academics request에 attachments 추가

* fix: isPinned 삭제

* fix: image -> mainImage 변경, about에 greetings 추가

* fix: news, seminar update 수정

* fix: 전체적으로 image -> mainImage 변경

* fix: research 패키지 프론트에 맞춰 협의 (#52)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* fix: pr 리뷰 수정

* fix: 오타 수정

* [Refactor] 로그인, file uri 배포 환경에 맞게 수정 (#53)

* Refactor: Change mapping of file to append /api/v1 in front.

* Refactor: Change login, logout redirect uri

* fix: https 적용 관련 로그인 수정 (#56)

* fix: notice 패키지 프론트에 맞게 협의 (#54)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* feat: notice에 attachments 추가

* fix: fix_with_front1 변경 사항에 맞게 수정

* feat: isImportant 추가

* feat: NoticeSearchDto에 hasAttachment 추가

* fix: update에서 attachmetnts가 null일 때 빈 목록 반환

* feat: 공지사항 선택 고정해제, 선택 삭제 추가

* fix: news, seminar에 isImportant 추가

* fix: pr 리뷰 수정

* fix: 수정했던거 다시 복구

* feat: 신임교수초빙 (#59)

* feat: 행정실 권한 체크 API (#60)

* [CICD] mainImage, attachment 경로 mount 설정 (#55)

* CICD: Add mainImage, attachment directory for mounting

* CICD: Add volumes to mount with server directory. (for attachment)

* [Feat] 예전 url과 비슷하게 이전 파일(사진)들 접근할 수 있도록 controller 생성 (#58)

* Config: Add oldFiles path for properties.

* Feat: Add deprecated file controller for getting old files temporarily.

* CICD: Add volume mounting for old files.

* CICD: Add dir to mount for old files.

* Refactor: Change api to /sites/default/files/{PATH}

* CICD: Add reverse proxy for old file serving.

* fix: 예약 dto에 지도교수, 반복 횟수 추가 (#61)

* fix: 로그아웃 엔드포인트 변경 (#64)

* fix: 로그아웃 엔드포인트 변경

* fix: 로그아웃 성공 리다이렉트 엔드포인트 변경

* [Fix] Notice, News Description TEXT type으로 변환 (#65)

* Fix: Change notice and news entity description type as TEXT.

* Fix: Change to mediumtext

* fix: newsSearchResponse, seminarSearchResponse 수정 (#66)

* fix: newsSearchResponse 수정

* fix: SeminarSearchResponse 수정

* fix: 오타수정

* fix: 파일 업로드 경로 통일 (#68)

* fix: 갯수만 fetch하도록 최적화 (#70)

* Fix: Change type of additionalNote column on SeminarEntity to "TEXT" (#71)

* fix: academics 패키지 프론트에 맞춰 협의, admin 패키지 추가 (#69)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* feat: notice에 attachments 추가

* fix: fix_with_front1 변경 사항에 맞게 수정

* feat: isImportant 추가

* feat: NoticeSearchDto에 hasAttachment 추가

* fix: update에서 attachmetnts가 null일 때 빈 목록 반환

* feat: 공지사항 선택 고정해제, 선택 삭제 추가

* fix: news, seminar에 isImportant 추가

* fix: pr 리뷰 수정

* fix: 수정했던거 다시 복구

* fix: course response 수정

* feat: academics에서 연도별로 주는 response 추가

* feat: academics YearResponses 추가

* fix: createScholarship 합치기

* fix: scholarship 패키지의 내용을 academics 하위로 옮김

* feat: createScholarshipDetail 추가

* fix: 필수 교양과목 response 변경

* feat: admin 패키지에서 readAllSlides 추가

* feat: admin 패키지 readAllImportants 추가

* feat: admin 패키지 중요안내 추가

* Refactor: HTML로부터 텍스트 추출 함수 Utils로 이동 (#73)

* Feat: Add cleanTextFromHtml.

* Refactor: Remove private clean method, replace to Utils.cleanTextFromHtml.

* Refactor: Remove unused imports.

* Feat: Add plain text description for notice (#74)

* Feat: Add cleanTextFromHtml.

* Refactor: Remove private clean method, replace to Utils.cleanTextFromHtml.

* Refactor: Remove unused imports.

* Feat: Add plainTextDescription.

* Feat: Add plainTextDescription in createNotice.

* Feat: add updating plainTextDescription when updating description.

* fix: admissions 패키지 프론트에 맞게 협의 (#76)

* fix: admissions 프론트에 맞게 협의

* fix: seminarEntity time 삭제

* fix: admissionsEntity pageName 추가

* fix: 불필요한 파일 삭제

* 커밋

* fix: 이전 글 다음 글만 fetch 하도록 쿼리 최적화 (#75)

* fix: 이전 글 다음 글만 fetch 하도록 쿼리 최적화

* fix: distinct 수정

* fix: 쿼리 최적화

* fix: total Long 타입으로 수정

* CI/CD: Test 설정 (#77)

* Config: Add kotest, mockk, h2 db for testing.

* Config: Add test profile.

* Config: Add testconfig for jpaqueryfactory.

* CICD: Add build, test workflow

* Fix: Revert local datasource url change.

* [Test] Notice create, update 시 plainTextDescription 동작 테스트 (#78)

* Config: Add test profile.

* Test: Add Tests for Create, Update Notice, in perspective of plainTextDescription

* Fix: Change life cycle hook resolution to container.

* [Feat] Seminar plain text field 추가 (#79)

* Feat: Add plain text column for description, introduction, additionalnote.

* Feat: Add description, introduction, additionalnote for dto -> entity.

* Feat: Change to update plain description, introduction, additional note.

* Feat: Use plainTextDesription for searchdto.

* Test: Test for create, update of plain texts.

* Test: Fix seminar service test.

* Feat: News plain text field 추가 (#80)

* Feat: Add plainTextDescription field for news entity

* Feat: Add to create, and update plainTextDescription.

* Feat: Change to use plainTextDescription when making newssearchdto.

* Test: Test for create/update plainTextDescription.

* Feat: 구성원 검색 위한 table 추가. (#81)

* Feat: MemberSearchEntity 추가.

* Feat: MemberSearchRepository 추가

* Feat: MemberSearchService 추가

* Feat: ProfessorEntity, StaffEntity에 MemberSearch 추가.

* Feat: ProfessorStatus에 한글 값 추가.

* Feat: professor create, update 시 memberSearch도 반영하도록 추가.

* Feat: seminar create, update 시 memberSearch도 반영하도록 추가.

* Test: ProfessorService 테스트 추가.

* Test: StaffServiceTest 추가.

* fix: 새소식 세미나 쿼리 수정 (#82)

* refactor: 유틸 패키지 생성 및 FixedPageRequest 분리

* feat: 새소식 세미나 이전 다음 글 및 total 쿼리 최적화

* fix: pageNum 값으로 usePageBtn 값 설정

* fix: import 경로 수정

* fix: local db port 3306

* 중복 삭제

* fix: prod endpoint https로 변경

* fix: main 프론트에 맞게 협의, notice 태그 enum 추가 (#83)

* fix: mainResponse 다시 작성

* feat: TagInNoticeEnum 추가

* feat: notice enum 추가

* fix: 코드 수정

* fix: isPublic -> isPrivate으로 정리 (#86)

* fix: rebase 정리

* fix: 오타 수정

* feat: 로컬 로그인 테스트용 엔드포인트로 임시 변경 (#87)

* Feat: 구성원 검색 API 추가 (#85)

* Feat: Add mysql custom dialect with MATCH AGAINST BOOLEAN MODE function.

* CICD: Add config for mysql db

* CICD: Add volumes for config file.

* CICD: Add db_config for condition for db deploy

* Feat: Add search top, and search query.

* Feat: Add DTOs

* Feat: Add Controller for member search only top, and page.

* Feat: Add dialect config for application.yaml

* Feat: Add controller for member search.

* Refactor: Change exception message to korean.

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>

* fix: 세미나 시간 타입 변경 (#91)

* fix: 세미나 시간 LocalDateTime으로 변경

* test: 테스트 수정

* fix: 태그 항목 수정 (#92)

* fix: news tag 추가 (#90)

* fix: news tag 추가

* fix: 일반인은 isPrivate = false인 것만, 직원은 모든 게시글 보여주기

* feat: 졸업생 창업 진로, 졸업생 진로 response 추가 (#94)

* fix: news tag 추가

* fix: 일반인은 isPrivate = false인 것만, 직원은 모든 게시글 보여주기

* feat: about  졸업생 read 추가

* fix: 오타 수정

* fix: conference 주소 추가 (#95)

* Feat: 연구 탭 통합검색 위한 Table 생성. (#97)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Fix: Fix typo, import library.

* Feat: Lab Update API 추가 (#98)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Feat: Add update method for labentity.

* Feat: Add update lab service.

* Feat: Add update lab controller.

* Test: Add ResearchServiceTest.

* Feat: Add deleteAttachment (marking)

* Fix: Add typo, add import library.

* Feat: Conference page 수정 API (#99)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Feat: Add update method for labentity.

* Feat: Add update lab service.

* Feat: Add update lab controller.

* Test: Add ResearchServiceTest.

* Feat: Add Conference Repository.

* Feat: add conferenc eentity method for create, update entity.

* Feat: Change variables to mutable.

* Feat: Add id in conferencedto.

* Feat: Add to sort the conferenceList.

* Feat: Add deleteAttachment (marking)

* Feat add service to modify conference page (create, modify, delete conferences)

* Feat: Add api for modify conference page.

* Test: Add test for conference service.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 파일 관련 수정 (#100)

* fix: 업로드 파일 사이즈 제한

* fix: 원본 첨부파일 이름으로 응답

* refactor: 세미나 업데이트 시 삭제할 첨부파일 id만 받도록 변경

* fix: 파일 api 경로 수정

* fix: deleteAttachment

* fix: GET notice 권한 관련 로직 수정 (#101)

* Refactor: Extract Full Text Query Template to CommonRepository (#102)

* Feat: Extract full text search template to common repository.

* Feat: Change full text search to use extracted repository.

* Feat: Add for 4 elements.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Notice Seminar News Search to Full Text Query (#105)

* Feat: Extract full text search template to common repository.

* Feat: Change full text search to use extracted repository.

* Feat: Add for 4 elements.

* Feat: Add more args cnt.

* Feat: Change keyword boolean builder to full text.

* Feat: Change keyword boolean builder to full text.

* Feat: Change keyword boolean builder to full text.

* Hotfix: Change mount volume. (#103)

* feat: api 권한 설정 (#84)

* fix: GET notice 권한 관련 로직 수정 (#109)

* fix: 필요한 column만 select (#111)

* refactor: 공지 태그 응답 한국어로 변경 및 리팩토링 (#113)

* refactor: 공지 태그 응답 한국어로 수정 및 리팩토링

* refactor: 새소식 태그 리팩토링

* fix: NewsRepository

* fix: 공지 새소식 PATCH 로직 수정 (#114)

* fix: 공지 새소식 PATCH 로직 수정

* test: 테스트 수정

* fix: news 엔티티에 날짜 추가 (#115)

* Feat: 검색 결과에서 keyword 위치, 적절한 substring 추출 위한 method 추가 (#116)

* Feat: Add utils substringAroundKeyword

* Test: Add test for Utils.kt

* fix: total 더미 값 + pageNum null일때만 더미 값 주기 (#117)

* fix: 예약 조회 권한 분리 및 응답 단순화 (#119)

* fix: 예약 단건 조회 권한 분리

* feat: 월별,주별 조회용 SimpleReservationDto

* fix: 로그인 리다이렉트 엔드포인트 복구 (#121)

* feat: migrateAbout, migrateFutureCareers 추가 (#118)

* feat: AboutRequest, migrateAbout 추가

* feat: future-careers 마이그레이션 추가

* feat: request 패키지 추가

* fix: AboutRequest 간소화

* fix: future-careers description aboutEntity에 저장

* feat: about 패키지 마이그레이션 추가 (#120)

* feat: AboutRequest, migrateAbout 추가

* feat: future-careers 마이그레이션 추가

* feat: request 패키지 추가

* fix: 불필요한 dto 삭제

* feat: migrateStudentClubs 추가

* feat: migrateFacilities 추가

* feat: migrateDirections 추가

* fix: 불필요한 dto 삭제

* fix: request 패키지 삭제

* fix: 오타 수정

* fix: news, notice에 titleForMain 추가 (#125)

* fix: 소식3총사 titleForMain 데이터 생성

* fix: 테스트에 titleForMain  추가

* Revert "fix: 테스트에 titleForMain  추가"

This reverts commit e824ad34e60e0785f1d4c4e187776d4b8bf53dfa.

* fix: 테스트에 titleForMain 추가

* fix: seminar titleForMain 추가

* fix: seminar test titleForMain 추가

* feat: LocalDateTime 응답 마지막에 Z 추가 (#126)

* refactor: deleteIds request 내부로 이동 (#127)

* refactor: deleteIds request 내부로 이동

* test: 테스트 수정

* fix: 확장자 중복 버그 (#128)

* feat: 관리자는 새소식, 세미나 목록에서 비공개 글 확인 가능 (#129)

* feat: research, member 패키지 migrate 추가 (#130)

* feat: migrateProfessors 추가

* feat: migrateResearchDetail 추가

* feat: migrateLabs 추가

* fix: migrate 엔티티 description에 mediumText 추가

* feat: migrateStaff 추가

* fix: 빠진거 수정

* fix: 중복 패키지 삭제

* fix: 너무 안긴거 text로 수정

* fix: noticeSearchDto에도 private 추가 (#131)

* fix: noticeSearchDto에도 private 추가

* fix: json 추가

* fix: 수정 및 추가

* fix: 수정

* Fix: 키워드 추출 함수 수정 (#122)

* Fix: Fix IndexOutOfBoundException, change to return index based on substring.

* Fix: Change to check index exclude case, and set front, back index to better contains keyword.

* Test: Update Test.

* Feat: 통합검색 Notice API 구현 (#123)

* Feat: Add dtos for notice total search.

* Feat: Add repository for notice total search.

* Feat: Add service, controller for notice total search

* Feat: News 통합 검색 API 구현 (#124)

* Feat: Add dto for total search of news.

* Feat: Add repository for total search.

* Feat: Add service, controller for news total search.

* Fix: Fix conflict issues.

* fix: 기존 objectMapper 설정 오버라이드 (#132)

* feat: 파일 업로드 컨트롤러 구현 (#133)

* Feat: Change titleForMain column to TEXT type. (#134)

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* hotfix: mixed content issue (#136)

* hotfix: loginPage to https (#139)

* hotfix: mixed content issue

* hotfix: loginPage

* fix: false로 수정 (#141)

* fix: 이전 다음 글에서 비공개 글 제외 (#143)

* fix: 이전 다음글 비공개 제외

* fix: prev-next

* CBT 위해서 예약 GET 권한체크 주석처리

* Feat: 뉴스 날짜로 정렬 (#144)

* Feat: Change date field to NOT NULLABLE.

* Feat: Change to sort by date, not createdat.

* Test: Fix test.

* Test: Move news test dir.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Add description for slide. (#146)

* style: ktlint (#145)

* style: ktlint

* Feat: change to ktlint_disabled_rules

* Refactor: fix to lint using ktlint.

* Refactor: After merge.

* Fix: After merge.

* Refactor: ReReLint

---------

Co-authored-by: huGgW <whjoon0225@naver.com>

* fix: 텍스트 인코딩 (#147)

* fix: content-dispostion

* fix: 텍스트 인코딩

* fix: 강제 다운로드

* style: ktlint

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* Update ktlint-check.yml

* fix: 중요 안내 (#149)

* fix: 삭제된 글 중요 안내에서 보이지 않도록 수정

* fix: 중요 안내 최대 2개만 보내도록 + plainTextDescription

* style: ktlint

* fix: 첨부파일 다운로드 (#154)

* Feat: 관리자 슬라이드에 total 추가, refactoring (#153)

* Feat: Change dto name, and add total to AdminSlidesResponse.

* Feat: Add pageSize as parameter.

* Feat: move readAllSlides to news repository, add total query.

* Feat: Extract getNewsEntityByIdOrThrow

* Feat: Move readAllSlides and unSlideManyNews logic handling to news service.

* Comment: Add comment for refactoring.

* Test: Add test for read all slides.

* Refactor: Linting.

* Feat: Change pageNum to start at 1.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 세미나 isYearLast 로직 수정 (#155)

* fix: 세미나 isYearFirst 로직 수정

* fix: isYearLast로 재변경 및 로직 수정

* fix: 이전글 다음 글 isDelete,isPrivate 조건 추가 (#151)

* fix: 이전글 다음 글 isDelete 추가

* fix: ktlint 수정

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 메인 공지 정렬 (#158)

* fix: 예약 조회 권한 수정 (#157)

* Feat: 통합검색 정렬 최신순 (#156)

* Feat: Admin Important에 pagination 추가, total 추가. (#159)

* fix: titleForMain이 없어도 isImportant 등록 가능 (#160)

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: em.close() 추가 (#162)

* fix: em.close() 추가

* fix: total에도 추가

* feat: migrateConference 추가 (#164)

* feat: migrateConferences 추가

* fix: 수정

* fix: 수정

* fix: 검색 추가

* fix: createConferenceDto 삭제

* CICD: Add blocking backend api except frontend. (#166)

* CICD: Add blocking backend api except frontend.

* CICD: Remove login, logout, file api from blacklist.

* CICD: Change to just block swagger apis.

* fix: group 변경 반영 (#167)

* refactor: 실제 스누씨 서버 연동 (#168)

* refactor: local-test 중복 항목 공통으로 처리하고 prod에서 오버라이드

* feat: 스누씨 실서버용 환경 변수 설정

* refactor: 로그인 페이지 통합 및 CORS 설정 변경

* fix: CORS

* feat: migrateAdmissions 추가 (#165)

* fix: migrateAdmissions 추가

* fix: 잘못 쓴거 수정

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Increase speakerurl size (#170)

* fix: 로컬에서도 idsnucse로 연결 (#174)

* fix: 로컬에서도 idsnucse 바라보게끔 변경

* fix: test에서 idsnucse 접근 x

* Revert "fix: test에서 idsnucse 접근 x"

This reverts commit cf526452abdc629b433efe701c9fd6ff60893f1e.

* Fix: move local security settings to local, not global.

* Fix: Disable SecurityConfig on "test" profile

---------

Co-authored-by: huGgW <whjoon0225@naver.com>

* feat: Research 검색 (#175)

* fix: 로컬에서도 idsnucse 바라보게끔 변경

* feat: enable async.

* Feat: create professor event.

* Feat: Publish event on professor modification.

* Feat: Update research search when listen professor event.

* Test: ResearchSearchService listen professor event

* fix: test에서 idsnucse 접근 x

* Revert "fix: test에서 idsnucse 접근 x"

This reverts commit cf526452abdc629b433efe701c9fd6ff60893f1e.

* Fix: fixed event listener logic

* Feat: Add search api for research.

* Test: Fix test.

* Fix: move local security settings to local, not global.

* Fix: Disable SecurityConfig on "test" profile

---------

Co-authored-by: leeeryboy <indiv0227@snu.ac.kr>

* feat: staff 검색 기능 추가 (#176)

* Feat: 학사 및 교과 검색 기능 추가 (#177)

* Revert "fix: test에서 idsnucse 접근 x"

This reverts commit cf526452abdc629b433efe701c9fd6ff60893f1e.

* Fix: move local security settings to local, not global.

* Feat: AcademicsStudentType에 값 지정.

* Feat: AcademicsSearchEntity 추가

* Feat: 각 entity에 search 관계 추가

* Feat: 각 entity create하는 서비스 method에 search entity도 생성하도록 추가.

* Feat: Add academicsSearchRepository

* Feat: Add dto for search

* Refactor: Make name field of academics non null

* Feat: Add exchangePageNum to utils.

* Feat: Add academics search service

* Feat: Add search api for academics.

* Feat: add validation code for utils.exchangePageNum

* Test: Add testcode for exchangePageNum

* REfactor: Add transactional readonly for readGeneralStudies

* fix: apply newacademics to use after saved cached entity.

* fix: fix to add target enitity when create of search entity is called.

* refactor: add default values for nullable values.

* Temp: test code, should be fixed h2 issue.

---------

Co-authored-by: leeeryboy <indiv0227@snu.ac.kr>

* Fix: Research 검색에서 html 태그 없이 검색되도록 설정 (#178)

* Fix: Change createContent to remove html tags on description.

* Test: Update to check removing html tags.

* Feat/add language field (#180)

* feat: 엔티티, dto에 language 추가

* feat: read에 language 추가

* fix: ktlint 수정

* fix: languageRepository 삭제, 함수 enum 클래스로 이동

* fix: language pathVariable -> requestParam 변경 && engName 추가 삭제

* fix: dto 소문자로 return하기 enum 함수로 넣어주기

* fix: requestParam defaultValue 추가

* Refactor: Admission 언어 추가 및 리팩터링 진행 (#182)

* Feat: Move type to type dir, and add main type enum.

* Refactor: Add request body for create, and changed migrate elem body.

* Feat: Change pagename -> name, add language and mainType column, add unique constraints.

* Refactor: Remove unused request dto.

* Refactor: Change AdmissionsDto by adding columns, to be able to used as pure dto.

* Feat: Change to more specific search query.

* Feat: Change multiple methods to few methods, by using mainType.

* Feat: Change to few controller by using mainType, and use request bodies instead of dto.

* Test: AdmissionsServiceTest

* Fix: Add mapping path variable.

* Fix: Fix replacing logic.

* feat: academics 패키지에 language field 추가 (#181)

* feat: 엔티티, dto에 language 추가

* feat: read에 language 추가

* feat: academics에 language field 추가

* fix: ktlint 수정

* feat: course 엔티티에 language field 추가

* feat: readCourse에 language parameter 추가

* fix: languageRepository 삭제, 함수 enum 클래스 이동, academicsEntity name 속성 nullable 추가

* fix: requestParam+defaultValue 추가,

* fix: academics name nullable 없앰

* feat: staff에 language, migration 방법 추가 (#183)

* feat: staffEntity에 language 추가

* feat: branch 이름 변경

* fix: branch origin 이름 변경

* feat: staff 읽기, 수정에서 language 속성 추가

* feat: migrateStaffImage 추가

* fix: StaffServiceTest 수정

* Feat: Admission 검색 (#184)

* Feat: Add korean, english section name.

* Feat: add searchContent column for saving index.

* Feat: Add search query repository method.

* Feat: Define dto of search result element.

* Feat: Add search Top Admission method, and add migrate method creating search content.

* Feat: Add search top admissions method to controller.

* Test: Add test for Admission Service.

* Refactor: Remove Location Entity (#186)

* feat: member/research 패키지 이미지와 첨부파일 마이그레이션 코드 작성 (#185)

* feat: migrateProfessorImage 추가

* feat: migrateResearchImageAndAttachments 추가

* feat: migrateStaffImage 추가

* feat: migrateLabPdf 추가

* feat: about에서 이미지랑 첨부파일 추가 (#187)

* feat: migrateProfessorImage 추가

* feat: migrateResearchImageAndAttachments 추가

* feat: migrateStaffImage 추가

* feat: migrateLabPdf 추가

* feat: about에서 이미지랑 첨부파일 추가

* feat: dev 로그인 (#188)

* dev서버 로그인 바이패스

* style: ktlint

* fix: mock auth config 분리

* fix: uri 수정

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: professor language 추가 (#189)

* fix: professor language 추가

* feat: professor 테스트 추가

* feat: professor language 다른 테스트에도 추가

* feat: 테스트 알맞게 수정

* Feature: About 검색 추가 (#192)

* Feat: Change to create search content.

* Feat: Add search query method.

* Feat: Add create, migrate to create searchContent, and add search method.

* Feat: add search api

* COMMENT: add fix comment for aboutservicetest.

* Refactor: Move dtos to ee directory.

* Feat: Add validation for number, pagesize, pagenum

* feat: research 패키지에 language 추가 (#194)

* fix: professor language 추가

* feat: professor 테스트 추가

* feat: professor language 다른 테스트에도 추가

* feat: 테스트 알맞게 수정

* feat: researchDetail에 language 추가

* feat: lab에 language 추가

* fix: about, admission migrate search todo 추가

* Refactor: Admission 검색 리펙터링 (#193)

* Refactor: Merge queries into one.

* Refactor: Add page search method.

* Refactor: Add total count.

* Refactor: change to search page or search top.

* feat: academics 패키지 마이그레이션 추가 (#195)

* fix: professor language 추가

* feat: professor 테스트 추가

* feat: professor language 다른 테스트에도 추가

* feat: 테스트 알맞게 수정

* feat: researchDetail에 language 추가

* feat: lab에 language 추가

* fix: about, admission migrate search todo 추가

* fix: course migrate 추가

* fix: conference, scholarship language 추가

* fix: migrate academics, scholarship 추가

* fix: migrate academics attachments 추가

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: ktlint 정리

* fix: ktlint 정리 2

* fix: 실수로 삭제한 코드 복구

* Refactor: Member Search (#197)

* feat: professor 테스트 추가

* feat: 테스트 알맞게 수정

* fix: about, admission migrate search todo 추가

* Fix: Add commented authentication.

* Feat: Add language field to search entity

* Feat: Add language in search condition, remove duplicated exchangePageNum, Merge search queries

* Feat: Change res body dir, merge two seperate body into one, add language field

* Feat: Change return body, repository method useing.

* Feat: Add language query parameter, change response body.

* Test: Check language of search.

* Refactor: Change res body results key as "results"

* Refactor: Remove unneeded transactional on interface.

---------

Co-authored-by: DESKTOP-USQPRVG\gram <blueland1998@naver.com>

* feat: getMapping에 language requestParam 추가 (#198)

* fix: academics 패키지 get에 language 추가

* fix: professor 패키지 get에 language 추가

* fix: research 패키지 get에 language 추가

* feat: academics 패키지 이름에 맞게 변경 (#199)

* feat: add readDegreeRequirements

* feat: readGeneralRequirements 삭제, readDegreeRequirements 추가

* feat: AcademicsEntity time 칼럼 삭제

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* Refactor: academics search (#200)

* Refactor: research search (#201)

* fix: pageSize 추가 (#203)

* fix: pageSize 쿼리 파라미터 추가

* 함수 인자에서 defaultValue 지정

* fix: 인증 로직 수정 (#206)

* fix: mock-login 위해서 인증 로직 수정

* add v1 to uri

* fix: migrateConferences에서 authenticatedStaff 삭제 (#204)

* fix: simpleProfessorDto에서 status 추가 (#205)

* fix: readDegreeRequirements에 파일 보이도록 추가 (#209)

* fix: StudentClubDto에 engName 추가 (#210)

* fix: researchEntity에 websiteURL 추가 (#211)

* fix: researchEntity에 websiteURL 추가

* fix: ProfessorServiceTest 수정

* Fix: `exchangepageNum`에서 total이 0일 경우 케이스 추가. (#213)

* Fix: Add condition that when total is 0 return pageNum as 1

* Refactor: Rename method name to be more clear.

* Refactor: Remove not needed duplicated conditional check.

* Test: Add test for exchangeValidPageNum for checking when total = 0

* fix: readGeneralStudiesRequirements 추가 (#212)

* fix: readGeneralStudiesRequirements 추가

* fix: readGeneralStudiesRequirements 프론트 협의사항에 따라 수정

* fix: DegreeRequirementsDto description 삭제

* AcademicsPostType 타입 이름 주석 추가

* Fix: Notice 비밀글 표시 안되도록 수정 (#216)

* Feat: Add FindByIdAndIsPrivateFalse

* Fix: Change totalSearchNotice to get isStaff and hide private when not a staff.

* Fix: Change searchTotalNotice and readNotice to consider isStaff.

* Fix: Change totalSearchNotice and readNotice to check authentication and get staff info.

* fix: readFutureCareers에 description 수정 (#214)

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: 파일 크기 100MB로 늘림

* Feat: Research 검색 결과 research 타입 상세화 (#218)

* Refactor: Remove unused method

* Comment: Add comment

* Feat: Add specific research types to enum

* Feat: Change to give more specified enum when it is research related column.

* Refactor: Remove unused LAB entry from Research.

* fix: pdf 타입 AttachmentResponse로 변경 (#220)

* Feat: Add more type to academic. (#221)

* Fix: Change partialDescription to give with searchContent. (without html, all fields) (#222)

* fix: 단건 조회 & 통합 검색 권한 체크 (#217)

* fix: private 단건 조회 권한 체크

* Fix: Notice 비밀글 표시 안되도록 수정 (#216)

* Feat: Add FindByIdAndIsPrivateFalse

* Fix: Change totalSearchNotice to get isStaff and hide private when not a staff.

* Fix: Change searchTotalNotice and readNotice to consider isStaff.

* Fix: Change totalSearchNotice and readNotice to check authentication and get staff info.

* fix: newsTotalSearch 권한 체크

* style: ktlint

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* Fix: Formatting issue.

* Fix: Add studentType for all academic search result. (#224)

* Config: Spring Boot 3.2, Java 21로 업그레이드, Virtual Thread 적용 (#223)

* Fix: add join condition for news total search (#226)

* Feat: Spring Boot 서버에서 Error 발생 시 Slack으로 로그 전송 기능 추가 (#228)

* Dependency: Add slack appender

* Config: Add slack appender for sending error log to slack.

* Config: Add slack api info when making env file.

* Feat: Add to logging error for SQLIntegrityConstraintViolationException and RESTClientException

* Config: Update gradle wrapper

* feat: 학부 총괄 행정직원 맨 앞으로 이동 (#232)

* feat: 한글 이름 우선순위 정렬 (#235)

* feat: 한글 이름 우선순위 정렬

* refactor: 유틸 함수 분리

* Feat: 게시물 제외 통합검색에 사용되는 field들 refersh하는 API 추가 (#236)

* Feat: Add refresh search event

* Feat: Add api for trigger refresh search indexes.

* Feat: Add refresh search event listener for about entity.

* Feat: Add refresh search event listener for academics entity.

* Feat: Add refresh search event listener for admission entity.

* Feat: Add refresh search event listener for member entity.

* Feat: Add refresh search event listener for research entity.

* Fix: Change transactional propagation as REQUIRES_NEW for about's refresh event listener.

* style: ktlint

---------

Co-authored-by: Junhyeong Kim <leeeryboy@gmail.com>
Co-authored-by: leeeryboy <indiv0227@snu.ac.kr>

* delete image thumbnail logic (#237)

* Fix: Fill "mappedBy" information for remove about_attachments table. (#239)

* CICD: 배포, 개발계 분리 적용 (#238)

* CICD: Add dev deployment workflow

* Refactor: Remove unused comments

* Config: Add dev profile

* CICD: Add ssh port for production deploy environment

* Config: Change slack message format to more readable

* fix: course 띄어쓰기 그대로 유지 (#241)

* prod에서 mock-login 삭제 (#242)

* feat: mock login api only for profile dev

* feat: delete mock login api in prod

* fix: 교수 정렬 (#243)

* Refactor: Move languagetype from properties from enums (#244)

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>

* fix: stat year 2050년까지 확장 (#245)

* fix: stat year 2050년까지 확장

* fix: 쿼리 수정

* fix: adjust max thread and pool size (#246)

* Feat: 공지, 새소식, 세미나 정렬 옵션 추가 (#247)

* Refactor: Move languagetype from properties from enums

* Feat: Add sort order type for content search (notice, news, seminar)

* Feat: Add sort option for news search.

* Feat: Add sort option for notice search.

* Feat: Add sort option for seminar search.

* Fix: Handle for empty keyword.

---------

Co-authored-by: Junhyeong Kim <leeeryboy@gmail.com>

* CICD: env 파일 분리, 서버 docker image tag 분리 (#248)

* CICD: Seperate docker image tag of prod, dev, rename env

* CICD: Change env name of db

* CICD: Change env name of proxy

* CICD: Remove unused latest tag

---------

Co-authored-by: Junhyeong Kim <leeeryboy@gmail.com>

* feat: 개인정보 동의 여부 기록 (#250)

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* Fix: fix merge conflict

* Fix: give 0.0 to score when keyword is null or empty on notice. (#254)

* CICD: Disable auto https redirect. (#256)

* CICD: Revert to enable redirect

* fix: sort labs (#258)

* fix: idsnucse prod 설정 분리 (#260)

* fix: idsnucse prod

* fix: 환경변수 이름

* Config: Disable migrate on profile prod. (#262)

* Config: Disable migrate on profile prod.

* Config: Disable refresh search on profile prod.

* fix: adjust max thread and pool size (#264)

* Feat: 검색 refresh api 로컬에서 접근 가능하도록 변경 (#265)

* Feat: Change refresh search api available at prod profile

* Config: Block refresh api from proxy.

* Config: Remove unused reverse proxy of swagger, api docs.

* fix: sort seminar (#267)

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: 교양 교과과정 변경 내역 삭제 (#268)

* Config: 로그 파일 저장 추가, 항목 추가 (#266)

* Config: Add async file log appender for dev, prod env

* Config: Set log to show servlet, security, sql info for all profile.

* CICD: Mount log directory.

* Fix: Fix property

* Fix: Extract and set log file name and base property for all profiles.

* Update docker-compose-backend.yml (#269)

* fix: subtract 9 hours to start to convert it to UTC (#270)

* fix: readDegreeRequirements response 행정실 요구사항에 맞게 수정 (#272)

* fix: readDegreeRequirements response 행정실 요구사항에 맞게 수정

* fix: 주석 삭제

* Feat: 검색 refresh api 로컬에서 접근 가능하도록 변경

* tcl 관련 수정 (#274)

* fix: 인정 IF 필드 추가

* fix: code 없는 컨퍼런스 후순위로 조정

* test 수정

* 영문 페이지 LastName 기준 정렬 (#276)

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
Co-authored-by: DESKTOP-USQPRVG\gram <blueland1998@naver.com>
leeeryboy added a commit that referenced this pull request May 19, 2024
* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

* fix: main에서 develop으로 pr (#16)

* feat: merge develop to main (#13)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* :sparkles: 패키지 및 엔티티 생성

* :sparkles: BaseTimeEntity 생성, PostEntity 기본 내용 작성

* :sparkles: PostController 생성 및 기본 내용 작성

* :sparkles: postService 생성

* :sparkles: Exceptions.kt 생성

* :sparkles: postDto 생성

* :sparkles: postRepository 생성 및 기본 내용 작성

* :green_heart: application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* hotfix: 사용하지않는 Dto 및 엔티티 삭제 (#14)

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* feat: seminar 패키지 추가 (#17)

* feat: createSeminar, readSeminar, updateSeminar 추가

* feat: deleteSeminar, searchSeminar 추가

* fix: distinct 삭제

* hotfix: 불필요한 dto 삭제 (#20)

* hotfix: 불필요한 dto 삭제

* build.gradle 수정

* fix: 이미지 uri 필드 추가 및 프론트 요구사항 반영 (#21)

* feat: 이미지 uri 필드 추가 및 isActive 대신 status 추가

* fix: 행정직원 전체 조회 응답에서 task 삭제

* fix: 교수진 페이지 응답 수정

* feat: introduction 패키지, undergraduate 패키지 추가 (#22)

* feat: createUndergraduate, readUndergraduate 추가

* feat: readAllCourses, createCourse, readCourse 추가

* introduction 패키지 추가

* fix: dto에서 postType 삭제

* fix: postType pathVariable->requestBody 수정, 오타 수정

* fix: 프론트와 협의하여 이름 등 변경

* feat: academics 패키지 대학원도 가능하도록 추가

* feat: 장학제도 세부 장학금 create, read 추가

* fix: 수정

* fix:수정

* feat: admissions, research 패키지 추가 (#23)

* feat: admissions-학부 에서 create, read 추가

* feat: admissions-대학원도 작성 가능하도록 추가

* feat: createResearch 추가

* feat: createLab 추가

* fix: 다른 패키지에 맞게 수정

* research-groups, research-centers에서 read, update 추가

* fix: admissions, research에서 프론트와 협의하여 이름 등 수정

* fix: 오타 수정

* fix: enum 추가, pr 리뷰 반영

* feat: oidc 로그인 (#27)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: idsnucse 다운 되었을때 에러 처리

* feat: idsnucse 다운 되었을때 에러 처리

* feat: cors 설정 (#30)

* fix: cors 추가 설정 (#32)

* feat: cors 설정

* feat: cors 설정

* fix: CORS (#34)

* feat: cors 설정

* feat: cors 설정

* feat: cors 설정

* fix: about, academics, admissions 패키지 수정 (#25)

* fix: admissions, about 컨트롤러 변경

* fix: academics 컨트롤러 수정

* 커밋중

* fix: pr 리뷰 반영

* feat: readMain 추가

* pr 리뷰 반영

* feat: 일반 예약 및 정기 예약 API (#28)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: 예약 엔티티 및 DTO 설계

* feat: 일반 예약 및 정기 예약

* feat: 예약 조회 API (#39)

* feat: 권한 관리 위해 커스텀 어노테이션 생성

* feat: 예약 단건, 주별, 월별 조회 API

* fix: 로컬 DB 설정 수정

* feat: 유저 조회 중복 쿼리 방지

* feat: 예약 응답에 recurrenceId 추가

* feat: 동시 예약 방지

* fix: 시큐리티 로그 다시 로컬에서만 보이도록 변경

* feat: 목데이터 날라가지 않도록 ddl-auto 수정

* feat: about, member, news, seminar 메인 이미지 업로드 추가 (#38)

* feat: uploadImage 추가

* feat: about, member 사진 업로드 추가

* feat: news, seminar 사진 업로드 추가

* refactor: imageEntity 추가 리팩토링

* fix: gif 삭제

* fix: application.yaml 수정

* fix: newsService 태그 -> 이미지로 순서 변경

* fix: pr 리뷰 수정

* fix: extension 없애고, mainImage로 바꾸고, uuid 없애기

* fix: var 삭제

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* CICD: Change deploy port to 8080 (#40)

* [Merge] (#41) (#42)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* :sparkles: 패키지 및 엔티티 생성

* :sparkles: BaseTimeEntity 생성, PostEntity 기본 내용 작성

* :sparkles: PostController 생성 및 기본 내용 작성

* :sparkles: postService 생성

* :sparkles: Exceptions.kt 생성

* :sparkles: postDto 생성

* :sparkles: postRepository 생성 및 기본 내용 작성

* :green_heart: application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

* fix: main에서 develop으로 pr (#16)

* feat: merge develop to main (#13)

* feat: 공지사항 생성, 공지사항 읽기 기능 추가 (#1)

* :sparkles: 패키지 및 엔티티 생성

* :sparkles: BaseTimeEntity 생성, PostEntity 기본 내용 작성

* :sparkles: PostController 생성 및 기본 내용 작성

* :sparkles: postService 생성

* :sparkles: Exceptions.kt 생성

* :sparkles: postDto 생성

* :sparkles: postRepository 생성 및 기본 내용 작성

* :green_heart: application.yaml 로컬 환경에서 작동하도록 설정

* feat: createPost 기능 생성

* refactor: 리뷰 주신 거 수정

* refactor: post -> notice 수정 등

* chore: .idea 디렉토리 삭제

* chore: PR 템플릿 생성 (#2)

* feat: 로컬 db용 docker-compose 파일 추가 및 application.yaml 수정 (#4)

* feat: 공지사항 수정, 삭제, 태그 기능 추가 (#3)

* fix: ExceptionHandler 추가

* feat: updateNotice 추가, valid 추가

* feat: deleteNotice 추가

* feat: enrollTag 기능 추가, noticeTag 연관 엔티티 추가

* feat: 공지사항 작성할 때 태그 생성 및 수정

* fix: 로컬 db 없앰

* fix: pr 리뷰 수정

* fix: pr 리뷰 수정

* fix: noticeTag assign

* feat: 구성원(교수) 생성 및 조회 API 구현  (#8)

* feat: 교수 엔티티 및 DTO 설계

* feat: 교수 생성 및 조회

* Docs: Swagger 추가 (#7)

* Docs: Add swagger dependency

* Docs: Add basic config for swagger

* Docs: Add basic configuration for swagger.

* feat: 페이지네이션+검색 기능 추가 (#5)

* feat: isPublic, isSlide, isPinned 추가

* feat: queryDsl 적용 위해 gradle 추가 fix: javax -> jakarta 변경

* feat: queryDsl 도입

* feat: 키워드+태그 검색 추가

* feat: search query에 isDeleted, isPublic 추가 및 isPinned 우선순위 설정

* fix: requestBody -> requestParam 수정

* feat: 페이지네이션 추가

* fix: 키워드 booleanBuilder 추가, application.yaml 수정

* fix: searchNotice readOnly 추가

* fix: SearchRequest 삭제

* fix: NoticeDto tags 추가

* fix: pr 리뷰 수정 / feat: 검색 기능 보강 및 수정

* fix:코드 수정

* fix: SearchResponse isPinned 추가

* fix: SearchResponse에 total 추가

* fix: 페이지 개수 수정

* fix: searchNotice queryDsl 오류 수정

* fix: local 설정 변경

* CICD: 배포 자동화 (#6)

* CICD: Change expose port and added image tag

* CICD: Change ddl-auto to create in prod profile for test

* CICD: Added Deploy github action

* CICD: Merge jobs to one job

* Fix: Change checkout order to first step

* CICD: Add context for docker build action

* Fix: Change spring profile arg position

* CICD: Change openjdk version to 17

* CICD: Change docker compose build image tag to latest

* CICD: Change to use ghcr repository.

* Fix: change list to string in docker push tags.

* Fix: Change registry to ghcr.io

* Fix: change env to pass to github action instead of ssh export command

* Fix: unwrap bracket.

* Fix: wrap Profile with ""

* CICD: Add .env file

* CICD: Change prod ddl-auto to create (for developing), and add TODO comment.

* CICD: Remove cicd/deploy branch for condition.

* feat: 구성원(교수) 수정 및 삭제 API (#9)

* feat: 교수 조회시 최종학력이 앞으로 오게끔 정렬

* feat: 교수 수정 및 삭제 API

* feat: 학력과 경력 엔티티 필드 변경, 수정 API 구현

* feat: 구성원(행정직원) CRUD API (#10)

* feat: 행정직원 엔티티 및 DTO 설계

* feat: 행정직원 CRUD

* feat: 교수 조회시 이름순 정렬

* fix: 교수 연구 분야 Set -> List 로 변경

* feat: 행정직원 주요업무 업데이트 구현

* feat: news 패키지 추가, 디벨롭 및 프론트에 맞게 엔티티 변경 (#12)

* feat: news 패키지 생성

* feat: readNews 생성, news 패키지 추가로 인한 명칭 변경

* feat: createNews, enrollTag(새소식) 추가, news 패키지로 인한 명칭 추가 변경

* feat: updateNews, deleteNews 추가

* fix: searchNotice 관련 명칭 변경

* feat: searchNews 추가

* fix: develop 브랜치 반영, 프론트 요구사항 반영

* feat: readNotice, readNews에 이전글 다음글 추가

* 태그 업데이트 코드 리팩터링중

* refactor: 코드 수정, 이전제목 추가

* fix: 게시글 하나일때 read 가능

* fix: prevNext null 없애기

* fix: 이전글 다음글 null 수정

---------




* hotfix: 사용하지않는 Dto 및 엔티티 삭제 (#14)

---------




* feat: seminar 패키지 추가 (#17)

* feat: createSeminar, readSeminar, updateSeminar 추가

* feat: deleteSeminar, searchSeminar 추가

* fix: distinct 삭제

* hotfix: 불필요한 dto 삭제 (#20)

* hotfix: 불필요한 dto 삭제

* build.gradle 수정

* fix: 이미지 uri 필드 추가 및 프론트 요구사항 반영 (#21)

* feat: 이미지 uri 필드 추가 및 isActive 대신 status 추가

* fix: 행정직원 전체 조회 응답에서 task 삭제

* fix: 교수진 페이지 응답 수정

* feat: introduction 패키지, undergraduate 패키지 추가 (#22)

* feat: createUndergraduate, readUndergraduate 추가

* feat: readAllCourses, createCourse, readCourse 추가

* introduction 패키지 추가

* fix: dto에서 postType 삭제

* fix: postType pathVariable->requestBody 수정, 오타 수정

* fix: 프론트와 협의하여 이름 등 변경

* feat: academics 패키지 대학원도 가능하도록 추가

* feat: 장학제도 세부 장학금 create, read 추가

* fix: 수정

* fix:수정

* feat: admissions, research 패키지 추가 (#23)

* feat: admissions-학부 에서 create, read 추가

* feat: admissions-대학원도 작성 가능하도록 추가

* feat: createResearch 추가

* feat: createLab 추가

* fix: 다른 패키지에 맞게 수정

* research-groups, research-centers에서 read, update 추가

* fix: admissions, research에서 프론트와 협의하여 이름 등 수정

* fix: 오타 수정

* fix: enum 추가, pr 리뷰 반영

* feat: oidc 로그인 (#27)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: idsnucse 다운 되었을때 에러 처리

* feat: idsnucse 다운 되었을때 에러 처리

* feat: cors 설정 (#30)

* fix: cors 추가 설정 (#32)

* feat: cors 설정

* feat: cors 설정

* fix: CORS (#34)

* feat: cors 설정

* feat: cors 설정

* feat: cors 설정

* fix: about, academics, admissions 패키지 수정 (#25)

* fix: admissions, about 컨트롤러 변경

* fix: academics 컨트롤러 수정

* 커밋중

* fix: pr 리뷰 반영

* feat: readMain 추가

* pr 리뷰 반영

* feat: 일반 예약 및 정기 예약 API (#28)

* feat: oidc 로그인

* feat: TaskEntity name 추가

* feat: 배포 설정

* feat: 유저 정보에 학번 추가, 로그인 시 sub claim 확인

* feat: 배포 테스트 위해 redirect-uri 변경

* fix: groups claim 소문자로 수정

* feat: 예약 엔티티 및 DTO 설계

* feat: 일반 예약 및 정기 예약

* feat: 예약 조회 API (#39)

* feat: 권한 관리 위해 커스텀 어노테이션 생성

* feat: 예약 단건, 주별, 월별 조회 API

* fix: 로컬 DB 설정 수정

* feat: 유저 조회 중복 쿼리 방지

* feat: 예약 응답에 recurrenceId 추가

* feat: 동시 예약 방지

* fix: 시큐리티 로그 다시 로컬에서만 보이도록 변경

* feat: 목데이터 날라가지 않도록 ddl-auto 수정

* feat: about, member, news, seminar 메인 이미지 업로드 추가 (#38)

* feat: uploadImage 추가

* feat: about, member 사진 업로드 추가

* feat: news, seminar 사진 업로드 추가

* refactor: imageEntity 추가 리팩토링

* fix: gif 삭제

* fix: application.yaml 수정

* fix: newsService 태그 -> 이미지로 순서 변경

* fix: pr 리뷰 수정

* fix: extension 없애고, mainImage로 바꾸고, uuid 없애기

* fix: var 삭제

---------



* CICD: Change deploy port to 8080 (#40)

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>

* feat: 장학제도 GET API 및 장학제도 페이지 응답 수정 (#44)

* feat: 장학제도 GET API

* feat: 장학제도 메인페이지 GET API 응답 수정

* feat: custom metadata 설정 + 리다이렉트 엔드포인트 변경 (#45)

* feat: yml 파일에 custom metadata endpoint 추가

* feat: 로그인/로그아웃 성공 리다이렉트 엔드포인트 변경

* feat: attachments 패키지 추가, news와 seminar request에 attachments 추가 (#43)

* feat: attachments 추가, news request에 attachments 추가

* feat: seminar request에 attachments 추가

* fix: mappedBy 추가 + bringAttachments null 없앰

* fix: 경로 분리

* fix: isDeleted false로 수정

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* feat: Top Conference List GET API (#47)

* feat: Top Conference List GET API

* feat: db에서 가져올때 정렬

* feat: 파일 서빙, 다운로드, 삭제 API (#48)

* feat: 파일 서빙, 다운로드, 삭제 API

* fix: extension 중복, 경로 수정

* feat: 공지사항 글쓴이 추가 (#49)

* CI/CD: Https 적용 및 백엔드, 데이터베이스, 프록시 서버 배포 분리 (#50)

* Config: Add gitignore for caddy files.

* CICD: Add caddy config file

* CICD: Seperate docker compose file for db and backend server.

* CICD: Docker Compose file for caddy proxy server.

* CICD: Add path condition for only act when source file has changed.

* CICD: Add workflow for deploying database changes.

* CICD: Add workflow for proxy server changes.

* Refactor: Add /api/v1 in front of all endpoints (except swagger-ui)

* Refactor: Add v1 to Main Image url.

* Refactor: change backend, frontend, login redirect uri to get from env.

* CICD: Add url to .env

* Fix: Change job name of database workflow, fix indent level.

* Fix: Remove duplicated restcontroller mapping.

* Fix: Set reverse proxy for swagger-ui/* for swagger.

* Docs: Set swagger to only scan /api/**

* Fix: add caddy to reverse api-docs/* for springdoc.

* Fix: Add login uris for reverse proxying to backend server.

* CICD: Remove testing branch condition.

* CICD: Add logout uri to reverse proxy to backend server.

* CICD: Remove test branch

* fix: 프론트랑 협의하여 내용 변경 + news, seminar에 image, attachments update 추가 (#51)

* feat: attachments 추가, news request에 attachments 추가

* feat: seminar request에 attachments 추가

* feat: about request에 attachments 추가

* feat: academics request에 attachments 추가

* fix: isPinned 삭제

* fix: image -> mainImage 변경, about에 greetings 추가

* fix: news, seminar update 수정

* fix: 전체적으로 image -> mainImage 변경

* fix: research 패키지 프론트에 맞춰 협의 (#52)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* fix: pr 리뷰 수정

* fix: 오타 수정

* [Refactor] 로그인, file uri 배포 환경에 맞게 수정 (#53)

* Refactor: Change mapping of file to append /api/v1 in front.

* Refactor: Change login, logout redirect uri

* fix: https 적용 관련 로그인 수정 (#56)

* fix: notice 패키지 프론트에 맞게 협의 (#54)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* feat: notice에 attachments 추가

* fix: fix_with_front1 변경 사항에 맞게 수정

* feat: isImportant 추가

* feat: NoticeSearchDto에 hasAttachment 추가

* fix: update에서 attachmetnts가 null일 때 빈 목록 반환

* feat: 공지사항 선택 고정해제, 선택 삭제 추가

* fix: news, seminar에 isImportant 추가

* fix: pr 리뷰 수정

* fix: 수정했던거 다시 복구

* feat: 신임교수초빙 (#59)

* feat: 행정실 권한 체크 API (#60)

* [CICD] mainImage, attachment 경로 mount 설정 (#55)

* CICD: Add mainImage, attachment directory for mounting

* CICD: Add volumes to mount with server directory. (for attachment)

* [Feat] 예전 url과 비슷하게 이전 파일(사진)들 접근할 수 있도록 controller 생성 (#58)

* Config: Add oldFiles path for properties.

* Feat: Add deprecated file controller for getting old files temporarily.

* CICD: Add volume mounting for old files.

* CICD: Add dir to mount for old files.

* Refactor: Change api to /sites/default/files/{PATH}

* CICD: Add reverse proxy for old file serving.

* fix: 예약 dto에 지도교수, 반복 횟수 추가 (#61)

* fix: 로그아웃 엔드포인트 변경 (#64)

* fix: 로그아웃 엔드포인트 변경

* fix: 로그아웃 성공 리다이렉트 엔드포인트 변경

* [Fix] Notice, News Description TEXT type으로 변환 (#65)

* Fix: Change notice and news entity description type as TEXT.

* Fix: Change to mediumtext

* fix: newsSearchResponse, seminarSearchResponse 수정 (#66)

* fix: newsSearchResponse 수정

* fix: SeminarSearchResponse 수정

* fix: 오타수정

* fix: 파일 업로드 경로 통일 (#68)

* fix: 갯수만 fetch하도록 최적화 (#70)

* Fix: Change type of additionalNote column on SeminarEntity to "TEXT" (#71)

* fix: academics 패키지 프론트에 맞춰 협의, admin 패키지 추가 (#69)

* fix: professor, staff에 uploadImage 추가

* fix: research에서 isPublic 제거, feat: lab에서 attachments 추가

* fix: attachments -> attachmentResponses 변경

* feat: LabProfessorResponse 추가

* fix: pdf를 list가 아닌 단일항목으로 수정

* feat: readLab 추가

* feat: ResearchLabReponse 추가 및 주석 삭제

* fix: researchDetail에 사진, 첨부파일 업로드 추가

* feat: notice에 attachments 추가

* fix: fix_with_front1 변경 사항에 맞게 수정

* feat: isImportant 추가

* feat: NoticeSearchDto에 hasAttachment 추가

* fix: update에서 attachmetnts가 null일 때 빈 목록 반환

* feat: 공지사항 선택 고정해제, 선택 삭제 추가

* fix: news, seminar에 isImportant 추가

* fix: pr 리뷰 수정

* fix: 수정했던거 다시 복구

* fix: course response 수정

* feat: academics에서 연도별로 주는 response 추가

* feat: academics YearResponses 추가

* fix: createScholarship 합치기

* fix: scholarship 패키지의 내용을 academics 하위로 옮김

* feat: createScholarshipDetail 추가

* fix: 필수 교양과목 response 변경

* feat: admin 패키지에서 readAllSlides 추가

* feat: admin 패키지 readAllImportants 추가

* feat: admin 패키지 중요안내 추가

* Refactor: HTML로부터 텍스트 추출 함수 Utils로 이동 (#73)

* Feat: Add cleanTextFromHtml.

* Refactor: Remove private clean method, replace to Utils.cleanTextFromHtml.

* Refactor: Remove unused imports.

* Feat: Add plain text description for notice (#74)

* Feat: Add cleanTextFromHtml.

* Refactor: Remove private clean method, replace to Utils.cleanTextFromHtml.

* Refactor: Remove unused imports.

* Feat: Add plainTextDescription.

* Feat: Add plainTextDescription in createNotice.

* Feat: add updating plainTextDescription when updating description.

* fix: admissions 패키지 프론트에 맞게 협의 (#76)

* fix: admissions 프론트에 맞게 협의

* fix: seminarEntity time 삭제

* fix: admissionsEntity pageName 추가

* fix: 불필요한 파일 삭제

* 커밋

* fix: 이전 글 다음 글만 fetch 하도록 쿼리 최적화 (#75)

* fix: 이전 글 다음 글만 fetch 하도록 쿼리 최적화

* fix: distinct 수정

* fix: 쿼리 최적화

* fix: total Long 타입으로 수정

* CI/CD: Test 설정 (#77)

* Config: Add kotest, mockk, h2 db for testing.

* Config: Add test profile.

* Config: Add testconfig for jpaqueryfactory.

* CICD: Add build, test workflow

* Fix: Revert local datasource url change.

* [Test] Notice create, update 시 plainTextDescription 동작 테스트 (#78)

* Config: Add test profile.

* Test: Add Tests for Create, Update Notice, in perspective of plainTextDescription

* Fix: Change life cycle hook resolution to container.

* [Feat] Seminar plain text field 추가 (#79)

* Feat: Add plain text column for description, introduction, additionalnote.

* Feat: Add description, introduction, additionalnote for dto -> entity.

* Feat: Change to update plain description, introduction, additional note.

* Feat: Use plainTextDesription for searchdto.

* Test: Test for create, update of plain texts.

* Test: Fix seminar service test.

* Feat: News plain text field 추가 (#80)

* Feat: Add plainTextDescription field for news entity

* Feat: Add to create, and update plainTextDescription.

* Feat: Change to use plainTextDescription when making newssearchdto.

* Test: Test for create/update plainTextDescription.

* Feat: 구성원 검색 위한 table 추가. (#81)

* Feat: MemberSearchEntity 추가.

* Feat: MemberSearchRepository 추가

* Feat: MemberSearchService 추가

* Feat: ProfessorEntity, StaffEntity에 MemberSearch 추가.

* Feat: ProfessorStatus에 한글 값 추가.

* Feat: professor create, update 시 memberSearch도 반영하도록 추가.

* Feat: seminar create, update 시 memberSearch도 반영하도록 추가.

* Test: ProfessorService 테스트 추가.

* Test: StaffServiceTest 추가.

* fix: 새소식 세미나 쿼리 수정 (#82)

* refactor: 유틸 패키지 생성 및 FixedPageRequest 분리

* feat: 새소식 세미나 이전 다음 글 및 total 쿼리 최적화

* fix: pageNum 값으로 usePageBtn 값 설정

* fix: import 경로 수정

* fix: local db port 3306

* 중복 삭제

* fix: prod endpoint https로 변경

* fix: main 프론트에 맞게 협의, notice 태그 enum 추가 (#83)

* fix: mainResponse 다시 작성

* feat: TagInNoticeEnum 추가

* feat: notice enum 추가

* fix: 코드 수정

* fix: isPublic -> isPrivate으로 정리 (#86)

* fix: rebase 정리

* fix: 오타 수정

* feat: 로컬 로그인 테스트용 엔드포인트로 임시 변경 (#87)

* Feat: 구성원 검색 API 추가 (#85)

* Feat: Add mysql custom dialect with MATCH AGAINST BOOLEAN MODE function.

* CICD: Add config for mysql db

* CICD: Add volumes for config file.

* CICD: Add db_config for condition for db deploy

* Feat: Add search top, and search query.

* Feat: Add DTOs

* Feat: Add Controller for member search only top, and page.

* Feat: Add dialect config for application.yaml

* Feat: Add controller for member search.

* Refactor: Change exception message to korean.

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>

* fix: 세미나 시간 타입 변경 (#91)

* fix: 세미나 시간 LocalDateTime으로 변경

* test: 테스트 수정

* fix: 태그 항목 수정 (#92)

* fix: news tag 추가 (#90)

* fix: news tag 추가

* fix: 일반인은 isPrivate = false인 것만, 직원은 모든 게시글 보여주기

* feat: 졸업생 창업 진로, 졸업생 진로 response 추가 (#94)

* fix: news tag 추가

* fix: 일반인은 isPrivate = false인 것만, 직원은 모든 게시글 보여주기

* feat: about  졸업생 read 추가

* fix: 오타 수정

* fix: conference 주소 추가 (#95)

* Feat: 연구 탭 통합검색 위한 Table 생성. (#97)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Fix: Fix typo, import library.

* Feat: Lab Update API 추가 (#98)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Feat: Add update method for labentity.

* Feat: Add update lab service.

* Feat: Add update lab controller.

* Test: Add ResearchServiceTest.

* Feat: Add deleteAttachment (marking)

* Fix: Add typo, add import library.

* Feat: Conference page 수정 API (#99)

* Feat: Add Controller for member search only top, and page.

* Feat: Add ResearchSearchEntity, and entry for conference, research, lab entity.

* Feat: For research create/update, lab create, add updating researchsearch.

* Feat: Add empty repository and service for ResearchSearch

* Feat: Add update method for labentity.

* Feat: Add update lab service.

* Feat: Add update lab controller.

* Test: Add ResearchServiceTest.

* Feat: Add Conference Repository.

* Feat: add conferenc eentity method for create, update entity.

* Feat: Change variables to mutable.

* Feat: Add id in conferencedto.

* Feat: Add to sort the conferenceList.

* Feat: Add deleteAttachment (marking)

* Feat add service to modify conference page (create, modify, delete conferences)

* Feat: Add api for modify conference page.

* Test: Add test for conference service.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 파일 관련 수정 (#100)

* fix: 업로드 파일 사이즈 제한

* fix: 원본 첨부파일 이름으로 응답

* refactor: 세미나 업데이트 시 삭제할 첨부파일 id만 받도록 변경

* fix: 파일 api 경로 수정

* fix: deleteAttachment

* fix: GET notice 권한 관련 로직 수정 (#101)

* Refactor: Extract Full Text Query Template to CommonRepository (#102)

* Feat: Extract full text search template to common repository.

* Feat: Change full text search to use extracted repository.

* Feat: Add for 4 elements.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Notice Seminar News Search to Full Text Query (#105)

* Feat: Extract full text search template to common repository.

* Feat: Change full text search to use extracted repository.

* Feat: Add for 4 elements.

* Feat: Add more args cnt.

* Feat: Change keyword boolean builder to full text.

* Feat: Change keyword boolean builder to full text.

* Feat: Change keyword boolean builder to full text.

* Hotfix: Change mount volume. (#103)

* feat: api 권한 설정 (#84)

* fix: GET notice 권한 관련 로직 수정 (#109)

* fix: 필요한 column만 select (#111)

* refactor: 공지 태그 응답 한국어로 변경 및 리팩토링 (#113)

* refactor: 공지 태그 응답 한국어로 수정 및 리팩토링

* refactor: 새소식 태그 리팩토링

* fix: NewsRepository

* fix: 공지 새소식 PATCH 로직 수정 (#114)

* fix: 공지 새소식 PATCH 로직 수정

* test: 테스트 수정

* fix: news 엔티티에 날짜 추가 (#115)

* Feat: 검색 결과에서 keyword 위치, 적절한 substring 추출 위한 method 추가 (#116)

* Feat: Add utils substringAroundKeyword

* Test: Add test for Utils.kt

* fix: total 더미 값 + pageNum null일때만 더미 값 주기 (#117)

* fix: 예약 조회 권한 분리 및 응답 단순화 (#119)

* fix: 예약 단건 조회 권한 분리

* feat: 월별,주별 조회용 SimpleReservationDto

* fix: 로그인 리다이렉트 엔드포인트 복구 (#121)

* feat: migrateAbout, migrateFutureCareers 추가 (#118)

* feat: AboutRequest, migrateAbout 추가

* feat: future-careers 마이그레이션 추가

* feat: request 패키지 추가

* fix: AboutRequest 간소화

* fix: future-careers description aboutEntity에 저장

* feat: about 패키지 마이그레이션 추가 (#120)

* feat: AboutRequest, migrateAbout 추가

* feat: future-careers 마이그레이션 추가

* feat: request 패키지 추가

* fix: 불필요한 dto 삭제

* feat: migrateStudentClubs 추가

* feat: migrateFacilities 추가

* feat: migrateDirections 추가

* fix: 불필요한 dto 삭제

* fix: request 패키지 삭제

* fix: 오타 수정

* fix: news, notice에 titleForMain 추가 (#125)

* fix: 소식3총사 titleForMain 데이터 생성

* fix: 테스트에 titleForMain  추가

* Revert "fix: 테스트에 titleForMain  추가"

This reverts commit e824ad34e60e0785f1d4c4e187776d4b8bf53dfa.

* fix: 테스트에 titleForMain 추가

* fix: seminar titleForMain 추가

* fix: seminar test titleForMain 추가

* feat: LocalDateTime 응답 마지막에 Z 추가 (#126)

* refactor: deleteIds request 내부로 이동 (#127)

* refactor: deleteIds request 내부로 이동

* test: 테스트 수정

* fix: 확장자 중복 버그 (#128)

* feat: 관리자는 새소식, 세미나 목록에서 비공개 글 확인 가능 (#129)

* feat: research, member 패키지 migrate 추가 (#130)

* feat: migrateProfessors 추가

* feat: migrateResearchDetail 추가

* feat: migrateLabs 추가

* fix: migrate 엔티티 description에 mediumText 추가

* feat: migrateStaff 추가

* fix: 빠진거 수정

* fix: 중복 패키지 삭제

* fix: 너무 안긴거 text로 수정

* fix: noticeSearchDto에도 private 추가 (#131)

* fix: noticeSearchDto에도 private 추가

* fix: json 추가

* fix: 수정 및 추가

* fix: 수정

* Fix: 키워드 추출 함수 수정 (#122)

* Fix: Fix IndexOutOfBoundException, change to return index based on substring.

* Fix: Change to check index exclude case, and set front, back index to better contains keyword.

* Test: Update Test.

* Feat: 통합검색 Notice API 구현 (#123)

* Feat: Add dtos for notice total search.

* Feat: Add repository for notice total search.

* Feat: Add service, controller for notice total search

* Feat: News 통합 검색 API 구현 (#124)

* Feat: Add dto for total search of news.

* Feat: Add repository for total search.

* Feat: Add service, controller for news total search.

* Fix: Fix conflict issues.

* fix: 기존 objectMapper 설정 오버라이드 (#132)

* feat: 파일 업로드 컨트롤러 구현 (#133)

* Feat: Change titleForMain column to TEXT type. (#134)

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* hotfix: mixed content issue (#136)

* hotfix: loginPage to https (#139)

* hotfix: mixed content issue

* hotfix: loginPage

* fix: false로 수정 (#141)

* fix: 이전 다음 글에서 비공개 글 제외 (#143)

* fix: 이전 다음글 비공개 제외

* fix: prev-next

* CBT 위해서 예약 GET 권한체크 주석처리

* Feat: 뉴스 날짜로 정렬 (#144)

* Feat: Change date field to NOT NULLABLE.

* Feat: Change to sort by date, not createdat.

* Test: Fix test.

* Test: Move news test dir.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Add description for slide. (#146)

* style: ktlint (#145)

* style: ktlint

* Feat: change to ktlint_disabled_rules

* Refactor: fix to lint using ktlint.

* Refactor: After merge.

* Fix: After merge.

* Refactor: ReReLint

---------

Co-authored-by: huGgW <whjoon0225@naver.com>

* fix: 텍스트 인코딩 (#147)

* fix: content-dispostion

* fix: 텍스트 인코딩

* fix: 강제 다운로드

* style: ktlint

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* Update ktlint-check.yml

* fix: 중요 안내 (#149)

* fix: 삭제된 글 중요 안내에서 보이지 않도록 수정

* fix: 중요 안내 최대 2개만 보내도록 + plainTextDescription

* style: ktlint

* fix: 첨부파일 다운로드 (#154)

* Feat: 관리자 슬라이드에 total 추가, refactoring (#153)

* Feat: Change dto name, and add total to AdminSlidesResponse.

* Feat: Add pageSize as parameter.

* Feat: move readAllSlides to news repository, add total query.

* Feat: Extract getNewsEntityByIdOrThrow

* Feat: Move readAllSlides and unSlideManyNews logic handling to news service.

* Comment: Add comment for refactoring.

* Test: Add test for read all slides.

* Refactor: Linting.

* Feat: Change pageNum to start at 1.

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 세미나 isYearLast 로직 수정 (#155)

* fix: 세미나 isYearFirst 로직 수정

* fix: isYearLast로 재변경 및 로직 수정

* fix: 이전글 다음 글 isDelete,isPrivate 조건 추가 (#151)

* fix: 이전글 다음 글 isDelete 추가

* fix: ktlint 수정

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* fix: 메인 공지 정렬 (#158)

* fix: 예약 조회 권한 수정 (#157)

* Feat: 통합검색 정렬 최신순 (#156)

* Feat: Admin Important에 pagination 추가, total 추가. (#159)

* fix: titleForMain이 없어도 isImportant 등록 가능 (#160)

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: em.close() 추가 (#162)

* fix: em.close() 추가

* fix: total에도 추가

* feat: migrateConference 추가 (#164)

* feat: migrateConferences 추가

* fix: 수정

* fix: 수정

* fix: 검색 추가

* fix: createConferenceDto 삭제

* CICD: Add blocking backend api except frontend. (#166)

* CICD: Add blocking backend api except frontend.

* CICD: Remove login, logout, file api from blacklist.

* CICD: Change to just block swagger apis.

* fix: group 변경 반영 (#167)

* refactor: 실제 스누씨 서버 연동 (#168)

* refactor: local-test 중복 항목 공통으로 처리하고 prod에서 오버라이드

* feat: 스누씨 실서버용 환경 변수 설정

* refactor: 로그인 페이지 통합 및 CORS 설정 변경

* fix: CORS

* feat: migrateAdmissions 추가 (#165)

* fix: migrateAdmissions 추가

* fix: 잘못 쓴거 수정

---------

Co-authored-by: Junhyeong Kim <indiv0227@snu.ac.kr>

* Feat: Increase speakerurl size (#170)

* fix: 로컬에서도 idsnucse로 연결 (#174)

* fix: 로컬에서도 idsnucse 바라보게끔 변경

* fix: test에서 idsnucse 접근 x

* Revert "fix: test에서 idsnucse 접근 x"

This reverts commit cf526452abdc629b433efe701c9fd6ff60893f1e.

* Fix: move local security settings to local, not global.

* Fix: Disable SecurityConfig on "test" profile

---------

Co-authored-by: huGgW <whjoon0225@naver.com>

* feat: Research 검색 (#175)

* fix: 로컬에서도 idsnucse 바라보게끔 변경

* feat: enable async.

* Feat: create professor event.

* Feat: Publish event on professor modification.

* Feat: Update research search when listen professor event.

* Test: ResearchSearchService listen professor event

* fix: test에서 idsnucse 접근 x

* Revert "fix: test에서 idsnucse 접근 x"

This reverts commit cf526452abdc629b433efe701c9fd6ff60893f1e.

* Fix: fixed event listener logic

* Feat: Add search api for research.

* Test: Fix test.

* Fix: move local security settings to local, not global.

* Fix: Disable SecurityConfig on "test" profile

---------

Co-authored-by: leeeryboy <indiv0227@snu.ac.kr>

* feat: staff 검색 기능 추가 (#176)

* Feat: 학사 및 교과 검색 기능 추가 (#177)

* Revert "fix: test에서 idsnucse 접근 x"

This reverts commit cf526452abdc629b433efe701c9fd6ff60893f1e.

* Fix: move local security settings to local, not global.

* Feat: AcademicsStudentType에 값 지정.

* Feat: AcademicsSearchEntity 추가

* Feat: 각 entity에 search 관계 추가

* Feat: 각 entity create하는 서비스 method에 search entity도 생성하도록 추가.

* Feat: Add academicsSearchRepository

* Feat: Add dto for search

* Refactor: Make name field of academics non null

* Feat: Add exchangePageNum to utils.

* Feat: Add academics search service

* Feat: Add search api for academics.

* Feat: add validation code for utils.exchangePageNum

* Test: Add testcode for exchangePageNum

* REfactor: Add transactional readonly for readGeneralStudies

* fix: apply newacademics to use after saved cached entity.

* fix: fix to add target enitity when create of search entity is called.

* refactor: add default values for nullable values.

* Temp: test code, should be fixed h2 issue.

---------

Co-authored-by: leeeryboy <indiv0227@snu.ac.kr>

* Fix: Research 검색에서 html 태그 없이 검색되도록 설정 (#178)

* Fix: Change createContent to remove html tags on description.

* Test: Update to check removing html tags.

* Feat/add language field (#180)

* feat: 엔티티, dto에 language 추가

* feat: read에 language 추가

* fix: ktlint 수정

* fix: languageRepository 삭제, 함수 enum 클래스로 이동

* fix: language pathVariable -> requestParam 변경 && engName 추가 삭제

* fix: dto 소문자로 return하기 enum 함수로 넣어주기

* fix: requestParam defaultValue 추가

* Refactor: Admission 언어 추가 및 리팩터링 진행 (#182)

* Feat: Move type to type dir, and add main type enum.

* Refactor: Add request body for create, and changed migrate elem body.

* Feat: Change pagename -> name, add language and mainType column, add unique constraints.

* Refactor: Remove unused request dto.

* Refactor: Change AdmissionsDto by adding columns, to be able to used as pure dto.

* Feat: Change to more specific search query.

* Feat: Change multiple methods to few methods, by using mainType.

* Feat: Change to few controller by using mainType, and use request bodies instead of dto.

* Test: AdmissionsServiceTest

* Fix: Add mapping path variable.

* Fix: Fix replacing logic.

* feat: academics 패키지에 language field 추가 (#181)

* feat: 엔티티, dto에 language 추가

* feat: read에 language 추가

* feat: academics에 language field 추가

* fix: ktlint 수정

* feat: course 엔티티에 language field 추가

* feat: readCourse에 language parameter 추가

* fix: languageRepository 삭제, 함수 enum 클래스 이동, academicsEntity name 속성 nullable 추가

* fix: requestParam+defaultValue 추가,

* fix: academics name nullable 없앰

* feat: staff에 language, migration 방법 추가 (#183)

* feat: staffEntity에 language 추가

* feat: branch 이름 변경

* fix: branch origin 이름 변경

* feat: staff 읽기, 수정에서 language 속성 추가

* feat: migrateStaffImage 추가

* fix: StaffServiceTest 수정

* Feat: Admission 검색 (#184)

* Feat: Add korean, english section name.

* Feat: add searchContent column for saving index.

* Feat: Add search query repository method.

* Feat: Define dto of search result element.

* Feat: Add search Top Admission method, and add migrate method creating search content.

* Feat: Add search top admissions method to controller.

* Test: Add test for Admission Service.

* Refactor: Remove Location Entity (#186)

* feat: member/research 패키지 이미지와 첨부파일 마이그레이션 코드 작성 (#185)

* feat: migrateProfessorImage 추가

* feat: migrateResearchImageAndAttachments 추가

* feat: migrateStaffImage 추가

* feat: migrateLabPdf 추가

* feat: about에서 이미지랑 첨부파일 추가 (#187)

* feat: migrateProfessorImage 추가

* feat: migrateResearchImageAndAttachments 추가

* feat: migrateStaffImage 추가

* feat: migrateLabPdf 추가

* feat: about에서 이미지랑 첨부파일 추가

* feat: dev 로그인 (#188)

* dev서버 로그인 바이패스

* style: ktlint

* fix: mock auth config 분리

* fix: uri 수정

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: professor language 추가 (#189)

* fix: professor language 추가

* feat: professor 테스트 추가

* feat: professor language 다른 테스트에도 추가

* feat: 테스트 알맞게 수정

* Feature: About 검색 추가 (#192)

* Feat: Change to create search content.

* Feat: Add search query method.

* Feat: Add create, migrate to create searchContent, and add search method.

* Feat: add search api

* COMMENT: add fix comment for aboutservicetest.

* Refactor: Move dtos to ee directory.

* Feat: Add validation for number, pagesize, pagenum

* feat: research 패키지에 language 추가 (#194)

* fix: professor language 추가

* feat: professor 테스트 추가

* feat: professor language 다른 테스트에도 추가

* feat: 테스트 알맞게 수정

* feat: researchDetail에 language 추가

* feat: lab에 language 추가

* fix: about, admission migrate search todo 추가

* Refactor: Admission 검색 리펙터링 (#193)

* Refactor: Merge queries into one.

* Refactor: Add page search method.

* Refactor: Add total count.

* Refactor: change to search page or search top.

* feat: academics 패키지 마이그레이션 추가 (#195)

* fix: professor language 추가

* feat: professor 테스트 추가

* feat: professor language 다른 테스트에도 추가

* feat: 테스트 알맞게 수정

* feat: researchDetail에 language 추가

* feat: lab에 language 추가

* fix: about, admission migrate search todo 추가

* fix: course migrate 추가

* fix: conference, scholarship language 추가

* fix: migrate academics, scholarship 추가

* fix: migrate academics attachments 추가

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: ktlint 정리

* fix: ktlint 정리 2

* fix: 실수로 삭제한 코드 복구

* Refactor: Member Search (#197)

* feat: professor 테스트 추가

* feat: 테스트 알맞게 수정

* fix: about, admission migrate search todo 추가

* Fix: Add commented authentication.

* Feat: Add language field to search entity

* Feat: Add language in search condition, remove duplicated exchangePageNum, Merge search queries

* Feat: Change res body dir, merge two seperate body into one, add language field

* Feat: Change return body, repository method useing.

* Feat: Add language query parameter, change response body.

* Test: Check language of search.

* Refactor: Change res body results key as "results"

* Refactor: Remove unneeded transactional on interface.

---------

Co-authored-by: DESKTOP-USQPRVG\gram <blueland1998@naver.com>

* feat: getMapping에 language requestParam 추가 (#198)

* fix: academics 패키지 get에 language 추가

* fix: professor 패키지 get에 language 추가

* fix: research 패키지 get에 language 추가

* feat: academics 패키지 이름에 맞게 변경 (#199)

* feat: add readDegreeRequirements

* feat: readGeneralRequirements 삭제, readDegreeRequirements 추가

* feat: AcademicsEntity time 칼럼 삭제

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* Refactor: academics search (#200)

* Refactor: research search (#201)

* fix: pageSize 추가 (#203)

* fix: pageSize 쿼리 파라미터 추가

* 함수 인자에서 defaultValue 지정

* fix: 인증 로직 수정 (#206)

* fix: mock-login 위해서 인증 로직 수정

* add v1 to uri

* fix: migrateConferences에서 authenticatedStaff 삭제 (#204)

* fix: simpleProfessorDto에서 status 추가 (#205)

* fix: readDegreeRequirements에 파일 보이도록 추가 (#209)

* fix: StudentClubDto에 engName 추가 (#210)

* fix: researchEntity에 websiteURL 추가 (#211)

* fix: researchEntity에 websiteURL 추가

* fix: ProfessorServiceTest 수정

* Fix: `exchangepageNum`에서 total이 0일 경우 케이스 추가. (#213)

* Fix: Add condition that when total is 0 return pageNum as 1

* Refactor: Rename method name to be more clear.

* Refactor: Remove not needed duplicated conditional check.

* Test: Add test for exchangeValidPageNum for checking when total = 0

* fix: readGeneralStudiesRequirements 추가 (#212)

* fix: readGeneralStudiesRequirements 추가

* fix: readGeneralStudiesRequirements 프론트 협의사항에 따라 수정

* fix: DegreeRequirementsDto description 삭제

* AcademicsPostType 타입 이름 주석 추가

* Fix: Notice 비밀글 표시 안되도록 수정 (#216)

* Feat: Add FindByIdAndIsPrivateFalse

* Fix: Change totalSearchNotice to get isStaff and hide private when not a staff.

* Fix: Change searchTotalNotice and readNotice to consider isStaff.

* Fix: Change totalSearchNotice and readNotice to check authentication and get staff info.

* fix: readFutureCareers에 description 수정 (#214)

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: 파일 크기 100MB로 늘림

* Feat: Research 검색 결과 research 타입 상세화 (#218)

* Refactor: Remove unused method

* Comment: Add comment

* Feat: Add specific research types to enum

* Feat: Change to give more specified enum when it is research related column.

* Refactor: Remove unused LAB entry from Research.

* fix: pdf 타입 AttachmentResponse로 변경 (#220)

* Feat: Add more type to academic. (#221)

* Fix: Change partialDescription to give with searchContent. (without html, all fields) (#222)

* fix: 단건 조회 & 통합 검색 권한 체크 (#217)

* fix: private 단건 조회 권한 체크

* Fix: Notice 비밀글 표시 안되도록 수정 (#216)

* Feat: Add FindByIdAndIsPrivateFalse

* Fix: Change totalSearchNotice to get isStaff and hide private when not a staff.

* Fix: Change searchTotalNotice and readNotice to consider isStaff.

* Fix: Change totalSearchNotice and readNotice to check authentication and get staff info.

* fix: newsTotalSearch 권한 체크

* style: ktlint

---------

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* Fix: Formatting issue.

* Fix: Add studentType for all academic search result. (#224)

* Config: Spring Boot 3.2, Java 21로 업그레이드, Virtual Thread 적용 (#223)

* Fix: add join condition for news total search (#226)

* Feat: Spring Boot 서버에서 Error 발생 시 Slack으로 로그 전송 기능 추가 (#228)

* Dependency: Add slack appender

* Config: Add slack appender for sending error log to slack.

* Config: Add slack api info when making env file.

* Feat: Add to logging error for SQLIntegrityConstraintViolationException and RESTClientException

* Config: Update gradle wrapper

* feat: 학부 총괄 행정직원 맨 앞으로 이동 (#232)

* feat: 한글 이름 우선순위 정렬 (#235)

* feat: 한글 이름 우선순위 정렬

* refactor: 유틸 함수 분리

* Feat: 게시물 제외 통합검색에 사용되는 field들 refersh하는 API 추가 (#236)

* Feat: Add refresh search event

* Feat: Add api for trigger refresh search indexes.

* Feat: Add refresh search event listener for about entity.

* Feat: Add refresh search event listener for academics entity.

* Feat: Add refresh search event listener for admission entity.

* Feat: Add refresh search event listener for member entity.

* Feat: Add refresh search event listener for research entity.

* Fix: Change transactional propagation as REQUIRES_NEW for about's refresh event listener.

* style: ktlint

---------

Co-authored-by: Junhyeong Kim <leeeryboy@gmail.com>
Co-authored-by: leeeryboy <indiv0227@snu.ac.kr>

* delete image thumbnail logic (#237)

* Fix: Fill "mappedBy" information for remove about_attachments table. (#239)

* CICD: 배포, 개발계 분리 적용 (#238)

* CICD: Add dev deployment workflow

* Refactor: Remove unused comments

* Config: Add dev profile

* CICD: Add ssh port for production deploy environment

* Config: Change slack message format to more readable

* fix: course 띄어쓰기 그대로 유지 (#241)

* prod에서 mock-login 삭제 (#242)

* feat: mock login api only for profile dev

* feat: delete mock login api in prod

* fix: 교수 정렬 (#243)

* Refactor: Move languagetype from properties from enums (#244)

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>

* fix: stat year 2050년까지 확장 (#245)

* fix: stat year 2050년까지 확장

* fix: 쿼리 수정

* fix: adjust max thread and pool size (#246)

* Feat: 공지, 새소식, 세미나 정렬 옵션 추가 (#247)

* Refactor: Move languagetype from properties from enums

* Feat: Add sort order type for content search (notice, news, seminar)

* Feat: Add sort option for news search.

* Feat: Add sort option for notice search.

* Feat: Add sort option for seminar search.

* Fix: Handle for empty keyword.

---------

Co-authored-by: Junhyeong Kim <leeeryboy@gmail.com>

* CICD: env 파일 분리, 서버 docker image tag 분리 (#248)

* CICD: Seperate docker image tag of prod, dev, rename env

* CICD: Change env name of db

* CICD: Change env name of proxy

* CICD: Remove unused latest tag

---------

Co-authored-by: Junhyeong Kim <leeeryboy@gmail.com>

* feat: 개인정보 동의 여부 기록 (#250)

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* Fix: fix merge conflict

* Fix: give 0.0 to score when keyword is null or empty on notice. (#254)

* CICD: Disable auto https redirect. (#256)

* CICD: Revert to enable redirect

* fix: sort labs (#258)

* fix: idsnucse prod 설정 분리 (#260)

* fix: idsnucse prod

* fix: 환경변수 이름

* Config: Disable migrate on profile prod. (#262)

* Config: Disable migrate on profile prod.

* Config: Disable refresh search on profile prod.

* fix: adjust max thread and pool size (#264)

* Feat: 검색 refresh api 로컬에서 접근 가능하도록 변경 (#265)

* Feat: Change refresh search api available at prod profile

* Config: Block refresh api from proxy.

* Config: Remove unused reverse proxy of swagger, api docs.

* fix: sort seminar (#267)

Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>

* fix: 교양 교과과정 변경 내역 삭제 (#268)

* Config: 로그 파일 저장 추가, 항목 추가 (#266)

* Config: Add async file log appender for dev, prod env

* Config: Set log to show servlet, security, sql info for all profile.

* CICD: Mount log directory.

* Fix: Fix property

* Fix: Extract and set log file name and base property for all profiles.

* Update docker-compose-backend.yml (#269)

* fix: subtract 9 hours to start to convert it to UTC (#270)

* fix: readDegreeRequirements response 행정실 요구사항에 맞게 수정 (#272)

* fix: readDegreeRequirements response 행정실 요구사항에 맞게 수정

* fix: 주석 삭제

* Feat: 검색 refresh api 로컬에서 접근 가능하도록 변경

* tcl 관련 수정 (#274)

* fix: 인정 IF 필드 추가

* fix: code 없는 컨퍼런스 후순위로 조정

* test 수정

* 영문 페이지 LastName 기준 정렬 (#276)

* TCL 코드, 인정IF 삭제 및 이름 순 정렬 (#278)

* TCL 코드, 인정IF 삭제 및 이름 순 정렬

* style: ktlint

* test 수정

* style: ktlint

* feat: id list api for seo (#279)

---------

Co-authored-by: Jo Seonggyu <blueland1998@snu.ac.kr>
Co-authored-by: 우혁준 (HyukJoon Woo) <whjoon0225@naver.com>
Co-authored-by: DESKTOP-USQPRVG\gram <blueland1998@naver.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants