diff --git a/app/src/main/java/com/futo/circles/feature/terms/data_source/AcceptTermsDataSource.kt b/app/src/main/java/com/futo/circles/feature/terms/data_source/AcceptTermsDataSource.kt new file mode 100644 index 0000000000000000000000000000000000000000..be5e025afde587a50987d6a1562c8e900a1b4174 --- /dev/null +++ b/app/src/main/java/com/futo/circles/feature/terms/data_source/AcceptTermsDataSource.kt @@ -0,0 +1,25 @@ +package com.futo.circles.feature.terms.data_source + + +import com.futo.circles.extensions.Response +import com.futo.circles.extensions.createResult +import com.futo.circles.feature.sign_up.data_source.SignUpDataSource +import com.futo.circles.provider.MatrixInstanceProvider +import org.matrix.android.sdk.api.auth.registration.RegistrationResult + +class AcceptTermsDataSource( + private val signUpDataSource: SignUpDataSource +) { + + private val wizard by lazy { + MatrixInstanceProvider.matrix.authenticationService().getRegistrationWizard() + } + + suspend fun acceptTerms(): Response<RegistrationResult> { + val result = createResult { wizard.acceptTerms() } + + (result as? Response.Success)?.let { signUpDataSource.stageCompleted(result.data) } + + return result + } +} \ No newline at end of file