Merge pull request #562 from usbharu/subscriber

Subscriberの初期化をinit関数でするように
This commit is contained in:
usbharu 2024-08-24 11:07:49 +09:00 committed by GitHub
commit 4dcec9e806
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 16 additions and 14 deletions

View File

@ -7,11 +7,10 @@ import org.springframework.stereotype.Component
@Component @Component
class RegisterLocalUserSetHomeTimelineSubscriber( class RegisterLocalUserSetHomeTimelineSubscriber(
domainEventSubscriber: DomainEventSubscriber, private val domainEventSubscriber: DomainEventSubscriber,
private val userRegisterHomeTimelineApplicationService: UserRegisterHomeTimelineApplicationService private val userRegisterHomeTimelineApplicationService: UserRegisterHomeTimelineApplicationService
) : ) : Subscriber {
Subscriber { override fun init() {
init {
domainEventSubscriber.subscribe<UserDetailEventBody>(UserDetailEvent.CREATE.eventName) { domainEventSubscriber.subscribe<UserDetailEventBody>(UserDetailEvent.CREATE.eventName) {
userRegisterHomeTimelineApplicationService.execute( userRegisterHomeTimelineApplicationService.execute(
RegisterHomeTimeline(it.body.getUserDetail().id), RegisterHomeTimeline(it.body.getUserDetail().id),

View File

@ -9,11 +9,11 @@ import org.springframework.stereotype.Component
@Component @Component
class RegisterTimelineSetTimelineStoreSubscriber( class RegisterTimelineSetTimelineStoreSubscriber(
domainEventSubscriber: DomainEventSubscriber, private val domainEventSubscriber: DomainEventSubscriber,
private val setTimelineToTimelineStoreApplicationService: SetTimelineToTimelineStoreApplicationService private val setTimelineToTimelineStoreApplicationService: SetTimelineToTimelineStoreApplicationService
) : ) : Subscriber {
Subscriber {
init { override fun init() {
domainEventSubscriber.subscribe<TimelineEventBody>(TimelineEvent.CREATE.eventName) { domainEventSubscriber.subscribe<TimelineEventBody>(TimelineEvent.CREATE.eventName) {
setTimelineToTimelineStoreApplicationService.execute(SetTimleineStore(it.body.getTimelineId()), Anonymous) setTimelineToTimelineStoreApplicationService.execute(SetTimleineStore(it.body.getTimelineId()), Anonymous)
} }

View File

@ -1,3 +1,5 @@
package dev.usbharu.hideout.core.application.domainevent.subscribers package dev.usbharu.hideout.core.application.domainevent.subscribers
interface Subscriber interface Subscriber {
fun init()
}

View File

@ -5,7 +5,8 @@ import org.springframework.boot.ApplicationRunner
import org.springframework.stereotype.Component import org.springframework.stereotype.Component
@Component @Component
class SubscriberRunner(subscribers: List<Subscriber>) : ApplicationRunner { class SubscriberRunner(private val subscribers: List<Subscriber>) : ApplicationRunner {
override fun run(args: ApplicationArguments?) { override fun run(args: ApplicationArguments?) {
subscribers.forEach { it.init() }
} }
} }

View File

@ -10,9 +10,9 @@ import org.springframework.stereotype.Component
@Component @Component
class TimelinePostCreateSubscriber( class TimelinePostCreateSubscriber(
private val timelineAddPostApplicationService: TimelineAddPostApplicationService, private val timelineAddPostApplicationService: TimelineAddPostApplicationService,
domainEventSubscriber: DomainEventSubscriber, private val domainEventSubscriber: DomainEventSubscriber,
) : Subscriber { ) : Subscriber {
init { override fun init() {
domainEventSubscriber.subscribe<PostEventBody>(PostEvent.CREATE.eventName) { domainEventSubscriber.subscribe<PostEventBody>(PostEvent.CREATE.eventName) {
timelineAddPostApplicationService.execute(AddPost(it.body.getPostId()), Anonymous) timelineAddPostApplicationService.execute(AddPost(it.body.getPostId()), Anonymous)
} }

View File

@ -18,10 +18,10 @@ class TimelineRelationshipFollowSubscriber(
private val userAddTimelineRelationshipApplicationService: UserAddTimelineRelationshipApplicationService, private val userAddTimelineRelationshipApplicationService: UserAddTimelineRelationshipApplicationService,
private val idGenerateService: IdGenerateService, private val idGenerateService: IdGenerateService,
private val userDetailRepository: UserDetailRepository, private val userDetailRepository: UserDetailRepository,
domainEventSubscriber: DomainEventSubscriber private val domainEventSubscriber: DomainEventSubscriber
) : Subscriber { ) : Subscriber {
init { override fun init() {
domainEventSubscriber.subscribe<RelationshipEventBody>(RelationshipEvent.FOLLOW.eventName) { domainEventSubscriber.subscribe<RelationshipEventBody>(RelationshipEvent.FOLLOW.eventName) {
val relationship = it.body.getRelationship() val relationship = it.body.getRelationship()
val userDetail = userDetailRepository.findByActorId(relationship.actorId.id) val userDetail = userDetailRepository.findByActorId(relationship.actorId.id)