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

비정기배포 #747

Merged
merged 18 commits into from
Sep 6, 2023
Merged

비정기배포 #747

merged 18 commits into from
Sep 6, 2023

Conversation

jimin52
Copy link
Member

@jimin52 jimin52 commented Sep 6, 2023

비정기 배포입니다.

무지성 배포이긴 하지만 로컬과 개발 DB 에서는 잘 돌아갔습니다.

주된 기능은 검색 개선 기능 추가입니다

scarf005 and others added 18 commits August 31, 2023 13:01
* feat: 메타데이터 페이지네이션

* feat: GET reviews

* build: 자동 배포 명령어
* feat: 한글 분해를 위한 hangul 패키지 추가

* feat: 검색시 검색어를 저장하는 함수 추가

* feat: 책 정보 검색 조건 확장 및 검색시 검색어 저장

* refactor: 검색 조건문에서 query 변수 제외

* chore: console 삭제
* feat: bookInfoSearchKeyword 엔티티 추가

* feat: bookInfoSearchKeyword 리포지토리 및 create 함수 추가

* feat: 책 등록 시 bookInfoSearchKeyword 저장
* feat: 42 API 필터 조건 추가

- cursus id가 21이 포함된 프로젝트만 가져오도록 수정

* docs: 불필요한 파일 제거 및 파일 양식 변경

* docs: 파일 삭제 취소 및 양식 변경

* docs: 프로젝트 이름 대신 id를 저장

* feat: Project 타입에 updated_at 추가

* style: 오타 수정

* feat(books): 사용자의 프로젝트 id 가져오는 서비스 추가

- cursus_info.json 파일을 읽어와, 사용자의 프로젝트가 속한 서클 번호 읽어오는 함수 추가
- 사용자의 프로젝트 정보를 읽고, 추천할 도서의 프로젝트 id를 반환하는 함수 추가

* feat: 추천 도서에 사용할 프로젝트 id값 받아오는 서비스 함수 호출

* fix: BookService로부터 서비스 함수 호출

* docs(books): json 파일 변경

- books_with_cursus_info.json 이름 변경
- projects_info.json 파일 내 여러 리스트를 하나의 리스트로 합치기

* feat(books): DTO 추가

- 프로젝트의 정보를 담은 ProjectInfo 타입 추가
- books_with_project_info.json을 나타내는 BooksWithProjectInfo 타입 추가
- 응답 값을 담을 BookListWithSubject 타입 추가

* refactor(cursus): 타입 명시

* feat(books): 로그인 한 사용자의 첫 도서 추천 화면 구현

- 컨트롤러 구현
- 서비스 구현
- 레포지토리 구현

* refactor: API 분리

* style: 오타 수정

* feat(cursus): /cursus/recommend/books API 변경

- path params의 type 삭제
- path params의 circleOrSubject를 project로 변경
- 도서 목록 키 값 bookList에서 items로 변경
- meta에 사용자 맞춤 정보를 담은 "사용자 맞춤" 추가
- 불필요한 에러 응답 제거

* feat(cursus): /assets의 세 개의 파일을 읽어오는 readFile 추가

- /asset의 세 파일을 읽어와 내용을 저장하는 전역 변수 정의
- /assets의 세 파일을 읽어오는 함수 구현

* refactor(cursus): DTO 타입 이름 변경

- RawProject -> UserProjectFrom42
- Project -> UserProject
- BookListWithSubject -> RecommendedBook

* feat(cursus): meta의 0번째 인덱스 아이템 추가

- meta의 0번째 인덱스에 추천 도서를 나타내는 아이템 추가

* refactor(cursus): list의 중복 제거 단순화

* refactor(cursus): 지역변수 정리

* refactor(cursus): 변수 및 함수명 변경

- bookIds -> bookInfoIds
- getRecommendedBookIds -> getRecommendedBookInfoIds

* feat(cursus): 프로젝트 이름으로 추천 도서 검색하는 기능 추가

- 컨트롤러 추가
- 서비스 추가

* refactor(cursus): 누락된 return 추가

* fix(cursus): errorCode가 null로 보이는 것 수정

* style(cursus): 주석 및 사용하지 않는 import 삭제

* style(cursus): import 경로를 절대 경로로 변경

* fix: roleset.all에서 미인증 유저가 포함된 경우 처리

미인증 유저가 authvalidate를 호출하면 401에러 대신 user 정보를 모두 null로 채워서 반환

* fix(cursus): 미인증 유저가 프로젝트 조회할 때 빈 배열이 반환되는 것 수정

* feat(cursus): 셔플 추가

- 미인증 유저가 모든 프로젝트에 대해 추천 도서를 검색할 때, 결과를 셔플하여 보여줌

