Skip to content

[feat] 일반 구성원 목록 조회 구현#579

Merged
kangkings merged 9 commits into
devfrom
feat/516-member-semester-list
Jul 2, 2026
Merged

[feat] 일반 구성원 목록 조회 구현#579
kangkings merged 9 commits into
devfrom
feat/516-member-semester-list

Conversation

@kangkings

@kangkings kangkings commented Jun 30, 2026

Copy link
Copy Markdown
Contributor

관련이슈

close #516

작업 내용

  • 일반 구성원 목록 조회 API 추가
  • MemberActivity 기준 커서 기반 페이징 적용
  • 기수, 직군, 모집 단위, 신분, 팀, 활동 상태 필터 적용
  • 팀 필터 사용 시 기수 필수 검증 추가
  • 활동 상태 필터 적용시 구성원 종류에 따라 규칙을 다르게 설정
  • QueryDSL 기반 목록 조회 및 count 쿼리 추가

테스트

  • 일반 구성원 추가/목록 조회 E2E 테스트 추가
  • UseCase 페이징 응답 조립 테스트 추가
  • MemberActivityRepository QueryDSL 조회 테스트 추가
  • email 길이로 인해 실패하던 기존 테스트 2개 조치
  • 서킷 오픈을 위해 컨테이너를 직접 올리고 내리는 기존 테스트 로직으로 인해 테스트 redis 연결이 실패 하는 문제 조치

참고

  • 목록 조회 cursor는 memberActivityId 기준으로 동작합니다.

Summary by CodeRabbit

Summary by CodeRabbit

  • New Features

    • 관리자에서 일반 구성원 학기 목록을 커서 기반으로 조회할 수 있게 추가되었습니다.
    • 기수/직군/모집유형/경력/팀 조건에 더해 활동 상태 필터 및 상태 값이 응답에 포함됩니다.
    • 더보기 여부, 다음 커서, 전체 개수까지 함께 제공됩니다.
  • Bug Fixes

    • 허용되지 않는 활동 상태는 요청 오류로 처리되도록 검증이 강화되었습니다.
    • 팀 필터만 단독으로 사용할 때 기수 선택 누락 오류가 반환되도록 개선되었습니다.

@coderabbitai

coderabbitai Bot commented Jun 30, 2026

Copy link
Copy Markdown

Review Change Stack

Walkthrough

관리자용 일반 구성원(기수별) 목록 조회 API가 추가되었습니다. 검색 조건 DTO, 커서 페이지 응답, Querydsl 저장소, 유스케이스 검증 및 페이지 조립, 컨트롤러 엔드포인트, 관련 테스트가 함께 변경되었습니다.

Changes

관리자 일반 구성원 목록 조회 API

