package es.uv.saic.web; import java.io.IOException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import es.uv.saic.shared.dto.ArchiveOrganDTO; import es.uv.saic.shared.dto.CategoriaDTO; import es.uv.saic.shared.dto.DocumentTmpDTO; import es.uv.saic.shared.domain.Document; import es.uv.saic.service.DocumentService; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; @RestController @RequestMapping("/document") public class DocumentController { @Autowired private DocumentService ds; /* * endpoint para save */ @PostMapping("/save") public Document save(@RequestBody Document doc) { return ds.save(doc); } /* * endpoing para findByCategoriaOrgan */ @PostMapping("/categoria/organ") public Document findByCategoriaOrgan(@RequestBody CategoriaDTO categoria) { return ds.findByCategoriaOrgan(categoria.getCategoria(), categoria.getLugar(), categoria.getTlugar()); } /* * endpoint para findByID */ @GetMapping("/{idDocument}") public Document findByID(@PathVariable Integer idDocument) { return ds.findById(idDocument); } /* * endpoint para upload */ @PostMapping("/upload") public String upload(@RequestBody DocumentTmpDTO documentTmpDTO) throws IOException { return ds.upload(documentTmpDTO.getIdDocument(), documentTmpDTO.getIdCategoria(), documentTmpDTO.getLugar(), documentTmpDTO.getTlugar(), documentTmpDTO.getFile()); } @PostMapping("/archive") public Document archive(@RequestBody Document doc) { return ds.archive(doc); } @PostMapping("/archive/organ") public void archiveByOrgan(@RequestBody ArchiveOrganDTO organ) { ds.archiveByOrgan(organ.getLugar(), organ.getTlugar()); } }