* style: 불필요한 import 삭제
* feat: 검색결과 미리보기

- router, controller 추가
- service, swagger는추가하지 않은 상태

* feat: 검색결과 미리보기 1차 구현 (swagger 없음,  controller에서만 처리 중)

* feat: total count 결과 포함, id 는 book_info_id로 변환, 안쓰는 코드 제거

* feat: add swagger

* refactor: controller에 있던 sql query service로 분리

* chore: 주석 제거
* build: 개발 서버용 컴포즈 파일

* fix: localhost https 허용

* build(docker): 필요 없는 파일과 의존성 제거

* fix: 42 api 허용

* fix: https 모드
* refactor: BookInfo와 BookInfoSearchKeywords 엔티티 양방향 관계로 변경

* feat: SearchKeywords와 SearchLog 엔티티 및 관계 추가

* refactor: createSearchKeywordLog TypeORM 적용

* refactor: 불필요한 객체 조작 삭제

* chore: import 경로 명시
* refactor(cursus): 컨트롤러 리팩토링

- 불필요한 import 제거
- limit에 default 추가
- if statement  구조 변경
- 상수여도 되는 변수 let에서 const로 변경

* feat(cursus): default 안내 추가

* feat(cursus): 사용자가 진행하는 과제와 연관된 추천 도서가 없을 경우 상정

- 사용자가 진행하는 과제와 연관된 추천 도서가 없을 경우, 모든 추천 도서 목록을 반환하게 함

* fix(cursus): 하나의 책에 여러 프로젝트가 연관되어 있을 경우 발생하는 버그 수정

- 한 책에 여러 프로젝트가 관련되어 있을 때, response의 project에 프로젝트 이름의 배열로 안 들어가는 버그 수정

* refactor(cursus): 함수로 분리

- bookInfoId를 받아서 추천 도서에 연관된 프로젝트의 이름을 string[]로 반환하는 함수 분리

* refactor(cursus): for문 대신 filter와 find 사용
* feat: util에 replace 함수 추가

* fix: 전문 검색시 소괄호 삭제 후 검색

* refactor: replaceAll 기본 함수로 대체
* feat(cursus): 에러 상세화

* refactor(cursus): accessToken을 지역 변수로 변경

* fix(cursus): 42 API와의 통신 중 401 에러 처리

- 401 에러 발생 시, logger에 에러 내용 표시하고 비로그인 사용자와 똑같은 응답 반환
* fix: 빈 문자이거나 공백만 들어오는 경우 return값 형식을 일반 메시지 return과 동일하게 변경

* chore: fit to eslint
* feat(tags): /api/tags 스펙 정리

* feat(tags): /api/tags에 누락된 응답값 추가

* feat(tags): /api/tags/main 스펙 정리

* feat(v2): pagination schema를 공통으로 분리

* feat(tags): 슈퍼 태그에 속한 서브 태그 가져오는 API 스펙 정의

- /{superTagId}/sub 스펙 정의
- /manage/{superTagId}/sub 스펙 정의

* feat(tags): /{bookInfoId} API 스펙 정리

* feat(tags): PATCH /super API 스펙 정리

* feat(tags): defaultTagConnotBemodified 누락된 부분 추가

* feat(tags): /sub API 스펙 작성

* feat(tags): /{bookInfoId}/merge API 스펙 작성

* feat(tags): POST /default API 스펙 작성

* feat(tags): POST /super API 스펙 작성

* feat(tags): DELETE /sub/{tagId} API 스펙 정리

* feat(tags): DELETE /super/{tagId} API 스펙 정리

* refactor: 불필요한 에러 응답 생략

- 400번대, 500번 에러 응답은 생략

* Update contracts/src/tags/index.ts

Co-authored-by: scarf <[email protected]>

* Update contracts/src/tags/index.ts

Co-authored-by: scarf <[email protected]>

* Update contracts/src/tags/index.ts

Co-authored-by: scarf <[email protected]>

* style: 콜론 및 import 누락 수정

* fix: 태그 contract 라우터에서 제외

아직 백엔드에서 구현이 되지 않았으므로, 주석 처리하였습니다

---------

Co-authored-by: scarf <[email protected]>
@jimin52 jimin52 temporarily deployed to development September 6, 2023 08:33 — with GitHub Actions Inactive
Copy link
Member

@Jiwon-Woo Jiwon-Woo left a comment

Choose a reason for hiding this comment

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

LGTM

@jimin52 jimin52 merged commit 4267209 into main Sep 6, 2023
5 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: 완료
Status: Done
Development

Successfully merging this pull request may close these issues.

5 participants