Layer / File(s) Summary
상태 규칙과 오류 코드
src/main/java/org/ject/support/domain/member/ActivityStatus.java, src/main/java/org/ject/support/domain/member/entity/MemberActivity.java, src/main/java/org/ject/support/domain/member/exception/MemberErrorCode.java, src/test/java/org/ject/support/domain/member/fixture/SemesterActivityFixture.java, src/test/java/org/ject/support/domain/member/ActivityStatusTest.java, src/test/java/org/ject/support/domain/member/entity/MemberActivityTest.java
ActivityStatusWITHDRAWN와 상태 판정 메서드가 추가되고, MemberActivity가 상태 변경 시 유효성을 검사합니다. 활동 상태 관련 오류 코드와 이를 검증하는 테스트·피처도 추가됩니다.
검색 DTO와 공통 페이지 응답
src/main/java/org/ject/support/common/response/CursorPageResponse.java, src/main/java/org/ject/support/admin/member/dto/request/MemberSemesterSearchCondition.java, src/main/java/org/ject/support/admin/member/dto/projection/SearchMemberSemesterProjection.java, src/main/java/org/ject/support/admin/member/dto/response/SearchMemberSemesterResponse.java, src/main/java/org/ject/support/admin/member/dto/result/SearchMemberSemesterPageResult.java
커서 페이지 공통 응답과 일반 구성원 검색 조건, 조회 프로젝션, 응답 DTO, 페이지 결과 레코드가 추가됩니다.
Querydsl 저장소 조회
src/main/java/org/ject/support/domain/member/repository/MemberActivityQueryRepository.java, src/main/java/org/ject/support/domain/member/repository/MemberActivityQueryRepositoryImpl.java, src/main/java/org/ject/support/domain/member/repository/MemberActivityRepository.java, src/test/java/org/ject/support/domain/member/repository/MemberActivityRepositoryTest.java
일반 구성원 목록 조회/카운트 메서드가 선언되고, Querydsl 조인·필터·커서 조건이 구현됩니다. 저장소 테스트는 정렬, 필터, 상태 조건, 카운트 동작을 검증합니다.
서비스와 유스케이스 페이징 조립
src/main/java/org/ject/support/admin/member/service/AdminMemberActivityService.java, src/main/java/org/ject/support/admin/member/service/AdminMemberUseCase.java, src/test/java/org/ject/support/admin/member/service/AdminMemberActivityServiceTest.java, src/test/java/org/ject/support/admin/member/service/AdminMemberUseCaseTest.java
서비스가 조회 결과와 전체 개수를 합쳐 페이지 결과를 만들고, 유스케이스가 기수·팀·상태 검증 후 커서 기반 응답을 조립합니다. 관련 단위 테스트가 조회 결과와 예외 케이스를 검증합니다.
컨트롤러 API 노출
src/main/java/org/ject/support/admin/member/controller/AdminMemberSemesterApiSpec.java, src/main/java/org/ject/support/admin/member/controller/AdminMemberSemesterController.java, src/test/java/org/ject/support/admin/member/controller/AdminMemberSemesterControllerTest.java
조회 API 스펙과 컨트롤러 GET/POST 엔드포인트가 추가되고, 컨트롤러 통합 테스트가 생성 및 목록 조회 결과를 검증합니다.

독립 테스트 정리

Layer / File(s) Summary
캐시 장애 처리 테스트 조정
src/test/java/org/ject/support/common/data/redis/resilience/CacheFallbackIntegrationTest.java
Redis 장애 처리 테스트가 서킷 브레이커 기록 방식으로 바뀌고, 에러 핸들러 주입과 예외 검증 방식이 조정됩니다.
질문 컨트롤러 테스트 정리
src/test/java/org/ject/support/domain/recruit/controller/QuestionControllerTest.java
질문 컨트롤러 테스트의 고유 문자열 생성 방식, 이메일 도메인, 저장소 의존성이 정리됩니다.

Estimated code review effort: 4 (Complex) | ~60 minutes

Poem

🐰 폴짝, 기수가 줄을 서네
커서 따라 토끼 발자국도 가볍고
상태와 팀을 콕콕 골라
페이지 끝엔 다음 당근이 반짝
테스트도 둥실, 귀가 씰룩해요

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Out of Scope Changes check ⚠️ Warning QuestionControllerTest와 CacheFallbackIntegrationTest 변경은 일반 구성원 목록 조회 요구와 직접 관련이 없어 범위를 벗어납니다. 해당 테스트 수정이 이 기능에 꼭 필요한 경우만 남기고, 아니면 별도 PR로 분리하세요.
Docstring Coverage ⚠️ Warning Docstring coverage is 26.51% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed 제목이 일반 구성원 목록 조회 구현이라는 주요 변경을 간결하게 잘 요약합니다.
Linked Issues check ✅ Passed 직접 링크된 이슈 #516의 일반 구성원 리스트 조회 요구사항과 PR 구현 내용이 일치합니다.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/516-member-semester-list

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

github-actions Bot commented Jun 30, 2026

Copy link
Copy Markdown

Test Results

403 tests   403 ✅  13s ⏱️
 77 suites    0 💤
 77 files      0 ❌

