Files
simple-rust-tests/__crypto/simple_contract/src/credit_util.rs
2021-01-01 23:31:31 +08:00

23 lines
619 B
Rust

use std::fs;
use std::fs::File;
use rust_util::XResult;
use crate::credit::CreditContract;
pub fn load_credit_contract(name: &str) -> XResult<CreditContract> {
let json = fs::read_to_string(name)?;
serde_json::from_str(&json).map_err(|e| e.into())
}
pub fn save_credit_contract(c: &CreditContract, overwrite: bool) -> XResult<()> {
let name = &c.name;
if !overwrite {
if let Ok(_) = File::open(name) {
return simple_error!("File exists: {}", name);
}
}
information!("Write file: {}", name);
fs::write(name, serde_json::to_string(c)?.as_bytes())?;
Ok(())
}