diff --git a/pir/pir-impl/src/androidTest/java/com/duckduckgo/pir/impl/integration/fakes/FakePirMessagingInterface.kt b/pir/pir-impl/src/androidTest/java/com/duckduckgo/pir/impl/integration/fakes/FakePirMessagingInterface.kt index 86bb11ca3686..c6f37f569c16 100644 --- a/pir/pir-impl/src/androidTest/java/com/duckduckgo/pir/impl/integration/fakes/FakePirMessagingInterface.kt +++ b/pir/pir-impl/src/androidTest/java/com/duckduckgo/pir/impl/integration/fakes/FakePirMessagingInterface.kt @@ -215,6 +215,20 @@ class FakePirMessagingInterface(moshi: Moshi) : JsMessaging { } } """.trimIndent() + + is BrokerAction.GenerateEmail -> """ + { + "actionID": "${action.id}", + "actionType": "generateEmail" + } + """.trimIndent() + + is BrokerAction.GetEmailData -> """ + { + "actionID": "${action.id}", + "actionType": "getEmailData" + } + """.trimIndent() } return JSONObject( diff --git a/pir/pir-impl/src/main/java/com/duckduckgo/pir/impl/di/PirModule.kt b/pir/pir-impl/src/main/java/com/duckduckgo/pir/impl/di/PirModule.kt index 2a6ec315ebc5..ecdce08eac88 100644 --- a/pir/pir-impl/src/main/java/com/duckduckgo/pir/impl/di/PirModule.kt +++ b/pir/pir-impl/src/main/java/com/duckduckgo/pir/impl/di/PirModule.kt @@ -144,7 +144,9 @@ class PirModule { .withSubtype(BrokerAction.GetCaptchaInfo::class.java, "getCaptchaInfo") .withSubtype(BrokerAction.SolveCaptcha::class.java, "solveCaptcha") .withSubtype(BrokerAction.EmailConfirmation::class.java, "emailConfirmation") - .withSubtype(BrokerAction.Condition::class.java, "condition"), + .withSubtype(BrokerAction.Condition::class.java, "condition") + .withSubtype(BrokerAction.GenerateEmail::class.java, "generateEmail") + .withSubtype(BrokerAction.GetEmailData::class.java, "getEmailData"), ).add( PolymorphicJsonAdapterFactory.of(BrokerStepActions::class.java, "stepType") .withSubtype(ScanStepActions::class.java, "scan") diff --git a/pir/pir-impl/src/main/java/com/duckduckgo/pir/impl/scripts/models/BrokerAction.kt b/pir/pir-impl/src/main/java/com/duckduckgo/pir/impl/scripts/models/BrokerAction.kt index c3fdf047d821..801baadc77a8 100644 --- a/pir/pir-impl/src/main/java/com/duckduckgo/pir/impl/scripts/models/BrokerAction.kt +++ b/pir/pir-impl/src/main/java/com/duckduckgo/pir/impl/scripts/models/BrokerAction.kt @@ -115,6 +115,16 @@ sealed class BrokerAction( val expectations: List, val actions: List, ) : BrokerAction(id) + + data class GenerateEmail( + override val id: String, + ) : BrokerAction(id) + + data class GetEmailData( + override val id: String, + val pollingTime: String, + val extract: List, + ) : BrokerAction(id) } data class ExtractProfileSelectors( @@ -182,5 +192,7 @@ fun BrokerAction.asActionType(): String { is SolveCaptcha -> "solveCaptcha" is EmailConfirmation -> "emailConfirmation" is Condition -> "condition" + is BrokerAction.GenerateEmail -> "generateEmail" + is BrokerAction.GetEmailData -> "getEmailData" } }