1
0
Fork 0

refactor(main.go): use postgres instead of inmemory datastore

This commit is contained in:
Vojtěch Mareš 2024-10-11 10:19:44 +02:00
parent ec0ed1e61b
commit 7417c38798
Signed by: vojtech.mares
GPG key ID: C6827B976F17240D

View file

@ -2,7 +2,7 @@ package main
import (
"context"
"gitlab.mareshq.com/hq/backoffice/backoffice-api/internal/faker"
"github.com/jackc/pgx/v5/pgxpool"
"gitlab.mareshq.com/hq/backoffice/backoffice-api/internal/server"
"gitlab.mareshq.com/hq/backoffice/backoffice-api/internal/training"
"log"
@ -21,13 +21,29 @@ func main() {
logger.Fatalf("error: %v\n", err)
}
trainingRepo := training.NewInMemoryRepository()
f := faker.NewFaker(trainingRepo)
err = f.GenerateFakeData()
var connString string
connString, ok := os.LookupEnv("DATABASE_URL")
if !ok {
filePath, ok := os.LookupEnv("DATABASE_URL_FILE")
if !ok {
logger.Fatalf("error: DATABASE_URL or DATABASE_URL_FILE is not set\n")
}
bytes, err := os.ReadFile(filePath)
if err != nil {
logger.Fatalf("error: %v\n", err)
}
connString = string(bytes)
}
dbConn, err := pgxpool.New(ctx, connString)
if err != nil {
logger.Fatalf("error: %v\n", err)
}
trainingRepo := training.NewPostgresRepository(logger, dbConn)
s := server.NewServer(hostname, logger, trainingRepo)
if err := s.Run(ctx); err != nil {
logger.Fatalf("error: %v\n", err)