Rework top level services injection of business level services

Signed-off-by: Émile Ré <nemile.re@gmail.com>
This commit is contained in:
Émile Ré
2025-12-11 18:35:46 +01:00
parent 69f876484e
commit ec13bd8108
7 changed files with 11 additions and 21 deletions

View File

@@ -115,7 +115,7 @@ type (
ProcessingActivities *ProcessingActivityService
Files *FileService
CustomDomains *CustomDomainService
Slack *slack.TenantService
SlackMessages *slack.SlackMessageService
}
)
@@ -174,7 +174,6 @@ func (s *Service) WithTenant(tenantID gid.TenantID) *TenantService {
trustConfig: s.trustConfig,
agent: agents.NewAgent(nil, s.agentConfig),
fileManager: s.fileManager,
Slack: s.slack.WithTenant(tenantID),
}
tenantService.Frameworks = &FrameworkService{
@@ -256,6 +255,7 @@ func (s *Service) WithTenant(tenantID gid.TenantID) *TenantService {
acmeService: s.acmeService,
logger: s.logger.Named("custom_domains"),
}
tenantService.SlackMessages = s.slack.WithTenant(tenantID).SlackMessages
return tenantService
}

View File

@@ -362,7 +362,7 @@ func (s TrustCenterAccessService) Update(
}
if shouldUpdateSlackMessage {
if err := s.svc.Slack.GetSlackMessageService().QueueSlackAccessMessageUpdate(ctx, access.Email, access.TrustCenterID); err != nil {
if err := s.svc.SlackMessages.QueueSlackAccessMessageUpdate(ctx, access.Email, access.TrustCenterID); err != nil {
return nil, fmt.Errorf("cannot queue slack access message update: %w", err)
}
}

View File

@@ -159,6 +159,7 @@ func SlackHandler(slackSvc *slack.Service, slackSigningSecret string, logger *lo
var reportIDs []gid.GID
var fileIDs []gid.GID
var statusAction string
tenantSlackSvc := slackSvc.WithTenant(initialSlackMessage.OrganizationID.TenantID())
// accept_all, reject_all
if strings.HasSuffix(action.ActionID, "_all") {
@@ -168,7 +169,7 @@ func SlackHandler(slackSvc *slack.Service, slackSigningSecret string, logger *lo
return
}
documentIDs, reportIDs, fileIDs, err = slackSvc.WithTenant(initialSlackMessage.OrganizationID.TenantID()).GetSlackMessageService().GetSlackMessageDocumentIDs(ctx, currentMessageId)
documentIDs, reportIDs, fileIDs, err = tenantSlackSvc.SlackMessages.GetSlackMessageDocumentIDs(ctx, currentMessageId)
if err != nil {
logger.ErrorCtx(ctx, "cannot load slack message document ids", log.Error(err))
httpserver.RenderJSON(w, http.StatusInternalServerError, SlackInteractiveResponse{Success: false, Message: "internal server error"})
@@ -261,7 +262,7 @@ func SlackHandler(slackSvc *slack.Service, slackSigningSecret string, logger *lo
return
}
if err := slackSvc.WithTenant(initialSlackMessage.OrganizationID.TenantID()).GetSlackMessageService().UpdateSlackAccessMessage(
if err := tenantSlackSvc.SlackMessages.UpdateSlackAccessMessage(
ctx,
initialSlackMessage.ID,
slackPayload.ResponseURL,

View File

@@ -2,7 +2,6 @@ package slack
import (
"encoding/json"
"strings"
"text/template"
)
@@ -14,17 +13,6 @@ var (
b, _ := json.Marshal(s)
return string(b[1 : len(b)-1])
},
"buildAcceptAllValue": func(docIDs, repIDs []string) string {
value := map[string][]string{
"document_ids": docIDs,
"report_ids": repIDs,
}
b, _ := json.Marshal(value)
s := string(b)
s = strings.ReplaceAll(s, `\`, `\\`)
s = strings.ReplaceAll(s, `"`, `\"`)
return s
},
}).
ParseFS(Templates, "templates/access-request.json.tmpl"),
)

View File

@@ -27,6 +27,7 @@ type TenantService struct {
baseURL string
encryptionKey cipher.EncryptionKey
tokenSecret string
SlackMessages *SlackMessageService
}
func NewService(
@@ -56,6 +57,7 @@ func (s *Service) WithTenant(tenantID gid.TenantID) *TenantService {
encryptionKey: s.encryptionKey,
tokenSecret: s.tokenSecret,
}
tenantService.SlackMessages = &SlackMessageService{svc: tenantService}
return tenantService
}

View File

@@ -77,7 +77,7 @@ type (
TrustCenterFiles *TrustCenterFileService
Reports *ReportService
Organizations *OrganizationService
slack *slack.TenantService
SlackMessages *slack.SlackMessageService
}
)
@@ -126,7 +126,6 @@ func (s *Service) WithTenant(tenantID gid.TenantID) *TenantService {
fileManager: s.fileManager,
logger: s.logger,
trustConfig: s.trustConfig,
slack: s.slack.WithTenant(tenantID),
}
tenantService.TrustCenters = &TrustCenterService{svc: tenantService}
@@ -139,6 +138,7 @@ func (s *Service) WithTenant(tenantID gid.TenantID) *TenantService {
tenantService.TrustCenterFiles = &TrustCenterFileService{svc: tenantService}
tenantService.Reports = &ReportService{svc: tenantService}
tenantService.Organizations = &OrganizationService{svc: tenantService}
tenantService.SlackMessages = s.slack.WithTenant(tenantID).SlackMessages
return tenantService
}

View File

@@ -232,8 +232,7 @@ func (s TrustCenterAccessService) Request(
return nil, err
}
slackMessageService := s.svc.slack.GetSlackMessageService()
if err := slackMessageService.QueueSlackNotification(ctx, access.Email, req.TrustCenterID); err != nil {
if err := s.svc.SlackMessages.QueueSlackNotification(ctx, access.Email, req.TrustCenterID); err != nil {
s.logger.ErrorCtx(ctx, "cannot queue slack notification", log.Error(err))
}