Skip to content

Commit 772fa19

Browse files
committed
fixup! Add SubmissionCancelled to SubmissionStatus
Add strategic metadata to SubmissionCancelled
1 parent 104b90b commit 772fa19

2 files changed

Lines changed: 19 additions & 6 deletions

File tree

libs/opsqueue_python/src/common.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -325,6 +325,7 @@ impl From<opsqueue::common::submission::SubmissionCancelled> for SubmissionCance
325325
chunks_total: value.chunks_total.into(),
326326
chunks_done: value.chunks_done.into(),
327327
metadata: value.metadata,
328+
strategic_metadata: value.strategic_metadata,
328329
cancelled_at: value.cancelled_at,
329330
}
330331
}
@@ -468,7 +469,7 @@ pub struct SubmissionCancelled {
468469
pub chunks_total: u64,
469470
pub chunks_done: u64,
470471
pub metadata: Option<submission::Metadata>,
471-
// TODO pub strategic_metadata: Option<StrategicMetadataMap>,
472+
pub strategic_metadata: Option<StrategicMetadataMap>,
472473
pub cancelled_at: DateTime<Utc>,
473474
}
474475

opsqueue/src/common/submission.rs

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ pub struct SubmissionCancelled {
194194
pub chunks_total: ChunkCount,
195195
pub chunks_done: ChunkCount,
196196
pub metadata: Option<Metadata>,
197-
// TODO pub strategic_metadata: Option<StrategicMetadataMap>,
197+
pub strategic_metadata: Option<StrategicMetadataMap>,
198198
pub cancelled_at: DateTime<Utc>,
199199
}
200200

@@ -624,24 +624,36 @@ pub mod db {
624624
)));
625625
}
626626

627-
let cancelled = query_as!(
628-
SubmissionCancelled,
627+
let cancelled_row_opt = query!(
629628
r#"
630629
SELECT
631630
id AS "id: SubmissionId"
632631
, prefix
633632
, chunks_total AS "chunks_total: ChunkCount"
634633
, chunks_done AS "chunks_done: ChunkCount"
635634
, metadata
635+
, ( SELECT json_group_object(metadata_key, metadata_value)
636+
FROM submissions_metadata
637+
WHERE submission_id = submissions_cancelled.id
638+
) AS "strategic_metadata: sqlx::types::Json<StrategicMetadataMap>"
636639
, cancelled_at AS "cancelled_at: DateTime<Utc>"
637640
FROM submissions_cancelled WHERE id = $1
638641
"#,
639642
id
640643
)
641644
.fetch_optional(conn.get_inner())
642645
.await?;
643-
if let Some(cancelled) = cancelled {
644-
return Ok(Some(SubmissionStatus::Cancelled(cancelled)));
646+
if let Some(row) = cancelled_row_opt {
647+
let cancelled_submission = SubmissionCancelled {
648+
id: row.id,
649+
prefix: row.prefix,
650+
chunks_total: row.chunks_total,
651+
chunks_done: row.chunks_done,
652+
metadata: row.metadata,
653+
strategic_metadata: row.strategic_metadata.map(|json| json.0),
654+
cancelled_at: row.cancelled_at,
655+
};
656+
return Ok(Some(SubmissionStatus::Cancelled(cancelled_submission)));
645657
}
646658

647659
Ok(None)

0 commit comments

Comments
 (0)