Upstream commit: 474dd0229cb20cf513036619781ed97bd8073c3f Enterprise-only files removed or emptied: 63 Enterprise-only snippets removed: 117 in 50 files Dangling module declarations removed: 5 Cargo edits turning enterprise off: 14 Verification: clean Enterprise feature gates left for rebuilt features: 19 in 18 files Produced by tools/fork/strip.py. The full report is in docs/fork/strip-reports/ on main.
45 lines
1.1 KiB
Rust
45 lines
1.1 KiB
Rust
/*
|
|
* SPDX-FileCopyrightText: 2020 Stalwart Labs LLC <[email protected]>
|
|
*
|
|
* SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-SEL
|
|
*/
|
|
|
|
use common::{Server, auth::AccessToken};
|
|
use jmap_proto::{
|
|
method::query::{QueryRequest, QueryResponse},
|
|
object::quota::Quota,
|
|
types::state::State,
|
|
};
|
|
use std::future::Future;
|
|
use types::id::Id;
|
|
|
|
pub trait QuotaQuery: Sync + Send {
|
|
fn quota_query(
|
|
&self,
|
|
request: QueryRequest<Quota>,
|
|
access_token: &AccessToken,
|
|
) -> impl Future<Output = trc::Result<QueryResponse>> + Send;
|
|
}
|
|
|
|
impl QuotaQuery for Server {
|
|
async fn quota_query(
|
|
&self,
|
|
request: QueryRequest<Quota>,
|
|
access_token: &AccessToken,
|
|
) -> trc::Result<QueryResponse> {
|
|
Ok(QueryResponse {
|
|
account_id: request.account_id,
|
|
query_state: State::Initial,
|
|
can_calculate_changes: false,
|
|
position: 0,
|
|
ids: if self.account(access_token.account_id()).await?.disk_quota() > 0 {
|
|
vec![Id::new(0)]
|
|
} else {
|
|
vec![]
|
|
},
|
|
total: Some(1),
|
|
limit: None,
|
|
})
|
|
}
|
|
}
|