alfred_workflow_rust_project/
workflow_keychain.rs1use crate::alfred::AlfredEnv;
2use crate::workflow::AlfredWorkflow;
3use security_framework::passwords;
4
5impl AlfredWorkflow {
6 pub fn get_generic_password(&self, name: &str) -> String {
7 let service = self.get_workflow_bundle_id();
8 String::from_utf8(
9 passwords::get_generic_password(service.as_str(), name).unwrap_or_default(),
10 )
11 .unwrap_or_default()
12 }
13
14 pub fn set_generic_password(&self, name: &str, password: &str) -> bool {
15 let service = self.get_workflow_bundle_id();
16 passwords::set_generic_password(service.as_str(), name, password.as_bytes()).is_ok()
17 }
18}