IMAP: Do not return quota resources if no quota is set
This commit is contained in:
@@ -10,8 +10,6 @@
|
|||||||
* SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-SEL
|
* SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-SEL
|
||||||
*/
|
*/
|
||||||
|
|
||||||
use std::time::Instant;
|
|
||||||
|
|
||||||
use crate::{
|
use crate::{
|
||||||
core::{Session, SessionData},
|
core::{Session, SessionData},
|
||||||
op::ImapContext,
|
op::ImapContext,
|
||||||
@@ -28,6 +26,7 @@ use imap_proto::{
|
|||||||
},
|
},
|
||||||
receiver::Request,
|
receiver::Request,
|
||||||
};
|
};
|
||||||
|
use std::time::Instant;
|
||||||
|
|
||||||
impl<T: SessionStream> Session<T> {
|
impl<T: SessionStream> Session<T> {
|
||||||
pub async fn handle_get_quota(&mut self, request: Request<Command>) -> trc::Result<()> {
|
pub async fn handle_get_quota(&mut self, request: Request<Command>) -> trc::Result<()> {
|
||||||
@@ -128,11 +127,15 @@ impl<T: SessionStream> SessionData<T> {
|
|||||||
quota_root_items: vec![],
|
quota_root_items: vec![],
|
||||||
quota_items: vec![QuotaItem {
|
quota_items: vec![QuotaItem {
|
||||||
name: arguments.name,
|
name: arguments.name,
|
||||||
resources: vec![QuotaResource {
|
resources: if access_token.quota > 0 {
|
||||||
resource: QuotaResourceName::Storage,
|
vec![QuotaResource {
|
||||||
total: access_token.quota,
|
resource: QuotaResourceName::Storage,
|
||||||
used: used_quota as u64,
|
total: access_token.quota,
|
||||||
}],
|
used: used_quota as u64,
|
||||||
|
}]
|
||||||
|
} else {
|
||||||
|
vec![]
|
||||||
|
},
|
||||||
}],
|
}],
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -188,11 +191,15 @@ impl<T: SessionStream> SessionData<T> {
|
|||||||
quota_root_items: vec![arguments.name, format!("#{account_id}")],
|
quota_root_items: vec![arguments.name, format!("#{account_id}")],
|
||||||
quota_items: vec![QuotaItem {
|
quota_items: vec![QuotaItem {
|
||||||
name: format!("#{account_id}"),
|
name: format!("#{account_id}"),
|
||||||
resources: vec![QuotaResource {
|
resources: if access_token.quota > 0 {
|
||||||
resource: QuotaResourceName::Storage,
|
vec![QuotaResource {
|
||||||
total: access_token.quota,
|
resource: QuotaResourceName::Storage,
|
||||||
used: used_quota as u64,
|
total: access_token.quota,
|
||||||
}],
|
used: used_quota as u64,
|
||||||
|
}]
|
||||||
|
} else {
|
||||||
|
vec![]
|
||||||
|
},
|
||||||
}],
|
}],
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user