mirror of
https://github.com/lorsanstand/HomeOps-Hub.git
synced 2026-06-19 16:45:15 +03:00
refactor: separate app run
This commit is contained in:
+17
-10
@@ -5,6 +5,7 @@ import (
|
||||
"fmt"
|
||||
standartlog "log"
|
||||
"net"
|
||||
"os"
|
||||
|
||||
hubdir "github.com/lorsanstand/HomeOps-Hub/hub/internal"
|
||||
"github.com/lorsanstand/HomeOps-Hub/hub/internal/migrator"
|
||||
@@ -41,7 +42,7 @@ func (a *App) Run() {
|
||||
DBConn, err := sql.Open("sqlite", "database.db")
|
||||
if err != nil {
|
||||
a.log.Error().Err(err).Msg("failed to connect to the database")
|
||||
return
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
defer func() {
|
||||
@@ -50,16 +51,10 @@ func (a *App) Run() {
|
||||
}
|
||||
}()
|
||||
|
||||
mgrt, err := migrator.NewMigrator(hubdir.MigrationsFS, "migrations")
|
||||
if err != nil {
|
||||
a.log.Error().Err(err).Msg("failed to create migrator")
|
||||
return
|
||||
}
|
||||
|
||||
a.log.Info().Msg("applying database migrations")
|
||||
if err = mgrt.ApplyMigrations(DBConn); err != nil {
|
||||
a.log.Error().Err(err).Msg("migrations failed to apply")
|
||||
return
|
||||
if err := applyMigrations(DBConn); err != nil {
|
||||
a.log.Error().Err(err).Msg("")
|
||||
os.Exit(1)
|
||||
}
|
||||
a.log.Info().Msg("migrations applied successfully")
|
||||
|
||||
@@ -69,6 +64,7 @@ func (a *App) Run() {
|
||||
connManger := connection_manager.NewConnectionManager(hubStore, statusNotifier, a.log)
|
||||
|
||||
a.log.Info().Msg("starting hub service")
|
||||
|
||||
err = a.hubServe(hubService, connManger)
|
||||
if err != nil {
|
||||
a.log.Error().Err(err).Msg("hub service failed to start")
|
||||
@@ -97,3 +93,14 @@ func (a *App) hubServe(hubService *hub_service.HubService, manager *connection_m
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func applyMigrations(db *sql.DB) error {
|
||||
mgrt, err := migrator.NewMigrator(hubdir.MigrationsFS, "migrations")
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to create migrator: %w", err)
|
||||
}
|
||||
if err = mgrt.ApplyMigrations(db); err != nil {
|
||||
return fmt.Errorf("migrations failed to apply: %w", err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user