2022-11-09 22:43:22 +01:00
|
|
|
use serde::Deserialize;
|
2022-12-15 07:09:09 +01:00
|
|
|
use std::collections::HashMap;
|
2022-11-09 22:43:22 +01:00
|
|
|
use url::Url;
|
2022-12-15 07:09:09 +01:00
|
|
|
use uuid::Uuid;
|
2022-11-09 22:43:22 +01:00
|
|
|
|
|
|
|
#[derive(Debug, Deserialize)]
|
|
|
|
pub struct Config {
|
|
|
|
pub sync_token: String,
|
2022-12-21 00:53:57 +01:00
|
|
|
pub schedule: Option<String>,
|
|
|
|
pub status_bind: Option<String>,
|
2022-11-09 22:43:22 +01:00
|
|
|
pub ipa_uri: Url,
|
|
|
|
pub ipa_ca: String,
|
|
|
|
pub ipa_sync_dn: String,
|
|
|
|
pub ipa_sync_pw: String,
|
|
|
|
pub ipa_sync_base_dn: String,
|
2022-12-15 07:09:09 +01:00
|
|
|
|
|
|
|
// pub entry: Option<Vec<EntryConfig>>,
|
|
|
|
#[serde(flatten)]
|
|
|
|
pub entry_map: HashMap<Uuid, EntryConfig>,
|
|
|
|
}
|
|
|
|
|
|
|
|
#[derive(Debug, Deserialize, Default, Clone)]
|
|
|
|
pub struct EntryConfig {
|
|
|
|
// uuid: Uuid,
|
|
|
|
|
|
|
|
// Default false
|
|
|
|
#[serde(default)]
|
|
|
|
pub exclude: bool,
|
|
|
|
// map_uuid: Option<Uuid>,
|
|
|
|
// map_external_id: Option<String>,
|
|
|
|
// map_name: Option<String>,
|
2022-11-09 22:43:22 +01:00
|
|
|
}
|