Skip to content

Commit e499feb

Browse files
authored
Merge pull request #74 from Staketab/dev
added domain status parameter chossing
2 parents 59dce97 + dd9ccf8 commit e499feb

File tree

4 files changed

+18
-8
lines changed

4 files changed

+18
-8
lines changed

src/main/java/com/staketab/minanames/controller/DomainController.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import com.staketab.minanames.dto.request.SearchParams;
1313
import com.staketab.minanames.dto.request.sort.DomainsSortColumn;
1414
import com.staketab.minanames.entity.DomainEntity;
15+
import com.staketab.minanames.entity.DomainStatus;
1516
import com.staketab.minanames.service.DomainService;
1617
import io.swagger.v3.oas.annotations.Operation;
1718
import io.swagger.v3.oas.annotations.Parameter;
@@ -61,10 +62,12 @@ public Page<DomainEntity> getAccountDomains(@Valid @ParameterObject BaseRequest
6162
@RequestParam @Schema(defaultValue = "RESERVATION_TIMESTAMP", allowableValues =
6263
{"AMOUNT", "STATUS", "RESERVATION_TIMESTAMP", "IS_SEND_TO_CLOUD_WORKER"},
6364
description = "Select sorting parameter.") DomainsSortColumn sortBy,
65+
@RequestParam(required = false)
66+
@Parameter(description = "Domain status") DomainStatus domainStatus,
6467
@RequestParam(required = false, defaultValue = "")
65-
@Parameter(description = "Domain Name") String searchStr) {
68+
@Parameter(description = "Domain Name") String searchStr) {
6669
SearchParams searchParams = new SearchParams(searchStr);
67-
return domainService.findAllByAccountPageable(request.withSortColumn(sortBy), accountAddress, searchParams);
70+
return domainService.findAllByAccountPageable(request.withSortColumn(sortBy), accountAddress, searchParams, domainStatus.name());
6871
}
6972

7073
@GetMapping("/simple")

src/main/java/com/staketab/minanames/repository/DomainRepository.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.staketab.minanames.repository;
22

33
import com.staketab.minanames.entity.DomainEntity;
4+
import com.staketab.minanames.entity.DomainStatus;
45
import com.staketab.minanames.entity.PayableTransactionEntity;
56
import org.springframework.data.domain.Page;
67
import org.springframework.data.domain.Pageable;
@@ -36,9 +37,12 @@ public interface DomainRepository extends JpaRepository<DomainEntity, String> {
3637
@Query(nativeQuery = true,
3738
value = """
3839
select *
39-
from domains
40-
where owner_address = :accountAddress and (:searchStr is null or name = :searchStr)""")
41-
Page<DomainEntity> findAllDomainsByAccount(String searchStr, String accountAddress, Pageable buildPageable);
40+
from domains
41+
where owner_address = :accountAddress
42+
and (:searchStr is null or name = :searchStr)
43+
and (:domainStatus is null or status = :domainStatus)
44+
""")
45+
Page<DomainEntity> findAllDomainsByAccount(String searchStr, String accountAddress, String domainStatus, Pageable buildPageable);
4246

4347
@Query(nativeQuery = true,
4448
value = """

src/main/java/com/staketab/minanames/service/DomainService.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,16 @@
1111
import com.staketab.minanames.dto.request.BaseRequest;
1212
import com.staketab.minanames.dto.request.SearchParams;
1313
import com.staketab.minanames.entity.DomainEntity;
14+
import com.staketab.minanames.entity.DomainStatus;
1415
import org.springframework.data.domain.Page;
1516

1617
public interface DomainService {
1718
Page<DomainEntity> findAllByPageable(BaseRequest request, SearchParams searchParams);
1819

1920
Page<SimpleDomainDTO> findAllSimpleDomainsByPageable(BaseRequest request);
2021

21-
Page<DomainEntity> findAllByAccountPageable(BaseRequest request, String accountAddress, SearchParams searchParams);
22+
Page<DomainEntity> findAllByAccountPageable(BaseRequest request, String accountAddress, SearchParams searchParams,
23+
String domainStatus);
2224

2325
DomainEntity create(DomainReservationDTO domainRequest);
2426

src/main/java/com/staketab/minanames/service/impl/DomainServiceImpl.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,8 +78,9 @@ public Page<SimpleDomainDTO> findAllSimpleDomainsByPageable(BaseRequest request)
7878
}
7979

8080
@Override
81-
public Page<DomainEntity> findAllByAccountPageable(BaseRequest request, String accountAddress, SearchParams searchParams) {
82-
return domainRepository.findAllDomainsByAccount(searchParams.getSearchStr(), accountAddress, request.buildPageable());
81+
public Page<DomainEntity> findAllByAccountPageable(BaseRequest request, String accountAddress, SearchParams searchParams,
82+
String domainStatus) {
83+
return domainRepository.findAllDomainsByAccount(searchParams.getSearchStr(), accountAddress, domainStatus, request.buildPageable());
8384
}
8485

8586
@Override

0 commit comments

Comments
 (0)