Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions main/java/com/scarlet/consultorio/configuracao/OpenApiConfig.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package com.scarlet.consultorio.configuracao;

import org.springdoc.core.GroupedOpenApi;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class OpenApiConfig {
@Bean
public GroupedOpenApi publicApi() {
return GroupedOpenApi.builder()
.group("public")
.pathsToMatch("/**")
.build();
}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,67 @@
package com.scarlet.consultorio.controllers;

import com.scarlet.consultorio.dtos.AnamneseRecordDto;
import com.scarlet.consultorio.models.AnamneseModel;
import com.scarlet.consultorio.repositories.AnamneseRepository;
import jakarta.validation.Valid;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;

import java.util.List;
import java.util.Optional;
import java.util.UUID;

import static org.springframework.beans.BeanUtils.copyProperties;

@RestController
public class AnamneseController {
@Autowired
AnamneseRepository anamneseRepository;

@PostMapping("/anamnese")
public ResponseEntity<AnamneseModel> saveAnamnese(@Valid @RequestBody AnamneseRecordDto anamneseRecordDto) {
var anamneseModel = new AnamneseModel();
copyProperties(anamneseRecordDto, anamneseModel);
return ResponseEntity.status(HttpStatus.CREATED).body(anamneseRepository.save(anamneseModel));
}

@GetMapping("/anamnese")
public ResponseEntity<List<AnamneseModel>> getAllAnamnese() {
List<AnamneseModel> anamneseModelList = anamneseRepository.findAll();
return ResponseEntity.status(HttpStatus.OK).body(anamneseModelList);
}

@GetMapping("/anamnese/{id}")
public ResponseEntity<Object> getOneAnamnese(@PathVariable(value = "id") UUID id) {
Optional<AnamneseModel> anamneseModel = anamneseRepository.findById(id);
if (anamneseModel.isEmpty()) {
return ResponseEntity.status(HttpStatus.NOT_FOUND).body("Anamnese não encontrada.");
}
return ResponseEntity.status(HttpStatus.OK).body(anamneseModel.get());
}

@PutMapping("/anamnese/{id}")
public ResponseEntity<Object> updateAnamnese(@PathVariable(value = "id") UUID id,
@RequestBody AnamneseRecordDto anamneseRecordDto) {
Optional<AnamneseModel> anamneseOptional = anamneseRepository.findById(id);
if (anamneseOptional.isEmpty()) {
return ResponseEntity.status(HttpStatus.NOT_FOUND).body("Anamnese não encontrada.");
}
var anamneseModel = anamneseOptional.get();
copyProperties(anamneseRecordDto, anamneseModel);
return ResponseEntity.status(HttpStatus.OK).body(anamneseRepository.save(anamneseModel));
}

@DeleteMapping("/anamnese/{id}")
public ResponseEntity<Object> deleteAnamnese(@PathVariable(value = "id") UUID id) {
Optional<AnamneseModel> anamneseModel = anamneseRepository.findById(id);
if (anamneseModel.isEmpty()) {
return ResponseEntity.status(HttpStatus.NOT_FOUND).body("Anamnese não encontrada.");
}
anamneseRepository.delete(anamneseModel.get());
return ResponseEntity.status(HttpStatus.OK).body("Anamnese removida com sucesso.");
}
}
65 changes: 65 additions & 0 deletions main/java/com/scarlet/consultorio/controllers/CaixaController.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
package com.scarlet.consultorio.controllers;


import com.scarlet.consultorio.dtos.CaixaRecordDto;
import com.scarlet.consultorio.models.CaixaModel;
import com.scarlet.consultorio.repositories.CaixaRepository;
import jakarta.validation.Valid;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Optional;
import java.util.UUID;


@RestController
public class CaixaController {

@Autowired
CaixaRepository caixaRepository;

@PostMapping("/caixa")
public ResponseEntity<CaixaModel> saveCaixa(@RequestBody @Valid CaixaRecordDto caixaRecordDto) {
var caixaModel = new CaixaModel();
BeanUtils.copyProperties(caixaRecordDto, caixaModel);
return ResponseEntity.status(HttpStatus.CREATED).body(caixaRepository.save(caixaModel));
}

@GetMapping("/caixa")
public ResponseEntity<List<CaixaModel>> getAllCaixa() {
List<CaixaModel> caixaModelList = caixaRepository.findAll();
return ResponseEntity.status(HttpStatus.OK).body(caixaModelList);
}

@GetMapping("/caixa/{id}")
public ResponseEntity<CaixaModel> getOneCaixa(@PathVariable UUID id) {
Optional<CaixaModel> caixa = caixaRepository.findById(id);
return caixa.map(ResponseEntity::ok).orElseGet(() -> ResponseEntity.notFound().build());
}

@PutMapping("/caixa/{id}")
public ResponseEntity<Object> updateCaixa(@PathVariable(value = "id") UUID id,
@RequestBody @Valid CaixaRecordDto caixaRecordDto) {
Optional<CaixaModel> caixaOptional = caixaRepository.findById(id);
if (!caixaOptional.isPresent()) {
return ResponseEntity.status(HttpStatus.NOT_FOUND).body("Valor não encontrado");
}

var caixaModel = caixaOptional.get();
BeanUtils.copyProperties(caixaRecordDto, caixaModel);
return ResponseEntity.status(HttpStatus.OK).body(caixaRepository.save(caixaModel));
}

@DeleteMapping("/caixa/{id}")
public ResponseEntity<Object> deleteCaixa(@PathVariable(value = "id") UUID id) {
Optional<CaixaModel> caixa = caixaRepository.findById(id);
if (caixa.isEmpty()) {
return ResponseEntity.status(HttpStatus.NOT_FOUND).body("Valor não encontrado");
}
caixaRepository.delete(caixa.get());
return ResponseEntity.status(HttpStatus.NO_CONTENT).body("Valor removido com sucesso");
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import com.scarlet.consultorio.models.ConsultaModel;
import com.scarlet.consultorio.repositories.ConsultaRepository;
import jakarta.validation.Valid;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
Expand All @@ -23,7 +24,7 @@ public class ConsultaController {
@PostMapping("/consulta")
public ResponseEntity<ConsultaModel> saveConsulta(@RequestBody ConsultaRecordDto consultaRecordDto) {
var consultaModel = new ConsultaModel();
copyProperties (consultaRecordDto, consultaModel);
BeanUtils.copyProperties (consultaRecordDto, consultaModel);
return ResponseEntity.status(HttpStatus.CREATED).body(consultaRepository.save(consultaModel));

}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@
import java.util.Optional;
import java.util.UUID;

import static org.springframework.beans.BeanUtils.*;

@RestController
public class ConsultorioController {
Expand All @@ -25,7 +24,7 @@ public class ConsultorioController {
@PostMapping("/consultorio")
public ResponseEntity<ConsultorioModel> saveConsultorio(@RequestBody @Valid ConsultorioRecordDto consultorioRecordDto) {
var consultorioModel = new ConsultorioModel();
copyProperties(consultorioRecordDto, consultorioModel);
BeanUtils.copyProperties(consultorioRecordDto, consultorioModel);
return ResponseEntity.status(HttpStatus.CREATED).body(consultorioRepository.save(consultorioModel));
}

Expand Down Expand Up @@ -54,7 +53,7 @@ public ResponseEntity<Object> updateConsultorio(@PathVariable(value = "id") UUID
return ResponseEntity.status(HttpStatus.NOT_FOUND).body("Consultório não encontrado.");
}
var consultorioModel = consultoriO.get();
copyProperties(consultorioRecordDto, consultorioModel);
BeanUtils.copyProperties(consultorioRecordDto, consultorioModel);
return ResponseEntity.status(HttpStatus.OK).body(consultorioRepository.save(consultorioModel));
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import com.scarlet.consultorio.models.PacienteModel;
import com.scarlet.consultorio.repositories.PacienteRepository;
import jakarta.validation.Valid;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
Expand All @@ -13,8 +14,6 @@
import java.util.Optional;
import java.util.UUID;

import static org.springframework.beans.BeanUtils.copyProperties;

@RestController
public class PacienteController {
@Autowired
Expand All @@ -23,7 +22,7 @@ public class PacienteController {
@PostMapping("/paciente")
public ResponseEntity<PacienteModel> savePaciente(@RequestBody @Valid PacienteRecordDto pacienteRecordDto) {
var pacienteModel = new PacienteModel();
copyProperties(pacienteRecordDto, pacienteModel);
BeanUtils.copyProperties(pacienteRecordDto, pacienteModel);
return ResponseEntity.status(HttpStatus.CREATED).body(pacienteRepository.save(pacienteModel));
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package com.scarlet.consultorio.dtos;


import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;

Expand All @@ -16,3 +15,4 @@ public record AnamneseRecordDto(@NotBlank String queixaPrincipal,
@NotNull Boolean coracao){

}

7 changes: 7 additions & 0 deletions main/java/com/scarlet/consultorio/dtos/CaixaRecordDto.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package com.scarlet.consultorio.dtos;

import jakarta.validation.constraints.NotNull;
import java.time.LocalDate;

public record CaixaRecordDto (@NotNull LocalDate dataEntrada, @NotNull double valorEntrada, @NotNull double valorSaida) {
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;

import java.time.LocalDate;


Expand Down
6 changes: 4 additions & 2 deletions main/java/com/scarlet/consultorio/models/CaixaModel.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,21 @@

import jakarta.persistence.*;
import lombok.Data;
import lombok.ToString;

import java.time.LocalDate;
import java.util.UUID;

@Entity
@Data
@ToString
@Table (name = "caixa")
public class CaixaModel {
@Id
@GeneratedValue(strategy = GenerationType.UUID)
private UUID idCaixa;
@Column (name = "data")
private LocalDate data;
@Column (name = "dataEntrada")
private LocalDate dataEntrada;
@Column (name = "valorEntrada")
private double valorEntrada;
@Column (name = "valorSaida")
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package com.scarlet.consultorio.repositories;

import com.scarlet.consultorio.models.AnamneseModel;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

import java.util.UUID;

@Repository
public interface AnamneseRepository extends JpaRepository<AnamneseModel, UUID> {
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package com.scarlet.consultorio.repositories;

import com.scarlet.consultorio.models.CaixaModel;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

import java.util.UUID;

@Repository
public interface CaixaRepository extends JpaRepository<CaixaModel, UUID> {
}
20 changes: 20 additions & 0 deletions test/http-consultorio/caixa.http
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
###Definição da baseUrl
@baseUrl = http://localhost:8080
###Requisição com Post para criar um novo caixa
POST {{baseUrl}}/caixa
Content-Type: application/json
Accept: application/json

{
"dataEntrada": "2025-02-07",
"valorEntrada": "100,00",
"valorSaida": "40,00"
}
###Requisição com Get
GET {{baseUrl}}/caixa
Content-type: application/json
Accept: application/json

{
"my-json-field": "my-json-value"
}
2 changes: 1 addition & 1 deletion test/http-consultorio/consultorio.http
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Content-Type: application/json
Accept: application/json

{
"nameConsultorio": "Sorriso",
"nomeConsultorio": "Sorriso",
"enderecoConsultorio": "Rua A esquina com B"
}
###Requisição com Get
Expand Down