Skip to content

Commit 70f8742

Browse files
committed
Add Condition action
1 parent d31091d commit 70f8742

File tree

3 files changed

+15
-2
lines changed

3 files changed

+15
-2
lines changed

pir/pir-impl/src/main/java/com/duckduckgo/pir/impl/common/BrokerStepsParser.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,8 @@ class RealBrokerStepsParser @Inject constructor(
109109
.withSubtype(BrokerAction.Navigate::class.java, "navigate")
110110
.withSubtype(BrokerAction.GetCaptchaInfo::class.java, "getCaptchaInfo")
111111
.withSubtype(BrokerAction.SolveCaptcha::class.java, "solveCaptcha")
112-
.withSubtype(BrokerAction.EmailConfirmation::class.java, "emailConfirmation"),
112+
.withSubtype(BrokerAction.EmailConfirmation::class.java, "emailConfirmation")
113+
.withSubtype(BrokerAction.Condition::class.java, "condition"),
113114
)
114115
.add(
115116
PolymorphicJsonAdapterFactory.of(BrokerStep::class.java, "stepType")

pir/pir-impl/src/main/java/com/duckduckgo/pir/impl/scripts/BrokerActionProcessor.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,8 @@ class RealBrokerActionProcessor(
9090
.withSubtype(BrokerAction.Navigate::class.java, "navigate")
9191
.withSubtype(BrokerAction.GetCaptchaInfo::class.java, "getCaptchaInfo")
9292
.withSubtype(BrokerAction.SolveCaptcha::class.java, "solveCaptcha")
93-
.withSubtype(BrokerAction.EmailConfirmation::class.java, "emailConfirmation"),
93+
.withSubtype(BrokerAction.EmailConfirmation::class.java, "emailConfirmation")
94+
.withSubtype(BrokerAction.Condition::class.java, "condition"),
9495
).add(KotlinJsonAdapterFactory())
9596
.build()
9697
.adapter(PirScriptRequestParams::class.java)

pir/pir-impl/src/main/java/com/duckduckgo/pir/impl/scripts/models/BrokerAction.kt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,10 @@
1717
package com.duckduckgo.pir.impl.scripts.models
1818

1919
import com.duckduckgo.pir.impl.scripts.models.BrokerAction.Click
20+
import com.duckduckgo.pir.impl.scripts.models.BrokerAction.Condition
2021
import com.duckduckgo.pir.impl.scripts.models.BrokerAction.EmailConfirmation
2122
import com.duckduckgo.pir.impl.scripts.models.BrokerAction.Expectation
23+
import com.duckduckgo.pir.impl.scripts.models.BrokerAction.Expectation.ExpectationSelector
2224
import com.duckduckgo.pir.impl.scripts.models.BrokerAction.Extract
2325
import com.duckduckgo.pir.impl.scripts.models.BrokerAction.FillForm
2426
import com.duckduckgo.pir.impl.scripts.models.BrokerAction.GetCaptchaInfo
@@ -103,6 +105,14 @@ sealed class BrokerAction(
103105
override val id: String,
104106
val pollingTime: String,
105107
) : BrokerAction(id)
108+
109+
data class Condition(
110+
override val id: String,
111+
@Json(name = "_comment")
112+
val comment: String,
113+
val expectations: List<ExpectationSelector>,
114+
val actions: List<BrokerAction>,
115+
) : BrokerAction(id)
106116
}
107117

108118
data class ExtractProfileSelectors(
@@ -169,5 +179,6 @@ fun BrokerAction.asActionType(): String {
169179
is GetCaptchaInfo -> "getCaptchaInfo"
170180
is SolveCaptcha -> "solveCaptcha"
171181
is EmailConfirmation -> "emailConfirmation"
182+
is Condition -> "condition"
172183
}
173184
}

0 commit comments

Comments
 (0)