migrate_examples/
migrate_examples.rs

1use notebook_types::VersionedDocument;
2use std::fs;
3use std::path::Path;
4
5fn main() -> Result<(), Box<dyn std::error::Error>> {
6    let input_dir = Path::new("examples/v0");
7    let output_dir = Path::new("examples/v1");
8
9    fs::create_dir_all(output_dir)?;
10
11    for entry in fs::read_dir(input_dir)? {
12        let path = entry?.path();
13
14        let content = fs::read_to_string(&path)?;
15        let doc: VersionedDocument = serde_json::from_str(&content)?;
16
17        let current_doc = doc.to_current();
18        let migrated_json = serde_json::to_string(&current_doc)?;
19
20        let output_path = output_dir.join(path.file_name().unwrap());
21        fs::write(&output_path, migrated_json)?;
22
23        println!("Migrated: {:?}", path.file_name().unwrap());
24    }
25
26    Ok(())
27}