mirror of https://github.com/usbharu/Hideout.git
feat: その他のJobProcessorを追加
This commit is contained in:
parent
3243a0126f
commit
1b721c5a0c
|
@ -0,0 +1,35 @@
|
||||||
|
package dev.usbharu.hideout.activitypub.service.activity.like
|
||||||
|
|
||||||
|
import dev.usbharu.hideout.activitypub.domain.model.Like
|
||||||
|
import dev.usbharu.hideout.activitypub.service.common.APRequestService
|
||||||
|
import dev.usbharu.hideout.application.config.ApplicationConfig
|
||||||
|
import dev.usbharu.hideout.application.external.Transaction
|
||||||
|
import dev.usbharu.hideout.core.external.job.DeliverReactionJob
|
||||||
|
import dev.usbharu.hideout.core.external.job.DeliverReactionJobParam
|
||||||
|
import dev.usbharu.hideout.core.query.UserQueryService
|
||||||
|
import dev.usbharu.hideout.core.service.job.JobProcessor
|
||||||
|
|
||||||
|
class ApReactionJobProcessor(
|
||||||
|
private val userQueryService: UserQueryService,
|
||||||
|
private val apRequestService: APRequestService,
|
||||||
|
private val applicationConfig: ApplicationConfig,
|
||||||
|
private val transaction: Transaction
|
||||||
|
) : JobProcessor<DeliverReactionJobParam, DeliverReactionJob> {
|
||||||
|
override suspend fun process(param: DeliverReactionJobParam): Unit = transaction.transaction {
|
||||||
|
val signer = userQueryService.findByUrl(param.actor)
|
||||||
|
|
||||||
|
apRequestService.apPost(
|
||||||
|
param.inbox,
|
||||||
|
Like(
|
||||||
|
name = "Like",
|
||||||
|
actor = param.actor,
|
||||||
|
`object` = param.postUrl,
|
||||||
|
id = "${applicationConfig.url}/liek/note/${param.id}",
|
||||||
|
content = param.reaction
|
||||||
|
),
|
||||||
|
signer
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun job(): DeliverReactionJob = DeliverReactionJob
|
||||||
|
}
|
|
@ -0,0 +1,43 @@
|
||||||
|
package dev.usbharu.hideout.activitypub.service.activity.like
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.ObjectMapper
|
||||||
|
import com.fasterxml.jackson.module.kotlin.readValue
|
||||||
|
import dev.usbharu.hideout.activitypub.domain.model.Like
|
||||||
|
import dev.usbharu.hideout.activitypub.domain.model.Undo
|
||||||
|
import dev.usbharu.hideout.activitypub.service.common.APRequestService
|
||||||
|
import dev.usbharu.hideout.application.config.ApplicationConfig
|
||||||
|
import dev.usbharu.hideout.application.external.Transaction
|
||||||
|
import dev.usbharu.hideout.core.external.job.DeliverRemoveReactionJob
|
||||||
|
import dev.usbharu.hideout.core.external.job.DeliverRemoveReactionJobParam
|
||||||
|
import dev.usbharu.hideout.core.query.UserQueryService
|
||||||
|
import dev.usbharu.hideout.core.service.job.JobProcessor
|
||||||
|
import java.time.Instant
|
||||||
|
|
||||||
|
class ApRemoveReactionJobProcessor(
|
||||||
|
private val userQueryService: UserQueryService,
|
||||||
|
private val transaction: Transaction,
|
||||||
|
private val objectMapper: ObjectMapper,
|
||||||
|
private val apRequestService: APRequestService,
|
||||||
|
private val applicationConfig: ApplicationConfig
|
||||||
|
) : JobProcessor<DeliverRemoveReactionJobParam, DeliverRemoveReactionJob> {
|
||||||
|
override suspend fun process(param: DeliverRemoveReactionJobParam): Unit = transaction.transaction {
|
||||||
|
|
||||||
|
val like = objectMapper.readValue<Like>(param.like)
|
||||||
|
|
||||||
|
val signer = userQueryService.findByUrl(param.actor)
|
||||||
|
|
||||||
|
apRequestService.apPost(
|
||||||
|
param.inbox,
|
||||||
|
Undo(
|
||||||
|
name = "Undo Reaction",
|
||||||
|
actor = param.actor,
|
||||||
|
`object` = like,
|
||||||
|
id = "${applicationConfig.url}/undo/like/${param.id}",
|
||||||
|
published = Instant.now()
|
||||||
|
),
|
||||||
|
signer
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun job(): DeliverRemoveReactionJob = DeliverRemoveReactionJob
|
||||||
|
}
|
|
@ -0,0 +1,40 @@
|
||||||
|
package dev.usbharu.hideout.activitypub.service.objects.note
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.ObjectMapper
|
||||||
|
import com.fasterxml.jackson.module.kotlin.readValue
|
||||||
|
import dev.usbharu.hideout.activitypub.domain.model.Create
|
||||||
|
import dev.usbharu.hideout.activitypub.service.common.APRequestService
|
||||||
|
import dev.usbharu.hideout.application.external.Transaction
|
||||||
|
import dev.usbharu.hideout.core.external.job.DeliverPostJob
|
||||||
|
import dev.usbharu.hideout.core.external.job.DeliverPostJobParam
|
||||||
|
import dev.usbharu.hideout.core.query.UserQueryService
|
||||||
|
import dev.usbharu.hideout.core.service.job.JobProcessor
|
||||||
|
import org.slf4j.LoggerFactory
|
||||||
|
|
||||||
|
class ApNoteJobProcessor(
|
||||||
|
private val transaction: Transaction,
|
||||||
|
private val objectMapper: ObjectMapper,
|
||||||
|
private val userQueryService: UserQueryService,
|
||||||
|
private val apRequestService: APRequestService
|
||||||
|
) : JobProcessor<DeliverPostJobParam, DeliverPostJob> {
|
||||||
|
override suspend fun process(param: DeliverPostJobParam) {
|
||||||
|
val create = objectMapper.readValue<Create>(param.create)
|
||||||
|
transaction.transaction {
|
||||||
|
val signer = userQueryService.findByUrl(param.actor)
|
||||||
|
|
||||||
|
logger.debug("CreateNoteJob: actor: {} create: {} inbox: {}", param.actor, create, param.inbox)
|
||||||
|
|
||||||
|
apRequestService.apPost(
|
||||||
|
param.inbox,
|
||||||
|
create,
|
||||||
|
signer
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun job(): DeliverPostJob = DeliverPostJob
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
private val logger = LoggerFactory.getLogger(ApNoteJobProcessor::class.java)
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue