Go-TestAPI/main.go

79 lines
1.5 KiB
Go

package main
import (
// "fmt"
"github.com/gin-gonic/gin"
"golang-test/controllers"
"golang-test/database"
"golang-test/types"
"log"
"net/http"
)
func main() {
r := gin.Default()
r.POST("/product", func(c *gin.Context) {
var product database.Product
if err := c.ShouldBind(&product); err != nil {
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
}
controllers.CreateProduct(c, product)
})
r.POST("/manufacturer", func(c *gin.Context) {
var manufacturer database.Manufacturer
if err := c.ShouldBind(&manufacturer); err != nil {
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
}
controllers.CreateManufacturer(c, manufacturer)
})
r.DELETE("/manufacturer/:id", func(c *gin.Context) {
controllers.DeleteManufacturer(c)
})
r.GET("/manufacturer", func(c *gin.Context) {
controllers.GetManufacturers(c)
})
r.PATCH("/manufacturer/:id", func(c *gin.Context) {
var manufacturer types.ManufacturerPatchRequest
if err := c.ShouldBind(&manufacturer); err != nil {
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
}
controllers.EditManufacture(c, manufacturer)
})
r.POST("/registration", func(c *gin.Context) {
type registrationForm struct {
name string
email string
password string
}
})
err := r.Run()
if err != nil {
return
}
defer func() {
db := database.Connector()
sqlDB, err := db.DB()
if err != nil {
log.Fatal(err)
}
err = sqlDB.Close()
if err != nil {
log.Println(err)
}
}()
}