65 lines
1.1 KiB
Go
65 lines
1.1 KiB
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"net/http"
|
|
|
|
"github.com/labstack/echo/v4"
|
|
"github.com/labstack/echo/v4/middleware"
|
|
"gitlab.g3e.fr/h6n/users/lib"
|
|
|
|
"database/sql"
|
|
|
|
_ "github.com/lib/pq"
|
|
)
|
|
|
|
var db *sql.DB = nil
|
|
|
|
func logout(c echo.Context) error {
|
|
return c.NoContent(http.StatusNoContent)
|
|
}
|
|
|
|
func isLoggedIn(c echo.Context) error {
|
|
return c.NoContent(http.StatusNoContent)
|
|
}
|
|
|
|
func init_database() {
|
|
var err error = nil
|
|
|
|
connStr := "postgres://acc:totor@postgres:5432/accounts?sslmode=disable"
|
|
|
|
db, err = sql.Open("postgres", connStr)
|
|
if err != nil {
|
|
fmt.Println(err)
|
|
}
|
|
}
|
|
|
|
func skip_auth(c echo.Context) bool {
|
|
if c.Request().Method == "POST" && c.Path() == "/" {
|
|
return true
|
|
}
|
|
return false
|
|
}
|
|
|
|
func main() {
|
|
init_database()
|
|
if err := lib.InitLoginBiscuit(); err != nil {
|
|
fmt.Println("error : ", err)
|
|
return
|
|
}
|
|
e := echo.New()
|
|
|
|
// Middleware
|
|
e.Use(middleware.Logger())
|
|
e.Use(middleware.Recover())
|
|
e.Use(middleware.CORS())
|
|
e.Use(lib.AuthMiddleware(skip_auth))
|
|
|
|
// Routes
|
|
e.GET("/", isLoggedIn)
|
|
e.POST("/", login)
|
|
e.DELETE("/", logout)
|
|
|
|
// Start server
|
|
e.Logger.Fatal(e.Start(":1222"))
|
|
}
|