認可(Spring Security以外全部)を破壊

This commit is contained in:
usbharu 2024-08-03 16:37:55 +09:00
parent b3a9be96c5
commit 884983f3e4
Signed by: usbharu
GPG Key ID: 6556747BF94EEBC8
53 changed files with 114 additions and 197 deletions

View File

@ -17,10 +17,10 @@
package dev.usbharu.hideout.core.application.actor
import dev.usbharu.hideout.core.application.shared.AbstractApplicationService
import dev.usbharu.hideout.core.application.shared.CommandExecutor
import dev.usbharu.hideout.core.application.shared.Transaction
import dev.usbharu.hideout.core.domain.model.actor.ActorRepository
import dev.usbharu.hideout.core.domain.model.emoji.CustomEmojiRepository
import dev.usbharu.hideout.core.domain.model.userdetails.UserDetailId
import dev.usbharu.hideout.core.domain.model.userdetails.UserDetailRepository
import org.slf4j.LoggerFactory
import org.springframework.stereotype.Service
@ -33,8 +33,8 @@ class GetUserDetailApplicationService(
transaction: Transaction,
) :
AbstractApplicationService<GetUserDetail, UserDetail>(transaction, Companion.logger) {
override suspend fun internalExecute(command: GetUserDetail, executor: CommandExecutor): UserDetail {
val userDetail = userDetailRepository.findById(command.id)
override suspend fun internalExecute(command: GetUserDetail): UserDetail {
val userDetail = userDetailRepository.findById(UserDetailId(command.id))
?: throw IllegalArgumentException("actor does not exist")
val actor = actorRepository.findById(userDetail.actorId)!!

View File

@ -17,7 +17,6 @@
package dev.usbharu.hideout.core.application.actor
import dev.usbharu.hideout.core.application.shared.AbstractApplicationService
import dev.usbharu.hideout.core.application.shared.CommandExecutor
import dev.usbharu.hideout.core.application.shared.Transaction
import dev.usbharu.hideout.core.config.ApplicationConfig
import dev.usbharu.hideout.core.domain.model.actor.ActorRepository
@ -46,7 +45,7 @@ class RegisterLocalActorApplicationService(
private val idGenerateService: IdGenerateService,
) : AbstractApplicationService<RegisterLocalActor, URI>(transaction, Companion.logger) {
override suspend fun internalExecute(command: RegisterLocalActor, executor: CommandExecutor): URI {
override suspend fun internalExecute(command: RegisterLocalActor): URI {
if (actorDomainService.usernameAlreadyUse(command.name)) {
// todo 適切な例外を考える
throw Exception("Username already exists")

View File

@ -1,7 +1,5 @@
package dev.usbharu.hideout.core.application.domainevent.subscribers
import dev.usbharu.hideout.core.application.shared.DomainEventCommandExecutor
import dev.usbharu.hideout.core.application.shared.UserDetailGettableCommandExecutor
import dev.usbharu.hideout.core.application.timeline.AddTimelineRelationship
import dev.usbharu.hideout.core.application.timeline.UserAddTimelineRelationshipApplicationService
import dev.usbharu.hideout.core.domain.event.relationship.RelationshipEvent
@ -38,12 +36,7 @@ class TimelineRelationshipFollowSubscriber(
relationship.targetActorId,
Visible.FOLLOWERS
)
), DomainEventCommandExecutor("", object : UserDetailGettableCommandExecutor {
override val userDetailId: Long
get() = userDetail.id.id
override val executor: String
get() = userDetail.id.id.toString()
})
)
)

View File

@ -18,10 +18,12 @@ package dev.usbharu.hideout.core.application.filter
import dev.usbharu.hideout.core.domain.model.filter.FilterAction
import dev.usbharu.hideout.core.domain.model.filter.FilterContext
import dev.usbharu.hideout.core.domain.model.userdetails.UserDetailId
data class RegisterFilter(
val filterName: String,
val filterContext: Set<FilterContext>,
val filterAction: FilterAction,
val filterKeywords: Set<RegisterFilterKeyword>,
val userDetailId: UserDetailId
)

View File

@ -17,7 +17,6 @@
package dev.usbharu.hideout.core.application.filter
import dev.usbharu.hideout.core.application.shared.AbstractApplicationService
import dev.usbharu.hideout.core.application.shared.CommandExecutor
import dev.usbharu.hideout.core.application.shared.Transaction
import dev.usbharu.hideout.core.domain.model.filter.FilterId
import dev.usbharu.hideout.core.domain.model.filter.FilterRepository
@ -30,7 +29,7 @@ class UserDeleteFilterApplicationService(private val filterRepository: FilterRep
transaction,
logger
) {
override suspend fun internalExecute(command: DeleteFilter, executor: CommandExecutor) {
override suspend fun internalExecute(command: DeleteFilter) {
val filter = filterRepository.findByFilterId(FilterId(command.filterId)) ?: throw Exception("not found")
filterRepository.delete(filter)
}

View File

@ -17,7 +17,6 @@
package dev.usbharu.hideout.core.application.filter
import dev.usbharu.hideout.core.application.shared.AbstractApplicationService
import dev.usbharu.hideout.core.application.shared.CommandExecutor
import dev.usbharu.hideout.core.application.shared.Transaction
import dev.usbharu.hideout.core.domain.model.filter.FilterId
import dev.usbharu.hideout.core.domain.model.filter.FilterRepository
@ -30,7 +29,7 @@ class UserGetFilterApplicationService(private val filterRepository: FilterReposi
transaction,
logger
) {
override suspend fun internalExecute(command: GetFilter, executor: CommandExecutor): Filter {
override suspend fun internalExecute(command: GetFilter): Filter {
val filter = filterRepository.findByFilterId(FilterId(command.filterId)) ?: throw Exception("Not Found")
return Filter.of(filter)

View File

@ -17,12 +17,9 @@
package dev.usbharu.hideout.core.application.filter
import dev.usbharu.hideout.core.application.shared.AbstractApplicationService
import dev.usbharu.hideout.core.application.shared.CommandExecutor
import dev.usbharu.hideout.core.application.shared.Transaction
import dev.usbharu.hideout.core.application.shared.UserDetailGettableCommandExecutor
import dev.usbharu.hideout.core.domain.model.filter.*
import dev.usbharu.hideout.core.domain.model.filter.FilterKeyword
import dev.usbharu.hideout.core.domain.model.userdetails.UserDetailId
import dev.usbharu.hideout.core.domain.shared.id.IdGenerateService
import org.slf4j.LoggerFactory
import org.springframework.stereotype.Service
@ -38,12 +35,11 @@ class UserRegisterFilterApplicationService(
logger
) {
override suspend fun internalExecute(command: RegisterFilter, executor: CommandExecutor): Filter {
require(executor is UserDetailGettableCommandExecutor)
override suspend fun internalExecute(command: RegisterFilter): Filter {
val filter = dev.usbharu.hideout.core.domain.model.filter.Filter.create(
id = FilterId(idGenerateService.generateId()),
userDetailId = UserDetailId(executor.userDetailId),
userDetailId = command.userDetailId,
name = FilterName(command.filterName),
filterContext = command.filterContext,
filterAction = command.filterAction,

View File

@ -17,7 +17,6 @@
package dev.usbharu.hideout.core.application.media
import dev.usbharu.hideout.core.application.shared.AbstractApplicationService
import dev.usbharu.hideout.core.application.shared.CommandExecutor
import dev.usbharu.hideout.core.application.shared.Transaction
import dev.usbharu.hideout.core.domain.model.media.*
import dev.usbharu.hideout.core.domain.shared.id.IdGenerateService
@ -39,7 +38,7 @@ class UploadMediaApplicationService(
transaction,
logger
) {
override suspend fun internalExecute(command: UploadMedia, executor: CommandExecutor): Media {
override suspend fun internalExecute(command: UploadMedia): Media {
val process = mediaProcessor.process(command.path, command.name, null)
val id = idGenerateService.generateId()
val thumbnailUri = if (process.thumbnailPath != null) {

View File

@ -19,6 +19,7 @@ package dev.usbharu.hideout.core.application.post
import dev.usbharu.hideout.core.domain.model.actor.ActorRepository
import dev.usbharu.hideout.core.domain.model.post.PostId
import dev.usbharu.hideout.core.domain.model.post.PostRepository
import dev.usbharu.hideout.core.domain.model.userdetails.UserDetailId
import dev.usbharu.hideout.core.domain.model.userdetails.UserDetailRepository
import org.springframework.stereotype.Service
@ -30,7 +31,7 @@ class DeleteLocalPostApplicationService(
) {
suspend fun delete(postId: Long, userDetailId: Long) {
val findById = postRepository.findById(PostId(postId))!!
val user = userDetailRepository.findById(userDetailId)!!
val user = userDetailRepository.findById(UserDetailId(userDetailId))!!
val actor = actorRepository.findById(user.actorId)!!
findById.delete(actor)
postRepository.save(findById)

View File

@ -17,7 +17,6 @@
package dev.usbharu.hideout.core.application.post
import dev.usbharu.hideout.core.application.shared.AbstractApplicationService
import dev.usbharu.hideout.core.application.shared.CommandExecutor
import dev.usbharu.hideout.core.application.shared.Transaction
import dev.usbharu.hideout.core.domain.model.post.PostId
import dev.usbharu.hideout.core.domain.model.post.PostRepository
@ -28,7 +27,7 @@ import org.springframework.stereotype.Service
class GetPostApplicationService(private val postRepository: PostRepository, transaction: Transaction) :
AbstractApplicationService<GetPost, Post>(transaction, logger) {
override suspend fun internalExecute(command: GetPost, executor: CommandExecutor): Post {
override suspend fun internalExecute(command: GetPost): Post {
val post = postRepository.findById(PostId(command.postId)) ?: throw Exception("Post not found")
return Post.of(post)

View File

@ -17,13 +17,13 @@
package dev.usbharu.hideout.core.application.post
import dev.usbharu.hideout.core.application.shared.AbstractApplicationService
import dev.usbharu.hideout.core.application.shared.CommandExecutor
import dev.usbharu.hideout.core.application.shared.Transaction
import dev.usbharu.hideout.core.domain.model.actor.ActorRepository
import dev.usbharu.hideout.core.domain.model.media.MediaId
import dev.usbharu.hideout.core.domain.model.post.PostId
import dev.usbharu.hideout.core.domain.model.post.PostOverview
import dev.usbharu.hideout.core.domain.model.post.PostRepository
import dev.usbharu.hideout.core.domain.model.userdetails.UserDetailId
import dev.usbharu.hideout.core.domain.model.userdetails.UserDetailRepository
import dev.usbharu.hideout.core.infrastructure.factory.PostFactoryImpl
import org.slf4j.Logger
@ -39,9 +39,9 @@ class RegisterLocalPostApplicationService(
transaction: Transaction,
) : AbstractApplicationService<RegisterLocalPost, Long>(transaction, Companion.logger) {
override suspend fun internalExecute(command: RegisterLocalPost, executor: CommandExecutor): Long {
override suspend fun internalExecute(command: RegisterLocalPost): Long {
val actorId = (
userDetailRepository.findById(command.userDetailId)
userDetailRepository.findById(UserDetailId(command.userDetailId))
?: throw IllegalStateException("actor not found")
).actorId

View File

@ -16,10 +16,13 @@
package dev.usbharu.hideout.core.application.post
import dev.usbharu.hideout.core.domain.model.userdetails.UserDetailId
data class UpdateLocalNote(
val postId: Long,
val overview: String?,
val content: String,
val sensitive: Boolean,
val mediaIds: List<Long>,
val userDetailId: UserDetailId
)

View File

@ -17,9 +17,7 @@
package dev.usbharu.hideout.core.application.post
import dev.usbharu.hideout.core.application.shared.AbstractApplicationService
import dev.usbharu.hideout.core.application.shared.CommandExecutor
import dev.usbharu.hideout.core.application.shared.Transaction
import dev.usbharu.hideout.core.application.shared.UserDetailGettableCommandExecutor
import dev.usbharu.hideout.core.domain.model.actor.ActorRepository
import dev.usbharu.hideout.core.domain.model.media.MediaId
import dev.usbharu.hideout.core.domain.model.post.PostId
@ -39,10 +37,9 @@ class UpdateLocalNoteApplicationService(
private val actorRepository: ActorRepository,
) : AbstractApplicationService<UpdateLocalNote, Unit>(transaction, logger) {
override suspend fun internalExecute(command: UpdateLocalNote, executor: CommandExecutor) {
require(executor is UserDetailGettableCommandExecutor)
override suspend fun internalExecute(command: UpdateLocalNote) {
val userDetail = userDetailRepository.findById(executor.userDetailId)!!
val userDetail = userDetailRepository.findById(command.userDetailId)!!
val actor = actorRepository.findById(userDetail.actorId)!!
val post = postRepository.findById(PostId(command.postId))!!

View File

@ -16,4 +16,6 @@
package dev.usbharu.hideout.core.application.relationship.acceptfollowrequest
data class AcceptFollowRequest(val sourceActorId: Long)
import dev.usbharu.hideout.core.domain.model.userdetails.UserDetailId
data class AcceptFollowRequest(val sourceActorId: Long, val userDetailId: UserDetailId)

View File

@ -18,9 +18,7 @@ package dev.usbharu.hideout.core.application.relationship.acceptfollowrequest
import dev.usbharu.hideout.core.application.relationship.block.UserBlockApplicationService
import dev.usbharu.hideout.core.application.shared.AbstractApplicationService
import dev.usbharu.hideout.core.application.shared.CommandExecutor
import dev.usbharu.hideout.core.application.shared.Transaction
import dev.usbharu.hideout.core.application.shared.UserDetailGettableCommandExecutor
import dev.usbharu.hideout.core.domain.model.actor.ActorId
import dev.usbharu.hideout.core.domain.model.actor.ActorRepository
import dev.usbharu.hideout.core.domain.model.relationship.RelationshipRepository
@ -36,10 +34,9 @@ class UserAcceptFollowRequestApplicationService(
private val userDetailRepository: UserDetailRepository,
) :
AbstractApplicationService<AcceptFollowRequest, Unit>(transaction, logger) {
override suspend fun internalExecute(command: AcceptFollowRequest, executor: CommandExecutor) {
require(executor is UserDetailGettableCommandExecutor)
override suspend fun internalExecute(command: AcceptFollowRequest) {
val userDetail = userDetailRepository.findById(executor.userDetailId)!!
val userDetail = userDetailRepository.findById(command.userDetailId)!!
val actor = actorRepository.findById(userDetail.actorId)!!
val targetId = ActorId(command.sourceActorId)

View File

@ -16,4 +16,6 @@
package dev.usbharu.hideout.core.application.relationship.block
data class Block(val targetActorId: Long)
import dev.usbharu.hideout.core.domain.model.userdetails.UserDetailId
data class Block(val targetActorId: Long, val userDetailId: UserDetailId)

View File

@ -17,9 +17,7 @@
package dev.usbharu.hideout.core.application.relationship.block
import dev.usbharu.hideout.core.application.shared.AbstractApplicationService
import dev.usbharu.hideout.core.application.shared.CommandExecutor
import dev.usbharu.hideout.core.application.shared.Transaction
import dev.usbharu.hideout.core.application.shared.UserDetailGettableCommandExecutor
import dev.usbharu.hideout.core.domain.model.actor.ActorId
import dev.usbharu.hideout.core.domain.model.actor.ActorRepository
import dev.usbharu.hideout.core.domain.model.relationship.Relationship
@ -38,10 +36,9 @@ class UserBlockApplicationService(
private val relationshipDomainService: RelationshipDomainService,
) :
AbstractApplicationService<Block, Unit>(transaction, logger) {
override suspend fun internalExecute(command: Block, executor: CommandExecutor) {
require(executor is UserDetailGettableCommandExecutor)
override suspend fun internalExecute(command: Block) {
val userDetail = userDetailRepository.findById(executor.userDetailId)!!
val userDetail = userDetailRepository.findById(command.userDetailId)!!
val actor = actorRepository.findById(userDetail.actorId)!!
val targetId = ActorId(command.targetActorId)

View File

@ -16,4 +16,6 @@
package dev.usbharu.hideout.core.application.relationship.followrequest
data class FollowRequest(val targetActorId: Long)
import dev.usbharu.hideout.core.domain.model.userdetails.UserDetailId
data class FollowRequest(val targetActorId: Long, val userDetailId: UserDetailId)

View File

@ -17,9 +17,7 @@
package dev.usbharu.hideout.core.application.relationship.followrequest
import dev.usbharu.hideout.core.application.shared.AbstractApplicationService
import dev.usbharu.hideout.core.application.shared.CommandExecutor
import dev.usbharu.hideout.core.application.shared.Transaction
import dev.usbharu.hideout.core.application.shared.UserDetailGettableCommandExecutor
import dev.usbharu.hideout.core.domain.model.actor.ActorId
import dev.usbharu.hideout.core.domain.model.actor.ActorRepository
import dev.usbharu.hideout.core.domain.model.relationship.Relationship
@ -39,10 +37,9 @@ class UserFollowRequestApplicationService(
logger
) {
override suspend fun internalExecute(command: FollowRequest, executor: CommandExecutor) {
require(executor is UserDetailGettableCommandExecutor)
override suspend fun internalExecute(command: FollowRequest) {
val userDetail = userDetailRepository.findById(executor.userDetailId)!!
val userDetail = userDetailRepository.findById(command.userDetailId)!!
val actor = actorRepository.findById(userDetail.actorId)!!
val targetId = ActorId(command.targetActorId)

View File

@ -16,4 +16,6 @@
package dev.usbharu.hideout.core.application.relationship.get
data class GetRelationship(val targetActorId: Long)
import dev.usbharu.hideout.core.domain.model.userdetails.UserDetailId
data class GetRelationship(val targetActorId: Long, val userDetailId: UserDetailId)

View File

@ -17,9 +17,7 @@
package dev.usbharu.hideout.core.application.relationship.get
import dev.usbharu.hideout.core.application.shared.AbstractApplicationService
import dev.usbharu.hideout.core.application.shared.CommandExecutor
import dev.usbharu.hideout.core.application.shared.Transaction
import dev.usbharu.hideout.core.application.shared.UserDetailGettableCommandExecutor
import dev.usbharu.hideout.core.domain.model.actor.ActorId
import dev.usbharu.hideout.core.domain.model.actor.ActorRepository
import dev.usbharu.hideout.core.domain.model.actorinstancerelationship.ActorInstanceRelationship
@ -41,9 +39,8 @@ class GetRelationshipApplicationService(
transaction,
logger
) {
override suspend fun internalExecute(command: GetRelationship, executor: CommandExecutor): Relationship {
require(executor is UserDetailGettableCommandExecutor)
val userDetail = userDetailRepository.findById(executor.userDetailId)!!
override suspend fun internalExecute(command: GetRelationship): Relationship {
val userDetail = userDetailRepository.findById(command.userDetailId)!!
val actor = actorRepository.findById(userDetail.actorId)!!
val targetId = ActorId(command.targetActorId)
val target = actorRepository.findById(targetId)!!

View File

@ -16,4 +16,6 @@
package dev.usbharu.hideout.core.application.relationship.mute
data class Mute(val targetActorId: Long)
import dev.usbharu.hideout.core.domain.model.userdetails.UserDetailId
data class Mute(val targetActorId: Long, val userDetailId: UserDetailId)

View File

@ -18,9 +18,7 @@ package dev.usbharu.hideout.core.application.relationship.mute
import dev.usbharu.hideout.core.application.relationship.block.UserBlockApplicationService
import dev.usbharu.hideout.core.application.shared.AbstractApplicationService
import dev.usbharu.hideout.core.application.shared.CommandExecutor
import dev.usbharu.hideout.core.application.shared.Transaction
import dev.usbharu.hideout.core.application.shared.UserDetailGettableCommandExecutor
import dev.usbharu.hideout.core.domain.model.actor.ActorId
import dev.usbharu.hideout.core.domain.model.actor.ActorRepository
import dev.usbharu.hideout.core.domain.model.relationship.Relationship
@ -37,10 +35,9 @@ class UserMuteApplicationService(
private val userDetailRepository: UserDetailRepository,
) :
AbstractApplicationService<Mute, Unit>(transaction, logger) {
override suspend fun internalExecute(command: Mute, executor: CommandExecutor) {
require(executor is UserDetailGettableCommandExecutor)
override suspend fun internalExecute(command: Mute) {
val userDetail = userDetailRepository.findById(executor.userDetailId)!!
val userDetail = userDetailRepository.findById(command.userDetailId)!!
val actor = actorRepository.findById(userDetail.actorId)!!
val targetId = ActorId(command.targetActorId)

View File

@ -16,4 +16,6 @@
package dev.usbharu.hideout.core.application.relationship.rejectfollowrequest
data class RejectFollowRequest(val sourceActorId: Long)
import dev.usbharu.hideout.core.domain.model.userdetails.UserDetailId
data class RejectFollowRequest(val sourceActorId: Long, val userDetailId: UserDetailId)

View File

@ -18,9 +18,7 @@ package dev.usbharu.hideout.core.application.relationship.rejectfollowrequest
import dev.usbharu.hideout.core.application.relationship.block.UserBlockApplicationService
import dev.usbharu.hideout.core.application.shared.AbstractApplicationService
import dev.usbharu.hideout.core.application.shared.CommandExecutor
import dev.usbharu.hideout.core.application.shared.Transaction
import dev.usbharu.hideout.core.application.shared.UserDetailGettableCommandExecutor
import dev.usbharu.hideout.core.domain.model.actor.ActorId
import dev.usbharu.hideout.core.domain.model.actor.ActorRepository
import dev.usbharu.hideout.core.domain.model.relationship.RelationshipRepository
@ -36,10 +34,9 @@ class UserRejectFollowRequestApplicationService(
private val userDetailRepository: UserDetailRepository,
) :
AbstractApplicationService<RejectFollowRequest, Unit>(transaction, logger) {
override suspend fun internalExecute(command: RejectFollowRequest, executor: CommandExecutor) {
require(executor is UserDetailGettableCommandExecutor)
override suspend fun internalExecute(command: RejectFollowRequest) {
val userDetail = userDetailRepository.findById(executor.userDetailId)!!
val userDetail = userDetailRepository.findById(command.userDetailId)!!
val actor = actorRepository.findById(userDetail.actorId)!!
val targetId = ActorId(command.sourceActorId)

View File

@ -16,4 +16,4 @@
package dev.usbharu.hideout.core.application.relationship.removefromfollowers
data class RemoveFromFollowers(val targetActorId: Long)
data class RemoveFromFollowers(val targetActorId: Long, val userDetailId: Long)

View File

@ -18,13 +18,12 @@ package dev.usbharu.hideout.core.application.relationship.removefromfollowers
import dev.usbharu.hideout.core.application.relationship.block.UserBlockApplicationService
import dev.usbharu.hideout.core.application.shared.AbstractApplicationService
import dev.usbharu.hideout.core.application.shared.CommandExecutor
import dev.usbharu.hideout.core.application.shared.Transaction
import dev.usbharu.hideout.core.application.shared.UserDetailGettableCommandExecutor
import dev.usbharu.hideout.core.domain.model.actor.ActorId
import dev.usbharu.hideout.core.domain.model.actor.ActorRepository
import dev.usbharu.hideout.core.domain.model.relationship.Relationship
import dev.usbharu.hideout.core.domain.model.relationship.RelationshipRepository
import dev.usbharu.hideout.core.domain.model.userdetails.UserDetailId
import dev.usbharu.hideout.core.domain.model.userdetails.UserDetailRepository
import org.slf4j.LoggerFactory
import org.springframework.stereotype.Service
@ -37,10 +36,9 @@ class UserRemoveFromFollowersApplicationService(
private val userDetailRepository: UserDetailRepository,
) :
AbstractApplicationService<RemoveFromFollowers, Unit>(transaction, logger) {
override suspend fun internalExecute(command: RemoveFromFollowers, executor: CommandExecutor) {
require(executor is UserDetailGettableCommandExecutor)
override suspend fun internalExecute(command: RemoveFromFollowers) {
val userDetail = userDetailRepository.findById(executor.userDetailId)!!
val userDetail = userDetailRepository.findById(UserDetailId(command.userDetailId))!!
val actor = actorRepository.findById(userDetail.actorId)!!
val targetId = ActorId(command.targetActorId)

View File

@ -16,4 +16,6 @@
package dev.usbharu.hideout.core.application.relationship.unblock
data class Unblock(val targetActorId: Long)
import dev.usbharu.hideout.core.domain.model.userdetails.UserDetailId
data class Unblock(val targetActorId: Long, val userDetailId: UserDetailId)

View File

@ -18,9 +18,7 @@ package dev.usbharu.hideout.core.application.relationship.unblock
import dev.usbharu.hideout.core.application.relationship.block.UserBlockApplicationService
import dev.usbharu.hideout.core.application.shared.AbstractApplicationService
import dev.usbharu.hideout.core.application.shared.CommandExecutor
import dev.usbharu.hideout.core.application.shared.Transaction
import dev.usbharu.hideout.core.application.shared.UserDetailGettableCommandExecutor
import dev.usbharu.hideout.core.domain.model.actor.ActorId
import dev.usbharu.hideout.core.domain.model.actor.ActorRepository
import dev.usbharu.hideout.core.domain.model.relationship.Relationship
@ -37,10 +35,9 @@ class UserUnblockApplicationService(
private val userDetailRepository: UserDetailRepository,
) :
AbstractApplicationService<Unblock, Unit>(transaction, logger) {
override suspend fun internalExecute(command: Unblock, executor: CommandExecutor) {
require(executor is UserDetailGettableCommandExecutor)
override suspend fun internalExecute(command: Unblock) {
val userDetail = userDetailRepository.findById(executor.userDetailId)!!
val userDetail = userDetailRepository.findById(command.userDetailId)!!
val actor = actorRepository.findById(userDetail.actorId)!!
val targetId = ActorId(command.targetActorId)

View File

@ -16,4 +16,6 @@
package dev.usbharu.hideout.core.application.relationship.unfollow
data class Unfollow(val targetActorId: Long)
import dev.usbharu.hideout.core.domain.model.userdetails.UserDetailId
data class Unfollow(val targetActorId: Long, val userDetailId: UserDetailId)

View File

@ -18,9 +18,7 @@ package dev.usbharu.hideout.core.application.relationship.unfollow
import dev.usbharu.hideout.core.application.relationship.block.UserBlockApplicationService
import dev.usbharu.hideout.core.application.shared.AbstractApplicationService
import dev.usbharu.hideout.core.application.shared.CommandExecutor
import dev.usbharu.hideout.core.application.shared.Transaction
import dev.usbharu.hideout.core.application.shared.UserDetailGettableCommandExecutor
import dev.usbharu.hideout.core.domain.model.actor.ActorId
import dev.usbharu.hideout.core.domain.model.actor.ActorRepository
import dev.usbharu.hideout.core.domain.model.relationship.Relationship
@ -37,10 +35,9 @@ class UserUnfollowApplicationService(
private val userDetailRepository: UserDetailRepository,
) :
AbstractApplicationService<Unfollow, Unit>(transaction, logger) {
override suspend fun internalExecute(command: Unfollow, executor: CommandExecutor) {
require(executor is UserDetailGettableCommandExecutor)
override suspend fun internalExecute(command: Unfollow) {
val userDetail = userDetailRepository.findById(executor.userDetailId)!!
val userDetail = userDetailRepository.findById(command.userDetailId)!!
val actor = actorRepository.findById(userDetail.actorId)!!
val targetId = ActorId(command.targetActorId)

View File

@ -16,4 +16,6 @@
package dev.usbharu.hideout.core.application.relationship.unmute
data class Unmute(val targetActorId: Long)
import dev.usbharu.hideout.core.domain.model.userdetails.UserDetailId
data class Unmute(val targetActorId: Long, val userDetailId: UserDetailId)

View File

@ -18,9 +18,7 @@ package dev.usbharu.hideout.core.application.relationship.unmute
import dev.usbharu.hideout.core.application.relationship.block.UserBlockApplicationService
import dev.usbharu.hideout.core.application.shared.AbstractApplicationService
import dev.usbharu.hideout.core.application.shared.CommandExecutor
import dev.usbharu.hideout.core.application.shared.Transaction
import dev.usbharu.hideout.core.application.shared.UserDetailGettableCommandExecutor
import dev.usbharu.hideout.core.domain.model.actor.ActorId
import dev.usbharu.hideout.core.domain.model.actor.ActorRepository
import dev.usbharu.hideout.core.domain.model.relationship.Relationship
@ -41,10 +39,9 @@ class UserUnmuteApplicationService(
private val logger = LoggerFactory.getLogger(UserBlockApplicationService::class.java)
}
override suspend fun internalExecute(command: Unmute, executor: CommandExecutor) {
require(executor is UserDetailGettableCommandExecutor)
override suspend fun internalExecute(command: Unmute) {
val userDetail = userDetailRepository.findById(executor.userDetailId)!!
val userDetail = userDetailRepository.findById(command.userDetailId)!!
val actor = actorRepository.findById(userDetail.actorId)!!
val targetId = ActorId(command.targetActorId)

View File

@ -23,13 +23,13 @@ abstract class AbstractApplicationService<T : Any, R>(
protected val transaction: Transaction,
protected val logger: Logger,
) : ApplicationService<T, R> {
override suspend fun execute(command: T, executor: CommandExecutor): R {
override suspend fun execute(command: T): R {
return try {
logger.debug("START {} by {}", command::class.simpleName, executor)
logger.debug("START {}", command::class.simpleName)
val response = transaction.transaction<R> {
internalExecute(command, executor)
internalExecute(command)
}
logger.info("SUCCESS ${command::class.simpleName} by ${executor.executor}")
logger.info("SUCCESS ${command::class.simpleName}")
response
} catch (e: CancellationException) {
logger.debug("Coroutine canceled", e)
@ -40,5 +40,5 @@ abstract class AbstractApplicationService<T : Any, R>(
}
}
protected abstract suspend fun internalExecute(command: T, executor: CommandExecutor): R
protected abstract suspend fun internalExecute(command: T): R
}

View File

@ -17,5 +17,5 @@
package dev.usbharu.hideout.core.application.shared
interface ApplicationService<T : Any, R> {
suspend fun execute(command: T, executor: CommandExecutor): R
suspend fun execute(command: T): R
}

View File

@ -1,7 +1,6 @@
package dev.usbharu.hideout.core.application.timeline
import dev.usbharu.hideout.core.application.shared.AbstractApplicationService
import dev.usbharu.hideout.core.application.shared.CommandExecutor
import dev.usbharu.hideout.core.application.shared.Transaction
import dev.usbharu.hideout.core.domain.model.timelinerelationship.TimelineRelationshipRepository
import org.slf4j.LoggerFactory
@ -15,7 +14,7 @@ class UserAddTimelineRelationshipApplicationService(
AbstractApplicationService<AddTimelineRelationship, Unit>(
transaction, logger
) {
override suspend fun internalExecute(command: AddTimelineRelationship, executor: CommandExecutor) {
override suspend fun internalExecute(command: AddTimelineRelationship) {
timelineRelationshipRepository.save(command.timelineRelationship)
}

View File

@ -54,7 +54,6 @@ class Actor(
moveTo: ActorId? = null,
emojiIds: Set<EmojiId>,
deleted: Boolean,
roles: Set<Role>,
icon: MediaId?,
banner: MediaId?,
) : DomainEventStorable() {
@ -62,7 +61,7 @@ class Actor(
var banner = banner
private set
fun setBannerUrl(banner: MediaId?, actor: Actor) {
fun setBannerUrl(banner: MediaId?) {
addDomainEvent(ActorDomainEventFactory(this).createEvent(UPDATE))
this.banner = banner
}
@ -70,20 +69,11 @@ class Actor(
var icon = icon
private set
fun setIconUrl(icon: MediaId?, actor: Actor) {
fun setIconUrl(icon: MediaId?) {
addDomainEvent(ActorDomainEventFactory(this).createEvent(UPDATE))
this.icon = icon
}
var roles = roles
private set
fun setRole(roles: Set<Role>, actor: Actor) {
require(actor.roles.contains(Role.ADMINISTRATOR))
this.roles = roles
}
var suspend = suspend
set(value) {
if (field != value && value) {

View File

@ -20,11 +20,9 @@ import dev.usbharu.hideout.core.domain.event.post.PostDomainEventFactory
import dev.usbharu.hideout.core.domain.event.post.PostEvent
import dev.usbharu.hideout.core.domain.model.actor.Actor
import dev.usbharu.hideout.core.domain.model.actor.ActorId
import dev.usbharu.hideout.core.domain.model.actor.Role
import dev.usbharu.hideout.core.domain.model.emoji.EmojiId
import dev.usbharu.hideout.core.domain.model.instance.InstanceId
import dev.usbharu.hideout.core.domain.model.media.MediaId
import dev.usbharu.hideout.core.domain.model.post.Post.Companion.Action.*
import dev.usbharu.hideout.core.domain.shared.domainevent.DomainEventStorable
import java.net.URI
import java.time.Instant
@ -62,7 +60,6 @@ class Post(
private set
fun setVisibility(visibility: Visibility, actor: Actor) {
require(isAllow(actor, UPDATE, this))
require(this.visibility != Visibility.DIRECT)
require(visibility != Visibility.DIRECT)
require(this.visibility.ordinal >= visibility.ordinal)
@ -79,7 +76,6 @@ class Post(
private set
fun setVisibleActors(visibleActors: Set<ActorId>, actor: Actor) {
require(isAllow(actor, UPDATE, this))
require(deleted.not())
if (visibility == Visibility.DIRECT) {
addDomainEvent(PostDomainEventFactory(this, actor).createEvent(PostEvent.UPDATE))
@ -97,7 +93,6 @@ class Post(
private set
fun setContent(content: PostContent, actor: Actor) {
require(isAllow(actor, UPDATE, this))
require(deleted.not())
if (this.content != content) {
addDomainEvent(PostDomainEventFactory(this, actor).createEvent(PostEvent.UPDATE))
@ -115,7 +110,6 @@ class Post(
private set
fun setOverview(overview: PostOverview?, actor: Actor) {
require(isAllow(actor, UPDATE, this))
require(deleted.not())
if (this.overview != overview) {
addDomainEvent(PostDomainEventFactory(this, actor).createEvent(PostEvent.UPDATE))
@ -127,7 +121,6 @@ class Post(
private set
fun setSensitive(sensitive: Boolean, actor: Actor) {
isAllow(actor, UPDATE, this)
require(deleted.not())
if (this.sensitive != sensitive) {
addDomainEvent(PostDomainEventFactory(this, actor).createEvent(PostEvent.UPDATE))
@ -161,7 +154,6 @@ class Post(
private set
fun addMediaIds(mediaIds: List<MediaId>, actor: Actor) {
require(isAllow(actor, UPDATE, this))
require(deleted.not())
addDomainEvent(PostDomainEventFactory(this, actor).createEvent(PostEvent.UPDATE))
this.mediaIds = this.mediaIds.plus(mediaIds).distinct()
@ -171,7 +163,6 @@ class Post(
private set
fun delete(actor: Actor) {
isAllow(actor, DELETE, this)
if (deleted.not()) {
addDomainEvent(PostDomainEventFactory(this, actor).createEvent(PostEvent.DELETE))
content = PostContent.empty
@ -209,7 +200,6 @@ class Post(
private set
fun moveTo(moveTo: PostId, actor: Actor) {
require(isAllow(actor, MOVE, this))
require(this.moveTo == null)
this.moveTo = moveTo
}
@ -324,26 +314,5 @@ class Post(
return post
}
fun isAllow(actor: Actor, action: Action, resource: Post): Boolean {
return when (action) {
UPDATE -> {
resource.actorId == actor.id || actor.roles.contains(Role.ADMINISTRATOR) || actor.roles.contains(
Role.MODERATOR
)
}
MOVE -> resource.actorId == actor.id && actor.deleted.not()
DELETE ->
resource.actorId == actor.id ||
actor.roles.contains(Role.ADMINISTRATOR) ||
actor.roles.contains(Role.MODERATOR)
}
}
enum class Action {
UPDATE,
MOVE,
DELETE,
}
}
}

View File

@ -20,6 +20,6 @@ interface UserDetailRepository {
suspend fun save(userDetail: UserDetail): UserDetail
suspend fun delete(userDetail: UserDetail)
suspend fun findByActorId(actorId: Long): UserDetail?
suspend fun findById(id: Long): UserDetail?
suspend fun findById(userDetailId: UserDetailId): UserDetail?
suspend fun findAllById(idList: List<UserDetailId>): List<UserDetail>
}

View File

@ -60,7 +60,6 @@ class ActorResultRowMapper : ResultRowMapper<Actor> {
.map { EmojiId(it.toLong()) }
.toSet(),
deleted = resultRow[Actors.deleted],
roles = emptySet(),
icon = resultRow[Actors.icon]?.let { MediaId(it) },
banner = resultRow[Actors.banner]?.let { MediaId(it) }
)

View File

@ -69,9 +69,9 @@ class UserDetailRepositoryImpl : UserDetailRepository, AbstractRepository() {
}
}
override suspend fun findById(id: Long): UserDetail? = query {
override suspend fun findById(id: UserDetailId): UserDetail? = query {
UserDetails
.selectAll().where { UserDetails.id eq id }
.selectAll().where { UserDetails.id eq id.id }
.singleOrNull()
?.let {
userDetail(it)

View File

@ -61,7 +61,6 @@ class ActorFactoryImpl(
suspend = false,
emojiIds = emptySet(),
deleted = false,
roles = emptySet(),
banner = null,
icon = null
)

View File

@ -39,8 +39,7 @@ class AuthController(
suspend fun signUp(@Validated @ModelAttribute signUpForm: SignUpForm, request: HttpServletRequest): String {
val registerLocalActor = RegisterLocalActor(signUpForm.username, signUpForm.password)
val uri = registerLocalActorApplicationService.execute(
registerLocalActor,
springMvcCommandExecutorFactory.getCommandExecutor()
registerLocalActor
)
request.login(signUpForm.username, signUpForm.password)
return "redirect:$uri"

View File

@ -134,7 +134,7 @@ class ActorsTest {
fun bannerが設定されたらupdateイベントが発生する() {
val actor = TestActorFactory.create(publicKey = ActorPublicKey(""))
actor.setBannerUrl(MediaId(1), actor)
actor.setBannerUrl(MediaId(1))
assertContainsEvent(actor, ActorEvent.UPDATE.eventName)
}
@ -143,7 +143,7 @@ class ActorsTest {
fun iconが設定されたらupdateイベントが発生する() {
val actor = TestActorFactory.create(publicKey = ActorPublicKey(""))
actor.setIconUrl(MediaId(1), actor)
actor.setIconUrl(MediaId(1))
assertContainsEvent(actor, ActorEvent.UPDATE.eventName)
}

View File

@ -66,7 +66,6 @@ object TestActorFactory {
moveTo = moveTo?.let { ActorId(it) },
emojiIds = emojiIds,
deleted = deleted,
roles = roles,
icon = null,
banner = null,

View File

@ -17,7 +17,6 @@
package dev.usbharu.hideout.mastodon.application.accounts
import dev.usbharu.hideout.core.application.shared.AbstractApplicationService
import dev.usbharu.hideout.core.application.shared.CommandExecutor
import dev.usbharu.hideout.core.application.shared.Transaction
import dev.usbharu.hideout.mastodon.interfaces.api.generated.model.Account
import dev.usbharu.hideout.mastodon.query.AccountQueryService
@ -30,7 +29,7 @@ class GetAccountApplicationService(private val accountQueryService: AccountQuery
transaction,
logger
) {
override suspend fun internalExecute(command: GetAccount, executor: CommandExecutor): Account {
override suspend fun internalExecute(command: GetAccount): Account {
return accountQueryService.findById(command.accountId.toLong()) ?: throw Exception("Account not found")
}

View File

@ -17,7 +17,6 @@
package dev.usbharu.hideout.mastodon.application.filter
import dev.usbharu.hideout.core.application.shared.AbstractApplicationService
import dev.usbharu.hideout.core.application.shared.CommandExecutor
import dev.usbharu.hideout.core.application.shared.Transaction
import dev.usbharu.hideout.core.domain.model.filter.FilterKeywordId
import dev.usbharu.hideout.core.domain.model.filter.FilterRepository
@ -33,7 +32,7 @@ class DeleteFilterV1ApplicationService(private val filterRepository: FilterRepos
private val logger = LoggerFactory.getLogger(DeleteFilterV1ApplicationService::class.java)
}
override suspend fun internalExecute(command: DeleteFilterV1, executor: CommandExecutor) {
override suspend fun internalExecute(command: DeleteFilterV1) {
val filter = filterRepository.findByFilterKeywordId(FilterKeywordId(command.filterKeywordId))
?: throw Exception("Not Found")
filterRepository.delete(filter)

View File

@ -17,7 +17,6 @@
package dev.usbharu.hideout.mastodon.application.filter
import dev.usbharu.hideout.core.application.shared.AbstractApplicationService
import dev.usbharu.hideout.core.application.shared.CommandExecutor
import dev.usbharu.hideout.core.application.shared.Transaction
import dev.usbharu.hideout.core.domain.model.filter.FilterContext.*
import dev.usbharu.hideout.core.domain.model.filter.FilterKeywordId
@ -32,7 +31,7 @@ class GetFilterV1ApplicationService(private val filterRepository: FilterReposito
AbstractApplicationService<GetFilterV1, V1Filter>(
transaction, logger
) {
override suspend fun internalExecute(command: GetFilterV1, executor: CommandExecutor): V1Filter {
override suspend fun internalExecute(command: GetFilterV1): V1Filter {
val filter = filterRepository.findByFilterKeywordId(FilterKeywordId(command.filterKeywordId))
?: throw Exception("Not Found")

View File

@ -17,7 +17,6 @@
package dev.usbharu.hideout.mastodon.application.status
import dev.usbharu.hideout.core.application.shared.AbstractApplicationService
import dev.usbharu.hideout.core.application.shared.CommandExecutor
import dev.usbharu.hideout.core.application.shared.Transaction
import dev.usbharu.hideout.mastodon.interfaces.api.generated.model.Status
import dev.usbharu.hideout.mastodon.query.StatusQueryService
@ -36,7 +35,7 @@ class GetStatusApplicationService(
val logger = LoggerFactory.getLogger(GetStatusApplicationService::class.java)!!
}
override suspend fun internalExecute(command: GetStatus, executor: CommandExecutor): Status {
override suspend fun internalExecute(command: GetStatus): Status {
return statusQueryService.findByPostId(command.id.toLong()) ?: throw Exception("Not fount")
}
}

View File

@ -67,7 +67,7 @@ class SpringAccountApi(
override suspend fun apiV1AccountsIdBlockPost(id: String): ResponseEntity<Relationship> {
val executor = oauth2CommandExecutorFactory.getCommandExecutor()
userBlockApplicationService.execute(Block(id.toLong()), executor)
userBlockApplicationService.execute(Block(id.toLong()))
return fetchRelationship(id, executor)
}
@ -77,7 +77,7 @@ class SpringAccountApi(
): ResponseEntity<Relationship> {
val executor = oauth2CommandExecutorFactory.getCommandExecutor()
userFollowRequestApplicationService.execute(
FollowRequest(id.toLong()), executor
FollowRequest(id.toLong())
)
return fetchRelationship(id, executor)
}
@ -86,7 +86,7 @@ class SpringAccountApi(
id: String,
executor: Oauth2CommandExecutor,
): ResponseEntity<Relationship> {
val relationship = getRelationshipApplicationService.execute(GetRelationship(id.toLong()), executor)
val relationship = getRelationshipApplicationService.execute(GetRelationship(id.toLong()))
return ResponseEntity.ok(
Relationship(
id = relationship.targetId.toString(),
@ -109,8 +109,7 @@ class SpringAccountApi(
override suspend fun apiV1AccountsIdGet(id: String): ResponseEntity<Account> {
return ResponseEntity.ok(
getAccountApplicationService.execute(
GetAccount(id),
oauth2CommandExecutorFactory.getCommandExecutor()
GetAccount(id)
)
)
}
@ -118,7 +117,7 @@ class SpringAccountApi(
override suspend fun apiV1AccountsIdMutePost(id: String): ResponseEntity<Relationship> {
val executor = oauth2CommandExecutorFactory.getCommandExecutor()
userMuteApplicationService.execute(
Mute(id.toLong()), executor
Mute(id.toLong())
)
return fetchRelationship(id, executor)
}
@ -126,7 +125,7 @@ class SpringAccountApi(
override suspend fun apiV1AccountsIdRemoveFromFollowersPost(id: String): ResponseEntity<Relationship> {
val executor = oauth2CommandExecutorFactory.getCommandExecutor()
userRemoveFromFollowersApplicationService.execute(
RemoveFromFollowers(id.toLong()), executor
RemoveFromFollowers(id.toLong())
)
return fetchRelationship(id, executor)
}
@ -134,7 +133,7 @@ class SpringAccountApi(
override suspend fun apiV1AccountsIdUnblockPost(id: String): ResponseEntity<Relationship> {
val executor = oauth2CommandExecutorFactory.getCommandExecutor()
userUnblockApplicationService.execute(
Unblock(id.toLong()), executor
Unblock(id.toLong())
)
return fetchRelationship(id, executor)
}
@ -142,7 +141,7 @@ class SpringAccountApi(
override suspend fun apiV1AccountsIdUnfollowPost(id: String): ResponseEntity<Relationship> {
val executor = oauth2CommandExecutorFactory.getCommandExecutor()
userUnfollowApplicationService.execute(
Unfollow(id.toLong()), executor
Unfollow(id.toLong())
)
return fetchRelationship(id, executor)
}
@ -150,7 +149,7 @@ class SpringAccountApi(
override suspend fun apiV1AccountsIdUnmutePost(id: String): ResponseEntity<Relationship> {
val executor = oauth2CommandExecutorFactory.getCommandExecutor()
userUnmuteApplicationService.execute(
Unmute(id.toLong()), executor
Unmute(id.toLong())
)
return fetchRelationship(id, executor)
}
@ -166,7 +165,7 @@ class SpringAccountApi(
override suspend fun apiV1AccountsVerifyCredentialsGet(): ResponseEntity<CredentialAccount> {
val commandExecutor = oauth2CommandExecutorFactory.getCommandExecutor()
val localActor =
getUserDetailApplicationService.execute(GetUserDetail(commandExecutor.userDetailId), commandExecutor)
getUserDetailApplicationService.execute(GetUserDetail(commandExecutor.userDetailId))
return ResponseEntity.ok(
CredentialAccount(
@ -218,7 +217,7 @@ class SpringAccountApi(
override suspend fun apiV1FollowRequestsAccountIdAuthorizePost(accountId: String): ResponseEntity<Relationship> {
val executor = oauth2CommandExecutorFactory.getCommandExecutor()
userAcceptFollowRequestApplicationService.execute(
AcceptFollowRequest(accountId.toLong()), executor
AcceptFollowRequest(accountId.toLong())
)
return fetchRelationship(accountId, executor)
}
@ -226,7 +225,7 @@ class SpringAccountApi(
override suspend fun apiV1FollowRequestsAccountIdRejectPost(accountId: String): ResponseEntity<Relationship> {
val executor = oauth2CommandExecutorFactory.getCommandExecutor()
userRejectFollowRequestApplicationService.execute(
RejectFollowRequest(accountId.toLong()), executor
RejectFollowRequest(accountId.toLong())
)
return fetchRelationship(accountId, executor)
}

View File

@ -47,8 +47,7 @@ class SpringFilterApi(
override suspend fun apiV1FiltersIdDelete(id: String): ResponseEntity<Any> {
return ResponseEntity.ok(
deleteFilterV1ApplicationService.execute(
DeleteFilterV1(id.toLong()),
oauth2CommandExecutorFactory.getCommandExecutor()
DeleteFilterV1(id.toLong())
)
)
}
@ -56,8 +55,7 @@ class SpringFilterApi(
override suspend fun apiV1FiltersIdGet(id: String): ResponseEntity<V1Filter> {
return ResponseEntity.ok(
getFilterV1ApplicationService.execute(
GetFilterV1(id.toLong()),
oauth2CommandExecutorFactory.getCommandExecutor()
GetFilterV1(id.toLong())
)
)
}
@ -93,12 +91,11 @@ class SpringFilterApi(
RegisterFilter(
v1FilterPostRequest.phrase, filterContext, FilterAction.WARN,
setOf(RegisterFilterKeyword(v1FilterPostRequest.phrase, filterMode))
), executor
)
)
return ResponseEntity.ok(
getFilterV1ApplicationService.execute(
GetFilterV1(filter.filterKeywords.first().id),
executor
GetFilterV1(filter.filterKeywords.first().id)
)
)
}
@ -119,16 +116,14 @@ class SpringFilterApi(
override suspend fun apiV2FiltersIdDelete(id: String): ResponseEntity<Any> {
userDeleteFilterApplicationService.execute(
DeleteFilter(id.toLong()),
oauth2CommandExecutorFactory.getCommandExecutor()
DeleteFilter(id.toLong())
)
return ResponseEntity.ok(Unit)
}
override suspend fun apiV2FiltersIdGet(id: String): ResponseEntity<Filter> {
val filter = userGetFilterApplicationService.execute(
GetFilter(id.toLong()),
oauth2CommandExecutorFactory.getCommandExecutor()
GetFilter(id.toLong())
)
return ResponseEntity.ok(
filter(filter)
@ -221,7 +216,7 @@ class SpringFilterApi(
}
)
}.toSet()
), executor
)
)
return ResponseEntity.ok(filter(filter))
}

View File

@ -52,8 +52,7 @@ class SpringMediaApi(
file.originalFilename ?: file.name,
null,
description
),
oauth2CommandExecutorFactory.getCommandExecutor()
)
)
return ResponseEntity.ok(

View File

@ -48,8 +48,7 @@ class SpringStatusApi(
return ResponseEntity.ok(
getStatusApplicationService.execute(
GetStatus(id),
delegateCommandExecutorFactory.getCommandExecutor()
GetStatus(id)
)
)
}
@ -72,12 +71,11 @@ class SpringStatusApi(
replyId = statusesRequest.inReplyToId?.toLong(),
sensitive = statusesRequest.sensitive == true,
mediaIds = statusesRequest.mediaIds.orEmpty().map { it.toLong() }
),
executor
)
)
val status = getStatusApplicationService.execute(GetStatus(execute.toString()), executor)
val status = getStatusApplicationService.execute(GetStatus(execute.toString()))
return ResponseEntity.ok(
status
)