Rename backend services for portal

Point domain services, bootstrap, and related
packages at Compliance Portal types so callers
stop depending on the old Trust Center names.

Signed-off-by: Bryan Frimin <bryan@probo.com>
This commit is contained in:
Bryan Frimin
2026-07-20 18:08:21 +02:00
parent 4bf3d4df79
commit 0f0f6643ad
47 changed files with 727 additions and 727 deletions

View File

@@ -38,32 +38,32 @@ import (
type (
CreateAccessRequest struct {
TrustCenterID gid.GID
IdentityID gid.GID
CompliancePortalID gid.GID
IdentityID gid.GID
}
UpdateDocumentAccessRequest struct {
ID gid.GID
Status coredata.TrustCenterDocumentAccessStatus
Status coredata.CompliancePortalDocumentAccessStatus
}
UpdateAccessRequest struct {
ID gid.GID
DocumentAccesses []UpdateDocumentAccessRequest
ReportAccesses []UpdateDocumentAccessRequest
TrustCenterFileAccesses []UpdateDocumentAccessRequest
ID gid.GID
DocumentAccesses []UpdateDocumentAccessRequest
ReportAccesses []UpdateDocumentAccessRequest
CompliancePortalFileAccesses []UpdateDocumentAccessRequest
}
AccessData struct {
TrustCenterID gid.GID `json:"trust_center_id"`
Email mail.Addr `json:"email"`
CompliancePortalID gid.GID `json:"trust_center_id"`
Email mail.Addr `json:"email"`
}
)
func (utcar *UpdateAccessRequest) Validate() error {
v := validator.New()
v.Check(utcar.ID, "id", validator.Required(), validator.GID(coredata.TrustCenterAccessEntityType))
v.Check(utcar.ID, "id", validator.Required(), validator.GID(coredata.CompliancePortalAccessEntityType))
for i, docAccess := range utcar.DocumentAccesses {
v.Check(docAccess.ID, fmt.Sprintf("documentAccesses[%d].ID", i), validator.Required(), validator.GID(coredata.DocumentEntityType))
@@ -73,8 +73,8 @@ func (utcar *UpdateAccessRequest) Validate() error {
v.Check(reportAccess.ID, fmt.Sprintf("reportAccesses[%d].ID", i), validator.Required(), validator.GID(coredata.FileEntityType))
}
for i, reportAccess := range utcar.TrustCenterFileAccesses {
v.Check(reportAccess.ID, fmt.Sprintf("trustCenterFileAccesses[%d].ID", i), validator.Required(), validator.GID(coredata.TrustCenterFileEntityType))
for i, reportAccess := range utcar.CompliancePortalFileAccesses {
v.Check(reportAccess.ID, fmt.Sprintf("compliancePortalFileAccesses[%d].ID", i), validator.Required(), validator.GID(coredata.CompliancePortalFileEntityType))
}
return v.Error()
@@ -84,14 +84,14 @@ func (s *Service) ListAccesses(
ctx context.Context,
scope coredata.Scoper,
compliancePageID gid.GID,
cursor *page.Cursor[coredata.TrustCenterAccessOrderField],
) (*page.Page[*coredata.TrustCenterAccess, coredata.TrustCenterAccessOrderField], error) {
var accesses coredata.TrustCenterAccesses
cursor *page.Cursor[coredata.CompliancePortalAccessOrderField],
) (*page.Page[*coredata.CompliancePortalAccess, coredata.CompliancePortalAccessOrderField], error) {
var accesses coredata.CompliancePortalAccesses
err := s.pg.WithConn(
ctx,
func(ctx context.Context, conn pg.Querier) error {
return accesses.LoadByTrustCenterID(ctx, conn, scope, compliancePageID, cursor)
return accesses.LoadByCompliancePortalID(ctx, conn, scope, compliancePageID, cursor)
},
)
if err != nil {
@@ -104,15 +104,15 @@ func (s *Service) ListAccesses(
func (s *Service) ListAvailableDocumentAccesses(
ctx context.Context,
scope coredata.Scoper,
trustCenterAccessID gid.GID,
cursor *page.Cursor[coredata.TrustCenterDocumentAccessOrderField],
) (*page.Page[*coredata.TrustCenterDocumentAccess, coredata.TrustCenterDocumentAccessOrderField], error) {
var documentAccesses coredata.TrustCenterDocumentAccesses
compliancePortalAccessID gid.GID,
cursor *page.Cursor[coredata.CompliancePortalDocumentAccessOrderField],
) (*page.Page[*coredata.CompliancePortalDocumentAccess, coredata.CompliancePortalDocumentAccessOrderField], error) {
var documentAccesses coredata.CompliancePortalDocumentAccesses
err := s.pg.WithConn(
ctx,
func(ctx context.Context, conn pg.Querier) error {
return documentAccesses.LoadAvailableByTrustCenterAccessID(ctx, conn, scope, trustCenterAccessID, cursor)
return documentAccesses.LoadAvailableByCompliancePortalAccessID(ctx, conn, scope, compliancePortalAccessID, cursor)
},
)
if err != nil {
@@ -126,8 +126,8 @@ func (s *Service) GetAccess(
ctx context.Context,
scope coredata.Scoper,
accessID gid.GID,
) (*coredata.TrustCenterAccess, error) {
var access coredata.TrustCenterAccess
) (*coredata.CompliancePortalAccess, error) {
var access coredata.CompliancePortalAccess
err := s.pg.WithConn(
ctx,
@@ -145,7 +145,7 @@ func (s *Service) GetAccess(
func (s *Service) CountDocumentAccesses(
ctx context.Context,
scope coredata.Scoper,
trustCenterAccessID gid.GID,
compliancePortalAccessID gid.GID,
) (int, error) {
var count int
@@ -153,11 +153,11 @@ func (s *Service) CountDocumentAccesses(
ctx,
func(ctx context.Context, conn pg.Querier) error {
var (
documentAccesses coredata.TrustCenterDocumentAccesses
documentAccesses coredata.CompliancePortalDocumentAccesses
err error
)
count, err = documentAccesses.CountByTrustCenterAccessID(ctx, conn, scope, trustCenterAccessID)
count, err = documentAccesses.CountByCompliancePortalAccessID(ctx, conn, scope, compliancePortalAccessID)
return err
},
@@ -172,7 +172,7 @@ func (s *Service) CountDocumentAccesses(
func (s *Service) CountPendingRequestDocumentAccesses(
ctx context.Context,
scope coredata.Scoper,
trustCenterAccessID gid.GID,
compliancePortalAccessID gid.GID,
) (int, error) {
var count int
@@ -180,11 +180,11 @@ func (s *Service) CountPendingRequestDocumentAccesses(
ctx,
func(ctx context.Context, conn pg.Querier) error {
var (
documentAccesses coredata.TrustCenterDocumentAccesses
documentAccesses coredata.CompliancePortalDocumentAccesses
err error
)
count, err = documentAccesses.CountPendingRequestByTrustCenterAccessID(ctx, conn, scope, trustCenterAccessID)
count, err = documentAccesses.CountPendingRequestByCompliancePortalAccessID(ctx, conn, scope, compliancePortalAccessID)
return err
},
@@ -199,7 +199,7 @@ func (s *Service) CountPendingRequestDocumentAccesses(
func (s *Service) CountActiveDocumentAccesses(
ctx context.Context,
scope coredata.Scoper,
trustCenterAccessID gid.GID,
compliancePortalAccessID gid.GID,
) (int, error) {
var count int
@@ -207,11 +207,11 @@ func (s *Service) CountActiveDocumentAccesses(
ctx,
func(ctx context.Context, conn pg.Querier) error {
var (
documentAccesses coredata.TrustCenterDocumentAccesses
documentAccesses coredata.CompliancePortalDocumentAccesses
err error
)
count, err = documentAccesses.CountActiveByTrustCenterAccessID(ctx, conn, scope, trustCenterAccessID)
count, err = documentAccesses.CountActiveByCompliancePortalAccessID(ctx, conn, scope, compliancePortalAccessID)
return err
},
@@ -227,34 +227,34 @@ func (s *Service) UpdateAccess(
ctx context.Context,
scope coredata.Scoper,
req *UpdateAccessRequest,
) (*coredata.TrustCenterAccess, error) {
) (*coredata.CompliancePortalAccess, error) {
if err := req.Validate(); err != nil {
return nil, err
}
var (
access *coredata.TrustCenterAccess
trustCenterAcessActivated bool
shouldUpdateSlackMessage bool
access *coredata.CompliancePortalAccess
compliancePortalAcessActivated bool
shouldUpdateSlackMessage bool
)
err := s.pg.WithTx(
ctx,
func(ctx context.Context, tx pg.Tx) error {
access = &coredata.TrustCenterAccess{}
access = &coredata.CompliancePortalAccess{}
if err := access.LoadByID(ctx, tx, scope, req.ID); err != nil {
return fmt.Errorf("cannot load compliance page access: %w", err)
}
var tcdas coredata.TrustCenterDocumentAccesses
var tcdas coredata.CompliancePortalDocumentAccesses
if len(req.DocumentAccesses) > 0 {
var documentData []coredata.MergeTrustCenterDocumentAccessesData
var documentData []coredata.MergeCompliancePortalDocumentAccessesData
documentIDs := make([]gid.GID, 0, len(req.DocumentAccesses))
for _, d := range req.DocumentAccesses {
documentData = append(documentData, coredata.MergeTrustCenterDocumentAccessesData{
documentData = append(documentData, coredata.MergeCompliancePortalDocumentAccessesData{
ID: d.ID,
Status: d.Status,
})
@@ -273,11 +273,11 @@ func (s *Service) UpdateAccess(
}
if len(req.ReportAccesses) > 0 {
var reportData []coredata.MergeTrustCenterDocumentAccessesData
var reportData []coredata.MergeCompliancePortalDocumentAccessesData
reportIDs := make([]gid.GID, 0, len(req.ReportAccesses))
for _, d := range req.ReportAccesses {
reportData = append(reportData, coredata.MergeTrustCenterDocumentAccessesData{
reportData = append(reportData, coredata.MergeCompliancePortalDocumentAccessesData{
ID: d.ID,
Status: d.Status,
})
@@ -295,39 +295,39 @@ func (s *Service) UpdateAccess(
}
}
if len(req.TrustCenterFileAccesses) > 0 {
var fileData []coredata.MergeTrustCenterDocumentAccessesData
if len(req.CompliancePortalFileAccesses) > 0 {
var fileData []coredata.MergeCompliancePortalDocumentAccessesData
trustCenterFileIDs := make([]gid.GID, 0, len(req.TrustCenterFileAccesses))
for _, d := range req.TrustCenterFileAccesses {
fileData = append(fileData, coredata.MergeTrustCenterDocumentAccessesData{
compliancePortalFileIDs := make([]gid.GID, 0, len(req.CompliancePortalFileAccesses))
for _, d := range req.CompliancePortalFileAccesses {
fileData = append(fileData, coredata.MergeCompliancePortalDocumentAccessesData{
ID: d.ID,
Status: d.Status,
})
trustCenterFileIDs = append(trustCenterFileIDs, d.ID)
compliancePortalFileIDs = append(compliancePortalFileIDs, d.ID)
}
trustCenterFiles := &coredata.TrustCenterFiles{}
if err := trustCenterFiles.LoadByIDs(ctx, tx, scope, trustCenterFileIDs); err != nil {
compliancePortalFiles := &coredata.CompliancePortalFiles{}
if err := compliancePortalFiles.LoadByIDs(ctx, tx, scope, compliancePortalFileIDs); err != nil {
return fmt.Errorf("cannot load compliance page files: %w", err)
}
if err := tcdas.MergeTrustCenterFileAccesses(ctx, tx, scope, access.OrganizationID, access.ID, fileData); err != nil {
if err := tcdas.MergeCompliancePortalFileAccesses(ctx, tx, scope, access.OrganizationID, access.ID, fileData); err != nil {
return fmt.Errorf("cannot merge compliance page file accesses: %w", err)
}
}
if trustCenterAcessActivated {
if compliancePortalAcessActivated {
if err := s.sendAccessEmail(ctx, scope, tx, access); err != nil {
return fmt.Errorf("cannot send access email: %w", err)
}
}
shouldUpdateSlackMessage = trustCenterAcessActivated ||
shouldUpdateSlackMessage = compliancePortalAcessActivated ||
len(req.DocumentAccesses) > 0 ||
len(req.ReportAccesses) > 0 ||
len(req.TrustCenterFileAccesses) > 0
len(req.CompliancePortalFileAccesses) > 0
return nil
},
@@ -337,7 +337,7 @@ func (s *Service) UpdateAccess(
}
if shouldUpdateSlackMessage {
if err := s.SlackMessages.QueueSlackNotification(ctx, scope, access.IdentityID, access.TrustCenterID); err != nil {
if err := s.SlackMessages.QueueSlackNotification(ctx, scope, access.IdentityID, access.CompliancePortalID); err != nil {
if !errors.Is(err, slack.ErrNoSlackConnector) {
return nil, fmt.Errorf("cannot queue slack notification: %w", err)
}
@@ -350,14 +350,14 @@ func (s *Service) UpdateAccess(
func (s *Service) DeleteAccess(
ctx context.Context,
scope coredata.Scoper,
trustCenterAccessID gid.GID,
compliancePortalAccessID gid.GID,
) error {
err := s.pg.WithTx(
ctx,
func(ctx context.Context, tx pg.Tx) error {
access := &coredata.TrustCenterAccess{}
access := &coredata.CompliancePortalAccess{}
if err := access.LoadByID(ctx, tx, scope, trustCenterAccessID); err != nil {
if err := access.LoadByID(ctx, tx, scope, compliancePortalAccessID); err != nil {
return fmt.Errorf("cannot load compliance page access: %w", err)
}
@@ -376,7 +376,7 @@ func (s *Service) sendAccessEmail(
ctx context.Context,
scope coredata.Scoper,
tx pg.Tx,
access *coredata.TrustCenterAccess,
access *coredata.CompliancePortalAccess,
) error {
organization := &coredata.Organization{}
if err := organization.LoadByID(ctx, tx, scope, access.OrganizationID); err != nil {
@@ -401,14 +401,14 @@ func (s *Service) sendAccessEmail(
return fmt.Errorf("cannot load profile: %w", err)
}
emailPresenterCfg, err := s.EmailPresenterConfig(ctx, scope, access.TrustCenterID)
emailPresenterCfg, err := s.EmailPresenterConfig(ctx, scope, access.CompliancePortalID)
if err != nil {
return fmt.Errorf("cannot get compliance page email presenter config: %w", err)
}
emailPresenter := emails.NewPresenterFromConfig(emailPresenterCfg, profile.FullName)
subject, textBody, htmlBody, err := emailPresenter.RenderTrustCenterAccess(ctx, organization.Name)
subject, textBody, htmlBody, err := emailPresenter.RenderCompliancePortalAccess(ctx, organization.Name)
if err != nil {
return fmt.Errorf("cannot render compliance page access email: %w", err)
}