add contacts from allow list
This commit is contained in:
parent
8fdb2b2059
commit
eafe7a0ae5
20
src/imp.rs
20
src/imp.rs
|
@ -3,19 +3,20 @@ use libcwtch::structs::*;
|
|||
use libcwtch::CwtchLib;
|
||||
|
||||
use serde_json;
|
||||
use crate::imp::NewContactPolicy::AllowList;
|
||||
|
||||
// Todo: move Behaviour + building to seperate file
|
||||
|
||||
pub struct AllowList {
|
||||
pub struct AllowListMembers {
|
||||
// list of peers to allow by handle
|
||||
peers: Vec<String>,
|
||||
// list of groups to join and listen for peers in peer list from
|
||||
groups: Vec<String>,
|
||||
}
|
||||
|
||||
impl AllowList {
|
||||
impl AllowListMembers {
|
||||
pub fn new(peers: Vec<String>, groups: Vec<String>) -> Self {
|
||||
AllowList{peers: peers, groups: groups}
|
||||
AllowListMembers {peers: peers, groups: groups}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -29,7 +30,7 @@ pub enum NewContactPolicy {
|
|||
Accept,
|
||||
/// AllowList is a list of handles that connections will be allowed from and connected to, and will be accepted
|
||||
/// everything else will be ignored
|
||||
AllowList(AllowList)
|
||||
AllowList(AllowListMembers)
|
||||
}
|
||||
|
||||
/// Settings for the bot on how it should automatically behave
|
||||
|
@ -234,10 +235,19 @@ impl Imp {
|
|||
self.process_contact(conversation.identifier);
|
||||
}
|
||||
|
||||
// Allow list should add all people in the list
|
||||
if let AllowList(allow_list) = &self.behaviour.new_contant_policy {
|
||||
for handle in &allow_list.peers {
|
||||
if let None = profile.find_conversation_id_by_handle(handle.clone()) {
|
||||
self.cwtch.import_bundle(&profile.handle.clone(), &handle.clone());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
self.profile = Some(profile);
|
||||
}
|
||||
Event::AppError { data } => {
|
||||
if initialized && data["Error"] == "Loaded 0 profiles" {
|
||||
if initialized && data.contains_key("Error") && data["Error"] == "Loaded 0 profiles" {
|
||||
self.cwtch
|
||||
.create_profile(&self.behaviour.profile_name, &self.password);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue