add previews in binary content
This commit is contained in:
features
common
server
src
jvmMain
kotlin
dev
inmo
postssystem
features
common
server
sessions
content
binary
server
server
src
jvmMain
kotlin
dev
inmo
postssystem
features
content
files
common
src
jvmMain
kotlin
dev
inmo
postssystem
features
files
common
gradle
server/src/main/java/dev/inmo/postssystem/server
services/posts/client/src/commonMain/kotlin/dev/inmo/postssystem/services/posts/client/ui/create
@ -115,4 +115,25 @@ class ServerContentStorageAggregator(
|
||||
|
||||
return currentResults.createPaginationResult(pagination, count())
|
||||
}
|
||||
|
||||
override suspend fun getContentPreview(id: ContentId): RegisteredContent? {
|
||||
val result = CompletableDeferred<RegisteredContent>()
|
||||
|
||||
storages.map {
|
||||
scope.launch {
|
||||
val content = it.getContentPreview(id)
|
||||
if (content != null) {
|
||||
result.complete(content)
|
||||
}
|
||||
}.also { job ->
|
||||
result.invokeOnCompletion { job.cancel() }
|
||||
}
|
||||
}.joinAll()
|
||||
|
||||
return if (result.isCompleted) {
|
||||
result.getCompleted()
|
||||
} else {
|
||||
return null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user