1 use lazy_static
::lazy_static
;
2 use proxmox_schema
::{ApiType, ObjectSchema}
;
3 use proxmox_section_config
::{SectionConfig, SectionConfigData, SectionConfigPlugin}
;
5 use crate::schema
::BACKEND_NAME_SCHEMA
;
9 pub static ref CONFIG
: SectionConfig
= config_init();
10 pub static ref PRIVATE_CONFIG
: SectionConfig
= private_config_init();
13 fn config_init() -> SectionConfig
{
14 let mut config
= SectionConfig
::new(&BACKEND_NAME_SCHEMA
);
19 fn private_config_init() -> SectionConfig
{
20 let mut config
= SectionConfig
::new(&BACKEND_NAME_SCHEMA
);
25 pub fn config(raw_config
: &str) -> Result
<(SectionConfigData
, [u8; 32]), Error
> {
26 let digest
= openssl
::sha
::sha256(raw_config
.as_bytes());
28 .parse("notifications.cfg", raw_config
)
29 .map_err(|err
| Error
::ConfigDeserialization(err
.into()))?
;
33 pub fn private_config(raw_config
: &str) -> Result
<(SectionConfigData
, [u8; 32]), Error
> {
34 let digest
= openssl
::sha
::sha256(raw_config
.as_bytes());
35 let data
= PRIVATE_CONFIG
36 .parse("priv/notifications.cfg", raw_config
)
37 .map_err(|err
| Error
::ConfigDeserialization(err
.into()))?
;
41 pub fn write(config
: &SectionConfigData
) -> Result
<String
, Error
> {
43 .write("notifications.cfg", config
)
44 .map_err(|err
| Error
::ConfigSerialization(err
.into()))
47 pub fn write_private(config
: &SectionConfigData
) -> Result
<String
, Error
> {
49 .write("priv/notifications.cfg", config
)
50 .map_err(|err
| Error
::ConfigSerialization(err
.into()))