Skip to content

Commit c6822e8

Browse files
authored
Merge pull request #196 from LAA-Software-Engineering/fix/issue-115-tighten-gorm-db-abstraction
refactor: tighten GORM boundary (fix #115)
2 parents ff35b3e + b045212 commit c6822e8

18 files changed

Lines changed: 479 additions & 470 deletions

cmd/server/main.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,9 @@ func main() {
7474
log.Fatalf("redis: %v", err)
7575
}
7676
db := database.NewDatabase()
77-
dbWrapper := &database.GormDatabase{DB: db}
77+
if db == nil {
78+
log.Fatal("database: could not connect or migrate (see logs above)")
79+
}
7880
mongo := database.SetupMongoDB()
7981
logger, err := zap.NewProduction()
8082
if err != nil {
@@ -90,7 +92,7 @@ func main() {
9092
// Gin's init already applied os.Getenv("GIN_MODE"); do not override here.
9193
// Use GIN_MODE=release in production so Security/XSS middleware run (pkg/api/router.go).
9294

93-
r := api.NewRouter(logger, mongo, dbWrapper, redisClient)
95+
r := api.NewRouter(logger, mongo, db, redisClient)
9496

9597
const (
9698
serverAddr = ":8001"

pkg/api/books.go

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import (
77
"strings"
88

99
"golang-rest-api-template/pkg/cache"
10-
"golang-rest-api-template/pkg/database"
1110
"golang-rest-api-template/pkg/models"
1211
"golang-rest-api-template/pkg/repository"
1312
"golang-rest-api-template/pkg/service"
@@ -35,8 +34,7 @@ type bookRepository struct {
3534
}
3635

3736
// NewBookRepository wires persistence and cache into book HTTP handlers.
38-
func NewBookRepository(db database.Database, redisClient cache.Cache) *bookRepository {
39-
store := repository.NewGormBookStore(db)
37+
func NewBookRepository(store repository.BookPersistence, redisClient cache.Cache) *bookRepository {
4038
return &bookRepository{svc: service.NewBookService(store, redisClient)}
4139
}
4240

0 commit comments

Comments
 (0)