caldav: Implement Dav Push topic

This commit is contained in:
Lennart
2025-01-12 18:45:35 +01:00
parent 8b332ade3d
commit 185eb8bddd
26 changed files with 121 additions and 76 deletions

View File

@@ -5,6 +5,7 @@ use crate::{
};
use async_trait::async_trait;
use derive_more::derive::Constructor;
use sha2::{Digest, Sha256};
#[derive(Constructor, Clone)]
pub struct ContactBirthdayStore<AS: AddressbookStore + ?Sized>(Arc<AS>);
@@ -24,6 +25,12 @@ fn birthday_calendar(addressbook: Addressbook) -> Calendar {
deleted_at: addressbook.deleted_at,
synctoken: addressbook.synctoken,
subscription_url: None,
push_topic: {
let mut hasher = Sha256::new();
hasher.update("birthdays");
hasher.update(addressbook.push_topic);
format!("{:x}", hasher.finalize())
},
}
}