Building the entire backend over the weekend #113
@ -10,6 +10,7 @@ import com.hithomelabs.CFTunnels.Entity.User;
|
||||
import com.hithomelabs.CFTunnels.Headers.AuthKeyEmailHeader;
|
||||
import com.hithomelabs.CFTunnels.Models.Config;
|
||||
import com.hithomelabs.CFTunnels.Models.Ingress;
|
||||
import com.hithomelabs.CFTunnels.Models.PaginationRequest;
|
||||
import com.hithomelabs.CFTunnels.Models.TunnelResponse;
|
||||
import com.hithomelabs.CFTunnels.Models.TunnelsResponse;
|
||||
import com.hithomelabs.CFTunnels.Repositories.UserRepository;
|
||||
@ -22,7 +23,9 @@ import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.boot.web.servlet.error.ErrorController;
|
||||
import org.springframework.dao.DataAccessException;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.PageRequest;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.data.domain.Sort;
|
||||
import org.springframework.http.*;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.security.core.GrantedAuthority;
|
||||
@ -111,8 +114,12 @@ public class TunnelController implements ErrorController {
|
||||
@GetMapping("/requests")
|
||||
public ResponseEntity<Map<String,Object>> getAllRequests(
|
||||
@RequestParam(required = false) Request.RequestStatus status,
|
||||
Pageable pageable) {
|
||||
@ModelAttribute PaginationRequest paginationRequest) {
|
||||
try {
|
||||
Sort sort = paginationRequest.getSort() != null && paginationRequest.getSort().length > 0
|
||||
? Sort.by(paginationRequest.getSort())
|
||||
: Sort.by("id");
|
||||
Pageable pageable = PageRequest.of(paginationRequest.getPage(), paginationRequest.getSize(), sort);
|
||||
Page<Request> requests = mappingRequestService.getAllRequests(status, pageable);
|
||||
Map<String, Object> jsonResponse = new HashMap<>();
|
||||
jsonResponse.put("status", "success");
|
||||
|
||||
@ -0,0 +1,14 @@
|
||||
package com.hithomelabs.CFTunnels.Models;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class PaginationRequest {
|
||||
private int page = 0;
|
||||
private int size = 10;
|
||||
private String[] sort = {"id"};
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user