From 3970a9a142f6c9f2ae1cf24908dd85de6ac25d26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patrick=20Ha=C3=9Fel?= Date: Thu, 28 Nov 2024 15:32:39 +0100 Subject: [PATCH] TagService.publish --- src/main/java/de/ph87/home/tag/TagService.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/main/java/de/ph87/home/tag/TagService.java b/src/main/java/de/ph87/home/tag/TagService.java index ed02195..42c548d 100644 --- a/src/main/java/de/ph87/home/tag/TagService.java +++ b/src/main/java/de/ph87/home/tag/TagService.java @@ -1,8 +1,10 @@ package de.ph87.home.tag; +import de.ph87.home.common.crud.CrudAction; import lombok.NonNull; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.springframework.context.ApplicationEventPublisher; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -14,9 +16,21 @@ public class TagService { private final TagRepository tagRepository; + private final ApplicationEventPublisher applicationEventPublisher; + @NonNull public TagDto create(final @NonNull String slug, @NonNull final String name) { - return new TagDto(tagRepository.save(new Tag(slug, name))); + final Tag tag = tagRepository.save(new Tag(slug, name)); + return publish(tag, CrudAction.CREATED); + } + + @NonNull + @SuppressWarnings("SameParameterValue") + private TagDto publish(@NonNull final Tag tag, @NonNull final CrudAction action) { + final TagDto dto = new TagDto(tag); + log.info("Tag {}: {}", action, dto); + applicationEventPublisher.publishEvent(dto); + return dto; } }