use crate::framework::ApiResultTraits;
use chrono::{DateTime, Utc};
use serde::Deserialize;
mod create_route;
mod create_secret;
mod create_tail;
mod delete_route;
mod delete_secret;
mod delete_tail;
mod list_routes;
mod list_secrets;
mod list_tails;
mod send_tail_heartbeat;
pub use create_route::{CreateRoute, CreateRouteParams};
pub use create_secret::{CreateSecret, CreateSecretParams};
pub use create_tail::{CreateTail, CreateTailParams};
pub use delete_route::DeleteRoute;
pub use delete_secret::DeleteSecret;
pub use delete_tail::DeleteTail;
pub use list_routes::ListRoutes;
pub use list_secrets::ListSecrets;
pub use list_tails::ListTails;
pub use send_tail_heartbeat::SendTailHeartbeat;
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Eq)]
pub struct WorkersRoute {
pub id: String,
pub pattern: String,
pub script: Option<String>,
}
impl ApiResultTraits for WorkersRoute {}
impl ApiResultTraits for Vec<WorkersRoute> {}
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Eq)]
pub struct WorkersRouteIdOnly {
pub id: String,
}
impl ApiResultTraits for WorkersRouteIdOnly {}
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Eq)]
pub struct WorkersSecret {
pub name: String,
#[serde(rename = "type")]
pub secret_type: String,
}
impl ApiResultTraits for WorkersSecret {}
impl ApiResultTraits for Vec<WorkersSecret> {}
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Eq)]
pub struct WorkersTail {
pub id: String,
pub url: Option<String>,
pub expires_at: DateTime<Utc>,
}
impl ApiResultTraits for WorkersTail {}
impl ApiResultTraits for Vec<WorkersTail> {}