From 9c6e5ff76e1c90ea2bc1fc343ee23cf471053097 Mon Sep 17 00:00:00 2001 From: Ruidy Date: Fri, 13 Sep 2024 18:55:35 +0200 Subject: [PATCH] cleanup --- internal/cron/job_report.go | 70 +++++++++++++++++----------- internal/driver/database/postgres.go | 4 +- internal/service/auth/service.go | 5 -- main.go | 18 +++---- 4 files changed, 55 insertions(+), 42 deletions(-) diff --git a/internal/cron/job_report.go b/internal/cron/job_report.go index d8dfae7..bd84c1a 100644 --- a/internal/cron/job_report.go +++ b/internal/cron/job_report.go @@ -1,28 +1,46 @@ package cron -// func JobMonthlyBookingReport() error { -// _ = godotenv.Load() -// db, err := gorm.Open(postgres.Open(os.Getenv("DATABASE_URL")), &gorm.Config{}) -// if err != nil { -// return fmt.Errorf("error connecting to the database %s", err) -// } -// -// now := time.Now() -// log.Println("Start Monthly Booking Report job at:", now) -// service, _ := booking.NewService(db) -// report := service.BuildReport("monthly", int(now.Month()), now.Year()) -// -// ps, err := pdf.NewPdfService( -// os.Getenv("HTMLDOCS_PROJECT_ID"), -// os.Getenv("HTMLDOCS_REPORT_PROJECT_ID"), -// os.Getenv("HTMLDOCS_URL"), -// os.Getenv("HTMLDOCS_KEY"), -// ) -// if err != nil { -// return fmt.Errorf("error starting pdf service %s", err) -// } -// -// _ = ps.BuildReport(report, "", int(now.Month()), now.Year()) -// log.Printf("Executed Monthly Booking Report job at %v with errors: %s:", time.Now().Format(time.DateTime), err) -// return err -// } +import ( + "fmt" + "log" + "os" + "time" + + "github.com/joho/godotenv" + "gorm.io/driver/postgres" + "gorm.io/gorm" + + "github.com/rjNemo/rentease/internal/driver/pdf" + "github.com/rjNemo/rentease/internal/service/booking" +) + +func JobMonthlyBookingReport() error { + _ = godotenv.Load() + db, err := gorm.Open(postgres.Open(os.Getenv("DATABASE_URL")), &gorm.Config{}) + if err != nil { + return fmt.Errorf("error connecting to the database %w", err) + } + + now := time.Now() + log.Println("Start Monthly Booking Report job at:", now) + + ps, err := pdf.NewPdfClient( + os.Getenv("HTMLDOCS_PROJECT_ID"), + os.Getenv("HTMLDOCS_REPORT_PROJECT_ID"), + os.Getenv("HTMLDOCS_URL"), + os.Getenv("HTMLDOCS_KEY"), + ) + if err != nil { + return fmt.Errorf("error starting pdf service %w", err) + } + + service, _ := booking.NewService(db, nil, ps) + period := "monthly" + month := int(now.Month()) + year := now.Year() + + err = service.BuildReport(service.Report(period, month, year), period, month, year) + + log.Printf("Executed Monthly Booking Report job at %v with errors: %s:", time.Now().Format(time.DateTime), err) + return err +} diff --git a/internal/driver/database/postgres.go b/internal/driver/database/postgres.go index 39a836b..3959f60 100644 --- a/internal/driver/database/postgres.go +++ b/internal/driver/database/postgres.go @@ -10,7 +10,7 @@ import ( func New(connectionString string) (*gorm.DB, error) { db, err := gorm.Open(postgres.Open(connectionString), &gorm.Config{}) if err != nil { - return nil, fmt.Errorf("error connecting to the database %s", err) + return nil, fmt.Errorf("error connecting to the database %w", err) } return db, nil @@ -19,7 +19,7 @@ func New(connectionString string) (*gorm.DB, error) { func Migrate(db *gorm.DB, tables ...any) error { err := db.AutoMigrate(tables...) if err != nil { - return fmt.Errorf("error migrating the database %s", err) + return fmt.Errorf("error migrating the database %w", err) } return nil } diff --git a/internal/service/auth/service.go b/internal/service/auth/service.go index 89e9910..44cf0b2 100644 --- a/internal/service/auth/service.go +++ b/internal/service/auth/service.go @@ -22,11 +22,6 @@ type Service struct { apiKey string } -type ProviderIndex struct { - ProvidersMap map[string]string - Providers []string -} - func NewService(secret, admin, adminSecret, apiKey string) (*Service, error) { if secret == "" || admin == "" || adminSecret == "" || apiKey == "" { return nil, errors.New("error building Auth service. Verify your env variables") diff --git a/main.go b/main.go index 1eb7807..41b8f85 100644 --- a/main.go +++ b/main.go @@ -43,23 +43,23 @@ func run(c context.Context, getEnv func(string) string) error { TracesSampleRate: 1.0, ProfilesSampleRate: 1.0, }); err != nil { - return fmt.Errorf("error initializing sentry %s", err) + return fmt.Errorf("error initializing sentry %w", err) } // init database db, err := database.New(getEnv("DATABASE_URL")) if err != nil { - return fmt.Errorf("error connecting to the database %s", err) + return fmt.Errorf("error connecting to the database %w", err) } if err = database.Migrate(db, &booking.Booking{}, &booking.BookingRequest{}, &booking.Item{}); err != nil { - return fmt.Errorf("error connecting to the database %s", err) + return fmt.Errorf("error connecting to the database %w", err) } // build calendar client gc, err := calendar.NewGoogleClient(ctx, getEnv("CALENDAR_CREDENTIALS")) if err != nil { - return fmt.Errorf("error building calendar client %s", err) + return fmt.Errorf("error building calendar client %w", err) } // build pdf client @@ -70,13 +70,13 @@ func run(c context.Context, getEnv func(string) string) error { getEnv("HTMLDOCS_KEY"), ) if err != nil { - return fmt.Errorf("error starting pdf client %s", err) + return fmt.Errorf("error starting pdf client %w", err) } // build booking service bs, err := booking.NewService(db, gc, pc) if err != nil { - return fmt.Errorf("error starting booking service %s", err) + return fmt.Errorf("error starting booking service %w", err) } // build authentication service @@ -87,14 +87,14 @@ func run(c context.Context, getEnv func(string) string) error { getEnv("API_KEY"), ) if err != nil { - return fmt.Errorf("error starting auth service %s", err) + return fmt.Errorf("error starting auth service %w", err) } // starting server p := getEnv("PORT") port, err := strconv.Atoi(p) if err != nil { - return fmt.Errorf("error parsing PORT env %s", err) + return fmt.Errorf("error parsing PORT env %w", err) } ogs := getEnv("ORIGINS") @@ -111,7 +111,7 @@ func run(c context.Context, getEnv func(string) string) error { server.WithOrigins(origins), ) if err != nil { - return fmt.Errorf("error starting server %s", err) + return fmt.Errorf("error starting server %w", err) } srv.Start(ctx)