31 lines
665 B
Go
31 lines
665 B
Go
package main
|
|
|
|
import (
|
|
"net/http"
|
|
|
|
"github.com/gin-contrib/cors"
|
|
"github.com/gin-gonic/gin"
|
|
"gorm.io/gorm"
|
|
|
|
"git.artlef.fr/PersonalLibraryManager/internal/config"
|
|
"git.artlef.fr/PersonalLibraryManager/internal/db"
|
|
"git.artlef.fr/PersonalLibraryManager/internal/model"
|
|
)
|
|
|
|
func GetBookHandler(c *gin.Context, db *gorm.DB) {
|
|
var books []model.Book
|
|
db.Model(&model.Book{}).Find(&books)
|
|
c.JSON(http.StatusOK, books)
|
|
}
|
|
|
|
func main() {
|
|
c := config.LoadConfig("plm.toml")
|
|
db := db.Initdb(".")
|
|
r := gin.Default()
|
|
r.Use(cors.Default()) // All origins allowed by default
|
|
r.GET("/books", func(c *gin.Context) {
|
|
GetBookHandler(c, db)
|
|
})
|
|
r.Run(":" + c.Port)
|
|
}
|