Files
base/internal/pkg/module.go
2026-04-16 19:47:19 +03:30

37 lines
818 B
Go

package pkg
import (
"go.uber.org/fx"
"github.com/rs/zerolog"
"gorm.io/gorm"
"base/internal/dto"
"base/internal/pkg/azure/azbus"
"base/internal/pkg/database"
"base/internal/pkg/logger"
"base/internal/pkg/mail"
"base/internal/pkg/oauth"
"base/pkg/cache"
"base/pkg/metrics"
"base/pkg/store"
)
func NewLandingCache(db *gorm.DB, lg zerolog.Logger, m *metrics.Metrics) cache.Cache[dto.Landing] {
return cache.New(store.NewPostgresStore[dto.Landing](db, lg, m))
}
var Module = fx.Module(
"pkg",
fx.Provide(
logger.New,
database.NewRWDatabaseConnection,
mail.New,
oauth.New,
azbus.New,
fx.Annotate(store.NewPostgresStore[string], fx.ResultTags(`name:"verification_store"`)),
fx.Annotate(store.NewPostgresStore[string], fx.ResultTags(`name:"reset_password_store"`)),
NewLandingCache,
),
)