Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Unverified Commit 15dc5e68 authored by Wolf-Martell Montwé's avatar Wolf-Martell Montwé Committed by GitHub
Browse files

Merge pull request #6983 from thundernest/add_account_setup_discovery_status_validation

Add account setup discovery status validation
parents 80540610 8a3cb578
Loading
Loading
Loading
Loading
+0 −5
Original line number Diff line number Diff line
package app.k9mail.core.common.domain.usecase

interface UseCase<T, R> {
    fun execute(input: T): R
}
+0 −5
Original line number Diff line number Diff line
package app.k9mail.core.common.domain.usecase.validation

import app.k9mail.core.common.domain.usecase.UseCase

interface ValidationUseCase<T> : UseCase<T, ValidationResult>
+1 −1
Original line number Diff line number Diff line
@@ -28,7 +28,7 @@ val featureAccountSetupModule: Module = module {
        )
    }

    single<DomainContract.GetAutoDiscoveryUseCase> {
    single<DomainContract.UseCase.GetAutoDiscovery> {
        GetAutoDiscovery(
            service = get(),
        )
+46 −3
Original line number Diff line number Diff line
package app.k9mail.feature.account.setup.domain

import app.k9mail.autodiscovery.api.AutoDiscoveryResult
import app.k9mail.core.common.domain.usecase.validation.ValidationResult

interface DomainContract {
internal interface DomainContract {

    fun interface GetAutoDiscoveryUseCase {
    interface UseCase {
        fun interface GetAutoDiscovery {
            suspend fun execute(emailAddress: String): AutoDiscoveryResult
        }

        fun interface ValidateEmailAddress {
            fun execute(emailAddress: String): ValidationResult
        }

        fun interface ValidatePassword {
            fun execute(password: String): ValidationResult
        }

        fun interface ValidateConfigurationApproval {
            fun execute(isApproved: Boolean?, isAutoDiscoveryTrusted: Boolean?): ValidationResult
        }

        fun interface ValidateServer {
            fun execute(server: String): ValidationResult
        }

        fun interface ValidatePort {
            fun execute(port: Long?): ValidationResult
        }

        fun interface ValidateUsername {
            fun execute(username: String): ValidationResult
        }

        fun interface ValidateImapPrefix {
            fun execute(imapPrefix: String): ValidationResult
        }

        fun interface ValidateAccountName {
            fun execute(accountName: String): ValidationResult
        }

        fun interface ValidateDisplayName {
            fun execute(displayName: String): ValidationResult
        }

        fun interface ValidateEmailSignature {
            fun execute(emailSignature: String): ValidationResult
        }
    }
}
+1 −1
Original line number Diff line number Diff line
@@ -2,7 +2,7 @@ package app.k9mail.feature.account.setup.domain.entity

import kotlinx.collections.immutable.toImmutableList

enum class AuthenticationType {
internal enum class AuthenticationType {
    PasswordCleartext,
    PasswordEncrypted,
    OAuth2,
Loading