Files
bibliomane/main.go

41 lines
961 B
Go

package main
import (
"github.com/gin-contrib/cors"
"github.com/gin-gonic/gin"
"git.artlef.fr/PersonalLibraryManager/internal/api"
"git.artlef.fr/PersonalLibraryManager/internal/config"
"git.artlef.fr/PersonalLibraryManager/internal/db"
"git.artlef.fr/PersonalLibraryManager/internal/jwtauth"
)
func main() {
c := config.LoadConfig("plm.toml")
r := setup(&c)
r.Run(":" + c.Port)
}
func setup(config *config.Config) *gin.Engine {
db := db.Initdb(config.DatabaseFilePath, config.DemoDataPath)
err := jwtauth.InitKey()
if err != nil {
panic(err)
}
r := gin.Default()
r.Use(cors.Default()) // All origins allowed by default
r.GET("/books", func(c *gin.Context) {
api.GetBooksHanderl(c, db)
})
r.POST("/book", func(c *gin.Context) {
api.PostBookHandler(c, db)
})
r.POST("/auth/signup", func(c *gin.Context) {
api.PostSignupHandler(c, db)
})
r.POST("/auth/login", func(c *gin.Context) {
api.PostLoginHandler(c, db)
})
return r
}