Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
137 commits
Select commit Hold shift + click to select a range
0b85320
♻️ refactor: Slack connect 응답 형식 변경
rlawngjs0313 Aug 4, 2025
7af2e18
♻️ refactor: 개발 환경에 맞춰, web.vecoservice.shop -> localhost:5173 변경
rlawngjs0313 Aug 4, 2025
4ffdb5c
✨ feat: 카카오 로그인 구현
sobinMoon Aug 4, 2025
37193cc
♻️ refactor: 불필요한 주석제거
Leeyoungr Aug 4, 2025
06cb143
♻️ refactor: Soft Delete로 변경
Leeyoungr Aug 4, 2025
68d43eb
♻️ refactor: 예외처리 추가
Leeyoungr Aug 4, 2025
d2b0394
🔨 fix : 이슈넘버 업데이트 추가
Leeyoungr Aug 4, 2025
3d94570
♻️ refactor: 불필요한 코드 정리
Leeyoungr Aug 4, 2025
48f7659
♻️ refactor: 로그인 페이지 URL 변경 (localhost:8080/login -> localhost:5173/o…
rlawngjs0313 Aug 5, 2025
7c254c1
Merge pull request #82 from vecosystem/Feat/#81-이슈api-리팩토링
Leeyoungr Aug 5, 2025
c344a96
refactor: converter, member와 workspace 인증 통일 함수 적용, setting 컨트롤러 주석 추가
finger9999 Aug 5, 2025
88e9955
docs: workspaceResponseDTO 주석 추가
finger9999 Aug 5, 2025
900d0da
docs: workspaceRequesDTO 주석 추가
finger9999 Aug 5, 2025
c45b02b
✨ feat: 워크스페이스 연동 해제 API 구현
rlawngjs0313 Aug 5, 2025
fa669fe
🐛 fix: 팀 내 모든 목표 조회 API 예외 상황 코드 정상화
rlawngjs0313 Aug 5, 2025
39f2462
feat: 팀 이름 중복 검사
finger9999 Aug 5, 2025
6771524
fix: 워크스페이스 이름 중복 검사
finger9999 Aug 5, 2025
5583161
feat: 팀 생성시 예외 처리 추가
finger9999 Aug 5, 2025
6c8d1a5
✨ [Feat] 카카오 OAuth2 로그인 구현
rlawngjs0313 Aug 6, 2025
4cd8e18
♻️ [Refactor] Slack connect 응답 형식 변경
rlawngjs0313 Aug 6, 2025
a1398d9
♻️ [Refactor] 로그인 페이지 변경
rlawngjs0313 Aug 6, 2025
f88e242
Fix:#62 외부 이슈 목록 조회 응답값 수정
Aug 4, 2025
f08c1df
Fix:#62 외부 이슈 조회 API 응답값 및 오류 수정
Aug 6, 2025
19324c6
Merge pull request #87 from vecosystem/Fix/#62-외부-이슈-crud-관련-에러확인-및-처리
psb3707 Aug 6, 2025
5cb803a
Merge branch 'develop' into Refactor/#77-refactor-워크스페이스-setting-api-…
finger9999 Aug 6, 2025
02f0d27
docs: WorkspaaceConverter 주석추가
finger9999 Aug 6, 2025
5bba21e
♻️ refactor: 필드명 수정
Leeyoungr Aug 6, 2025
4e90b34
🔨 test: 팀에 이슈가 없을 때의 응답 수정
sobinMoon Aug 6, 2025
2fbb97e
Merge pull request #91 from vecosystem/Fix/#90-이슈-조회-예외처리-수정
sobinMoon Aug 6, 2025
e87b4c2
Merge pull request #89 from vecosystem/Refactor/#77-refactor-워크스페이스-s…
finger9999 Aug 6, 2025
df7196c
Refactor:#88 github swagger 문서화 및 외부 이슈 전체 조회 오류 수정
Aug 6, 2025
7034f78
Merge pull request #92 from vecosystem/Refactor/#88-github-연동-로직-보완-및…
psb3707 Aug 6, 2025
d1e5edb
♻️ refactor: CORS Options 추가 (Preflight)
rlawngjs0313 Aug 7, 2025
50d9988
🐛 fix: 담당자 정보 null 처리 로직 수정
rlawngjs0313 Aug 7, 2025
8656582
feat: TeamType 생성 & 워크스페이스 생성시 디폴트팀에 팀 타입 지정
finger9999 Aug 7, 2025
c0d2698
Merge branch 'develop' into Feat/#93-워크스페이스-전용-팀-생성
finger9999 Aug 7, 2025
e2521a7
fix: 팀 생성 오류 수정
finger9999 Aug 7, 2025
09109ef
Chore:#94 GitHub 연동 플로우 수정 및 문서화
Aug 7, 2025
11666a8
Merge pull request #95 from vecosystem/Chore/#94-github-토큰-발급-시-로그-추가
psb3707 Aug 7, 2025
f8773f5
🔨 test: OAuth 성공 시, flow 제공 (create, join, exist), 리다이렉트 주소 변경 테스트
rlawngjs0313 Aug 7, 2025
3828a6b
fix: 프로필 경로 수정 & member, team, workspace 프로필 기본 이미지 설정
finger9999 Aug 7, 2025
f79faa7
🔨 test: flow 헤더에 담아 전송
rlawngjs0313 Aug 7, 2025
36716cd
🔨 test: flow 헤더 CORS 허용
rlawngjs0313 Aug 7, 2025
6147190
🔨 fix: 카카오 로그인 시 이메일 수집 추가
sobinMoon Aug 7, 2025
7d6c37c
Feat:#96 GitHub 연동 플로우 수정, 프론트엔드로 리다이렉트
Aug 8, 2025
c09d6af
♻️ refactor: Slack 연동 완료 -> 리다이렉트
rlawngjs0313 Aug 8, 2025
ffa6967
♻️ refactor: Slack 연동 과정 시큐리티 처리 X
rlawngjs0313 Aug 8, 2025
b88c868
♻️ refactor: 로그인 완료 시, 로딩 페이지로 리다이렉트 (분기 처리 X)
rlawngjs0313 Aug 8, 2025
e57aeee
♻️ refactor: 불필요한 import문 삭제, 코드 스타일 리팩토링
rlawngjs0313 Aug 8, 2025
8d3c01f
Merge pull request #97 from vecosystem/Feat#96-github-pull-request-ev…
psb3707 Aug 8, 2025
f7667c8
♻️ refactor: 주석 추가 및 코드 스타일 수정
rlawngjs0313 Aug 8, 2025
57c0bbe
♻️ [Refactor] 리다이렉트 리팩토링
rlawngjs0313 Aug 8, 2025
9d42463
fix: 워크스페이스 내에서 팀 이름 중복 검사
finger9999 Aug 8, 2025
1018a07
feat: 프론트요청으로 워크스페이스 정보 조회에 암호 추가
finger9999 Aug 8, 2025
c55a5c0
feat: 응답에 암호 추가
finger9999 Aug 8, 2025
6e1aa74
🔨 test: .yml 파싱할때 오류 검출 원인 파악을 위한 로그
rlawngjs0313 Aug 8, 2025
ad1e84c
fix: 전용팀 삭제
finger9999 Aug 8, 2025
49e2ca1
🔨 fix: 이슈 전체 조회 로직 수정
sobinMoon Aug 8, 2025
81590c3
🚀 chore: README.md 수정
rlawngjs0313 Aug 8, 2025
3ba47b3
Fix:#99 외부 이슈 목록 조회 오류 수정
Aug 8, 2025
dc1c90a
Fix:#99 외부 이슈 목록 조회 시 커서 오류 해결
Aug 9, 2025
260d832
Merge pull request #101 from vecosystem/Feat/#93-워크스페이스-전용-팀-생성
finger9999 Aug 9, 2025
427c737
♻️ refactor: 담당자가 없는 경우도 필터에 포함
rlawngjs0313 Aug 9, 2025
1670307
Merge pull request #104 from vecosystem/Fix/#103-이슈-전체-조회-오류-수정
sobinMoon Aug 9, 2025
6613d0b
Fix:#99 불필요한 파일 삭제
Aug 10, 2025
2d44a3f
Merge pull request #102 from vecosystem/Fix/#99-외부-이슈-목록-조회-오류-수정
psb3707 Aug 10, 2025
a8bca1f
fix: 기본팀은 워크스페이스 기본 이미지를 가짐 & 워크스페이스 생성시 기본 이미지 갖도록
finger9999 Aug 10, 2025
73413e5
Merge branch 'Feat/#93-워크스페이스-전용-팀-생성' into develop
finger9999 Aug 10, 2025
97ae382
♻️ [Refactor] 담당자가 없는 경우도 필터에 포함
rlawngjs0313 Aug 11, 2025
6980866
🔨 fix: '매니저 없음' 필터에 대한 이슈 조회 오류 수정
sobinMoon Aug 11, 2025
43b90a5
Merge branch 'develop' into Fix/#103-이슈-전체-조회-오류-수정
sobinMoon Aug 11, 2025
10ba304
Merge pull request #109 from vecosystem/Fix/#103-이슈-전체-조회-오류-수정
sobinMoon Aug 11, 2025
d5ae9e4
Fix:#108 외부 이슈 목록 조회 응답값 수정
Aug 11, 2025
bf27f48
✨ feat: 어노테이션 제약 조건 추가
rlawngjs0313 Aug 11, 2025
6bd0354
✨ feat: JSON 직렬화 실패 예외상황 설정
rlawngjs0313 Aug 11, 2025
6d229b4
♻️ refactor: 댓글 조회시, 오래된순으로 조회
rlawngjs0313 Aug 11, 2025
a951cb3
♻️ refactor: isIncludeMe 속성 제거
rlawngjs0313 Aug 11, 2025
79004b0
♻️ refactor: 목표 수정시, 제목 필수 입력 + 20글자 제한
rlawngjs0313 Aug 11, 2025
519135b
[fix] isIncludeMe 속성 삭제
Leeyoungr Aug 11, 2025
51ac8d8
Merge pull request #110 from vecosystem/Fix/#108-외부-이슈-목록-조회-응답값-수정-및…
psb3707 Aug 11, 2025
4538177
[fix] isIncludeMe 속성 삭제
rlawngjs0313 Aug 12, 2025
6ea2cb7
Merge branch 'develop' into Feat/#107-목표-제약-조건-설정
rlawngjs0313 Aug 12, 2025
83a6ca2
✨ [Feat] 목표 제약 조건 설정
rlawngjs0313 Aug 12, 2025
9509311
📖 docs: 모든 목표 조회 Swagger 설정 구체화
rlawngjs0313 Aug 12, 2025
0d4665d
♻️ refactor: 목표 작성 issueId -> issuesId 통일
rlawngjs0313 Aug 12, 2025
ed3ab98
♻️ refactor: 목표 상세 조회 응답 state, id 추가
rlawngjs0313 Aug 12, 2025
6b34873
♻️ refactor: 목표 수정 제약 조건 해제
rlawngjs0313 Aug 12, 2025
85708ed
♻️ refactor: 목표 생성, 수정 요청DTO 중 기한 속성 변경 (LocalDate -> String)
rlawngjs0313 Aug 12, 2025
37f2547
♻️ [Refactor] 목표 생성 수정 조회 시작일 null 가능
rlawngjs0313 Aug 12, 2025
6e127a0
외부 이슈 응답값 수정
Aug 12, 2025
49aa138
Refactor:#115 외부 이슈 생성 시 시작일 필수 지정 해제
Aug 12, 2025
7475799
fix: 기본팀은 항상 첫 순서 & 팀 생성시 order는 maxOrder+1
finger9999 Aug 13, 2025
e89b2ef
Refactor:#115 외부 이슈 생성 시 시작일 필수 지정 해제
Aug 13, 2025
e3d704b
♻️ refactor: 이슈 수정시 기한null값 허용
Leeyoungr Aug 13, 2025
4945ee8
Refactor:#115 외부 이슈 목록 조회 : 목표 필터 오류 수정
Aug 13, 2025
1a8e91f
♻️ refactor: 기한 순서 검증 추가
Leeyoungr Aug 13, 2025
85b15ff
Merge pull request #120 from vecosystem/Refactor/#117-이슈-시작일-null값-허용
Leeyoungr Aug 13, 2025
15e7e31
🐛 fix: 목표 담당자 MemberTeam이 null일 경우 예외처리
rlawngjs0313 Aug 13, 2025
ac27b24
Merge pull request #118 from vecosystem/Feat/#93-워크스페이스-전용-팀-생성
finger9999 Aug 13, 2025
df4bac2
✨ feat: 회원 탈퇴 기능 구현
sobinMoon Aug 13, 2025
2520f14
Fix:#115 깃허브 이슈, PR 동기화 오류 해결
Aug 13, 2025
bc916ae
♻️ refactor: 탈퇴회원이 이슈 담당자와 댓글에 나타나지 않도록 변경
sobinMoon Aug 13, 2025
23a9e71
Merge remote-tracking branch 'origin' into Feat/#121-회원-탈퇴-api
sobinMoon Aug 13, 2025
5fded97
Merge pull request #119 from vecosystem/Refactor/#115-외부-이슈-생성-시-시작일-…
psb3707 Aug 14, 2025
ed96caf
✨ [Feat] 회원 탈퇴 api 구현
rlawngjs0313 Aug 14, 2025
e1a6e0e
✨ feat: 누락된 Slack 메시지 전송 기능 추가
rlawngjs0313 Aug 14, 2025
4fb9905
Create deploy.yml
finger9999 Aug 14, 2025
008cabf
Update deploy.yml
finger9999 Aug 14, 2025
482fe6c
docs: 주석 수정
finger9999 Aug 14, 2025
d10a602
Merge branch 'Feat/#93-워크스페이스-전용-팀-생성' into develop
finger9999 Aug 14, 2025
d6fdd3f
docs: 주석 수정
finger9999 Aug 14, 2025
35cf3f4
docs: 주석수정
finger9999 Aug 14, 2025
fe8f3e9
Update deploy.yml
finger9999 Aug 14, 2025
11f9d25
Update deploy.yml
finger9999 Aug 14, 2025
9db11c3
Update deploy.yml
finger9999 Aug 14, 2025
b18d7a7
docs: 주석 추가
finger9999 Aug 14, 2025
c7c5797
Merge branch 'develop' of https://github.com/vecosystem/VECO_Backend …
finger9999 Aug 14, 2025
83cdf7c
Update deploy.yml
finger9999 Aug 14, 2025
0fbb0f5
Update deploy.yml
finger9999 Aug 14, 2025
9a7561e
🐛 fix: 회원 탈퇴 시 삭제되는 필드 추가
sobinMoon Aug 14, 2025
97ec893
♻️ refactor: 회원 탈퇴 시 연관 테이블 hard delete
sobinMoon Aug 14, 2025
be5063b
♻️ refactor: 이슈 댓글 조회 로직 수정
sobinMoon Aug 14, 2025
e120986
Merge branch 'develop' into Fix/#127-탈퇴한-회원이-동일-소셜-계정으로-재가입할-때의-문제-수정
sobinMoon Aug 14, 2025
24528a3
Fix:#123 외부 이슈 soft-delete 문제 해결 및 삭제된 외부이슈 조회,복원 API추가
Aug 14, 2025
c2d4a0c
Fix:#123 외부 이슈 soft-delete 문제 해결 및 삭제된 외부이슈 조회,복원 API추가
Aug 14, 2025
0564878
Fix:#123 타 워크스페이스의 댓글이 다른 워크스페이스에서도 보이는 문제 해결
Aug 14, 2025
8e4b003
Merge pull request #126 from vecosystem/Fix/#123-외부-이슈-soft-delete-삭제…
psb3707 Aug 14, 2025
a516e17
🔥 del: 안쓰는 파이프라인 제거
rlawngjs0313 Aug 14, 2025
22f7d61
♻️ refactor: 댓글 ID 추가 조회
rlawngjs0313 Aug 14, 2025
0c3963c
Fix:#130 외부 이슈생성해결
Aug 14, 2025
deefb3a
♻️ refactor: Swagger 최신화
rlawngjs0313 Aug 14, 2025
7910307
♻️ refactor: 이슈 상세 조회 시 댓글 ID 추가 조회
rlawngjs0313 Aug 14, 2025
07f6195
♻️ refactor: 이슈 상세 조회 시 댓글 오래된 순으로 조회
rlawngjs0313 Aug 14, 2025
8fd33dd
🐛 [Fix] 탈퇴한 회원이 동일 소셜 계정으로 재가입할 때의 문제 수정
rlawngjs0313 Aug 14, 2025
b6e6091
Fix:#130 외부 이슈생성해결
rlawngjs0313 Aug 14, 2025
2f333c7
Merge branch 'develop' into Refactor/#129-목표-이슈-상세-조회-시-댓글-id-추가
rlawngjs0313 Aug 14, 2025
cba4e15
♻️ [Refactor] 목표, 이슈 상세 조회 시 댓글 ID 추가 조회
rlawngjs0313 Aug 14, 2025
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
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -48,3 +48,4 @@ out/

### VS Code ###
.vscode/
app.log
36 changes: 35 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,39 @@ VECO는 **AI를 활용해 분산된 정보를 한곳에 모으고, 목표를 명
- Redis
- WebClient
- AWS S3
- Security
- Spring Security
---
## 🏗️ 프로젝트 구조
- 도메인 주도 설계 (DDD)
- main - develop 브랜치 구조: main = 배포 환경 / develop = 개발 환경
- 새로운 브랜치명은 #이슈번호-이슈제목 으로 통일
- 새로운 기능은 Feat/, 리팩토링은 Refactor/, 핫픽스는 Fix/로 통일

### 📋 커밋 메시지 컨벤션
| Gitmoji | Tag | Description |
|:-----------:|:----------:| --- |
| ✨ | `feat` | 새로운 기능 추가 |
| 🐛 | `fix` | 버그 수정 |
| 📝 | `docs` | 문서 추가, 수정, 삭제 |
| ✅ | `test` | 테스트 코드 추가, 수정, 삭제 |
| 💄 | `style` | 코드 형식 변경 |
| ♻️ | `refactor` | 코드 리팩토링 |
| ⚡️ | `perf` | 성능 개선 |
| 💚 | `ci` | CI 관련 설정 수정 |
| 🚀 | `chore` | 기타 변경사항 |
| 🔥️ | `remove` | 코드 및 파일 제거 |

---
## 👤 담당 도메인
- 이람/박승범: 외부이슈, Github 연동
- 나우/고낭연: 워크스페이스, 사용자 세팅
- 비니/문소빈: OAuth, 이슈
- 이영/이은영: 이슈, 알림
- 마크/김주헌: 목표, Slack 연동
---
## 🛜 서버 현황
<img width="776" height="567" alt="스크린샷 2025-08-09 04 46 30" src="https://github.com/user-attachments/assets/f109d3c6-85dd-4725-9ae0-59a8ef432026" />

- main-develop 브랜치 구조에 따라 배포환경, 개발환경을 따로 구성
- 개발 환경(localhost:5173)과 배포 환경(web.vecoservice.shop)간 테스트를 진행
- 추후, 서버를 통합 관리해 무중단 배포 전략(블루-그린) 사용
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.example.Veco.domain.assignee.converter;

import com.example.Veco.domain.assignee.entity.Assignee;
import com.example.Veco.domain.external.entity.External;
import com.example.Veco.domain.goal.entity.Goal;
import com.example.Veco.domain.issue.entity.Issue;
import com.example.Veco.domain.mapping.entity.MemberTeam;
Expand Down Expand Up @@ -34,4 +35,17 @@ public static Assignee toIssueAssignee(
.issue(issue)
.build();
}

public static Assignee toExternalAssignee(
MemberTeam memberTeam,
Category type,
External external
) {
return Assignee.builder()
.targetId(external.getId())
.type(type)
.memberTeam(memberTeam)
.external(external)
.build();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -45,4 +45,9 @@ public class Assignee extends BaseEntity {
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "member_team_id")
private MemberTeam memberTeam;

// update
public void updateMemberTeam(MemberTeam memberTeam) {
this.memberTeam = memberTeam;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,6 @@ public interface AssigneeQueryDsl {
List<Assignee> findByGoalIdIn(List<Long> goalIds);
List<Assignee> findByExternalIdIn(List<Long> externalIds);
void deleteAllByTypeAndTargetIds(Category type, List<Long> targetIds);
List<Assignee> findByTypeAndTargetId(Category type, Long targetId);
}

Original file line number Diff line number Diff line change
Expand Up @@ -89,4 +89,19 @@ public void deleteAllByTypeAndTargetIds(Category type, List<Long> targetIds) {
)
.execute();
}

@Override
public List<Assignee> findByTypeAndTargetId(Category type, Long targetId) {
QAssignee assignee = QAssignee.assignee;
QMember member = QMember.member;

return queryFactory.selectFrom(assignee)
.innerJoin(member).on(member.id.eq(assignee.memberTeam.member.id))
.where(
assignee.type.eq(type),
assignee.targetId.eq(targetId),
member.deletedAt.isNull()
)
.fetch();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,7 @@ public interface AssigneeRepository extends JpaRepository<Assignee, Long> , Assi

void deleteAllByTypeAndTargetId(Category type, Long targetId);

List<Assignee> findAllByTypeAndMemberTeam_Team_id(Category type, Long memberTeamTeamId);
List<Assignee> findAllByMemberTeamIdIn(List<Long> memberTeamIds);

List<Assignee> findAllByGoal_TeamIdAndMemberTeamIsNull(Long teamId);
}
Original file line number Diff line number Diff line change
@@ -1,11 +1,15 @@
package com.example.Veco.domain.comment.entity;

import com.example.Veco.domain.common.BaseEntity;
import com.example.Veco.domain.mapping.entity.CommentMember;
import com.example.Veco.domain.member.entity.Member;

import jakarta.persistence.*;
import lombok.*;

import java.util.ArrayList;
import java.util.List;

@Entity
@Getter
@Builder
Expand All @@ -27,6 +31,9 @@ public class Comment extends BaseEntity {
@JoinColumn(name = "comment_room_id")
private CommentRoom commentRoom;

@OneToMany(mappedBy = "comment", cascade = CascadeType.REMOVE, orphanRemoval = true)
private List<CommentMember> commentMembers = new ArrayList<>();

public void setMember(Member member) {
this.member = member;
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package com.example.Veco.domain.comment.repository;

import com.example.Veco.domain.comment.entity.Comment;
import com.example.Veco.domain.comment.entity.CommentRoom;

import java.util.List;

public interface CommentQueryDsl {
List<Comment> findByCommentRoomOrderByIdDesc(CommentRoom commentRoom);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
package com.example.Veco.domain.comment.repository;

import com.example.Veco.domain.comment.entity.Comment;
import com.example.Veco.domain.comment.entity.CommentRoom;
import com.example.Veco.domain.comment.entity.QComment;
import com.example.Veco.domain.comment.entity.QCommentRoom;
import com.querydsl.jpa.impl.JPAQueryFactory;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Repository;

import java.util.Collections;
import java.util.List;

@Repository
@RequiredArgsConstructor
@Slf4j
public class CommentQueryDslImpl implements CommentQueryDsl {

private final JPAQueryFactory queryFactory;

@Override
public List<Comment> findByCommentRoomOrderByIdDesc(CommentRoom commentRoom) {
QComment comment = QComment.comment;

if (commentRoom == null) {
return Collections.emptyList();
}

return queryFactory
.selectFrom(comment)
.where(comment.commentRoom.eq(commentRoom))
.orderBy(comment.id.desc())
.fetch();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,14 @@

import com.example.Veco.domain.comment.entity.Comment;
import com.example.Veco.domain.comment.entity.CommentRoom;
import com.example.Veco.domain.member.entity.Member;
import org.springframework.data.jpa.repository.JpaRepository;

import java.util.List;

public interface CommentRepository extends JpaRepository<Comment, Long> {
public interface CommentRepository extends JpaRepository<Comment, Long>, CommentQueryDsl {
List<Comment> findAllByCommentRoomOrderByIdDesc(CommentRoom commentRoom);
List<Comment> findAllByCommentRoomOrderByIdAsc(CommentRoom commentRoom);
List<Comment> findByCommentRoomOrderByIdAsc(CommentRoom commentRoom);
void deleteAllByMember(Member member);
}
Loading