43 lines
888 B
Go
43 lines
888 B
Go
package main
|
|
|
|
import (
|
|
"io/fs"
|
|
"log"
|
|
"net/http"
|
|
|
|
"git.javil.eu/jacob1123/budgeteer/bcrypt"
|
|
"git.javil.eu/jacob1123/budgeteer/config"
|
|
"git.javil.eu/jacob1123/budgeteer/jwt"
|
|
"git.javil.eu/jacob1123/budgeteer/postgres"
|
|
"git.javil.eu/jacob1123/budgeteer/server"
|
|
"git.javil.eu/jacob1123/budgeteer/web"
|
|
)
|
|
|
|
func main() {
|
|
cfg, err := config.LoadConfig()
|
|
if err != nil {
|
|
log.Fatalf("Could not load config: %v", err)
|
|
}
|
|
|
|
queries, err := postgres.Connect("pgx", cfg.DatabaseConnection)
|
|
if err != nil {
|
|
log.Fatalf("Failed connecting to DB: %v", err)
|
|
}
|
|
|
|
static, err := fs.Sub(web.Static, "dist")
|
|
if err != nil {
|
|
panic("couldn't open static files")
|
|
}
|
|
|
|
handler := &server.Handler{
|
|
Service: queries,
|
|
TokenVerifier: &jwt.TokenVerifier{
|
|
Secret: cfg.SessionSecret,
|
|
},
|
|
CredentialsVerifier: &bcrypt.Verifier{},
|
|
StaticFS: http.FS(static),
|
|
}
|
|
|
|
handler.Serve()
|
|
}
|