Skip to content

Feature/list quotas#65

Merged
jhonatapers merged 2 commits intodevelopfrom
feature/list-quotas
Aug 26, 2025
Merged

Feature/list quotas#65
jhonatapers merged 2 commits intodevelopfrom
feature/list-quotas

Conversation

@jhonatapers
Copy link
Copy Markdown
Member

This pull request introduces a new feature for listing member quotas, refactors related application and infrastructure layers, and updates the API to expose this functionality. The main changes include the addition of the ListQuotasUseCase and its implementation, integration with the API and controller, and supporting updates to the gateway and data mapping. Below are the most important changes grouped by theme:

Application Layer: Member Quota Listing

  • Added the ListQuotasUseCase abstract class and its concrete implementation DefaultListQuotasUseCase, which retrieves paginated member quota data using the new ListQuotaOutput record. (application/src/main/java/com/callv2/drive/application/member/quota/retrieve/list/ListQuotasUseCase.java, DefaultListQuotasUseCase.java, ListQuotaOutput.java) [1] [2] [3]
  • Removed the obsolete QuotaListOutput record, replacing it with the more detailed ListQuotaOutput. (application/src/main/java/com/callv2/drive/application/member/quota/retrieve/list/QuotaListOutput.java)

Infrastructure Layer: Gateway and Repository Updates

  • Implemented the findAll(SearchQuery) method in DefaultMemberGateway to support paginated and filtered member queries, leveraging Spring Data JPA specifications and pagination. Updated constructor to inject FilterService. (infrastructure/src/main/java/com/callv2/drive/infrastructure/member/DefaultMemberGateway.java) [1] [2]
  • Extended MemberJpaRepository to support specification-based queries for member entities. (infrastructure/src/main/java/com/callv2/drive/infrastructure/member/persistence/MemberJpaRepository.java)

API Layer: Endpoint and Controller Integration

  • Added the listQuotas endpoint to MemberAdminAPI for listing member quotas with pagination, ordering, and filtering options. (infrastructure/src/main/java/com/callv2/drive/infrastructure/api/MemberAdminAPI.java)
  • Implemented the corresponding controller method in MemberAdminController, wiring through the use case and mapping results to the response model. (infrastructure/src/main/java/com/callv2/drive/infrastructure/api/controller/MemberAdminController.java) [1] [2]

Configuration and Data Mapping

  • Registered the new use case bean in MemberUseCaseConfig for dependency injection. (infrastructure/src/main/java/com/callv2/drive/infrastructure/configuration/usecase/MemberUseCaseConfig.java)
  • Added MemberQuotaListResponse record and updated MemberPresenter to map domain output to API response. (infrastructure/src/main/java/com/callv2/drive/infrastructure/member/model/MemberQuotaListResponse.java, MemberPresenter.java) [1] [2]

These changes collectively enable efficient, paginated, and filterable listing of member quotas via the API, with proper separation of concerns and mapping between layers.

@jhonatapers jhonatapers self-assigned this Aug 26, 2025
@jhonatapers jhonatapers added the enhancement New feature or request label Aug 26, 2025
@jhonatapers jhonatapers moved this to In Progress in CallV2 Aug 26, 2025
@jhonatapers jhonatapers merged commit 57af0ea into develop Aug 26, 2025
@github-project-automation github-project-automation Bot moved this from In Progress to Done in CallV2 Aug 26, 2025
@jhonatapers jhonatapers deleted the feature/list-quotas branch August 26, 2025 13:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant