refactor: migrate LDAP sync to an actor (#1651)

Co-authored-by: Kyle Mendell <kmendell@ofkm.us>
This commit is contained in:
Alessandro (Ale) Segala
2026-08-07 09:18:30 -07:00
committed by GitHub
co-authored by Kyle Mendell
parent f8db1d8a86
commit 563c0f93a6
27 changed files with 627 additions and 181 deletions
+3 -2
View File
@@ -7,6 +7,7 @@ import (
"github.com/gin-gonic/gin"
"github.com/pocket-id/pocket-id/backend/internal/appconfig"
"github.com/pocket-id/pocket-id/backend/internal/apperror"
"github.com/pocket-id/pocket-id/backend/internal/dto"
"github.com/pocket-id/pocket-id/backend/internal/httpserver"
@@ -18,10 +19,10 @@ const defaultSignupTokenDuration = time.Hour
type handler struct {
service *Service
appConfig AppConfigResolver
appConfig appconfig.AppConfigResolver
}
func newHandler(service *Service, appConfig AppConfigResolver) *handler {
func newHandler(service *Service, appConfig appconfig.AppConfigResolver) *handler {
return &handler{service: service, appConfig: appConfig}
}
+1 -6
View File
@@ -27,11 +27,6 @@ type UserCreator interface {
CreateUserInternal(ctx context.Context, dbConfig *appconfig.AppConfigModel, input dto.UserCreateDto, isLdapSync bool, tx *gorm.DB) (model.User, error)
}
// AppConfigResolver loads the current application configuration, so handlers can pass it explicitly to the service methods that need it
type AppConfigResolver interface {
GetConfig(ctx context.Context) (*appconfig.AppConfigModel, error)
}
type Dependencies struct {
DB *gorm.DB
Actors *local.Host
@@ -39,7 +34,7 @@ type Dependencies struct {
Signer TokenService
AuditLog AuditLogger
UserCreator UserCreator
AppConfig AppConfigResolver
AppConfig appconfig.AppConfigResolver
}
type Module struct {