use skyzen_services::durable::{Alarm, DurableDb, DurableKv};
use super::connections::DurableConnections;
use super::id::DurableObjectId;
pub struct DurableContext {
kv: DurableKv,
db: DurableDb,
alarm: Alarm,
connections: DurableConnections,
id: DurableObjectId,
}
impl std::fmt::Debug for DurableContext {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.debug_struct("DurableContext")
.field("id", &self.id)
.finish_non_exhaustive()
}
}
impl DurableContext {
#[must_use]
#[allow(clippy::missing_const_for_fn)] pub fn new(
kv: DurableKv,
db: DurableDb,
alarm: Alarm,
connections: DurableConnections,
id: DurableObjectId,
) -> Self {
Self {
kv,
db,
alarm,
connections,
id,
}
}
#[must_use]
pub const fn kv(&self) -> &DurableKv {
&self.kv
}
#[must_use]
pub const fn db(&self) -> &DurableDb {
&self.db
}
#[must_use]
pub const fn alarm(&self) -> &Alarm {
&self.alarm
}
#[must_use]
pub const fn connections(&self) -> &DurableConnections {
&self.connections
}
#[must_use]
pub const fn id(&self) -> &DurableObjectId {
&self.id
}
}