From b48222ad03ba9171a970327b2c1184c36dbed166 Mon Sep 17 00:00:00 2001
From: Taras <tarassmakula@gmail.com>
Date: Fri, 5 Aug 2022 13:55:36 +0300
Subject: [PATCH] Add constants for signup flow params

---
 .../circles/feature/sign_up/SignUpDataSource.kt |  3 +++
 .../SubscriptionStageDataSource.kt              | 17 ++++++++++++++---
 .../validate_token/ValidateTokenDataSource.kt   |  9 +++++++--
 3 files changed, 24 insertions(+), 5 deletions(-)

diff --git a/app/src/main/java/org/futo/circles/feature/sign_up/SignUpDataSource.kt b/app/src/main/java/org/futo/circles/feature/sign_up/SignUpDataSource.kt
index 231bbd8bc..ab7447e32 100644
--- a/app/src/main/java/org/futo/circles/feature/sign_up/SignUpDataSource.kt
+++ b/app/src/main/java/org/futo/circles/feature/sign_up/SignUpDataSource.kt
@@ -129,4 +129,7 @@ class SignUpDataSource(
         subtitleLiveData.postValue(subtitle)
     }
 
+    companion object {
+        const val TYPE_PARAM_KEY = "type"
+    }
 }
\ No newline at end of file
diff --git a/app/src/main/java/org/futo/circles/feature/sign_up/subscription_stage/SubscriptionStageDataSource.kt b/app/src/main/java/org/futo/circles/feature/sign_up/subscription_stage/SubscriptionStageDataSource.kt
index 6bbac319a..3c79e4817 100644
--- a/app/src/main/java/org/futo/circles/feature/sign_up/subscription_stage/SubscriptionStageDataSource.kt
+++ b/app/src/main/java/org/futo/circles/feature/sign_up/subscription_stage/SubscriptionStageDataSource.kt
@@ -3,6 +3,7 @@ package org.futo.circles.feature.sign_up.subscription_stage
 import org.futo.circles.extensions.Response
 import org.futo.circles.extensions.createResult
 import org.futo.circles.feature.sign_up.SignUpDataSource
+import org.futo.circles.feature.sign_up.SignUpDataSource.Companion.TYPE_PARAM_KEY
 import org.futo.circles.provider.MatrixInstanceProvider
 import org.matrix.android.sdk.api.auth.registration.RegistrationResult
 import org.matrix.android.sdk.api.auth.registration.Stage
@@ -21,14 +22,24 @@ class SubscriptionStageDataSource(
         val result = createResult {
             wizard.registrationCustom(
                 mapOf(
-                    "type" to type,
-                    "product" to receipt
+                    TYPE_PARAM_KEY to type,
+                    PRODUCT_PARAM_KEY to receipt
                 )
             )
         }
 
         (result as? Response.Success)?.let { signUpDataSource.stageCompleted(result.data) }
-
         return result
     }
+
+    fun getProductIdsList() = ((signUpDataSource.currentStage as? Stage.Other)
+        ?.params?.get(PRODUCT_IDS_KEY) as? List<*>)
+        ?.map { it.toString() }
+        ?: emptyList()
+
+
+    companion object {
+        private const val PRODUCT_PARAM_KEY = "product"
+        private const val PRODUCT_IDS_KEY = "productIds"
+    }
 }
\ No newline at end of file
diff --git a/app/src/main/java/org/futo/circles/feature/sign_up/validate_token/ValidateTokenDataSource.kt b/app/src/main/java/org/futo/circles/feature/sign_up/validate_token/ValidateTokenDataSource.kt
index 43864d482..861c4bee4 100644
--- a/app/src/main/java/org/futo/circles/feature/sign_up/validate_token/ValidateTokenDataSource.kt
+++ b/app/src/main/java/org/futo/circles/feature/sign_up/validate_token/ValidateTokenDataSource.kt
@@ -3,6 +3,7 @@ package org.futo.circles.feature.sign_up.validate_token
 import org.futo.circles.extensions.Response
 import org.futo.circles.extensions.createResult
 import org.futo.circles.feature.sign_up.SignUpDataSource
+import org.futo.circles.feature.sign_up.SignUpDataSource.Companion.TYPE_PARAM_KEY
 import org.futo.circles.provider.MatrixInstanceProvider
 import org.matrix.android.sdk.api.auth.registration.RegistrationResult
 import org.matrix.android.sdk.api.auth.registration.Stage
@@ -21,8 +22,8 @@ class ValidateTokenDataSource(
         val result = createResult {
             wizard.registrationCustom(
                 mapOf(
-                    "type" to type,
-                    "token" to token
+                    TYPE_PARAM_KEY to type,
+                    TOKEN_PARAM_KEY to token
                 )
             )
         }
@@ -31,4 +32,8 @@ class ValidateTokenDataSource(
 
         return result
     }
+
+    companion object {
+        private const val TOKEN_PARAM_KEY = "token"
+    }
 }
\ No newline at end of file
-- 
GitLab