From 9ec950d63376d82f28e79d81e4e5065e01bf1a5d Mon Sep 17 00:00:00 2001 From: Bryan Frimin Date: Fri, 20 Feb 2026 14:30:43 +0100 Subject: [PATCH] Remove content type from email attachment Signed-off-by: Bryan Frimin --- pkg/coredata/email_attachment.go | 42 +++++++++----------- pkg/coredata/migrations/20260220T150000Z.sql | 2 + pkg/esign/completion_certificate_worker.go | 2 - pkg/mailer/mailer.go | 4 +- 4 files changed, 23 insertions(+), 27 deletions(-) create mode 100644 pkg/coredata/migrations/20260220T150000Z.sql diff --git a/pkg/coredata/email_attachment.go b/pkg/coredata/email_attachment.go index 60585bbb7..15be40e00 100644 --- a/pkg/coredata/email_attachment.go +++ b/pkg/coredata/email_attachment.go @@ -26,26 +26,23 @@ import ( type ( EmailAttachment struct { - ID gid.GID `db:"id"` - EmailID gid.GID `db:"email_id"` - FileID gid.GID `db:"file_id"` - Filename string `db:"filename"` - // TODO (to drop) - ContentType string `db:"content_type"` - CreatedAt time.Time `db:"created_at"` + ID gid.GID `db:"id"` + EmailID gid.GID `db:"email_id"` + FileID gid.GID `db:"file_id"` + Filename string `db:"filename"` + CreatedAt time.Time `db:"created_at"` } EmailAttachments []*EmailAttachment ) -func NewEmailAttachment(emailID, fileID gid.GID, filename, contentType string) *EmailAttachment { +func NewEmailAttachment(emailID, fileID gid.GID, filename string) *EmailAttachment { return &EmailAttachment{ - ID: gid.New(gid.NilTenant, EmailAttachmentEntityType), - EmailID: emailID, - FileID: fileID, - Filename: filename, - ContentType: contentType, - CreatedAt: time.Now(), + ID: gid.New(gid.NilTenant, EmailAttachmentEntityType), + EmailID: emailID, + FileID: fileID, + Filename: filename, + CreatedAt: time.Now(), } } @@ -54,16 +51,15 @@ func (a *EmailAttachment) Insert( conn pg.Conn, ) error { q := ` -INSERT INTO email_attachments (id, email_id, file_id, filename, content_type, created_at) -VALUES (@id, @email_id, @file_id, @filename, @content_type, @created_at) +INSERT INTO email_attachments (id, email_id, file_id, filename, created_at) +VALUES (@id, @email_id, @file_id, @filename, @created_at) ` args := pgx.StrictNamedArgs{ - "id": a.ID, - "email_id": a.EmailID, - "file_id": a.FileID, - "filename": a.Filename, - "content_type": a.ContentType, - "created_at": a.CreatedAt, + "id": a.ID, + "email_id": a.EmailID, + "file_id": a.FileID, + "filename": a.Filename, + "created_at": a.CreatedAt, } _, err := conn.Exec(ctx, q, args) @@ -80,7 +76,7 @@ func (a *EmailAttachments) LoadByEmailID( emailID gid.GID, ) error { q := ` -SELECT id, email_id, file_id, filename, content_type, created_at +SELECT id, email_id, file_id, filename, created_at FROM email_attachments WHERE email_id = @email_id ORDER BY created_at ASC diff --git a/pkg/coredata/migrations/20260220T150000Z.sql b/pkg/coredata/migrations/20260220T150000Z.sql new file mode 100644 index 000000000..d36180afd --- /dev/null +++ b/pkg/coredata/migrations/20260220T150000Z.sql @@ -0,0 +1,2 @@ +ALTER TABLE email_attachments + DROP COLUMN content_type; diff --git a/pkg/esign/completion_certificate_worker.go b/pkg/esign/completion_certificate_worker.go index a8e76fca0..2047346f8 100644 --- a/pkg/esign/completion_certificate_worker.go +++ b/pkg/esign/completion_certificate_worker.go @@ -328,13 +328,11 @@ func (w *CompletionCertificateWorker) generateCertificate( email.ID, signedFile.ID, signedFile.FileName, - signedFile.MimeType, ), coredata.NewEmailAttachment( email.ID, certificateOfCompletionFile.ID, certificateFilename, - "application/pdf", ), } diff --git a/pkg/mailer/mailer.go b/pkg/mailer/mailer.go index 8fc937419..bf7bf5bf2 100644 --- a/pkg/mailer/mailer.go +++ b/pkg/mailer/mailer.go @@ -180,8 +180,8 @@ func (m *Mailer) batchSendEmails(ctx context.Context) error { return fmt.Errorf("cannot download attachment %s: %w", att.Filename, err) } - // TODO [esign] maybe use AddAttachmentWithReader instead? - mail = mail.AddAttachment(data, att.ContentType, att.Filename) + // TODO [esign] maybe use AddAttachmentWithReader instead? + mail = mail.AddAttachment(data, file.MimeType, att.Filename) } envelope, err := mail.Build()