Skip to content
Snippets Groups Projects
Commit 956f35e6 authored by Charly Maeder's avatar Charly Maeder
Browse files

Merge branch 'feature/request-historic' into 'master'

Feature/request historic

See merge request !7
parents 1319f7d2 a3833bc9
No related branches found
No related tags found
1 merge request!7Feature/request historic
...@@ -32,7 +32,7 @@ import javax.validation.Valid; ...@@ -32,7 +32,7 @@ import javax.validation.Valid;
@CrossOrigin(origins = "*") @CrossOrigin(origins = "*")
@RestController @RestController
@Tag(name = "SmartHarvester publication", description = "Publication management") @Tag(name = "SmartHarvester publication", description = "Publication management")
@RequestMapping("/harvester/publication") @RequestMapping("/harvester/api/publication")
public class SmartHarvesterPublicationController { public class SmartHarvesterPublicationController {
......
package com.smartharvester.controller;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.MongoIterable;
import com.smartharvester.dao.CatalogDaoRepository;
import com.smartharvester.dao.OpenApiDaoRepository;
import com.smartharvester.dao.RequestHistoricalRepository;
import com.smartharvester.dao.UserDaoRepository;
import com.smartharvester.exception.ResourceNotFoundException;
import com.smartharvester.model.login.response.MessageResponse;
import com.smartharvester.model.openapi.OpenApi;
import com.smartharvester.model.requestHistorical.CreateParams;
import com.smartharvester.model.user.Catalog;
import com.smartharvester.model.user.RequestHistorical;
import com.smartharvester.model.user.SmartHarvesterUser;
import com.smartharvester.service.UserDaoSevice;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.bson.Document;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.util.*;
import javax.validation.Valid;
@CrossOrigin(origins = "*")
@RestController
@Tag(name = "SmartHarvester publication", description = "Request historical")
@RequestMapping("/harvester/api/request-historical")
public class SmartHarvesterRequestHistoricalController {
@Autowired
private RequestHistoricalRepository requestHistoricalRepository;
@Autowired
private CatalogDaoRepository catalogDoaRepository;
/**
* Method to get catalog request historical, order by date.
*
* @return Request historical array.
*/
@GetMapping("/getall/{catId}")
public ResponseEntity<?> getAll(@PathVariable("catId") String catId) {
List<RequestHistorical> response = requestHistoricalRepository.findAllByCatIdOrderByRequestDateDesc(catId);
if (response == null || response.size() == 0) {
return ResponseEntity.badRequest()
.body(new MessageResponse("Error: historical not found!", HttpStatus.NOT_FOUND));
}
return ResponseEntity.ok(response);
}
@PostMapping("/create")
public ResponseEntity<?> create(@Valid @RequestBody CreateParams params) {
if (catalogDoaRepository.findByCatId(params.catId) == null) {
return ResponseEntity.badRequest()
.body(new MessageResponse("Error: Catalog not found!", HttpStatus.NOT_FOUND));
}
List<RequestHistorical> historical = requestHistoricalRepository.findAllByCatIdOrderByRequestDateDesc(params.catId);
for (int i = 0; i < historical.size(); i++) {
if (i > 8) {
requestHistoricalRepository.delete(historical.get(i));
}
}
requestHistoricalRepository.save(new RequestHistorical(params.catId, params.request));
return ResponseEntity.ok(new MessageResponse("Request added successfully to historical!", HttpStatus.OK));
}
}
\ No newline at end of file
package com.smartharvester.dao;
import com.smartharvester.model.openapi.OpenApi;
import com.smartharvester.model.user.RequestHistorical;
import com.smartharvester.model.user.SmartHarvesterUser;
import org.springframework.data.mongodb.repository.MongoRepository;
import org.springframework.data.mongodb.repository.Query;
import org.springframework.stereotype.Repository;
import java.util.Collection;
import java.util.List;
import java.util.Optional;
@Repository
public interface RequestHistoricalRepository extends MongoRepository<RequestHistorical, Integer> {
List<RequestHistorical> findAllByCatIdOrderByRequestDateDesc(String catId);
}
package com.smartharvester.model.requestHistorical;
public class CreateParams {
public String catId;
public String request;
}
package com.smartharvester.model.user;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.data.annotation.Id;
public class RequestHistorical {
@Id
private String id;
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date requestDate;
private String catId;
private String request;
public RequestHistorical(String catId, String request) {
this.catId = catId;
this.request = request;
this.requestDate = new Date();
}
public String getId() {
return this.id;
}
public Date getRequestDate() {
return this.requestDate;
}
public String getCatId() {
return this.catId;
}
public String getRequest() {
return this.request;
}
public void setRequestDate(Date requestDate) {
this.requestDate = requestDate;
}
public void setCatId(String catId) {
this.catId = catId;
}
public void setRequest(String request) {
this.request = request;
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment