refactor(main.go): use postgres instead of inmemory datastore
This commit is contained in:
parent
ec0ed1e61b
commit
7417c38798
1 changed files with 20 additions and 4 deletions
|
|
@ -2,7 +2,7 @@ package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"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/server"
|
||||||
"gitlab.mareshq.com/hq/backoffice/backoffice-api/internal/training"
|
"gitlab.mareshq.com/hq/backoffice/backoffice-api/internal/training"
|
||||||
"log"
|
"log"
|
||||||
|
|
@ -21,13 +21,29 @@ func main() {
|
||||||
logger.Fatalf("error: %v\n", err)
|
logger.Fatalf("error: %v\n", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
trainingRepo := training.NewInMemoryRepository()
|
var connString string
|
||||||
f := faker.NewFaker(trainingRepo)
|
connString, ok := os.LookupEnv("DATABASE_URL")
|
||||||
err = f.GenerateFakeData()
|
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 {
|
if err != nil {
|
||||||
logger.Fatalf("error: %v\n", err)
|
logger.Fatalf("error: %v\n", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
trainingRepo := training.NewPostgresRepository(logger, dbConn)
|
||||||
|
|
||||||
s := server.NewServer(hostname, logger, trainingRepo)
|
s := server.NewServer(hostname, logger, trainingRepo)
|
||||||
if err := s.Run(ctx); err != nil {
|
if err := s.Run(ctx); err != nil {
|
||||||
logger.Fatalf("error: %v\n", err)
|
logger.Fatalf("error: %v\n", err)
|
||||||
|
|
|
||||||
Reference in a new issue