use crate::{
dto::state::{SubnetStateInput, SubnetStateResponse},
ops::storage::state::mapper::SubnetStateMapper,
storage::stable::state::subnet::{SubnetState, SubnetStateRecord},
};
pub struct SubnetStateOps;
impl SubnetStateOps {
#[must_use]
pub fn snapshot_input() -> SubnetStateInput {
SubnetStateMapper::record_to_input(SubnetState::export())
}
#[must_use]
pub fn snapshot_response() -> SubnetStateResponse {
SubnetStateMapper::record_to_response(SubnetState::export())
}
fn import_record(data: SubnetStateRecord) {
SubnetState::import(sanitized_subnet_state(data));
}
pub fn import_input(view: SubnetStateInput) {
let record = SubnetStateMapper::input_to_record(view);
Self::import_record(record);
}
}
const fn sanitized_subnet_state(data: SubnetStateRecord) -> SubnetStateRecord {
data
}