Authenticate using registry - part 2

This commit is contained in:
mdecimus
2026-02-05 18:41:23 +01:00
parent 0af735540d
commit 1a780ca294
83 changed files with 524 additions and 833 deletions

View File

@@ -39,7 +39,7 @@ impl<T: SessionStream> SessionData<T> {
let mut session = SessionData {
stream_tx: session.stream_tx.clone(),
server: session.server.clone(),
account_id: access_token.primary_id(),
account_id: access_token.account_id(),
session_id: session.session_id,
mailboxes: Mutex::new(vec![]),
state: access_token.state().into(),
@@ -100,7 +100,7 @@ impl<T: SessionStream> SessionData<T> {
return Ok(None);
}
let shared_mailbox_ids = if access_token.is_primary_id(account_id)
let shared_mailbox_ids = if access_token.is_account_id(account_id)
|| access_token.member_of.contains(&account_id)
{
None
@@ -168,7 +168,7 @@ impl<T: SessionStream> SessionData<T> {
.items
.iter()
.any(|child| child.parent_id == mailbox.document_id),
is_subscribed: mailbox.subscribers.contains(&access_token.primary_id()),
is_subscribed: mailbox.subscribers.contains(&access_token.account_id()),
special_use: match mailbox.role {
SpecialUse::Trash => Some(Attribute::Trash),
SpecialUse::Junk => Some(Attribute::Junk),
@@ -236,7 +236,7 @@ impl<T: SessionStream> SessionData<T> {
.copied()
.collect::<Vec<_>>();
for account in mailboxes.drain(..) {
if access_token.is_primary_id(account.account_id)
if access_token.is_account_id(account.account_id)
|| has_access_to.contains(&account.account_id)
{
new_accounts.push(account);

View File

@@ -83,7 +83,7 @@ pub struct SelectedMailbox {
#[derive(Debug, PartialEq, Eq, Hash, Clone, Copy)]
pub struct AccountId {
pub account_id: u32,
pub primary_id: u32,
pub account_id: u32,
}
#[derive(Debug, PartialEq, Eq, Hash, Clone, Copy)]