added validation; DB is global now
This commit is contained in:
@@ -6,8 +6,9 @@ import (
|
||||
"GoMembership/internal/config"
|
||||
"GoMembership/internal/controllers"
|
||||
"GoMembership/internal/database"
|
||||
// "GoMembership/internal/middlewares"
|
||||
"GoMembership/internal/repositories"
|
||||
|
||||
// "GoMembership/internal/middlewares"
|
||||
"GoMembership/internal/routes"
|
||||
"GoMembership/internal/services"
|
||||
"GoMembership/pkg/logger"
|
||||
@@ -18,23 +19,27 @@ import (
|
||||
func Run() {
|
||||
cfg := config.LoadConfig()
|
||||
logger.Info.Printf("Config: %+v", cfg)
|
||||
db, err := database.InitDB(cfg.DB.Path)
|
||||
err := database.InitDB(cfg.DB.Path)
|
||||
if err != nil {
|
||||
logger.Error.Fatalf("Couldn't init database: %v", err)
|
||||
}
|
||||
|
||||
emailService := services.NewEmailService(cfg.SMTP.Host, cfg.SMTP.Port, cfg.SMTP.User, cfg.SMTP.Password, cfg.SMTP.AdminEmail)
|
||||
consentRepo := repositories.NewConsentRepository(db)
|
||||
consentService := services.NewConsentService(consentRepo)
|
||||
bankAccountRepo := repositories.NewBankAccountRepository(db)
|
||||
bankAccountService := services.NewBankAccountService(bankAccountRepo)
|
||||
membershipRepo := repositories.NewMembershipRepository(db)
|
||||
subscriptionRepo := repositories.NewSubscriptionModelsRepository(db)
|
||||
membershipService := services.NewMembershipService(membershipRepo, subscriptionRepo)
|
||||
userRepo := repositories.NewUserRepository(db)
|
||||
userService := services.NewUserService(userRepo)
|
||||
userController := controllers.NewUserController(userService, emailService, consentService, bankAccountService, membershipService)
|
||||
membershipController := controllers.NewMembershipController(membershipService)
|
||||
var consentRepo repositories.ConsentRepositoryInterface = &repositories.ConsentRepository{}
|
||||
consentService := &services.ConsentService{Repo: consentRepo}
|
||||
|
||||
var bankAccountRepo repositories.BankAccountRepositoryInterface = &repositories.BankAccountRepository{}
|
||||
bankAccountService := &services.BankAccountService{Repo: bankAccountRepo}
|
||||
|
||||
var membershipRepo repositories.MembershipRepositoryInterface = &repositories.MembershipRepository{}
|
||||
var subscriptionRepo repositories.SubscriptionModelsRepositoryInterface = &repositories.SubscriptionModelsRepository{}
|
||||
membershipService := &services.MembershipService{Repo: membershipRepo, SubscriptionRepo: subscriptionRepo}
|
||||
|
||||
var userRepo repositories.UserRepositoryInterface = &repositories.UserRepository{}
|
||||
userService := &services.UserService{Repo: userRepo}
|
||||
|
||||
userController := &controllers.UserController{Service: userService, EmailService: emailService, ConsentService: consentService, BankAccountService: bankAccountService, MembershipService: membershipService}
|
||||
membershipController := &controllers.MembershipController{Service: *membershipService}
|
||||
|
||||
router := gin.Default()
|
||||
// gin.SetMode(gin.ReleaseMode)
|
||||
|
||||
Reference in New Issue
Block a user