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

v1.2.0 #298

Merged
merged 68 commits into from
Oct 25, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
68 commits
Select commit Hold shift + click to select a range
94ca74a
fix: 유효하지 않은 FCM토큰 삭제 (#276)
dbscks97 Sep 24, 2024
6a03e3f
feat: 댓글 엔티티 구현 (#275)
char-yb Sep 24, 2024
76dc4b2
fix: sendReminderToIncompleteMissions메서드에서 token값 null인것 대상에서 제외 (#278)
dbscks97 Sep 25, 2024
eaed214
feat: 미션 기록 완료 리스트 (#281)
char-yb Sep 29, 2024
1feeb01
fix: missionRecordStatus 필드 추가 (#284)
char-yb Sep 30, 2024
30e7e74
hotfix: 미션 완료 카드 리스트 오름차순 정렬
char-yb Sep 30, 2024
37d2457
피드 신고 기능 구현 (#285)
dbscks97 Oct 1, 2024
5b85d1e
feat: 댓글 조회 및 댓글, 대댓글 추가 기능 구현 (#287)
char-yb Oct 1, 2024
b7608cb
피드 신고시 discord 알림 기능 구현 (#290)
dbscks97 Oct 2, 2024
0939143
feat: 댓글 생성 시 푸시 알림 (#291)
char-yb Oct 3, 2024
78e520d
feat: 피드 댓글 count 추가 (#292)
char-yb Oct 3, 2024
7090da0
feat: 미션 완료 image url 컬럼 추가 (#294)
char-yb Oct 3, 2024
4bf1a31
fix: 푸시 알림 메세지 조건 수정
char-yb Oct 6, 2024
a0e6655
refactor: 자식 댓글 작성자 푸시 알림
char-yb Oct 11, 2024
7a83500
refactor: 자식 댓글 작성자 푸시 알림 및 출력문 삭제
char-yb Oct 11, 2024
1df81e2
feat: 단일 피드 조회 API
char-yb Oct 11, 2024
0a6d93b
fix: 댓글 알림 targetId 저장
char-yb Oct 11, 2024
93c87c9
Merge pull request #297 from depromeet/fix/#295-comment-push-message
char-yb Oct 11, 2024
ea0df35
Merge pull request #300 from depromeet/feature/#299-feed-one
char-yb Oct 11, 2024
6945ecf
fix: 알림 리스트 필터 제거
char-yb Oct 11, 2024
d8c0cb4
fix: 출력문 제거
char-yb Oct 11, 2024
bb8f746
Merge pull request #302 from depromeet/refactor/#301-noti-list
char-yb Oct 11, 2024
f8951d4
hotfix: FcmNotificationType value name 조건 처리
char-yb Oct 14, 2024
b78ad70
feat: v2 엔드 포인트 및 모델 추가
char-yb Oct 14, 2024
98a2c0a
refactor: 딥링크 데이터 저장되도록 수정
char-yb Oct 15, 2024
acd8755
refactor: 댓글 딥링크 개선
char-yb Oct 15, 2024
ab0fb52
fix: totalCommentCount v1 삭제
char-yb Oct 15, 2024
0bed347
Merge pull request #304 from depromeet/feature/#303-feed-v2
char-yb Oct 15, 2024
e7fa5e7
Merge pull request #306 from depromeet/fix/#305-push-deeplink
char-yb Oct 15, 2024
32623bb
codeowner 변경
char-yb Oct 15, 2024
b250f31
fix: 알림 리스트 deeplink 필드 추가
char-yb Oct 15, 2024
125ad38
fix: 댓글 알림 deepLink target 수정
char-yb Oct 15, 2024
6cb219b
fix: 피드 v1 댓글 count 원복
char-yb Oct 15, 2024
64a0f26
fix: 중복 댓글 알림 처리
char-yb Oct 15, 2024
350d7b1
Merge pull request #308 from depromeet/fix/#307-dup-comment-noti
char-yb Oct 15, 2024
7ed8d57
test: 클래스 작성
char-yb Oct 15, 2024
41ecda6
fix: 중복 댓글 else-if 처리
char-yb Oct 15, 2024
c487b2d
refactor: 탈퇴 시 fcm token 데이터 삭제
char-yb Oct 16, 2024
7d6125f
refactor: CommentService 리팩토링
char-yb Oct 17, 2024
2dac40b
test: fcmScheduler테스트 (#309)
dbscks97 Oct 18, 2024
3b33a11
Test/fcmschedulertest (#310)
dbscks97 Oct 18, 2024
02201d1
fix: BatchEntry ID 값 UUID로 수정 (#312)
dbscks97 Oct 18, 2024
d70bc2e
refactor: 알림 변수 상수화 및 메서드 분리
char-yb Oct 18, 2024
43946a0
Merge pull request #314 from depromeet/refactor/#313-noti-constant
char-yb Oct 18, 2024
199eac2
fix: comment-record 연관관계 해제
char-yb Oct 19, 2024
bcd8cbd
fix: 회원 탈퇴 시 writer null로 변경
char-yb Oct 19, 2024
df0157d
fix: 탈퇴 회원 대상 null 예외 처리
char-yb Oct 19, 2024
3d9269a
fix: comment-record 연관관계 해제
char-yb Oct 19, 2024
5c6408f
refactor: comment 연관관계 해제로 인한 쿼리 수정 및 개선
char-yb Oct 19, 2024
26f2eb4
fix: 회원 탈퇴 기능 수정
char-yb Oct 19, 2024
c5eb4d0
test: 부모 댓글 테스트 코드
char-yb Oct 20, 2024
b0e621b
test: 자식 댓글 테스트 코드
char-yb Oct 20, 2024
c7ac781
test: 부모 댓글 조회
char-yb Oct 20, 2024
122a651
test: 자식 댓글 조회 테스트 코드
char-yb Oct 20, 2024
f253cbb
test: 자식 댓글 조회 테스트 코드 검증 추가
char-yb Oct 20, 2024
86387c2
Merge pull request #317 from depromeet/test/#296-comment
char-yb Oct 20, 2024
f2af10d
Merge branch 'develop' into fix/#315-withdraw-comment
char-yb Oct 21, 2024
f383837
fix: 탈퇴 회원 nickname 처리
char-yb Oct 21, 2024
ec66a63
Merge pull request #316 from depromeet/fix/#315-withdraw-comment
char-yb Oct 22, 2024
9f5fd36
refactor: 회원 탈퇴 report 데이터 삭제
char-yb Oct 22, 2024
be6044b
refactor: report 엔티티 구조 변경
char-yb Oct 22, 2024
8eb390b
fix: member -> reporter
char-yb Oct 22, 2024
346bd48
fix: repository 메서드 삭제
char-yb Oct 22, 2024
cebb0b0
Merge pull request #320 from depromeet/refactor/319-report-entity
char-yb Oct 22, 2024
5596675
hotfix: 피드 댓글 수 조회 쿼리 수정 및 탈퇴 회원 예외처리
char-yb Oct 22, 2024
acd3762
chore: 배포 버전 workflow 추가 구성
char-yb Oct 22, 2024
9e688a9
hotfix: 자식_댓글을_조회합니다 memberStatus
char-yb Oct 22, 2024
4997304
Merge pull request #322 from depromeet/chore/#321-deploy-workflow
char-yb Oct 22, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -1 +1 @@
* @char-yb @dbscks97 @kwanok
* @char-yb @dbscks97
45 changes: 45 additions & 0 deletions .github/workflows/develop-deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: Develop Deploy

on:
workflow_dispatch:
inputs:
commit_hash:
description: 'commit_hash'
required: true

env:
DOCKERHUB_IMAGE_NAME: walwal-server

jobs:
build-deploy:
runs-on: ubuntu-latest
environment: DEV
steps:
# EC2로 배포
- name: Deploy to EC2 Server
uses: appleboy/ssh-action@v1.0.3
env:
IMAGE_FULL_URL: ${{ steps.metadata.outputs.tags }}
DOCKERHUB_IMAGE_NAME: ${{ env.DOCKERHUB_IMAGE_NAME }}
with:
host: ${{ secrets.EC2_HOST }}
username: ${{ secrets.EC2_USERNAME }}
key: ${{ secrets.EC2_PRIVATE_KEY }}
envs: IMAGE_FULL_URL, DOCKERHUB_IMAGE_NAME # docker-compose.yml 에서 사용할 환경 변수
debug: true
script: |
echo "${{ secrets.DOCKERHUB_TOKEN }}" | docker login -u "${{ secrets.DOCKERHUB_USERNAME }}" --password-stdin
docker compose up -d
docker exec -d nginx nginx -s reload
docker image prune -a -f

## Slack
- name: Slack Alarm
uses: 8398a7/action-slack@v3
with:
status: ${{ job.status }}
author_name: GitHub-Actions CI/CD
fields: repo,message,commit,author,ref,job,took
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} # required
if: always() # Pick up events even if the job fails or is canceled.
44 changes: 44 additions & 0 deletions .github/workflows/production-deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Production Deploy

on:
workflow_dispatch:
inputs:
version:
description: 'version'
required: true

env:
DOCKERHUB_IMAGE_NAME: walwal-server

jobs:
build-deploy:
runs-on: ubuntu-latest
environment: PROD
steps:
- name: Deploy to EC2 Server
uses: appleboy/ssh-action@master
env:
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
IMAGE_FULL_URL: ${{ steps.metadata.outputs.tags }}
with:
host: ${{ secrets.EC2_HOST }}
username: ${{ secrets.EC2_USERNAME }}
key: ${{ secrets.EC2_PRIVATE_KEY }}
envs: IMAGE_FULL_URL # docker-compose.yaml 에서 사용할 환경 변수
script: |
aws s3 cp ${{ env.S3_COPY_PATH }} docker-compose.yaml
echo "${{ secrets.DOCKERHUB_TOKEN }}" | docker login -u "${{ secrets.DOCKERHUB_USERNAME }}" --password-stdin
docker pull ${{ env.IMAGE_FULL_URL }}
docker compose up -d
docker image prune -a -f

## Slack
- name: Slack Alarm
uses: 8398a7/action-slack@v3
with:
status: ${{ job.status }}
author_name: GitHub-Actions CI/CD
fields: repo,message,commit,author,ref,job,took
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} # required
if: always() # Pick up events even if the job fails or is canceled.
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,9 @@
import com.depromeet.stonebed.domain.auth.dto.response.AuthTokenResponse;
import com.depromeet.stonebed.domain.auth.dto.response.SocialClientResponse;
import com.depromeet.stonebed.domain.auth.dto.response.TokenPairResponse;
import com.depromeet.stonebed.domain.comment.dao.CommentRepository;
import com.depromeet.stonebed.domain.fcm.dao.FcmNotificationRepository;
import com.depromeet.stonebed.domain.fcm.dao.FcmTokenRepository;
import com.depromeet.stonebed.domain.member.dao.MemberRepository;
import com.depromeet.stonebed.domain.member.domain.Member;
import com.depromeet.stonebed.domain.member.domain.MemberRole;
Expand Down Expand Up @@ -38,6 +40,8 @@ public class AuthService {
private final MemberRepository memberRepository;
private final MissionRecordRepository missionRecordRepository;
private final MissionRecordBoostRepository missionRecordBoostRepository;
private final FcmTokenRepository fcmTokenRepository;
private final CommentRepository commentRepository;

private final AppleClient appleClient;
private final KakaoClient kakaoClient;
Expand Down Expand Up @@ -176,8 +180,9 @@ private void updateMemberNormalStatus(Member member) {
}

private void withdrawMemberRelationByMemberId(List<Long> recordIds, Long memberId) {
missionRecordBoostRepository.deleteAllByMember(recordIds);
missionRecordBoostRepository.deleteAllByRecordIds(recordIds);
missionRecordRepository.deleteAllByMember(memberId);
fcmNotificationRepository.deleteAllByMember(memberId);
fcmTokenRepository.deleteAllByMember(memberId);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
package com.depromeet.stonebed.domain.comment.api;

import com.depromeet.stonebed.domain.comment.application.CommentService;
import com.depromeet.stonebed.domain.comment.dto.request.CommentCreateRequest;
import com.depromeet.stonebed.domain.comment.dto.response.CommentCreateResponse;
import com.depromeet.stonebed.domain.comment.dto.response.CommentFindResponse;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.Valid;
import lombok.RequiredArgsConstructor;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

@Tag(name = "9. [댓글]", description = "댓글 관련 API입니다.")
@RequestMapping("/comments")
@RestController
@RequiredArgsConstructor
public class CommentController {

private final CommentService commentService;

@Operation(summary = "댓글 작성", description = "댓글을 작성합니다.")
@PostMapping
public ResponseEntity<CommentCreateResponse> commentCreate(
@RequestBody @Valid CommentCreateRequest request) {
return ResponseEntity.status(HttpStatus.CREATED)
.body(commentService.createComment(request));
}

@Operation(summary = "댓글 조회", description = "댓글을 조회합니다.")
@GetMapping
public CommentFindResponse commentFind(@RequestParam Long recordId) {
return commentService.findCommentsByRecordId(recordId);
}
}
Loading
Loading