Update all modules to use registry - part 2

This commit is contained in:
mdecimus
2026-02-10 12:16:47 +01:00
parent cc88715013
commit c4064082ea
37 changed files with 371 additions and 5754 deletions

View File

@@ -13,11 +13,8 @@ use hyper::{
body::{Bytes, Frame},
};
use jmap_proto::{response::status::PushObject, types::state::State};
use std::time::{Duration, Instant};
use std::{future::Future, str::FromStr};
use std::{
sync::Arc,
time::{Duration, Instant},
};
use types::{id::Id, type_state::DataType};
use utils::map::{bitmap::Bitmap, vec_map::VecMap};
@@ -31,7 +28,7 @@ pub trait EventSourceHandler: Sync + Send {
fn handle_event_source(
&self,
req: HttpRequest,
access_token: Arc<AccessToken>,
access_token: AccessToken,
) -> impl Future<Output = trc::Result<HttpResponse>> + Send;
}
@@ -39,7 +36,7 @@ impl EventSourceHandler for Server {
async fn handle_event_source(
&self,
req: HttpRequest,
access_token: Arc<AccessToken>,
access_token: AccessToken,
) -> trc::Result<HttpResponse> {
// Parse query
let mut ping = 0;

View File

@@ -54,7 +54,7 @@ use jmap_proto::{
response::{Response, ResponseMethod, SetResponseMethod},
};
use std::future::Future;
use std::{sync::Arc, time::Instant};
use std::time::Instant;
use trc::JmapEvent;
use types::{collection::Collection, id::Id};
@@ -62,7 +62,7 @@ pub trait RequestHandler: Sync + Send {
fn handle_jmap_request<'x>(
&self,
request: Request<'x>,
access_token: Arc<AccessToken>,
access_token: &AccessToken,
session: &HttpSessionData,
) -> impl Future<Output = Response<'x>> + Send;
@@ -81,7 +81,7 @@ impl RequestHandler for Server {
async fn handle_jmap_request<'x>(
&self,
request: Request<'x>,
access_token: Arc<AccessToken>,
access_token: &AccessToken,
session: &HttpSessionData,
) -> Response<'x> {
let add_created_ids = request.created_ids.is_some();
@@ -111,7 +111,7 @@ impl RequestHandler for Server {
.handle_method_call(
call.method,
call.name,
&access_token,
access_token,
&mut next_call,
session,
)

View File

@@ -8,7 +8,6 @@ use std::sync::Arc;
use super::{UploadResponse, download::BlobDownload};
use common::{Server, auth::AccessToken};
use registry::schema::enums::Permission;
use jmap_proto::{
error::set::SetError,
method::upload::{
@@ -16,6 +15,7 @@ use jmap_proto::{
},
request::reference::MaybeIdReference,
};
use registry::schema::enums::Permission;
use std::future::Future;
use trc::AddContext;
use types::id::Id;
@@ -36,7 +36,7 @@ pub trait BlobUpload: Sync + Send {
account_id: Id,
content_type: &str,
data: &[u8],
access_token: Arc<AccessToken>,
access_token: &AccessToken,
) -> impl Future<Output = trc::Result<UploadResponse>> + Send;
}
@@ -210,11 +210,11 @@ impl BlobUpload for Server {
account_id: Id,
content_type: &str,
data: &[u8],
access_token: Arc<AccessToken>,
access_token: &AccessToken,
) -> trc::Result<UploadResponse> {
// Limit concurrent uploads
let _in_flight = self
.is_upload_allowed(&access_token)
.is_upload_allowed(access_token)
.caused_by(trc::location!())?;
#[cfg(feature = "test_mode")]

View File

@@ -204,7 +204,6 @@ fn build_share_notification(
Value::Str(
changed_by
.description()
.as_deref()
.unwrap_or(changed_by.name())
.to_string()
.into(),

View File

@@ -17,7 +17,7 @@ use jmap_proto::{
},
};
use std::future::Future;
use std::{sync::Arc, time::Instant};
use std::time::Instant;
use tokio_tungstenite::WebSocketStream;
use trc::JmapEvent;
use tungstenite::Message;
@@ -28,7 +28,7 @@ pub trait WebSocketHandler: Sync + Send {
fn handle_websocket_stream(
&self,
stream: WebSocketStream<TokioIo<Upgraded>>,
access_token: Arc<AccessToken>,
access_token: AccessToken,
session: HttpSessionData,
) -> impl Future<Output = ()> + Send;
}
@@ -38,7 +38,7 @@ impl WebSocketHandler for Server {
async fn handle_websocket_stream(
&self,
mut stream: WebSocketStream<TokioIo<Upgraded>>,
access_token: Arc<AccessToken>,
access_token: AccessToken,
session: HttpSessionData,
) {
trc::event!(
@@ -98,7 +98,7 @@ impl WebSocketHandler for Server {
let response = self
.handle_jmap_request(
request.request,
access_token.clone(),
&access_token,
&session,
)
.await;

View File

@@ -4,25 +4,21 @@
* SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-SEL
*/
use std::sync::Arc;
use super::stream::WebSocketHandler;
use common::{Server, auth::AccessToken};
use http_proto::*;
use hyper::StatusCode;
use hyper_util::rt::TokioIo;
use std::future::Future;
use tokio_tungstenite::WebSocketStream;
use trc::JmapEvent;
use tungstenite::{handshake::derive_accept_key, protocol::Role};
use http_proto::*;
use std::future::Future;
use super::stream::WebSocketHandler;
pub trait WebSocketUpgrade: Sync + Send {
fn upgrade_websocket_connection(
&self,
req: HttpRequest,
access_token: Arc<AccessToken>,
access_token: AccessToken,
session: HttpSessionData,
) -> impl Future<Output = trc::Result<HttpResponse>> + Send;
}
@@ -31,7 +27,7 @@ impl WebSocketUpgrade for Server {
async fn upgrade_websocket_connection(
&self,
req: HttpRequest,
access_token: Arc<AccessToken>,
access_token: AccessToken,
session: HttpSessionData,
) -> trc::Result<HttpResponse> {
let headers = req.headers();