Results for commit 67e9608.

♻️ This comment has been updated with latest results.

@github-actions

github-actions Bot commented Jun 30, 2026

Copy link
Copy Markdown

📊테스트 커버리지

Overall Project 85.08% -0.02% 🍏
Files changed 99.66% 🍏

File Coverage
ActivityStatus.java 100% 🍏
AdminMemberService.java 100% 🍏
AdminMemberActivityService.java 100% 🍏
AdminMemberUseCase.java 100% 🍏
MemberActivity.java 100% 🍏
CursorPageResponse.java 100% 🍏
MemberActivityQueryRepositoryImpl.java 99.39% -0.61% 🍏

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In
`@src/test/java/org/ject/support/admin/member/controller/AdminMemberSemesterControllerTest.java`:
- Around line 246-250: 비즈니스 예외 응답 검증에서 잘못된 JSON 경로를 사용하고 있습니다;
AdminMemberSemesterControllerTest의 mockMvc assertion을 `$.status` 대신 `$.code`로
바꿔서 MemberErrorCode.REQUIRED_SEMESTER_FOR_TEAM_FILTER.getCode()가 실제 에러 코드 필드에
매핑되는지 확인하세요.
- Around line 191-199: Update the AdminMemberSemesterControllerTest expectation
for the `/admin/members/semester` response so `nextCursor` is asserted as null
instead of absent; the current JSON serialization from the controller returns
`nextCursor: null`, so adjust the assertion in the test case that checks
`jsonPath("$.data.nextCursor")` accordingly.

In
`@src/test/java/org/ject/support/domain/recruit/controller/QuestionControllerTest.java`:
- Line 64: The email suffix generation in QuestionControllerTest is too short
and can collide under fast or parallel test runs. Update the uniqueSuffix
handling used in the affected test setup/assertion paths (including the
duplicate spot) to use a lower-collision identifier such as a UUID-derived
fragment or other random base36 value instead of the last 6 digits of
System.nanoTime(). Keep the existing email format logic, but replace the
truncation approach in the test helper/inline usage so each generated email is
much less likely to repeat.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: a8a0f8a6-9a4b-4b40-92e0-5c80bb9135be

📥 Commits

Reviewing files that changed from the base of the PR and between ff59fa9 and cc58d27.

📒 Files selected for processing (18)
  • src/main/java/org/ject/support/admin/member/controller/AdminMemberSemesterApiSpec.java
  • src/main/java/org/ject/support/admin/member/controller/AdminMemberSemesterController.java
  • src/main/java/org/ject/support/admin/member/dto/projection/SearchMemberSemesterProjection.java
  • src/main/java/org/ject/support/admin/member/dto/request/MemberSemesterSearchCondition.java
  • src/main/java/org/ject/support/admin/member/dto/response/SearchMemberSemesterResponse.java
  • src/main/java/org/ject/support/admin/member/dto/result/SearchMemberSemesterPageResult.java
  • src/main/java/org/ject/support/admin/member/service/AdminMemberActivityService.java
  • src/main/java/org/ject/support/admin/member/service/AdminMemberUseCase.java
  • src/main/java/org/ject/support/common/response/CursorPageResponse.java
  • src/main/java/org/ject/support/domain/member/exception/MemberErrorCode.java
  • src/main/java/org/ject/support/domain/member/repository/MemberActivityQueryRepository.java
  • src/main/java/org/ject/support/domain/member/repository/MemberActivityQueryRepositoryImpl.java
  • src/main/java/org/ject/support/domain/member/repository/MemberActivityRepository.java
  • src/test/java/org/ject/support/admin/member/controller/AdminMemberSemesterControllerTest.java
  • src/test/java/org/ject/support/admin/member/service/AdminMemberActivityServiceTest.java
  • src/test/java/org/ject/support/admin/member/service/AdminMemberUseCaseTest.java
  • src/test/java/org/ject/support/domain/member/repository/MemberActivityRepositoryTest.java
  • src/test/java/org/ject/support/domain/recruit/controller/QuestionControllerTest.java

