pudding-keep-in-touch / keep-in-touch-be-v2

푸딩캠프 토이스토리 3팀 KEEP IN TOUCH Backend 2차 개발
0 stars 0 forks source link

✨ [Feature] create question API #21

Closed jis-kim closed 1 week ago

jis-kim commented 1 week ago

Summary

Describe your changes

Issue number and link

Summary by CodeRabbit

릴리스 노트

coderabbitai[bot] commented 1 week ago

Walkthrough

이 변경 사항은 질문 생성 API와 관련된 기능을 추가하고, 여러 엔티티에서 ID의 데이터 타입을 문자열로 변경하며, 새로운 파이프와 DTO를 도입하는 등 다양한 수정 사항을 포함합니다. 새로운 QuestionsModule, QuestionsController, QuestionsService, 그리고 관련 리포지토리와 DTO가 추가되었고, ID 검증을 위한 CheckBigIntIdPipe가 구현되었습니다. 또한, 여러 엔티티에서 ID 속성의 타입이 숫자에서 문자열로 변경되었습니다.

Changes

파일 경로 변경 요약
.gitignore .env.test 파일을 무시하도록 추가됨.
biome.json 린터 설정에 "noConsoleLog": "error" 규칙 추가됨.
src/app.module.ts QuestionsModule 추가 및 JwtAuthGuard를 포함한 APP_GUARD 설정 추가됨.
src/common/common.decorator.ts ResponseDtoType 함수에 status 매개변수 추가 및 동적 응답 처리 기능 개선됨.
src/common/common.interface.ts SwaggerDocInterfaceresponseStatus 속성 추가됨.
src/common/custom-typeorm/custom-typeorm.decorator.ts CustomEntityRepository 함수에 제네릭 타입 매개변수 추가됨.
src/common/filters/all-exception.filter.ts 예외 처리 메소드에서 clientMessage 초기화 방식 변경됨.
src/common/interceptors/logging.interceptor.ts CustomLogger의 import 경로가 절대 경로로 변경됨.
src/common/pipes/check-bigint-id.pipe.ts CheckBigIntIdPipe 클래스 추가됨.
src/entities/*.entity.ts 여러 엔티티의 ID 속성이 숫자에서 문자열로 변경됨.
src/modules/auth/auth.controller.ts NotUserAuth 데코레이터가 추가되어 특정 엔드포인트의 인증 요구 사항이 변경됨.
src/modules/questions/*.ts 질문 생성 API와 관련된 새로운 모듈, 컨트롤러, 서비스, DTO 및 리포지토리가 추가됨.
src/modules/users/*.ts UsersRepositoryUserRepository로 이름이 변경되고, ID 속성이 숫자에서 문자열로 변경됨.
test/questions.e2e-spec.ts 질문 API에 대한 종단 간 테스트가 추가됨.
test/app.e2e-spec.ts AppController 테스트가 스킵되도록 변경됨.
tsconfig.json @router/* 경로 매핑이 제거됨.
test/jest-e2e.json Jest 설정 파일에서 여러 매핑이 수정됨.

Assessment against linked issues

Objective Addressed Explanation
POST /question API 구현 (#18)
질문 내용 140자 제한 검증 (#18)
10개 초과 질문 생성 시 409 에러 처리 (#18)
ID가 자연수인지 확인하는 pipe 구현 (#20) CheckBigIntIdPipe가 구현되었으나, 적용된 엔드포인트가 없음.

🐰 질문을 만들고, ID를 확인해, 🐰 새로운 기능이 추가되었네! 🐰 이제 더 많은 질문, 더 많은 이야기, 🐰 Rabbit의 기쁨이 여기 있네! 🐇✨


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai) - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai) - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai) - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)
🪧 Tips ### Chat There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai): - Review comments: Directly reply to a review comment made by CodeRabbit. Example: - `I pushed a fix in commit , please review it.` - `Generate unit testing code for this file.` - `Open a follow-up GitHub issue for this discussion.` - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples: - `@coderabbitai generate unit testing code for this file.` - `@coderabbitai modularize this function.` - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples: - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.` - `@coderabbitai read src/utils.ts and generate unit testing code.` - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.` - `@coderabbitai help me debug CodeRabbit configuration file.` Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. ### CodeRabbit Commands (Invoked using PR comments) - `@coderabbitai pause` to pause the reviews on a PR. - `@coderabbitai resume` to resume the paused reviews. - `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository. - `@coderabbitai full review` to do a full review from scratch and review all the files again. - `@coderabbitai summary` to regenerate the summary of the PR. - `@coderabbitai resolve` resolve all the CodeRabbit review comments. - `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository. - `@coderabbitai help` to get help. ### Other keywords and placeholders - Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed. - Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description. - Add `@coderabbitai` anywhere in the PR title to generate the title automatically. ### CodeRabbit Configuration File (`.coderabbit.yaml`) - You can programmatically configure CodeRabbit by adding a `.coderabbit.yaml` file to the root of your repository. - Please see the [configuration documentation](https://docs.coderabbit.ai/guides/configure-coderabbit) for more information. - If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: `# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json` ### Documentation and Community - Visit our [Documentation](https://docs.coderabbit.ai) for detailed information on how to use CodeRabbit. - Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback. - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.
puddingcamp commented 1 week ago

제안 : Summary에 나열된 세 개가 개별 PR로 올라오면 어떨까 싶어요. 우리의 작업 기억은 작고 아담하답니다.

jis-kim commented 1 week ago

@puddingcamp 리뷰 반영

coderabbitai 리뷰 반영