/* * This file is part of sdbapi * Copyright (C) 2022 Jonni Liljamo * * Licensed under GPL-3.0-only. * See LICENSE for licensing information. */ package main import ( "api/db" "api/handlers" "api/middlewares" "log" "os" "github.com/gin-gonic/gin" ) func main() { dbConnectionString := os.Getenv("GORM_DB_STRING") db.Connect(dbConnectionString) db.Migrate() log.Print("creating router and launching API") router := createRouter() router.Run(":3000") } func createRouter() *gin.Engine { router := gin.Default() api := router.Group("/api") { api.GET("/info", handlers.Info) user := api.Group("/user") { user.POST("/register", handlers.CreateUser) user.POST("/token", handlers.GenerateToken) user.GET("/:id", handlers.UserInfo) userp := user.Group("/_").Use(middlewares.Auth()) { userp.GET("/:id", handlers.UserInfoP) } } } return router }