Rework top level services injection of business level services
Signed-off-by: Émile Ré <nemile.re@gmail.com>
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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"),
|
||||
)
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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))
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user