@kangkings kangkings added ✨feature 구현, 개선 사항 관련 부분 👨🏻‍💻backend 백엔드 작업 labels Jun 30, 2026
@kangkings kangkings self-assigned this Jun 30, 2026
@kangkings
kangkings force-pushed the feat/516-member-semester-list branch from b2e4eb2 to 2a4f05b Compare June 30, 2026 07:58
@kangkings
kangkings requested a review from 023-dev June 30, 2026 08:17

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
src/test/java/org/ject/support/domain/member/ActivityStatusTest.java (1)

10-81: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

isAllAvailableFor의 null/빈 리스트 분기 테스트 추가 고려.

현재 테스트는 상태 매트릭스를 잘 검증하지만, statusesnull이거나 비어 있을 때 true를 반환하는 조기 반환 분기는 검증되지 않습니다. 필터 미지정 시 동작을 보장하기 위해 해당 케이스 추가를 권장합니다.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/test/java/org/ject/support/domain/member/ActivityStatusTest.java` around
lines 10 - 81, ActivityStatusTest currently covers only populated status
combinations, so the null/empty early-return behavior in
ActivityStatus.isAllAvailableFor is unverified. Add focused tests in
ActivityStatusTest for a null statuses input and an empty list, asserting true
for both MemberType.SEMESTER and the other member types as applicable. Use the
existing isAllAvailableFor method and MemberType enum to place the new cases
alongside the current matrix tests.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In `@src/test/java/org/ject/support/domain/member/ActivityStatusTest.java`:
- Around line 10-81: ActivityStatusTest currently covers only populated status
combinations, so the null/empty early-return behavior in
ActivityStatus.isAllAvailableFor is unverified. Add focused tests in
ActivityStatusTest for a null statuses input and an empty list, asserting true
for both MemberType.SEMESTER and the other member types as applicable. Use the
existing isAllAvailableFor method and MemberType enum to place the new cases
alongside the current matrix tests.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 78c908b8-85c4-439a-9888-335c5be7458e

📥 Commits

Reviewing files that changed from the base of the PR and between 7d3ad21 and 8670e82.

📒 Files selected for processing (14)
  • src/main/java/org/ject/support/admin/member/dto/projection/SearchMemberSemesterProjection.java
  • src/main/java/org/ject/support/admin/member/dto/request/MemberSemesterSearchCondition.java
  • src/main/java/org/ject/support/admin/member/dto/response/SearchMemberSemesterResponse.java
  • src/main/java/org/ject/support/admin/member/service/AdminMemberUseCase.java
  • src/main/java/org/ject/support/domain/member/ActivityStatus.java
  • src/main/java/org/ject/support/domain/member/entity/MemberActivity.java
  • src/main/java/org/ject/support/domain/member/exception/MemberErrorCode.java
  • src/main/java/org/ject/support/domain/member/repository/MemberActivityQueryRepositoryImpl.java
  • src/test/java/org/ject/support/admin/member/controller/AdminMemberSemesterControllerTest.java
  • src/test/java/org/ject/support/admin/member/service/AdminMemberActivityServiceTest.java
  • src/test/java/org/ject/support/admin/member/service/AdminMemberUseCaseTest.java
  • src/test/java/org/ject/support/domain/member/ActivityStatusTest.java
  • src/test/java/org/ject/support/domain/member/fixture/SemesterActivityFixture.java
  • src/test/java/org/ject/support/domain/member/repository/MemberActivityRepositoryTest.java
🚧 Files skipped from review as they are similar to previous changes (7)
  • src/main/java/org/ject/support/admin/member/dto/request/MemberSemesterSearchCondition.java
  • src/test/java/org/ject/support/admin/member/service/AdminMemberUseCaseTest.java
  • src/test/java/org/ject/support/admin/member/service/AdminMemberActivityServiceTest.java
  • src/main/java/org/ject/support/domain/member/repository/MemberActivityQueryRepositoryImpl.java
  • src/test/java/org/ject/support/domain/member/repository/MemberActivityRepositoryTest.java
  • src/main/java/org/ject/support/admin/member/service/AdminMemberUseCase.java
  • src/test/java/org/ject/support/admin/member/controller/AdminMemberSemesterControllerTest.java

@kangkings
kangkings force-pushed the feat/516-member-semester-list branch from 8670e82 to 5445e95 Compare June 30, 2026 15:05

@023-dev 023-dev left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

고생하셨습니다.

Comment thread src/main/java/org/ject/support/admin/member/service/AdminMemberUseCase.java Outdated

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
src/test/java/org/ject/support/domain/member/entity/MemberActivityTest.java (1)

92-95: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

타입 안전한 errorCode 추출 고려

.extracting("errorCode")는 문자열 기반 리플렉션 추출이라 필드/getter 이름이 바뀌어도 컴파일 타임에 감지되지 않습니다. extracting(t -> ((MemberException) t).getErrorCode()) 형태의 함수형 추출을 사용하면 리팩터링 시 안전성이 높아집니다. 다만 기존 테스트 스위트에 동일 패턴이 이미 관례적으로 쓰였을 수 있어 필수는 아닙니다.

♻️ 제안
 		assertThat(throwable)
 			.isInstanceOf(MemberException.class)
-			.extracting("errorCode")
+			.extracting(t -> ((MemberException) t).getErrorCode())
 			.isEqualTo(MemberErrorCode.INVALID_ACTIVITY_STATUS);
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/test/java/org/ject/support/domain/member/entity/MemberActivityTest.java`
around lines 92 - 95, The assertion in MemberActivityTest uses string-based
extracting("errorCode"), which is brittle against refactors. Update the
throwable assertion to use a type-safe lambda-based extraction on
MemberException, referencing getErrorCode() instead of the reflective field
name, while keeping the existing instance-of and equality checks intact.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In `@src/test/java/org/ject/support/domain/member/entity/MemberActivityTest.java`:
- Around line 92-95: The assertion in MemberActivityTest uses string-based
extracting("errorCode"), which is brittle against refactors. Update the
throwable assertion to use a type-safe lambda-based extraction on
MemberException, referencing getErrorCode() instead of the reflective field
name, while keeping the existing instance-of and equality checks intact.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: c3ae946c-8914-4af3-bb41-670774104dbe

