Put backn membership middleware

Signed-off-by: Émile Ré <emile@getprobo.com>
This commit is contained in:
Émile Ré
2026-01-16 12:45:44 +04:00
committed by Bryan Frimin
parent 20582a831c
commit 7cc1144192
3 changed files with 102 additions and 0 deletions

View File

@@ -29,6 +29,7 @@ import (
"go.probo.inc/probo/pkg/gid"
"go.probo.inc/probo/pkg/html2pdf"
"go.probo.inc/probo/pkg/iam"
"go.probo.inc/probo/pkg/mail"
"go.probo.inc/probo/pkg/probo"
"go.probo.inc/probo/pkg/slack"
)
@@ -268,3 +269,29 @@ func (s *Service) GetCustomDomainByOrganizationID(ctx context.Context, organizat
return customDomain, err
}
func (s *Service) GetMembershipByCompliancePageIDAndEmail(ctx context.Context, compliancePageID gid.GID, email mail.Addr) (*coredata.TrustCenterAccess, error) {
membership := &coredata.TrustCenterAccess{}
err := s.pg.WithConn(
ctx,
func(conn pg.Conn) error {
return membership.LoadByTrustCenterIDAndEmail(
ctx,
conn,
coredata.NewScopeFromObjectID(compliancePageID),
compliancePageID,
email,
)
},
)
if err != nil {
if errors.Is(err, coredata.ErrResourceNotFound) {
return nil, ErrMembershipNotFound
}
return nil, err
}
return membership, nil
}