diff --git a/pkg/esign/service.go b/pkg/esign/service.go index a883c467d..befb124ec 100644 --- a/pkg/esign/service.go +++ b/pkg/esign/service.go @@ -464,7 +464,7 @@ func (s *Service) GenerateCertificateFileURL( return "", err } - url, err := s.fileManager.GenerateFileURL(ctx, &file, expiresIn) + url, err := s.fileManager.GeneratePresignedFileURL(ctx, &file, expiresIn) if err != nil { return "", fmt.Errorf("cannot generate certificate file URL: %w", err) } @@ -501,7 +501,7 @@ func (s *Service) GenerateSignatureFileURL( return "", err } - url, err := s.fileManager.GenerateFileURL(ctx, &file, expiresIn) + url, err := s.fileManager.GeneratePresignedFileURL(ctx, &file, expiresIn) if err != nil { return "", fmt.Errorf("cannot generate signature file URL: %w", err) } diff --git a/pkg/iam/compliance_page_service.go b/pkg/iam/compliance_page_service.go index 33286e620..e1ca456d1 100644 --- a/pkg/iam/compliance_page_service.go +++ b/pkg/iam/compliance_page_service.go @@ -78,7 +78,7 @@ func (s *CompliancePageService) GenerateLogoURL( return nil, nil } - presignedURL, err := s.fm.GenerateFileURL(ctx, file, expiresIn) + presignedURL, err := s.fm.GeneratePresignedFileURL(ctx, file, expiresIn) if err != nil { return nil, fmt.Errorf("cannot generate file URL: %w", err) } diff --git a/pkg/iam/organization_service.go b/pkg/iam/organization_service.go index 9d92e9bfa..5d5d9f5b9 100644 --- a/pkg/iam/organization_service.go +++ b/pkg/iam/organization_service.go @@ -1410,7 +1410,7 @@ func (s OrganizationService) GenerateLogoURL( return nil, fmt.Errorf("cannot generate logo URL: %w", err) } - presignedURL, err := s.fm.GenerateFileURL(ctx, file, expiresIn) + presignedURL, err := s.fm.GeneratePresignedFileURL(ctx, file, expiresIn) if err != nil { return nil, fmt.Errorf("cannot generate file URL: %w", err) } @@ -1456,7 +1456,7 @@ func (s OrganizationService) GenerateHorizontalLogoURL( return nil, err } - presignedURL, err := s.fm.GenerateFileURL(ctx, file, expiresIn) + presignedURL, err := s.fm.GeneratePresignedFileURL(ctx, file, expiresIn) if err != nil { return nil, fmt.Errorf("cannot generate file URL: %w", err) } diff --git a/pkg/probo/file_service.go b/pkg/probo/file_service.go index 15356acd7..786b497bf 100644 --- a/pkg/probo/file_service.go +++ b/pkg/probo/file_service.go @@ -202,7 +202,7 @@ func (s FileService) GenerateFileURL( return "", fmt.Errorf("cannot get file: %w", err) } - presignedURL, err := s.svc.fileManager.GenerateFileURL(ctx, file, expiresIn) + presignedURL, err := s.svc.fileManager.GeneratePresignedFileURL(ctx, file, expiresIn) if err != nil { return "", fmt.Errorf("cannot generate file URL: %w", err) } diff --git a/pkg/probo/framework_service.go b/pkg/probo/framework_service.go index e39a15dd7..405398dc1 100644 --- a/pkg/probo/framework_service.go +++ b/pkg/probo/framework_service.go @@ -866,7 +866,7 @@ func (s FrameworkService) GenerateLightLogoURL( return nil, nil } - presignedURL, err := s.svc.fileManager.GenerateFileURL(ctx, file, expiresIn) + presignedURL, err := s.svc.fileManager.GeneratePresignedFileURL(ctx, file, expiresIn) if err != nil { return nil, fmt.Errorf("cannot generate file URL: %w", err) } @@ -908,7 +908,7 @@ func (s FrameworkService) GenerateDarkLogoURL( return nil, nil } - presignedURL, err := s.svc.fileManager.GenerateFileURL(ctx, file, expiresIn) + presignedURL, err := s.svc.fileManager.GeneratePresignedFileURL(ctx, file, expiresIn) if err != nil { return nil, fmt.Errorf("cannot generate file URL: %w", err) } diff --git a/pkg/probo/organization_service.go b/pkg/probo/organization_service.go index 13f3ebc27..113d8d81a 100644 --- a/pkg/probo/organization_service.go +++ b/pkg/probo/organization_service.go @@ -25,6 +25,7 @@ import ( "go.gearno.de/crypto/uuid" "go.gearno.de/kit/pg" "go.probo.inc/probo/pkg/coredata" + "go.probo.inc/probo/pkg/filemanager" "go.probo.inc/probo/pkg/filevalidation" "go.probo.inc/probo/pkg/gid" "go.probo.inc/probo/pkg/validator" @@ -295,7 +296,7 @@ func (s OrganizationService) Update( } } - fileSize, err := s.svc.fileManager.GetFileSize(req.File.Content) + fileSize, err := filemanager.GetFileSize(req.File.Content) if err != nil { return fmt.Errorf("cannot get file size: %w", err) } @@ -359,7 +360,7 @@ func (s OrganizationService) Update( } } - fileSize, err := s.svc.fileManager.GetFileSize(req.HorizontalLogoFile.Content) + fileSize, err := filemanager.GetFileSize(req.HorizontalLogoFile.Content) if err != nil { return fmt.Errorf("cannot get file size: %w", err) } @@ -450,7 +451,7 @@ func (s OrganizationService) GenerateLogoURL( return nil, nil } - presignedURL, err := s.svc.fileManager.GenerateFileURL(ctx, file, expiresIn) + presignedURL, err := s.svc.fileManager.GeneratePresignedFileURL(ctx, file, expiresIn) if err != nil { return nil, fmt.Errorf("cannot generate file URL: %w", err) } @@ -492,7 +493,7 @@ func (s OrganizationService) GenerateHorizontalLogoURL( return nil, nil } - presignedURL, err := s.svc.fileManager.GenerateFileURL(ctx, file, expiresIn) + presignedURL, err := s.svc.fileManager.GeneratePresignedFileURL(ctx, file, expiresIn) if err != nil { return nil, fmt.Errorf("cannot generate file URL: %w", err) } diff --git a/pkg/probo/service.go b/pkg/probo/service.go index a0c5a199c..8a82f3a7d 100644 --- a/pkg/probo/service.go +++ b/pkg/probo/service.go @@ -27,7 +27,6 @@ import ( "go.probo.inc/probo/pkg/coredata" "go.probo.inc/probo/pkg/crypto/cipher" "go.probo.inc/probo/pkg/esign" - "go.probo.inc/probo/pkg/file" "go.probo.inc/probo/pkg/filemanager" "go.probo.inc/probo/pkg/filevalidation" "go.probo.inc/probo/pkg/gid" @@ -80,7 +79,6 @@ type ( html2pdfConverter *html2pdf.Converter acmeService *certmanager.ACMEService fileManager *filemanager.Service - file *file.Service logger *log.Logger slack *slack.Service esign *esign.Service @@ -145,7 +143,6 @@ func NewService( esignService *esign.Service, connectorRegistry *connector.ConnectorRegistry, invitationTokenValidity time.Duration, - fileService *file.Service, ) (*Service, error) { if bucket == "" { return nil, fmt.Errorf("bucket is required") @@ -165,7 +162,6 @@ func NewService( html2pdfConverter: html2pdfConverter, acmeService: acmeService, fileManager: fileManagerService, - file: fileService, logger: logger, slack: slackService, esign: esignService, diff --git a/pkg/probo/trust_center_file_service.go b/pkg/probo/trust_center_file_service.go index f44bd0c54..d41028cf3 100644 --- a/pkg/probo/trust_center_file_service.go +++ b/pkg/probo/trust_center_file_service.go @@ -27,6 +27,7 @@ import ( "go.gearno.de/crypto/uuid" "go.gearno.de/kit/pg" "go.probo.inc/probo/pkg/coredata" + "go.probo.inc/probo/pkg/filemanager" "go.probo.inc/probo/pkg/filevalidation" "go.probo.inc/probo/pkg/gid" "go.probo.inc/probo/pkg/page" @@ -160,7 +161,7 @@ func (s TrustCenterFileService) Create( filename := req.File.Filename contentType := req.File.ContentType - fileSize, err := s.svc.fileManager.GetFileSize(req.File.Content) + fileSize, err := filemanager.GetFileSize(req.File.Content) if err != nil { return nil, fmt.Errorf("cannot get file size: %w", err) } @@ -313,7 +314,7 @@ func (s TrustCenterFileService) GenerateFileURL( return "", err } - fileURL, err := s.svc.fileManager.GenerateFileURL(ctx, storedFile, duration) + fileURL, err := s.svc.fileManager.GeneratePresignedFileURL(ctx, storedFile, duration) if err != nil { return "", fmt.Errorf("cannot generate file URL: %w", err) } diff --git a/pkg/probo/trust_center_reference_service.go b/pkg/probo/trust_center_reference_service.go index fda6c13ed..c6b387f69 100644 --- a/pkg/probo/trust_center_reference_service.go +++ b/pkg/probo/trust_center_reference_service.go @@ -305,7 +305,7 @@ func (s TrustCenterReferenceService) GenerateLogoURL( return "", fmt.Errorf("cannot load trust center reference: %w", err) } - return s.svc.file.GenerateFileURL(ctx, reference.LogoFileID) + return s.svc.fileManager.GenerateFileURL(ctx, reference.LogoFileID) } func (s TrustCenterReferenceService) uploadLogoFile( diff --git a/pkg/probo/trust_center_service.go b/pkg/probo/trust_center_service.go index af171ee91..e7b968946 100644 --- a/pkg/probo/trust_center_service.go +++ b/pkg/probo/trust_center_service.go @@ -500,7 +500,7 @@ func (s TrustCenterService) GenerateNDAFileURL( return nil, nil } - presignedURL, err := s.svc.fileManager.GenerateFileURL(ctx, file, expiresIn) + presignedURL, err := s.svc.fileManager.GeneratePresignedFileURL(ctx, file, expiresIn) if err != nil { return nil, fmt.Errorf("cannot generate file URL: %w", err) } @@ -546,7 +546,7 @@ func (s TrustCenterService) GenerateLogoURL( return nil, nil } - presignedURL, err := s.svc.fileManager.GenerateFileURL(ctx, file, expiresIn) + presignedURL, err := s.svc.fileManager.GeneratePresignedFileURL(ctx, file, expiresIn) if err != nil { return nil, fmt.Errorf("cannot generate file URL: %w", err) } @@ -592,7 +592,7 @@ func (s TrustCenterService) GenerateDarkLogoURL( return nil, nil } - presignedURL, err := s.svc.fileManager.GenerateFileURL(ctx, file, expiresIn) + presignedURL, err := s.svc.fileManager.GeneratePresignedFileURL(ctx, file, expiresIn) if err != nil { return nil, fmt.Errorf("cannot generate file URL: %w", err) } diff --git a/pkg/probod/probod.go b/pkg/probod/probod.go index 834fb276b..3ab0f2305 100644 --- a/pkg/probod/probod.go +++ b/pkg/probod/probod.go @@ -56,7 +56,6 @@ import ( pemutil "go.probo.inc/probo/pkg/crypto/pem" "go.probo.inc/probo/pkg/esign" "go.probo.inc/probo/pkg/evidencedescriber" - "go.probo.inc/probo/pkg/file" "go.probo.inc/probo/pkg/filemanager" "go.probo.inc/probo/pkg/geoloc" "go.probo.inc/probo/pkg/html2pdf" @@ -327,7 +326,7 @@ func (impl *Implm) Run( return err } - fileManagerService := filemanager.NewService(s3Client) + fileManagerService := filemanager.NewService(pgClient, baseURL, s3Client) var ( samlCert *x509.Certificate @@ -529,8 +528,6 @@ func (impl *Implm) Run( cookieBannerService := cookiebanner.NewService(pgClient, impl.cfg.Branding) - fileService := file.NewService(pgClient, baseURL, fileManagerService) - proboService, err := probo.NewService( ctx, encryptionKey, @@ -554,7 +551,6 @@ func (impl *Implm) Run( esignService, defaultConnectorRegistry, time.Duration(impl.cfg.Auth.InvitationConfirmationTokenValidity)*time.Second, - fileService, ) if err != nil { return fmt.Errorf("cannot create probo service: %w", err) @@ -572,7 +568,6 @@ func (impl *Implm) Run( fileManagerService, l, slackService, - fileService, ) accessReviewService := accessreview.NewService( @@ -587,7 +582,7 @@ func (impl *Implm) Run( iamService.Authorizer.RegisterPolicySet(agentrun.PolicySet()) - thirdPartyService := thirdparty.NewService(pgClient, fileService, thirdPartyVetter) + thirdPartyService := thirdparty.NewService(pgClient, fileManagerService, thirdPartyVetter) riskManagementService := riskmanagement.NewService(pgClient) serverHandler, err := server.NewServer( @@ -595,7 +590,7 @@ func (impl *Implm) Run( AllowedOrigins: impl.cfg.Api.Cors.AllowedOrigins, ExtraHeaderFields: impl.cfg.Api.ExtraHeaderFields, Probo: proboService, - File: fileService, + File: fileManagerService, IAM: iamService, Trust: trustService, ESign: esignService, diff --git a/pkg/server/api/api.go b/pkg/server/api/api.go index db582b2d1..603d8d21a 100644 --- a/pkg/server/api/api.go +++ b/pkg/server/api/api.go @@ -32,7 +32,7 @@ import ( "go.probo.inc/probo/pkg/connector/provider" "go.probo.inc/probo/pkg/cookiebanner" "go.probo.inc/probo/pkg/esign" - "go.probo.inc/probo/pkg/file" + "go.probo.inc/probo/pkg/filemanager" "go.probo.inc/probo/pkg/geoloc" "go.probo.inc/probo/pkg/iam" "go.probo.inc/probo/pkg/mailman" @@ -56,7 +56,7 @@ type ( BaseURL *baseurl.BaseURL AllowedOrigins []string Probo *probo.Service - File *file.Service + File *filemanager.Service IAM *iam.Service Trust *trust.Service ESign *esign.Service diff --git a/pkg/server/api/files/v1/handler.go b/pkg/server/api/files/v1/handler.go index 2a1c7eb44..b23f0275c 100644 --- a/pkg/server/api/files/v1/handler.go +++ b/pkg/server/api/files/v1/handler.go @@ -25,7 +25,7 @@ import ( "go.gearno.de/kit/log" "go.probo.inc/probo/pkg/brand" "go.probo.inc/probo/pkg/coredata" - "go.probo.inc/probo/pkg/file" + "go.probo.inc/probo/pkg/filemanager" "go.probo.inc/probo/pkg/gid" "go.probo.inc/probo/pkg/iam" "go.probo.inc/probo/pkg/probo" @@ -38,14 +38,14 @@ const presignedURLExpiry = 1 * time.Hour type Handler struct { logger *log.Logger - fileSvc *file.Service + fileSvc *filemanager.Service probo *probo.Service iamSvc *iam.Service } func NewMux( logger *log.Logger, - fileSvc *file.Service, + fileSvc *filemanager.Service, proboSvc *probo.Service, iamSvc *iam.Service, cookieConfig securecookie.Config, @@ -94,7 +94,7 @@ func (h *Handler) handleGetPublicFile(w http.ResponseWriter, r *http.Request) { return } - presignedURL, err := h.fileSvc.GeneratePublicPresignedURL(r.Context(), fileID, presignedURLExpiry) + presignedURL, err := h.fileSvc.GeneratePublicPresignedFileURL(r.Context(), fileID, presignedURLExpiry) if err != nil { if errors.Is(err, coredata.ErrResourceNotFound) { jsonutil.RenderNotFound(w, fmt.Errorf("file not found")) @@ -157,7 +157,7 @@ func (h *Handler) handleGetFile(w http.ResponseWriter, r *http.Request) { return } - presignedURL, err := h.fileSvc.GeneratePresignedURL(ctx, f, presignedURLExpiry) + presignedURL, err := h.fileSvc.GeneratePresignedFileURL(ctx, f, presignedURLExpiry) if err != nil { h.logger.ErrorCtx(ctx, "cannot generate file URL", log.Error(err), log.String("file_id", fileIDStr)) jsonutil.RenderInternalServerError(w) diff --git a/pkg/server/server.go b/pkg/server/server.go index 45c5bb7b5..9e150b7ad 100644 --- a/pkg/server/server.go +++ b/pkg/server/server.go @@ -31,7 +31,7 @@ import ( "go.probo.inc/probo/pkg/connector/provider" "go.probo.inc/probo/pkg/cookiebanner" "go.probo.inc/probo/pkg/esign" - "go.probo.inc/probo/pkg/file" + "go.probo.inc/probo/pkg/filemanager" "go.probo.inc/probo/pkg/geoloc" "go.probo.inc/probo/pkg/iam" "go.probo.inc/probo/pkg/iam/oauth2server" @@ -55,7 +55,7 @@ type Config struct { AllowedOrigins []string ExtraHeaderFields map[string]string Probo *probo.Service - File *file.Service + File *filemanager.Service IAM *iam.Service Trust *trust.Service ESign *esign.Service diff --git a/pkg/thirdparty/service.go b/pkg/thirdparty/service.go index 90054c516..3aeff391d 100644 --- a/pkg/thirdparty/service.go +++ b/pkg/thirdparty/service.go @@ -20,18 +20,18 @@ import ( "go.gearno.de/kit/pg" "go.probo.inc/probo/pkg/coredata" - "go.probo.inc/probo/pkg/file" + "go.probo.inc/probo/pkg/filemanager" "go.probo.inc/probo/pkg/gid" ) type Service struct { pg *pg.Client - file *file.Service + file *filemanager.Service vetter Vetter vettingEnabled bool } -func NewService(pgClient *pg.Client, fileSvc *file.Service, vetter Vetter) *Service { +func NewService(pgClient *pg.Client, fileSvc *filemanager.Service, vetter Vetter) *Service { _, disabled := vetter.(DisabledVetter) return &Service{ diff --git a/pkg/trust/framework_service.go b/pkg/trust/framework_service.go index 902859498..11739d85b 100644 --- a/pkg/trust/framework_service.go +++ b/pkg/trust/framework_service.go @@ -85,7 +85,7 @@ func (s FrameworkService) GenerateLightLogoURL( return nil, nil } - presignedURL, err := s.svc.fileManager.GenerateFileURL(ctx, file, expiresIn) + presignedURL, err := s.svc.fileManager.GeneratePresignedFileURL(ctx, file, expiresIn) if err != nil { return nil, fmt.Errorf("cannot generate file URL: %w", err) } @@ -128,7 +128,7 @@ func (s FrameworkService) GenerateDarkLogoURL( return nil, nil } - presignedURL, err := s.svc.fileManager.GenerateFileURL(ctx, file, expiresIn) + presignedURL, err := s.svc.fileManager.GeneratePresignedFileURL(ctx, file, expiresIn) if err != nil { return nil, fmt.Errorf("cannot generate file URL: %w", err) } diff --git a/pkg/trust/service.go b/pkg/trust/service.go index 352920da1..c141d25c2 100644 --- a/pkg/trust/service.go +++ b/pkg/trust/service.go @@ -26,7 +26,6 @@ import ( "go.probo.inc/probo/packages/emails" "go.probo.inc/probo/pkg/coredata" "go.probo.inc/probo/pkg/esign" - "go.probo.inc/probo/pkg/file" "go.probo.inc/probo/pkg/filemanager" "go.probo.inc/probo/pkg/gid" "go.probo.inc/probo/pkg/html2pdf" @@ -47,7 +46,6 @@ type ( esign *esign.Service html2pdfConverter *html2pdf.Converter fileManager *filemanager.Service - file *file.Service logger *log.Logger slack *slack.Service TrustCenters *TrustCenterService @@ -77,7 +75,6 @@ func NewService( fileManagerService *filemanager.Service, logger *log.Logger, slack *slack.Service, - fileService *file.Service, ) *Service { svc := &Service{ pg: pgClient, @@ -89,7 +86,6 @@ func NewService( esign: esignSvc, html2pdfConverter: html2pdfConverter, fileManager: fileManagerService, - file: fileService, logger: logger, slack: slack, } diff --git a/pkg/trust/trust_center_reference_service.go b/pkg/trust/trust_center_reference_service.go index ee33bbcd3..963e74508 100644 --- a/pkg/trust/trust_center_reference_service.go +++ b/pkg/trust/trust_center_reference_service.go @@ -65,7 +65,7 @@ func (s TrustCenterReferenceService) GenerateLogoURL( return "", fmt.Errorf("cannot load trust center reference: %w", err) } - return s.svc.file.GenerateFileURL(ctx, reference.LogoFileID) + return s.svc.fileManager.GenerateFileURL(ctx, reference.LogoFileID) } func (s TrustCenterReferenceService) Get( diff --git a/pkg/trust/trust_center_service.go b/pkg/trust/trust_center_service.go index cb40e5ce4..7aacc6b46 100644 --- a/pkg/trust/trust_center_service.go +++ b/pkg/trust/trust_center_service.go @@ -148,7 +148,7 @@ func (s TrustCenterService) GenerateNDAFileURL( return "", err } - presignedURL, err := s.svc.fileManager.GenerateFileURL(ctx, file, expiresIn) + presignedURL, err := s.svc.fileManager.GeneratePresignedFileURL(ctx, file, expiresIn) if err != nil { return "", fmt.Errorf("cannot generate file URL: %w", err) } @@ -195,7 +195,7 @@ func (s TrustCenterService) GenerateLogoURL( return nil, nil } - presignedURL, err := s.svc.fileManager.GenerateFileURL(ctx, file, expiresIn) + presignedURL, err := s.svc.fileManager.GeneratePresignedFileURL(ctx, file, expiresIn) if err != nil { return nil, fmt.Errorf("cannot generate file URL: %w", err) } @@ -242,7 +242,7 @@ func (s TrustCenterService) GenerateDarkLogoURL( return nil, nil } - presignedURL, err := s.svc.fileManager.GenerateFileURL(ctx, file, expiresIn) + presignedURL, err := s.svc.fileManager.GeneratePresignedFileURL(ctx, file, expiresIn) if err != nil { return nil, fmt.Errorf("cannot generate file URL: %w", err) }