Move and rename EnsureAccess method in trust.Service

Signed-off-by: Émile Ré <emile@getprobo.com>
This commit is contained in:
Émile Ré
2026-03-13 13:05:05 +04:00
parent ea8253ea78
commit 6ad808c966
5 changed files with 110 additions and 131 deletions

View File

@@ -26,7 +26,7 @@ import (
"go.probo.inc/probo/pkg/trust"
)
func NewMembershipProvisioningMiddleware(trustSvc *trust.Service, logger *log.Logger) func(next http.Handler) http.Handler {
func NewMemberProvisioningMiddleware(trustSvc *trust.Service, logger *log.Logger) func(next http.Handler) http.Handler {
return func(next http.Handler) http.Handler {
return http.HandlerFunc(
func(w http.ResponseWriter, r *http.Request) {
@@ -40,11 +40,7 @@ func NewMembershipProvisioningMiddleware(trustSvc *trust.Service, logger *log.Lo
compliancePage := CompliancePageFromContext(r.Context())
if _, err := trustSvc.
WithTenant(compliancePage.TenantID).
TrustCenterAccesses.
EnsureAccess(ctx, compliancePage.ID, identity.ID); err != nil {
if _, err := trustSvc.ProvisionMember(ctx, compliancePage.ID, identity.ID); err != nil {
httpserver.RenderJSON(
w,
http.StatusInternalServerError,

View File

@@ -88,7 +88,7 @@ func NewMux(
r.Use(compliancepage.NewCompliancePagePresenceMiddleware())
r.Use(authn.NewSessionMiddleware(iamSvc, cookieConfig))
r.Use(compliancepage.NewMembershipProvisioningMiddleware(trustSvc, logger))
r.Use(compliancepage.NewMemberProvisioningMiddleware(trustSvc, logger))
graphqlHandler := NewGraphQLHandler(iamSvc, trustSvc, esignSvc, mailmanSvc, logger, baseURL, cookieConfig, tokenSecret)
r.Handle("/graphql", graphqlHandler)

View File

@@ -259,10 +259,10 @@ func (r *mutationResolver) VerifyMagicLink(ctx context.Context, input types.Veri
}
trustCenter := compliancepage.CompliancePageFromContext(ctx)
trustService := r.TrustService(ctx, trustCenter.ID.TenantID())
if _, err := trustService.TrustCenterAccesses.EnsureAccess(ctx, trustCenter.ID, identity.ID); err != nil {
r.logger.ErrorCtx(ctx, "cannot ensure trust center access", log.Error(err))
if _, err := r.trust.ProvisionMember(ctx, trustCenter.ID, identity.ID); err != nil {
r.logger.ErrorCtx(ctx, "cannot provision member", log.Error(err))
return nil, gqlutils.Internal(ctx)
}
w := gqlutils.HTTPResponseWriterFromContext(ctx)