38 lines
1.7 KiB
Kotlin
38 lines
1.7 KiB
Kotlin
package be.simplenotes.domain
|
|
|
|
import be.simplenotes.domain.security.BcryptPasswordHash
|
|
import be.simplenotes.domain.security.JwtPayloadExtractor
|
|
import be.simplenotes.domain.security.PasswordHash
|
|
import be.simplenotes.domain.security.SimpleJwt
|
|
import be.simplenotes.domain.usecases.NoteService
|
|
import be.simplenotes.domain.usecases.UserService
|
|
import be.simplenotes.domain.usecases.export.ExportUseCase
|
|
import be.simplenotes.domain.usecases.export.ExportUseCaseImpl
|
|
import be.simplenotes.domain.usecases.markdown.MarkdownConverter
|
|
import be.simplenotes.domain.usecases.markdown.MarkdownConverterImpl
|
|
import be.simplenotes.domain.usecases.users.delete.DeleteUseCase
|
|
import be.simplenotes.domain.usecases.users.delete.DeleteUseCaseImpl
|
|
import be.simplenotes.domain.usecases.users.login.LoginUseCase
|
|
import be.simplenotes.domain.usecases.users.login.LoginUseCaseImpl
|
|
import be.simplenotes.domain.usecases.users.register.RegisterUseCase
|
|
import be.simplenotes.domain.usecases.users.register.RegisterUseCaseImpl
|
|
import org.koin.dsl.module
|
|
|
|
val domainModule = module {
|
|
single<LoginUseCase> { LoginUseCaseImpl(get(), get(), get()) }
|
|
single<RegisterUseCase> { RegisterUseCaseImpl(get(), get()) }
|
|
single<DeleteUseCase> { DeleteUseCaseImpl(get(), get(), get()) }
|
|
single { UserService(get(), get(), get(), get()) }
|
|
single<PasswordHash> { BcryptPasswordHash() }
|
|
single { SimpleJwt(get()) }
|
|
single { JwtPayloadExtractor(get()) }
|
|
single {
|
|
NoteService(get(), get(), get(), get()).apply {
|
|
dropAllIndexes()
|
|
indexAll()
|
|
}
|
|
}
|
|
single<MarkdownConverter> { MarkdownConverterImpl() }
|
|
single<ExportUseCase> { ExportUseCaseImpl(get(), get()) }
|
|
}
|