add target and telegram target

This commit is contained in:
2022-01-07 21:35:11 +06:00
parent 6171eb3c40
commit 3661c1ca73
20 changed files with 232 additions and 3 deletions
features
content
binary
common
build.gradle
src
commonMain
kotlin
dev
inmo
postssystem
features
content
binary
common
src
commonMain
kotlin
dev
inmo
postssystem
features
content
server
src
jvmMain
publication
client
common
server
build.gradle
src
jvmMain
kotlin
dev
inmo
gradle.properties
server
build.gradle
src
main
java
dev
inmo
postssystem
server
settings.gradle
targets/telegram/publication/server
build.gradle
src
jvmMain
kotlin
dev
inmo
postssystem
targets
telegram

@ -21,6 +21,10 @@ dependencies {
api project(":postssystem.features.content.server")
api project(":postssystem.features.content.text.server")
api project(":postssystem.features.content.binary.server")
api project(":postssystem.features.publication.server")
api project(":postssystem.targets.telegram.publication.server")
api "io.ktor:ktor-server-netty:$ktor_version"
api "io.ktor:ktor-websockets:$ktor_version"
api "org.jetbrains.exposed:exposed-jdbc:$kotlin_exposed_version"

@ -29,6 +29,9 @@ import dev.inmo.postssystem.features.content.binary.common.BinaryContentSerializ
import dev.inmo.postssystem.features.content.common.ContentSerializersModuleConfigurator
import dev.inmo.postssystem.features.content.common.OtherContentSerializerModuleConfigurator
import dev.inmo.postssystem.features.content.text.common.TextContentSerializerModuleConfigurator
import dev.inmo.postssystem.features.publication.server.PublicationManager
import dev.inmo.postssystem.features.publication.server.PublicationTarget
import dev.inmo.postssystem.targets.telegram.publication.server.PublicationTargetTelegram
import io.ktor.application.featureOrNull
import io.ktor.application.log
import io.ktor.routing.Route
@ -129,6 +132,11 @@ fun getDIModule(
}
singleWithBinds<RolesStorage<Role>> { RolesAggregator(getAll()) }
// Publication targets
singleWithRandomQualifier<PublicationTarget> { PublicationTargetTelegram(get(), get()) }
single { PublicationManager(getAll(), get(), get(), get()) }
// Roles checkers
single<RolesChecker<Role>>(StringQualifier(RolesManagerRolesChecker.key)) { RolesManagerRolesChecker }