core / com.schibsted.account.engine.controller / VerificationController

VerificationController

abstract class VerificationController<in T> : Controller<T> where T : Agreements.Provider, T : RequiredFields.Provider, T : Contract<*>

Constructors

<init>

VerificationController()

Functions

requestAgreements

fun requestAgreements(contract: T, user: User, agreementsLinks: AgreementLinksResponse): StepValidateAgreements?

requestRequiredFields

fun requestRequiredFields(contract: T, user: User, missingFields: Set<String>): StepValidateReqFields?

Inherited Functions

back

fun back(step: Int = 1): Unit

Goes back one step in the controller.

describeContents

open fun describeContents(): Int

evaluate

abstract fun evaluate(contract: T): Unit

Perform the login sequence. Additional calls to this function will re-trigger the currently active task.

start

fun start(contract: T): Unit

writeToParcel

open fun writeToParcel(parcel: Parcel, flags: Int): Unit

Inheritors

LoginController

class LoginController : VerificationController<LoginContract>

Controller which administrates the process of a login flow using credentials. This is parcelable and should be persisted during the login sequence. After the sequence has been completed, the reference to this can be destroyed. Note: After an Android configuration change, make sure you call evaluate again to re-trigger the currently active task.

PasswordlessController

class PasswordlessController : VerificationController<PasswordlessContract>

Controller which administrates the process of a login flow using passwordless login. This is parcelable and should be persisted during the login sequence. After the sequence has been completed, the reference to this can be destroyed. Note: After an Android configuration change, make sure you call evaluate again to re-trigger the currently active task.