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
|
ProcessingActivities *ProcessingActivityService
|
||||||
Files *FileService
|
Files *FileService
|
||||||
CustomDomains *CustomDomainService
|
CustomDomains *CustomDomainService
|
||||||
Slack *slack.TenantService
|
SlackMessages *slack.SlackMessageService
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -174,7 +174,6 @@ func (s *Service) WithTenant(tenantID gid.TenantID) *TenantService {
|
|||||||
trustConfig: s.trustConfig,
|
trustConfig: s.trustConfig,
|
||||||
agent: agents.NewAgent(nil, s.agentConfig),
|
agent: agents.NewAgent(nil, s.agentConfig),
|
||||||
fileManager: s.fileManager,
|
fileManager: s.fileManager,
|
||||||
Slack: s.slack.WithTenant(tenantID),
|
|
||||||
}
|
}
|
||||||
|
|
||||||
tenantService.Frameworks = &FrameworkService{
|
tenantService.Frameworks = &FrameworkService{
|
||||||
@@ -256,6 +255,7 @@ func (s *Service) WithTenant(tenantID gid.TenantID) *TenantService {
|
|||||||
acmeService: s.acmeService,
|
acmeService: s.acmeService,
|
||||||
logger: s.logger.Named("custom_domains"),
|
logger: s.logger.Named("custom_domains"),
|
||||||
}
|
}
|
||||||
|
tenantService.SlackMessages = s.slack.WithTenant(tenantID).SlackMessages
|
||||||
|
|
||||||
return tenantService
|
return tenantService
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -362,7 +362,7 @@ func (s TrustCenterAccessService) Update(
|
|||||||
}
|
}
|
||||||
|
|
||||||
if shouldUpdateSlackMessage {
|
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)
|
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 reportIDs []gid.GID
|
||||||
var fileIDs []gid.GID
|
var fileIDs []gid.GID
|
||||||
var statusAction string
|
var statusAction string
|
||||||
|
tenantSlackSvc := slackSvc.WithTenant(initialSlackMessage.OrganizationID.TenantID())
|
||||||
|
|
||||||
// accept_all, reject_all
|
// accept_all, reject_all
|
||||||
if strings.HasSuffix(action.ActionID, "_all") {
|
if strings.HasSuffix(action.ActionID, "_all") {
|
||||||
@@ -168,7 +169,7 @@ func SlackHandler(slackSvc *slack.Service, slackSigningSecret string, logger *lo
|
|||||||
return
|
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 {
|
if err != nil {
|
||||||
logger.ErrorCtx(ctx, "cannot load slack message document ids", log.Error(err))
|
logger.ErrorCtx(ctx, "cannot load slack message document ids", log.Error(err))
|
||||||
httpserver.RenderJSON(w, http.StatusInternalServerError, SlackInteractiveResponse{Success: false, Message: "internal server error"})
|
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
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := slackSvc.WithTenant(initialSlackMessage.OrganizationID.TenantID()).GetSlackMessageService().UpdateSlackAccessMessage(
|
if err := tenantSlackSvc.SlackMessages.UpdateSlackAccessMessage(
|
||||||
ctx,
|
ctx,
|
||||||
initialSlackMessage.ID,
|
initialSlackMessage.ID,
|
||||||
slackPayload.ResponseURL,
|
slackPayload.ResponseURL,
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ package slack
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"strings"
|
|
||||||
"text/template"
|
"text/template"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -14,17 +13,6 @@ var (
|
|||||||
b, _ := json.Marshal(s)
|
b, _ := json.Marshal(s)
|
||||||
return string(b[1 : len(b)-1])
|
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"),
|
ParseFS(Templates, "templates/access-request.json.tmpl"),
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ type TenantService struct {
|
|||||||
baseURL string
|
baseURL string
|
||||||
encryptionKey cipher.EncryptionKey
|
encryptionKey cipher.EncryptionKey
|
||||||
tokenSecret string
|
tokenSecret string
|
||||||
|
SlackMessages *SlackMessageService
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewService(
|
func NewService(
|
||||||
@@ -56,6 +57,7 @@ func (s *Service) WithTenant(tenantID gid.TenantID) *TenantService {
|
|||||||
encryptionKey: s.encryptionKey,
|
encryptionKey: s.encryptionKey,
|
||||||
tokenSecret: s.tokenSecret,
|
tokenSecret: s.tokenSecret,
|
||||||
}
|
}
|
||||||
|
tenantService.SlackMessages = &SlackMessageService{svc: tenantService}
|
||||||
|
|
||||||
return tenantService
|
return tenantService
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ type (
|
|||||||
TrustCenterFiles *TrustCenterFileService
|
TrustCenterFiles *TrustCenterFileService
|
||||||
Reports *ReportService
|
Reports *ReportService
|
||||||
Organizations *OrganizationService
|
Organizations *OrganizationService
|
||||||
slack *slack.TenantService
|
SlackMessages *slack.SlackMessageService
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -126,7 +126,6 @@ func (s *Service) WithTenant(tenantID gid.TenantID) *TenantService {
|
|||||||
fileManager: s.fileManager,
|
fileManager: s.fileManager,
|
||||||
logger: s.logger,
|
logger: s.logger,
|
||||||
trustConfig: s.trustConfig,
|
trustConfig: s.trustConfig,
|
||||||
slack: s.slack.WithTenant(tenantID),
|
|
||||||
}
|
}
|
||||||
|
|
||||||
tenantService.TrustCenters = &TrustCenterService{svc: tenantService}
|
tenantService.TrustCenters = &TrustCenterService{svc: tenantService}
|
||||||
@@ -139,6 +138,7 @@ func (s *Service) WithTenant(tenantID gid.TenantID) *TenantService {
|
|||||||
tenantService.TrustCenterFiles = &TrustCenterFileService{svc: tenantService}
|
tenantService.TrustCenterFiles = &TrustCenterFileService{svc: tenantService}
|
||||||
tenantService.Reports = &ReportService{svc: tenantService}
|
tenantService.Reports = &ReportService{svc: tenantService}
|
||||||
tenantService.Organizations = &OrganizationService{svc: tenantService}
|
tenantService.Organizations = &OrganizationService{svc: tenantService}
|
||||||
|
tenantService.SlackMessages = s.slack.WithTenant(tenantID).SlackMessages
|
||||||
|
|
||||||
return tenantService
|
return tenantService
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -232,8 +232,7 @@ func (s TrustCenterAccessService) Request(
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
slackMessageService := s.svc.slack.GetSlackMessageService()
|
if err := s.svc.SlackMessages.QueueSlackNotification(ctx, access.Email, req.TrustCenterID); err != nil {
|
||||||
if err := slackMessageService.QueueSlackNotification(ctx, access.Email, req.TrustCenterID); err != nil {
|
|
||||||
s.logger.ErrorCtx(ctx, "cannot queue slack notification", log.Error(err))
|
s.logger.ErrorCtx(ctx, "cannot queue slack notification", log.Error(err))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user