Private
Public Access
1
0
Files
linux_patch_api/src/api/handlers/mod.rs
Echo c44045db38
Some checks failed
CI/CD Pipeline / Code Format (push) Failing after 1s
CI/CD Pipeline / Clippy Lints (push) Successful in 38s
CI/CD Pipeline / Unit Tests (push) Successful in 54s
CI/CD Pipeline / Build Debian Package (push) Has been skipped
CI/CD Pipeline / Build Debian Package (Ubuntu 22.04) (push) Has been skipped
CI/CD Pipeline / Build RPM Package (push) Has been skipped
CI/CD Pipeline / Build Alpine Package (push) Has been skipped
CI/CD Pipeline / Build Arch Package (push) Has been skipped
CI/CD Pipeline / Security Audit (push) Successful in 47s
feat: implement proper WebSocket handler with actix-web-actors
- Replace stub websocket_handler with proper actix_web_actors::ws::start()
- Add WsJobActor that subscribes to JobManager broadcast channel
- Add broadcast::Sender/Receiver to JobManager for real-time status updates
- Emit JobStatusEvent on job state changes (create, update, complete, fail)
- Handle subscribe/unsubscribe client messages for per-job filtering
- Add 5-second heartbeat ping/pong for connection keepalive
- Properly compute Sec-WebSocket-Accept header per RFC 6455
2026-05-04 15:19:44 +00:00

20 lines
598 B
Rust

//! API Handlers Module
//!
//! Contains all REST API endpoint handlers organized by domain:
//! - packages: Package management endpoints
//! - patches: Patch management endpoints
//! - system: System management endpoints
//! - jobs: Job management endpoints
//! - websocket: Real-time job status streaming
pub mod jobs;
pub mod packages;
pub mod patches;
pub mod system;
pub mod websocket;
// Re-export commonly used types
pub use packages::{ApiError, ApiResponse};
// WebSocket message types are now in crate::jobs::websocket
pub use crate::jobs::websocket::{WsClientMessage, WsServerMessage};