Skip to content

Commit

Permalink
update isDomainNameReserved endpoint, add new dto
Browse files Browse the repository at this point in the history
  • Loading branch information
MrFoxogen committed Mar 18, 2024
1 parent 90f0216 commit c15de8d
Show file tree
Hide file tree
Showing 4 changed files with 38 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import com.staketab.minanames.dto.DomainReservationDTO;
import com.staketab.minanames.dto.DomainUpdateDTO;
import com.staketab.minanames.dto.ReservedDomainDTO;
import com.staketab.minanames.dto.request.BaseRequest;
import com.staketab.minanames.dto.request.SearchParams;
import com.staketab.minanames.dto.request.sort.DomainsSortColumn;
Expand All @@ -16,7 +17,14 @@
import org.springdoc.core.annotations.ParameterObject;
import org.springframework.data.domain.Page;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
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;

import java.util.NoSuchElementException;

Expand Down Expand Up @@ -84,7 +92,7 @@ public ResponseEntity<DomainEntity> update(@RequestBody DomainUpdateDTO domainUp
}

@GetMapping("/{domainName}/reserved")
public ResponseEntity<String> isDomainNameReserved(@PathVariable String domainName) {
public ResponseEntity<ReservedDomainDTO> isDomainNameReserved(@PathVariable String domainName) {
return ok(domainService.isNameReserved(domainName));
}

Expand Down
15 changes: 15 additions & 0 deletions src/main/java/com/staketab/minanames/dto/ReservedDomainDTO.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package com.staketab.minanames.dto;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class ReservedDomainDTO {

private String id;
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import com.staketab.minanames.dto.DomainReservationDTO;
import com.staketab.minanames.dto.DomainUpdateDTO;
import com.staketab.minanames.dto.ReservedDomainDTO;
import com.staketab.minanames.dto.request.BaseRequest;
import com.staketab.minanames.dto.request.SearchParams;
import com.staketab.minanames.entity.DomainEntity;
Expand All @@ -15,7 +16,7 @@ public interface DomainService {
DomainEntity create(DomainReservationDTO domainRequest);
Optional<DomainEntity> retrieve(String id);
DomainEntity update(DomainUpdateDTO domainUpdateDTO);
String isNameReserved(String name);
ReservedDomainDTO isNameReserved(String name);
Boolean setDefaultDomain(String id);
void removeReservedDomains();
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import com.staketab.minanames.dto.DomainReservationDTO;
import com.staketab.minanames.dto.DomainUpdateDTO;
import com.staketab.minanames.dto.ReservedDomainDTO;
import com.staketab.minanames.dto.request.BaseRequest;
import com.staketab.minanames.dto.request.SearchParams;
import com.staketab.minanames.entity.DomainEntity;
Expand Down Expand Up @@ -64,8 +65,10 @@ public DomainEntity update(DomainUpdateDTO domainUpdateDTO) {
}

@Override
public String isNameReserved(String name) {
return domainRepository.findDomainEntityByDomainName(name).map(DomainEntity::getId).orElse(null);
public ReservedDomainDTO isNameReserved(String name) {
return domainRepository.findDomainEntityByDomainName(name)
.map(this::mapToReservedDomainDTO)
.orElseGet(ReservedDomainDTO::new);
}

@Override
Expand All @@ -80,4 +83,10 @@ public void removeReservedDomains() {
long currentTimestamp = Timestamp.valueOf(localDateTime).getTime();
domainRepository.deleteAllByReservationTimestampLessThan(currentTimestamp);
}

private ReservedDomainDTO mapToReservedDomainDTO(DomainEntity domainEntity) {
return ReservedDomainDTO.builder()
.id(domainEntity.getId())
.build();
}
}

0 comments on commit c15de8d

Please sign in to comment.