WebDAV permissions and logging (closes #1362)

This commit is contained in:
mdecimus
2025-05-09 15:47:09 +02:00
parent fe7d646966
commit 095c501a66
50 changed files with 1031 additions and 273 deletions

View File

@@ -462,9 +462,9 @@ impl AccessToken {
self.permissions.get(permission.id())
}
pub fn assert_has_permission(&self, permission: Permission) -> trc::Result<()> {
pub fn assert_has_permission(&self, permission: Permission) -> trc::Result<bool> {
if self.has_permission(permission) {
Ok(())
Ok(true)
} else {
Err(trc::SecurityEvent::Unauthorized
.into_err()
@@ -518,6 +518,10 @@ impl AccessToken {
})
}
pub fn has_account_access(&self, to_account_id: u32) -> bool {
self.is_member(to_account_id) || self.access_to.iter().any(|(id, _)| *id == to_account_id)
}
pub fn assert_has_access(
&self,
to_account_id: Id,