use simd_json::{derived::ValueTryIntoString, owned};
use crate::{
entities::identity::identity_operation::IdentityOperationData,
replica::entity::operation::operation_data::get,
};
struct SetLoginName {
login_name: String,
}
pub(crate) fn set_login_name(
mut value: owned::Object,
) -> Result<IdentityOperationData, super::decode::Error> {
let base: SetLoginName = SetLoginName {
login_name: get! {value, "login_name", try_into_string, super::decode::Error},
};
Ok(IdentityOperationData::SetLoginName {
login_name: base.login_name,
})
}
pub(crate) fn set_login_name_value(login_name: &str) -> simd_json::borrowed::Object<'_> {
let mut object = simd_json::borrowed::Object::new();
unsafe {
object.insert_nocheck("login_name".into(), login_name.into());
}
object
}