Initial commit: Open sourcing all of the Maple Open Technologies code.

This commit is contained in:
Bartlomiej Mika 2025-12-02 14:33:08 -05:00
commit 755d54a99d
2010 changed files with 448675 additions and 0 deletions

View file

@ -0,0 +1,121 @@
// codeberg.org/mapleopentech/monorepo/cloud/maplefile-backend/internal/service/auth/provider.go
package auth
import (
"go.uber.org/zap"
"codeberg.org/mapleopentech/monorepo/cloud/maplefile-backend/config"
uc_user "codeberg.org/mapleopentech/monorepo/cloud/maplefile-backend/internal/usecase/user"
"codeberg.org/mapleopentech/monorepo/cloud/maplefile-backend/pkg/auditlog"
"codeberg.org/mapleopentech/monorepo/cloud/maplefile-backend/pkg/emailer/mailgun"
"codeberg.org/mapleopentech/monorepo/cloud/maplefile-backend/pkg/security/jwt"
"codeberg.org/mapleopentech/monorepo/cloud/maplefile-backend/pkg/storage/cache/cassandracache"
)
// ProvideRegisterService provides the register service
func ProvideRegisterService(
config *config.Config,
logger *zap.Logger,
auditLogger auditlog.AuditLogger,
userCreateUC uc_user.UserCreateUseCase,
userGetByEmailUC uc_user.UserGetByEmailUseCase,
userDeleteByIDUC uc_user.UserDeleteByIDUseCase,
emailer mailgun.Emailer,
) RegisterService {
return NewRegisterService(config, logger, auditLogger, userCreateUC, userGetByEmailUC, userDeleteByIDUC, emailer)
}
// ProvideVerifyEmailService provides the verify email service
func ProvideVerifyEmailService(
logger *zap.Logger,
auditLogger auditlog.AuditLogger,
userGetByVerificationCodeUC uc_user.UserGetByVerificationCodeUseCase,
userUpdateUC uc_user.UserUpdateUseCase,
) VerifyEmailService {
return NewVerifyEmailService(logger, auditLogger, userGetByVerificationCodeUC, userUpdateUC)
}
// ProvideResendVerificationService provides the resend verification service
func ProvideResendVerificationService(
config *config.Config,
logger *zap.Logger,
userGetByEmailUC uc_user.UserGetByEmailUseCase,
userUpdateUC uc_user.UserUpdateUseCase,
emailer mailgun.Emailer,
) ResendVerificationService {
return NewResendVerificationService(config, logger, userGetByEmailUC, userUpdateUC, emailer)
}
// ProvideRequestOTTService provides the request OTT service
func ProvideRequestOTTService(
config *config.Config,
logger *zap.Logger,
userGetByEmailUC uc_user.UserGetByEmailUseCase,
cache cassandracache.CassandraCacher,
emailer mailgun.Emailer,
) RequestOTTService {
return NewRequestOTTService(config, logger, userGetByEmailUC, cache, emailer)
}
// ProvideVerifyOTTService provides the verify OTT service
func ProvideVerifyOTTService(
logger *zap.Logger,
userGetByEmailUC uc_user.UserGetByEmailUseCase,
cache cassandracache.CassandraCacher,
) VerifyOTTService {
return NewVerifyOTTService(logger, userGetByEmailUC, cache)
}
// ProvideCompleteLoginService provides the complete login service
func ProvideCompleteLoginService(
config *config.Config,
logger *zap.Logger,
auditLogger auditlog.AuditLogger,
userGetByEmailUC uc_user.UserGetByEmailUseCase,
cache cassandracache.CassandraCacher,
jwtProvider jwt.JWTProvider,
) CompleteLoginService {
return NewCompleteLoginService(config, logger, auditLogger, userGetByEmailUC, cache, jwtProvider)
}
// ProvideRefreshTokenService provides the refresh token service
func ProvideRefreshTokenService(
cfg *config.Config,
logger *zap.Logger,
auditLogger auditlog.AuditLogger,
cache cassandracache.CassandraCacher,
jwtProvider jwt.JWTProvider,
userGetByIDUC uc_user.UserGetByIDUseCase,
) RefreshTokenService {
return NewRefreshTokenService(cfg, logger, auditLogger, cache, jwtProvider, userGetByIDUC)
}
// ProvideRecoveryInitiateService provides the recovery initiate service
func ProvideRecoveryInitiateService(
logger *zap.Logger,
auditLogger auditlog.AuditLogger,
userGetByEmailUC uc_user.UserGetByEmailUseCase,
cache cassandracache.CassandraCacher,
) RecoveryInitiateService {
return NewRecoveryInitiateService(logger, auditLogger, userGetByEmailUC, cache)
}
// ProvideRecoveryVerifyService provides the recovery verify service
func ProvideRecoveryVerifyService(
logger *zap.Logger,
cache cassandracache.CassandraCacher,
userGetByEmailUC uc_user.UserGetByEmailUseCase,
) RecoveryVerifyService {
return NewRecoveryVerifyService(logger, cache, userGetByEmailUC)
}
// ProvideRecoveryCompleteService provides the recovery complete service
func ProvideRecoveryCompleteService(
logger *zap.Logger,
auditLogger auditlog.AuditLogger,
userGetByEmailUC uc_user.UserGetByEmailUseCase,
userUpdateUC uc_user.UserUpdateUseCase,
cache cassandracache.CassandraCacher,
) RecoveryCompleteService {
return NewRecoveryCompleteService(logger, auditLogger, userGetByEmailUC, userUpdateUC, cache)
}