use crate::{
dto::state::{FleetCommand, FleetStateInput, FleetStateResponse},
ops::storage::state::fleet::FleetStateCommand,
storage::stable::state::fleet::FleetStateRecord,
};
pub struct FleetStateMapper;
impl FleetStateMapper {
#[must_use]
pub const fn record_to_input(data: FleetStateRecord) -> FleetStateInput {
FleetStateInput {
mode: data.mode,
cycles_funding_enabled: data.cycles_funding_enabled,
}
}
#[must_use]
pub const fn record_to_response(data: FleetStateRecord) -> FleetStateResponse {
FleetStateResponse {
mode: data.mode,
cycles_funding_enabled: data.cycles_funding_enabled,
}
}
#[must_use]
pub const fn input_to_record(view: FleetStateInput) -> FleetStateRecord {
FleetStateRecord {
mode: view.mode,
cycles_funding_enabled: view.cycles_funding_enabled,
}
}
}
pub struct FleetStateCommandMapper;
impl FleetStateCommandMapper {
#[must_use]
pub const fn dto_to_record(cmd: FleetCommand) -> FleetStateCommand {
match cmd {
FleetCommand::SetStatus(status) => FleetStateCommand::SetStatus(status),
FleetCommand::SetCyclesFundingEnabled(enabled) => {
FleetStateCommand::SetCyclesFundingEnabled(enabled)
}
}
}
}