fix get_suspended_job_flow

This commit is contained in:
Ruben Fiszel
2022-10-24 10:18:23 +02:00
parent 53593f41c5
commit da71358090
+10 -2
View File
@@ -1275,13 +1275,14 @@ pub async fn get_suspended_job_flow(
let flow = crate::utils::not_found_if_none(flow_o, "Parent Flow", job.to_string())?;
let flow_status = flow
.raw_flow()
.flow_status()
.ok_or_else(|| anyhow::anyhow!("unable to deserialize the flow"))?;
let flow_module_status = flow_status
.modules
.iter()
.find(|p| p.id() == job.to_string())
.ok_or_else(|| anyhow::anyhow!("unable to find the module"))?;
let approvers_from_status = match flow_module_status {
FlowStatusModule::Success { approvers, .. } => approvers.to_owned(),
_ => vec![],
@@ -1332,13 +1333,20 @@ pub enum Job {
}
impl Job {
pub fn raw_flow(&self) -> Option<FlowStatus> {
pub fn raw_flow(&self) -> Option<FlowValue> {
let value = match self {
Job::QueuedJob(job) => job.raw_flow.clone(),
Job::CompletedJob(job) => job.raw_flow.clone(),
};
value.map(|v| serde_json::from_value(v).ok()).flatten()
}
pub fn flow_status(&self) -> Option<FlowStatus> {
let value = match self {
Job::QueuedJob(job) => job.flow_status.clone(),
Job::CompletedJob(job) => job.flow_status.clone(),
};
value.map(|v| serde_json::from_value(v).ok()).flatten()
}
}
#[derive(sqlx::Type, Serialize, Deserialize, Debug, PartialEq, Clone)]
#[sqlx(type_name = "JOB_KIND", rename_all = "lowercase")]