feat(android): import private Shopee probe tasks
This commit is contained in:
+27
@@ -0,0 +1,27 @@
|
||||
package com.roubao.autopilot.workflow
|
||||
|
||||
import com.roubao.task.ProbeTask
|
||||
import com.roubao.task.TaskSource
|
||||
|
||||
sealed interface ProbeWorkflowResult {
|
||||
data object NoTask : ProbeWorkflowResult
|
||||
|
||||
data class Executed(
|
||||
val probeId: String,
|
||||
val report: WorkflowReport
|
||||
) : ProbeWorkflowResult
|
||||
}
|
||||
|
||||
class ProbeWorkflowCoordinator(
|
||||
private val taskSource: TaskSource,
|
||||
private val workflowRunner: WorkflowRunner,
|
||||
private val stepsForTask: (ProbeTask) -> List<WorkflowStep>
|
||||
) {
|
||||
suspend fun runNext(): ProbeWorkflowResult {
|
||||
val task = taskSource.nextTask() ?: return ProbeWorkflowResult.NoTask
|
||||
return ProbeWorkflowResult.Executed(
|
||||
probeId = task.probeId,
|
||||
report = workflowRunner.run(stepsForTask(task))
|
||||
)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user