📥 Commits

Reviewing files that changed from the base of the PR and between 8670e82 and 67e9608.

📒 Files selected for processing (18)
  • src/main/java/org/ject/support/admin/member/controller/AdminMemberSemesterController.java
  • src/main/java/org/ject/support/admin/member/dto/projection/SearchMemberSemesterProjection.java
  • src/main/java/org/ject/support/admin/member/dto/request/MemberSemesterSearchCondition.java
  • src/main/java/org/ject/support/admin/member/dto/response/SearchMemberSemesterResponse.java
  • src/main/java/org/ject/support/admin/member/service/AdminMemberActivityService.java
  • src/main/java/org/ject/support/admin/member/service/AdminMemberService.java
  • src/main/java/org/ject/support/admin/member/service/AdminMemberUseCase.java
  • src/main/java/org/ject/support/domain/member/ActivityStatus.java
  • src/main/java/org/ject/support/domain/member/entity/MemberActivity.java
  • src/main/java/org/ject/support/domain/member/exception/MemberErrorCode.java
  • src/main/java/org/ject/support/domain/member/repository/MemberActivityQueryRepositoryImpl.java
  • src/test/java/org/ject/support/admin/member/controller/AdminMemberSemesterControllerTest.java
  • src/test/java/org/ject/support/admin/member/service/AdminMemberActivityServiceTest.java
  • src/test/java/org/ject/support/admin/member/service/AdminMemberUseCaseTest.java
  • src/test/java/org/ject/support/domain/member/ActivityStatusTest.java
  • src/test/java/org/ject/support/domain/member/entity/MemberActivityTest.java
  • src/test/java/org/ject/support/domain/member/fixture/SemesterActivityFixture.java
  • src/test/java/org/ject/support/domain/member/repository/MemberActivityRepositoryTest.java
