add: meta info

This commit is contained in:
Kingtous
2022-05-08 21:01:03 +08:00
parent 529e5104c7
commit 74a3799b78
5 changed files with 117 additions and 41 deletions

View File

@@ -1,8 +1,3 @@
use crate::log;
use directories_next::ProjectDirs;
use rand::Rng;
use serde_derive::{Deserialize, Serialize};
use sodiumoxide::crypto::sign;
use std::{
collections::HashMap,
fs,
@@ -145,6 +140,8 @@ pub struct PeerConfig {
pub options: HashMap<String, String>,
#[serde(default)]
pub info: PeerInfoSerde,
#[serde(default)]
pub transfer: TransferSerde,
}
#[derive(Debug, PartialEq, Default, Serialize, Deserialize, Clone)]
@@ -157,6 +154,16 @@ pub struct PeerInfoSerde {
pub platform: String,
}
#[derive(Debug, Default, Serialize, Deserialize, Clone)]
pub struct TransferSerde {
#[serde(default)]
pub write_jobs: Vec<TransferJobMeta>,
#[serde(default)]
pub read_jobs: Vec<TransferJobMeta>,
#[serde(default)]
pub remove_jobs: Vec<RemoveJobMeta>,
}
fn patch(path: PathBuf) -> PathBuf {
if let Some(_tmp) = path.to_str() {
#[cfg(windows)]
@@ -864,6 +871,7 @@ impl LanPeers {
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_serialize() {
let cfg: Config = Default::default();