49 lines
1.0 KiB
Go
49 lines
1.0 KiB
Go
package log
|
|
|
|
import (
|
|
"net/http"
|
|
"wagfarm-api/database"
|
|
"wagfarm-api/models"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
func RegisterRoutes(router *gin.Engine) {
|
|
db := database.DB
|
|
group := router.Group("/log")
|
|
|
|
RegisterHarvestRoutes(router, path)
|
|
|
|
router.GET(path+"-type", func(c *gin.Context) {
|
|
var types []models.LogType
|
|
db.Find(&types)
|
|
c.JSON(http.StatusOK, types)
|
|
})
|
|
|
|
router.POST(path+"-type", func(c *gin.Context) {
|
|
var logType models.LogType
|
|
if err := c.ShouldBindJSON(&logType); err != nil {
|
|
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
|
|
return
|
|
}
|
|
db.Create(&logType)
|
|
c.JSON(http.StatusCreated, logType)
|
|
})
|
|
|
|
router.GET(path, func(c *gin.Context) {
|
|
var logs []models.Log
|
|
db.Preload("LogType").Preload("Equipment").Preload("Substance").Find(&logs)
|
|
c.JSON(http.StatusOK, logs)
|
|
})
|
|
|
|
router.POST(path, func(c *gin.Context) {
|
|
var log models.Log
|
|
if err := c.ShouldBindJSON(&log); err != nil {
|
|
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
|
|
return
|
|
}
|
|
db.Create(&log)
|
|
c.JSON(http.StatusCreated, log)
|
|
})
|
|
}
|