✅ Files skipped from review due to trivial changes (3)
  • src/main/java/org/ject/support/admin/member/dto/projection/SearchMemberSemesterProjection.java
  • src/main/java/org/ject/support/admin/member/service/AdminMemberService.java
  • src/test/java/org/ject/support/domain/member/ActivityStatusTest.java
🚧 Files skipped from review as they are similar to previous changes (14)
  • src/main/java/org/ject/support/domain/member/entity/MemberActivity.java
  • src/main/java/org/ject/support/admin/member/dto/request/MemberSemesterSearchCondition.java
  • src/main/java/org/ject/support/admin/member/dto/response/SearchMemberSemesterResponse.java
  • src/main/java/org/ject/support/admin/member/service/AdminMemberActivityService.java
  • src/main/java/org/ject/support/admin/member/controller/AdminMemberSemesterController.java
  • src/test/java/org/ject/support/admin/member/service/AdminMemberActivityServiceTest.java
  • src/test/java/org/ject/support/domain/member/fixture/SemesterActivityFixture.java
  • src/test/java/org/ject/support/admin/member/service/AdminMemberUseCaseTest.java
  • src/main/java/org/ject/support/domain/member/exception/MemberErrorCode.java
  • src/main/java/org/ject/support/admin/member/service/AdminMemberUseCase.java
  • src/main/java/org/ject/support/domain/member/repository/MemberActivityQueryRepositoryImpl.java
  • src/test/java/org/ject/support/admin/member/controller/AdminMemberSemesterControllerTest.java
  • src/test/java/org/ject/support/domain/member/repository/MemberActivityRepositoryTest.java
  • src/main/java/org/ject/support/domain/member/ActivityStatus.java

@kangkings
kangkings merged commit 168f976 into dev Jul 2, 2026
3 checks passed
@kangkings
kangkings deleted the feat/516-member-semester-list branch July 2, 2026 03:20
kangkings added a commit that referenced this pull request Jul 2, 2026
* [feat] 일반 구성원 목록 조회 응답 구조 추가

* [feat] 일반 구성원 목록 조회 QueryDSL 추가

* [feat] 일반 구성원 목록 조회 API 추가

* [test] 일반 구성원 목록 조회 Controller, Service, Repository 테스트 추가

* [fix] 이메일 길이로 실패하던 Question 통합테스트 수정

* [fix] Controller 테스트 실패 케이스에서 cursor 검증 수정, unique email 생성 로직 수정

* [fix] redis 컨테이너 종료로 인한 테스트 실패 조치

* [feat] 활동 상태 필터 추가

* [comment] 주석 통합 및 정리
kangkings added a commit that referenced this pull request Jul 2, 2026
* [feat] 일반 구성원 목록 조회 응답 구조 추가

* [feat] 일반 구성원 목록 조회 QueryDSL 추가

* [feat] 일반 구성원 목록 조회 API 추가

* [test] 일반 구성원 목록 조회 Controller, Service, Repository 테스트 추가

* [fix] 이메일 길이로 실패하던 Question 통합테스트 수정

* [fix] Controller 테스트 실패 케이스에서 cursor 검증 수정, unique email 생성 로직 수정

* [fix] redis 컨테이너 종료로 인한 테스트 실패 조치

* [feat] 활동 상태 필터 추가

* [comment] 주석 통합 및 정리
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

👨🏻‍💻backend 백엔드 작업 ✨feature 구현, 개선 사항 관련 부분

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

[FUNC_MBR_MGT_01] 일반 구성원 리스트 조회

2 participants