Interface MailArchiveAttachmentService
- All Known Implementing Classes:
MailArchiveAttachmentServiceImpl
public interface MailArchiveAttachmentService
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic final recordstatic final record -
Method Summary
Modifier and TypeMethodDescriptionextractBase64Images(@Nullable String content, @Nullable UUID taskUuid) Extract base64 images from content, store them as binary in Email_attachment and replace src in img taggetAttachment(@Nullable UUID taskUuid, String id) Returns existing Email_attachment entity for given task UUID and attachment.getOrCreateAttachment(@Nullable UUID taskUuid, Attachment attachment) Returns existing Email_attachment entity for given task UUID and attachment or creates a new one.linkAttachmentEntities(@Nullable UUID taskUuid, List<MailArchive.AttachmentId> attachmentIds, Entity mailEntity) Link already created attachments to email archive entity
-
Method Details
-
getOrCreateAttachment
MailArchiveAttachmentService.MailArchiveAttachment getOrCreateAttachment(@Nullable UUID taskUuid, Attachment attachment) Returns existing Email_attachment entity for given task UUID and attachment or creates a new one. Email_attachment entities are shared among Email_archive entries which are created by a certain task. For instance, if three mails are sent with the same attachment, there will be three Email_archive entries, and they will all be linked to the same Email_attachment entity. This thread safe method makes sure that there really will be created only one Email_attachment entity for the same attachment (thread safety is required, as each Email_archive entry gets created in its own thread).- Returns:
- the existing or newly created attachment. The Nice URL is only set if the attachment didn't already exist.
-
getAttachment
Optional<MailArchiveAttachmentService.MailArchiveAttachment> getAttachment(@Nullable UUID taskUuid, String id) Returns existing Email_attachment entity for given task UUID and attachment.- Returns:
- the existing attachment
-
linkAttachmentEntities
List<MailArchive.AttachmentValue> linkAttachmentEntities(@Nullable UUID taskUuid, List<MailArchive.AttachmentId> attachmentIds, Entity mailEntity) Link already created attachments to email archive entity -
extractBase64Images
MailArchiveAttachmentService.Base64ImageExtractionResult extractBase64Images(@Nullable String content, @Nullable UUID taskUuid) Extract base64 images from content, store them as binary in Email_attachment and replace src in img tag
-