func CriaNovoAluno(c *gin.Context) {
var aluno models.Aluno
if err := c.ShouldBindJSON(&aluno); err != nil {
c.JSON(http.StatusBadRequest, gin.H{
"error": err.Error()})
return
}
if err := models.ValidaDadosDeAluno(&aluno); err != nil {
c.JSON(http.StatusBadRequest, gin.H{
"error": err.Error()})
return
}
database.DB.Create(&aluno)
c.JSON(http.StatusOK, aluno)
}
func BuscaAlunoPorID(c *gin.Context) {
var aluno models.Aluno
id := c.Params.ByName("id")
database.DB.First(&aluno, id)
if aluno.ID == 0 {
c.JSON(http.StatusNotFound, gin.H{
"Not found": "Aluno não encontrado"})
return
}
c.JSON(http.StatusOK, aluno)
}
func DeletaAluno(c *gin.Context) {
var aluno models.Aluno
id := c.Params.ByName("id")
database.DB.Delete(&aluno, id)
c.JSON(http.StatusOK, gin.H{"data": "Aluno deletado com sucesso"})
}
func EditaAluno(c *gin.Context) {
var aluno models.Aluno
id := c.Params.ByName("id")
database.DB.First(&aluno, id)
if err := c.ShouldBindJSON(&aluno); err != nil {
c.JSON(http.StatusBadRequest, gin.H{
"error": err.Error()})
return
}
if err := models.ValidaDadosDeAluno(&aluno); err != nil {
c.JSON(http.StatusBadRequest, gin.H{
"error": err.Error()})
return
}
database.DB.Model(&aluno).UpdateColumns(aluno)
c.JSON(http.StatusOK, aluno)
}