mirror of
https://github.com/ordinary-dev/phoenix
synced 2024-09-19 19:30:28 +05:00
Ivan R.
6d25c4e8af
With the release of Go 1.22, the standard library now has all the necessary functions that allow us to abandon Gin. I hope this rewrite will lower the entry barrier for new developers. As a nice bonus, the size of the program has decreased from 20 to 15.4 MB. To solve issue #81, request logging has been improved. Now all errors are displayed in the logs.
48 lines
991 B
Go
48 lines
991 B
Go
package main
|
|
|
|
import (
|
|
"github.com/ordinary-dev/phoenix/config"
|
|
"github.com/ordinary-dev/phoenix/database"
|
|
"github.com/ordinary-dev/phoenix/views"
|
|
"github.com/sirupsen/logrus"
|
|
)
|
|
|
|
func main() {
|
|
// Configure logger
|
|
logrus.SetFormatter(&logrus.TextFormatter{
|
|
FullTimestamp: true,
|
|
})
|
|
|
|
// Read config
|
|
cfg, err := config.GetConfig()
|
|
if err != nil {
|
|
logrus.Fatalf("%v", err)
|
|
}
|
|
|
|
// Set log level
|
|
logLevel := cfg.GetLogLevel()
|
|
logrus.SetLevel(logLevel)
|
|
logrus.Infof("Setting log level to %v", logLevel)
|
|
|
|
// Connect to the database
|
|
err = database.EstablishDatabaseConnection(cfg)
|
|
if err != nil {
|
|
logrus.Fatalf("%v", err)
|
|
}
|
|
|
|
// Create the first user
|
|
if cfg.DefaultUsername != "" && cfg.DefaultPassword != "" && database.CountAdmins() < 1 {
|
|
_, err := database.CreateAdmin(cfg.DefaultUsername, cfg.DefaultPassword)
|
|
if err != nil {
|
|
logrus.Errorf("%v", err)
|
|
}
|
|
}
|
|
|
|
server, err := views.GetHttpServer()
|
|
if err != nil {
|
|
logrus.Fatal(err)
|
|
}
|
|
|
|
server.ListenAndServe()
|
|
}
|