From 963aa19b2c102a8f6f7fa6a8fa184f45de441de9 Mon Sep 17 00:00:00 2001 From: Ruidy Date: Sat, 24 Aug 2024 19:35:31 +0200 Subject: [PATCH] refactor return error when building booking service --- Dockerfile | 6 +++--- internal/booking/service.go | 4 ++-- main.go | 12 ++++++++---- 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/Dockerfile b/Dockerfile index 2a54e31..7801056 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,9 +1,9 @@ FROM golang:1.23-alpine AS builder RUN apk update && apk add --no-cache \ - build-base \ - ca-certificates \ - && update-ca-certificates + build-base \ + ca-certificates \ + && update-ca-certificates WORKDIR /app diff --git a/internal/booking/service.go b/internal/booking/service.go index bc9d6ec..6cc6d3c 100644 --- a/internal/booking/service.go +++ b/internal/booking/service.go @@ -20,8 +20,8 @@ type Service struct { db *gorm.DB } -func NewService(db *gorm.DB) *Service { - return &Service{db: db} +func NewService(db *gorm.DB) (*Service, error) { + return &Service{db: db}, nil } func (bs Service) All() []*Line { diff --git a/main.go b/main.go index cdedde8..c7ab8f8 100644 --- a/main.go +++ b/main.go @@ -4,7 +4,6 @@ import ( "context" "embed" "fmt" - "log" "os" "os/signal" "strconv" @@ -54,12 +53,17 @@ func run(c context.Context, getEnv func(string) string) error { return fmt.Errorf("error connecting to the database %s", err) } - // build booking service err = db.AutoMigrate(&booking.Booking{}, &booking.BookingRequest{}, &booking.Item{}) if err != nil { return fmt.Errorf("error migrating the database %s", err) } + // build booking service + bs, err := booking.NewService(db) + if err != nil { + return fmt.Errorf("error starting booking service %s", err) + } + // build pdf service ps, err := pdf.NewPdfService( getEnv("HTMLDOCS_PROJECT_ID"), @@ -85,7 +89,7 @@ func run(c context.Context, getEnv func(string) string) error { // build calendar service cs, err := calendar.NewService(ctx, getEnv("CALENDAR_CREDENTIALS")) if err != nil { - log.Fatalf("error starting calendar service %s", err) + return fmt.Errorf("error starting calendar service %s", err) } // starting server @@ -99,7 +103,7 @@ func run(c context.Context, getEnv func(string) string) error { origins := strings.Split(ogs, ",") srv, err := server.New( - booking.NewService(db), // TODO: should validate the booking service building + bs, as, ps, cs,