cpkg/
database.rs

1use crate::application::Application;
2use crate::prelude::*;
3use serde::{Deserialize, Serialize};
4use std::collections::HashMap;
5use std::fs::read_to_string;
6
7#[derive(Debug, Deserialize, Serialize, Default)]
8pub struct Database {
9    #[serde(flatten)]
10    pub packages: HashMap<String, Application>,
11}
12
13pub fn load_from_file(path: &str) -> Result<Database> {
14    let database_string = read_to_string(path)?;
15
16    // Deserialize
17    let database = toml::from_str(&database_string)?;
18
19    Ok(database)
20}