├── .gitignore ├── .mvn └── wrapper │ ├── maven-wrapper.jar │ └── maven-wrapper.properties ├── README.md ├── mvnw ├── mvnw.cmd ├── pom.xml └── src ├── main ├── java │ └── med │ │ └── voll │ │ └── api │ │ ├── ApiApplication.java │ │ ├── controller │ │ ├── AutenticacaoController.java │ │ ├── ConsultaController.java │ │ ├── HelloController.java │ │ ├── MedicoController.java │ │ └── PacienteController.java │ │ ├── domain │ │ ├── ValidacaoException.java │ │ ├── consulta │ │ │ ├── AgendaDeConsultas.java │ │ │ ├── Consulta.java │ │ │ ├── ConsultaRepository.java │ │ │ ├── DadosAgendamentoConsulta.java │ │ │ ├── DadosCancelamentoConsulta.java │ │ │ ├── DadosDetalhamentoConsulta.java │ │ │ ├── MotivoCancelamento.java │ │ │ └── validacoes │ │ │ │ ├── agendamento │ │ │ │ ├── ValidadorAgendamentoDeConsulta.java │ │ │ │ ├── ValidadorHorarioAntecedencia.java │ │ │ │ ├── ValidadorHorarioFuncionamentoClinica.java │ │ │ │ ├── ValidadorMedicoAtivo.java │ │ │ │ ├── ValidadorMedicoComOutraConsultaNoMesmoHorario.java │ │ │ │ ├── ValidadorPacienteAtivo.java │ │ │ │ └── ValidadorPacienteSemOutraConsultaNoDia.java │ │ │ │ └── cancelamento │ │ │ │ ├── ValidadorCancelamentoDeConsulta.java │ │ │ │ └── ValidadorHorarioAntecedencia.java │ │ ├── endereco │ │ │ ├── DadosEndereco.java │ │ │ └── Endereco.java │ │ ├── medico │ │ │ ├── DadosAtualizacaoMedico.java │ │ │ ├── DadosCadastroMedico.java │ │ │ ├── DadosDetalhamentoMedico.java │ │ │ ├── DadosListagemMedico.java │ │ │ ├── Especialidade.java │ │ │ ├── Medico.java │ │ │ └── MedicoRepository.java │ │ ├── paciente │ │ │ ├── DadosAtualizacaoPaciente.java │ │ │ ├── DadosCadastroPaciente.java │ │ │ ├── DadosDetalhamentoPaciente.java │ │ │ ├── DadosListagemPaciente.java │ │ │ ├── Paciente.java │ │ │ └── PacienteRepository.java │ │ └── usuario │ │ │ ├── AutenticacaoService.java │ │ │ ├── DadosAutenticacao.java │ │ │ ├── Usuario.java │ │ │ └── UsuarioRepository.java │ │ └── infra │ │ ├── exception │ │ └── TratadorDeErros.java │ │ ├── security │ │ ├── DadosTokenJWT.java │ │ ├── SecurityConfigurations.java │ │ ├── SecurityFilter.java │ │ └── TokenService.java │ │ └── springdoc │ │ └── SpringDocConfigurations.java └── resources │ ├── application-prod.properties │ ├── application-test.properties │ ├── application.properties │ └── db │ └── migration │ ├── V1__create-table-medicos.sql │ ├── V2__alter-table-medicos-add-column-telefone.sql │ ├── V3__alter-table-medicos-add-column-ativo.sql │ ├── V4__create-table-pacientes.sql │ ├── V5__create-table-usuarios.sql │ ├── V6__create-table-consultas.sql │ └── V7__alter-table-consulta-add-column-motivo-cancelamento.sql └── test └── java └── med └── voll └── api ├── controller ├── ConsultaControllerTest.java └── MedicoControllerTest.java └── domain └── medico └── MedicoRepositoryTest.java /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/.gitignore -------------------------------------------------------------------------------- /.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/.mvn/wrapper/maven-wrapper.properties -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/README.md -------------------------------------------------------------------------------- /mvnw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/mvnw -------------------------------------------------------------------------------- /mvnw.cmd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/mvnw.cmd -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/pom.xml -------------------------------------------------------------------------------- /src/main/java/med/voll/api/ApiApplication.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/src/main/java/med/voll/api/ApiApplication.java -------------------------------------------------------------------------------- /src/main/java/med/voll/api/controller/AutenticacaoController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/src/main/java/med/voll/api/controller/AutenticacaoController.java -------------------------------------------------------------------------------- /src/main/java/med/voll/api/controller/ConsultaController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/src/main/java/med/voll/api/controller/ConsultaController.java -------------------------------------------------------------------------------- /src/main/java/med/voll/api/controller/HelloController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/src/main/java/med/voll/api/controller/HelloController.java -------------------------------------------------------------------------------- /src/main/java/med/voll/api/controller/MedicoController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/src/main/java/med/voll/api/controller/MedicoController.java -------------------------------------------------------------------------------- /src/main/java/med/voll/api/controller/PacienteController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/src/main/java/med/voll/api/controller/PacienteController.java -------------------------------------------------------------------------------- /src/main/java/med/voll/api/domain/ValidacaoException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/src/main/java/med/voll/api/domain/ValidacaoException.java -------------------------------------------------------------------------------- /src/main/java/med/voll/api/domain/consulta/AgendaDeConsultas.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/src/main/java/med/voll/api/domain/consulta/AgendaDeConsultas.java -------------------------------------------------------------------------------- /src/main/java/med/voll/api/domain/consulta/Consulta.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/src/main/java/med/voll/api/domain/consulta/Consulta.java -------------------------------------------------------------------------------- /src/main/java/med/voll/api/domain/consulta/ConsultaRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/src/main/java/med/voll/api/domain/consulta/ConsultaRepository.java -------------------------------------------------------------------------------- /src/main/java/med/voll/api/domain/consulta/DadosAgendamentoConsulta.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/src/main/java/med/voll/api/domain/consulta/DadosAgendamentoConsulta.java -------------------------------------------------------------------------------- /src/main/java/med/voll/api/domain/consulta/DadosCancelamentoConsulta.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/src/main/java/med/voll/api/domain/consulta/DadosCancelamentoConsulta.java -------------------------------------------------------------------------------- /src/main/java/med/voll/api/domain/consulta/DadosDetalhamentoConsulta.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/src/main/java/med/voll/api/domain/consulta/DadosDetalhamentoConsulta.java -------------------------------------------------------------------------------- /src/main/java/med/voll/api/domain/consulta/MotivoCancelamento.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/src/main/java/med/voll/api/domain/consulta/MotivoCancelamento.java -------------------------------------------------------------------------------- /src/main/java/med/voll/api/domain/consulta/validacoes/agendamento/ValidadorAgendamentoDeConsulta.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/src/main/java/med/voll/api/domain/consulta/validacoes/agendamento/ValidadorAgendamentoDeConsulta.java -------------------------------------------------------------------------------- /src/main/java/med/voll/api/domain/consulta/validacoes/agendamento/ValidadorHorarioAntecedencia.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/src/main/java/med/voll/api/domain/consulta/validacoes/agendamento/ValidadorHorarioAntecedencia.java -------------------------------------------------------------------------------- /src/main/java/med/voll/api/domain/consulta/validacoes/agendamento/ValidadorHorarioFuncionamentoClinica.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/src/main/java/med/voll/api/domain/consulta/validacoes/agendamento/ValidadorHorarioFuncionamentoClinica.java -------------------------------------------------------------------------------- /src/main/java/med/voll/api/domain/consulta/validacoes/agendamento/ValidadorMedicoAtivo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/src/main/java/med/voll/api/domain/consulta/validacoes/agendamento/ValidadorMedicoAtivo.java -------------------------------------------------------------------------------- /src/main/java/med/voll/api/domain/consulta/validacoes/agendamento/ValidadorMedicoComOutraConsultaNoMesmoHorario.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/src/main/java/med/voll/api/domain/consulta/validacoes/agendamento/ValidadorMedicoComOutraConsultaNoMesmoHorario.java -------------------------------------------------------------------------------- /src/main/java/med/voll/api/domain/consulta/validacoes/agendamento/ValidadorPacienteAtivo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/src/main/java/med/voll/api/domain/consulta/validacoes/agendamento/ValidadorPacienteAtivo.java -------------------------------------------------------------------------------- /src/main/java/med/voll/api/domain/consulta/validacoes/agendamento/ValidadorPacienteSemOutraConsultaNoDia.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/src/main/java/med/voll/api/domain/consulta/validacoes/agendamento/ValidadorPacienteSemOutraConsultaNoDia.java -------------------------------------------------------------------------------- /src/main/java/med/voll/api/domain/consulta/validacoes/cancelamento/ValidadorCancelamentoDeConsulta.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/src/main/java/med/voll/api/domain/consulta/validacoes/cancelamento/ValidadorCancelamentoDeConsulta.java -------------------------------------------------------------------------------- /src/main/java/med/voll/api/domain/consulta/validacoes/cancelamento/ValidadorHorarioAntecedencia.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/src/main/java/med/voll/api/domain/consulta/validacoes/cancelamento/ValidadorHorarioAntecedencia.java -------------------------------------------------------------------------------- /src/main/java/med/voll/api/domain/endereco/DadosEndereco.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/src/main/java/med/voll/api/domain/endereco/DadosEndereco.java -------------------------------------------------------------------------------- /src/main/java/med/voll/api/domain/endereco/Endereco.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/src/main/java/med/voll/api/domain/endereco/Endereco.java -------------------------------------------------------------------------------- /src/main/java/med/voll/api/domain/medico/DadosAtualizacaoMedico.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/src/main/java/med/voll/api/domain/medico/DadosAtualizacaoMedico.java -------------------------------------------------------------------------------- /src/main/java/med/voll/api/domain/medico/DadosCadastroMedico.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/src/main/java/med/voll/api/domain/medico/DadosCadastroMedico.java -------------------------------------------------------------------------------- /src/main/java/med/voll/api/domain/medico/DadosDetalhamentoMedico.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/src/main/java/med/voll/api/domain/medico/DadosDetalhamentoMedico.java -------------------------------------------------------------------------------- /src/main/java/med/voll/api/domain/medico/DadosListagemMedico.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/src/main/java/med/voll/api/domain/medico/DadosListagemMedico.java -------------------------------------------------------------------------------- /src/main/java/med/voll/api/domain/medico/Especialidade.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/src/main/java/med/voll/api/domain/medico/Especialidade.java -------------------------------------------------------------------------------- /src/main/java/med/voll/api/domain/medico/Medico.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/src/main/java/med/voll/api/domain/medico/Medico.java -------------------------------------------------------------------------------- /src/main/java/med/voll/api/domain/medico/MedicoRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/src/main/java/med/voll/api/domain/medico/MedicoRepository.java -------------------------------------------------------------------------------- /src/main/java/med/voll/api/domain/paciente/DadosAtualizacaoPaciente.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/src/main/java/med/voll/api/domain/paciente/DadosAtualizacaoPaciente.java -------------------------------------------------------------------------------- /src/main/java/med/voll/api/domain/paciente/DadosCadastroPaciente.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/src/main/java/med/voll/api/domain/paciente/DadosCadastroPaciente.java -------------------------------------------------------------------------------- /src/main/java/med/voll/api/domain/paciente/DadosDetalhamentoPaciente.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/src/main/java/med/voll/api/domain/paciente/DadosDetalhamentoPaciente.java -------------------------------------------------------------------------------- /src/main/java/med/voll/api/domain/paciente/DadosListagemPaciente.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/src/main/java/med/voll/api/domain/paciente/DadosListagemPaciente.java -------------------------------------------------------------------------------- /src/main/java/med/voll/api/domain/paciente/Paciente.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/src/main/java/med/voll/api/domain/paciente/Paciente.java -------------------------------------------------------------------------------- /src/main/java/med/voll/api/domain/paciente/PacienteRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/src/main/java/med/voll/api/domain/paciente/PacienteRepository.java -------------------------------------------------------------------------------- /src/main/java/med/voll/api/domain/usuario/AutenticacaoService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/src/main/java/med/voll/api/domain/usuario/AutenticacaoService.java -------------------------------------------------------------------------------- /src/main/java/med/voll/api/domain/usuario/DadosAutenticacao.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/src/main/java/med/voll/api/domain/usuario/DadosAutenticacao.java -------------------------------------------------------------------------------- /src/main/java/med/voll/api/domain/usuario/Usuario.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/src/main/java/med/voll/api/domain/usuario/Usuario.java -------------------------------------------------------------------------------- /src/main/java/med/voll/api/domain/usuario/UsuarioRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/src/main/java/med/voll/api/domain/usuario/UsuarioRepository.java -------------------------------------------------------------------------------- /src/main/java/med/voll/api/infra/exception/TratadorDeErros.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/src/main/java/med/voll/api/infra/exception/TratadorDeErros.java -------------------------------------------------------------------------------- /src/main/java/med/voll/api/infra/security/DadosTokenJWT.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/src/main/java/med/voll/api/infra/security/DadosTokenJWT.java -------------------------------------------------------------------------------- /src/main/java/med/voll/api/infra/security/SecurityConfigurations.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/src/main/java/med/voll/api/infra/security/SecurityConfigurations.java -------------------------------------------------------------------------------- /src/main/java/med/voll/api/infra/security/SecurityFilter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/src/main/java/med/voll/api/infra/security/SecurityFilter.java -------------------------------------------------------------------------------- /src/main/java/med/voll/api/infra/security/TokenService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/src/main/java/med/voll/api/infra/security/TokenService.java -------------------------------------------------------------------------------- /src/main/java/med/voll/api/infra/springdoc/SpringDocConfigurations.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/src/main/java/med/voll/api/infra/springdoc/SpringDocConfigurations.java -------------------------------------------------------------------------------- /src/main/resources/application-prod.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/src/main/resources/application-prod.properties -------------------------------------------------------------------------------- /src/main/resources/application-test.properties: -------------------------------------------------------------------------------- 1 | spring.datasource.url=jdbc:mysql://localhost/vollmed_api_test 2 | -------------------------------------------------------------------------------- /src/main/resources/application.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/src/main/resources/application.properties -------------------------------------------------------------------------------- /src/main/resources/db/migration/V1__create-table-medicos.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/src/main/resources/db/migration/V1__create-table-medicos.sql -------------------------------------------------------------------------------- /src/main/resources/db/migration/V2__alter-table-medicos-add-column-telefone.sql: -------------------------------------------------------------------------------- 1 | alter table medicos add telefone varchar(20) not null; -------------------------------------------------------------------------------- /src/main/resources/db/migration/V3__alter-table-medicos-add-column-ativo.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/src/main/resources/db/migration/V3__alter-table-medicos-add-column-ativo.sql -------------------------------------------------------------------------------- /src/main/resources/db/migration/V4__create-table-pacientes.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/src/main/resources/db/migration/V4__create-table-pacientes.sql -------------------------------------------------------------------------------- /src/main/resources/db/migration/V5__create-table-usuarios.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/src/main/resources/db/migration/V5__create-table-usuarios.sql -------------------------------------------------------------------------------- /src/main/resources/db/migration/V6__create-table-consultas.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/src/main/resources/db/migration/V6__create-table-consultas.sql -------------------------------------------------------------------------------- /src/main/resources/db/migration/V7__alter-table-consulta-add-column-motivo-cancelamento.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/src/main/resources/db/migration/V7__alter-table-consulta-add-column-motivo-cancelamento.sql -------------------------------------------------------------------------------- /src/test/java/med/voll/api/controller/ConsultaControllerTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/src/test/java/med/voll/api/controller/ConsultaControllerTest.java -------------------------------------------------------------------------------- /src/test/java/med/voll/api/controller/MedicoControllerTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/src/test/java/med/voll/api/controller/MedicoControllerTest.java -------------------------------------------------------------------------------- /src/test/java/med/voll/api/domain/medico/MedicoRepositoryTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alura-cursos/2771-spring-boot/HEAD/src/test/java/med/voll/api/domain/medico/MedicoRepositoryTest.java --------------------------------------------------------------------------------