This commit is contained in:
Ruidy 2024-09-13 18:55:35 +02:00
parent abfbe1ff1b
commit 9c6e5ff76e
No known key found for this signature in database
GPG key ID: E00F51288CB857CC
4 changed files with 55 additions and 42 deletions

View file

@ -1,28 +1,46 @@
package cron package cron
// func JobMonthlyBookingReport() error { import (
// _ = godotenv.Load() "fmt"
// db, err := gorm.Open(postgres.Open(os.Getenv("DATABASE_URL")), &gorm.Config{}) "log"
// if err != nil { "os"
// return fmt.Errorf("error connecting to the database %s", err) "time"
// }
// "github.com/joho/godotenv"
// now := time.Now() "gorm.io/driver/postgres"
// log.Println("Start Monthly Booking Report job at:", now) "gorm.io/gorm"
// service, _ := booking.NewService(db)
// report := service.BuildReport("monthly", int(now.Month()), now.Year()) "github.com/rjNemo/rentease/internal/driver/pdf"
// "github.com/rjNemo/rentease/internal/service/booking"
// ps, err := pdf.NewPdfService( )
// os.Getenv("HTMLDOCS_PROJECT_ID"),
// os.Getenv("HTMLDOCS_REPORT_PROJECT_ID"), func JobMonthlyBookingReport() error {
// os.Getenv("HTMLDOCS_URL"), _ = godotenv.Load()
// os.Getenv("HTMLDOCS_KEY"), db, err := gorm.Open(postgres.Open(os.Getenv("DATABASE_URL")), &gorm.Config{})
// ) if err != nil {
// if err != nil { return fmt.Errorf("error connecting to the database %w", err)
// return fmt.Errorf("error starting pdf service %s", err) }
// }
// now := time.Now()
// _ = ps.BuildReport(report, "", int(now.Month()), now.Year()) log.Println("Start Monthly Booking Report job at:", now)
// log.Printf("Executed Monthly Booking Report job at %v with errors: %s:", time.Now().Format(time.DateTime), err)
// return err 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
}

View file

@ -10,7 +10,7 @@ import (
func New(connectionString string) (*gorm.DB, error) { func New(connectionString string) (*gorm.DB, error) {
db, err := gorm.Open(postgres.Open(connectionString), &gorm.Config{}) db, err := gorm.Open(postgres.Open(connectionString), &gorm.Config{})
if err != nil { 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 return db, nil
@ -19,7 +19,7 @@ func New(connectionString string) (*gorm.DB, error) {
func Migrate(db *gorm.DB, tables ...any) error { func Migrate(db *gorm.DB, tables ...any) error {
err := db.AutoMigrate(tables...) err := db.AutoMigrate(tables...)
if err != nil { if err != nil {
return fmt.Errorf("error migrating the database %s", err) return fmt.Errorf("error migrating the database %w", err)
} }
return nil return nil
} }

View file

@ -22,11 +22,6 @@ type Service struct {
apiKey string apiKey string
} }
type ProviderIndex struct {
ProvidersMap map[string]string
Providers []string
}
func NewService(secret, admin, adminSecret, apiKey string) (*Service, error) { func NewService(secret, admin, adminSecret, apiKey string) (*Service, error) {
if secret == "" || admin == "" || adminSecret == "" || apiKey == "" { if secret == "" || admin == "" || adminSecret == "" || apiKey == "" {
return nil, errors.New("error building Auth service. Verify your env variables") return nil, errors.New("error building Auth service. Verify your env variables")

18
main.go
View file

@ -43,23 +43,23 @@ func run(c context.Context, getEnv func(string) string) error {
TracesSampleRate: 1.0, TracesSampleRate: 1.0,
ProfilesSampleRate: 1.0, ProfilesSampleRate: 1.0,
}); err != nil { }); err != nil {
return fmt.Errorf("error initializing sentry %s", err) return fmt.Errorf("error initializing sentry %w", err)
} }
// init database // init database
db, err := database.New(getEnv("DATABASE_URL")) db, err := database.New(getEnv("DATABASE_URL"))
if err != nil { 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 { 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 // build calendar client
gc, err := calendar.NewGoogleClient(ctx, getEnv("CALENDAR_CREDENTIALS")) gc, err := calendar.NewGoogleClient(ctx, getEnv("CALENDAR_CREDENTIALS"))
if err != nil { if err != nil {
return fmt.Errorf("error building calendar client %s", err) return fmt.Errorf("error building calendar client %w", err)
} }
// build pdf client // build pdf client
@ -70,13 +70,13 @@ func run(c context.Context, getEnv func(string) string) error {
getEnv("HTMLDOCS_KEY"), getEnv("HTMLDOCS_KEY"),
) )
if err != nil { if err != nil {
return fmt.Errorf("error starting pdf client %s", err) return fmt.Errorf("error starting pdf client %w", err)
} }
// build booking service // build booking service
bs, err := booking.NewService(db, gc, pc) bs, err := booking.NewService(db, gc, pc)
if err != nil { if err != nil {
return fmt.Errorf("error starting booking service %s", err) return fmt.Errorf("error starting booking service %w", err)
} }
// build authentication service // build authentication service
@ -87,14 +87,14 @@ func run(c context.Context, getEnv func(string) string) error {
getEnv("API_KEY"), getEnv("API_KEY"),
) )
if err != nil { if err != nil {
return fmt.Errorf("error starting auth service %s", err) return fmt.Errorf("error starting auth service %w", err)
} }
// starting server // starting server
p := getEnv("PORT") p := getEnv("PORT")
port, err := strconv.Atoi(p) port, err := strconv.Atoi(p)
if err != nil { if err != nil {
return fmt.Errorf("error parsing PORT env %s", err) return fmt.Errorf("error parsing PORT env %w", err)
} }
ogs := getEnv("ORIGINS") ogs := getEnv("ORIGINS")
@ -111,7 +111,7 @@ func run(c context.Context, getEnv func(string) string) error {
server.WithOrigins(origins), server.WithOrigins(origins),
) )
if err != nil { if err != nil {
return fmt.Errorf("error starting server %s", err) return fmt.Errorf("error starting server %w", err)
} }
srv.Start(ctx) srv.Start(ctx)