ci/woodpecker/push/tests Pipeline was successful
Expose /jobs, /dedup, and /events routes backed by a new EventBus that broadcasts job lifecycle and per-job progress over SSE. Serve a static dashboard from front/ that lists pending and in-progress jobs, streams agent activity, and shows completed reviews. Also add migrate-apply/migrate-generate scripts that load .env, update the Containerfile to ship the front assets and use the apply script, and refresh the roadmap.
34 lines
595 B
Rust
34 lines
595 B
Rust
use jiff::Timestamp;
|
|
use serde::Serialize;
|
|
|
|
use crate::gitea::WebhookType;
|
|
|
|
#[derive(Debug, Clone, Copy, PartialEq, Eq, toasty::Embed, Serialize)]
|
|
#[serde(tag = "type", rename_all = "snake_case")]
|
|
pub enum JobStatus {
|
|
Pending,
|
|
Processing,
|
|
}
|
|
|
|
#[derive(Debug, toasty::Model, Clone, Serialize)]
|
|
pub struct Job {
|
|
#[key]
|
|
#[auto]
|
|
pub id: u64,
|
|
|
|
#[unique]
|
|
pub event_id: u64,
|
|
|
|
pub repo: String,
|
|
pub pr: u64,
|
|
|
|
#[column(type = jsonb)]
|
|
pub payload: toasty::Json<WebhookType>,
|
|
|
|
#[index]
|
|
pub status: JobStatus,
|
|
|
|
#[auto]
|
|
pub created_at: Timestamp,
|
|
}
|