mirror of https://github.com/usbharu/Hideout.git
feat: Blockアクティビティ受診時の処理を追加
This commit is contained in:
parent
5559948ba6
commit
da8d3b9aea
|
@ -0,0 +1,29 @@
|
|||
package dev.usbharu.hideout.activitypub.service.activity.block
|
||||
|
||||
import dev.usbharu.hideout.activitypub.domain.model.Block
|
||||
import dev.usbharu.hideout.activitypub.service.common.AbstractActivityPubProcessor
|
||||
import dev.usbharu.hideout.activitypub.service.common.ActivityPubProcessContext
|
||||
import dev.usbharu.hideout.activitypub.service.common.ActivityType
|
||||
import dev.usbharu.hideout.application.external.Transaction
|
||||
import dev.usbharu.hideout.core.query.UserQueryService
|
||||
import dev.usbharu.hideout.core.service.block.BlockService
|
||||
import org.springframework.stereotype.Service
|
||||
|
||||
|
||||
@Service
|
||||
class BlockActivityPubProcessor(
|
||||
private val blockService: BlockService,
|
||||
private val userQueryService: UserQueryService,
|
||||
transaction: Transaction
|
||||
) :
|
||||
AbstractActivityPubProcessor<Block>(transaction) {
|
||||
override suspend fun internalProcess(activity: ActivityPubProcessContext<Block>) {
|
||||
val user = userQueryService.findByUrl(activity.activity.actor)
|
||||
val target = userQueryService.findByUrl(activity.activity.apObject)
|
||||
blockService.block(user.id, target.id)
|
||||
}
|
||||
|
||||
override fun isSupported(activityType: ActivityType): Boolean = activityType == ActivityType.Block
|
||||
|
||||
override fun type(): Class<Block> = Block::class.java
|
||||
}
|
Loading…
Reference in New Issue