|
|
|
|
@ -17,7 +17,7 @@ use rocket::{delete, get, post, put};
@@ -17,7 +17,7 @@ use rocket::{delete, get, post, put};
|
|
|
|
|
feature = "conduit_bin", |
|
|
|
|
post("/_matrix/client/unstable/room_keys/version", data = "<body>") |
|
|
|
|
)] |
|
|
|
|
pub fn create_backup_route( |
|
|
|
|
pub async fn create_backup_route( |
|
|
|
|
db: State<'_, Database>, |
|
|
|
|
body: Ruma<create_backup::Request>, |
|
|
|
|
) -> ConduitResult<create_backup::Response> { |
|
|
|
|
@ -26,6 +26,8 @@ pub fn create_backup_route(
@@ -26,6 +26,8 @@ pub fn create_backup_route(
|
|
|
|
|
.key_backups |
|
|
|
|
.create_backup(&sender_user, &body.algorithm, &db.globals)?; |
|
|
|
|
|
|
|
|
|
db.flush().await?; |
|
|
|
|
|
|
|
|
|
Ok(create_backup::Response { version }.into()) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -33,7 +35,7 @@ pub fn create_backup_route(
@@ -33,7 +35,7 @@ pub fn create_backup_route(
|
|
|
|
|
feature = "conduit_bin", |
|
|
|
|
put("/_matrix/client/unstable/room_keys/version/<_>", data = "<body>") |
|
|
|
|
)] |
|
|
|
|
pub fn update_backup_route( |
|
|
|
|
pub async fn update_backup_route( |
|
|
|
|
db: State<'_, Database>, |
|
|
|
|
body: Ruma<update_backup::Request<'_>>, |
|
|
|
|
) -> ConduitResult<update_backup::Response> { |
|
|
|
|
@ -41,6 +43,8 @@ pub fn update_backup_route(
@@ -41,6 +43,8 @@ pub fn update_backup_route(
|
|
|
|
|
db.key_backups |
|
|
|
|
.update_backup(&sender_user, &body.version, &body.algorithm, &db.globals)?; |
|
|
|
|
|
|
|
|
|
db.flush().await?; |
|
|
|
|
|
|
|
|
|
Ok(update_backup::Response.into()) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -48,7 +52,7 @@ pub fn update_backup_route(
@@ -48,7 +52,7 @@ pub fn update_backup_route(
|
|
|
|
|
feature = "conduit_bin", |
|
|
|
|
get("/_matrix/client/unstable/room_keys/version", data = "<body>") |
|
|
|
|
)] |
|
|
|
|
pub fn get_latest_backup_route( |
|
|
|
|
pub async fn get_latest_backup_route( |
|
|
|
|
db: State<'_, Database>, |
|
|
|
|
body: Ruma<get_latest_backup::Request>, |
|
|
|
|
) -> ConduitResult<get_latest_backup::Response> { |
|
|
|
|
@ -75,7 +79,7 @@ pub fn get_latest_backup_route(
@@ -75,7 +79,7 @@ pub fn get_latest_backup_route(
|
|
|
|
|
feature = "conduit_bin", |
|
|
|
|
get("/_matrix/client/unstable/room_keys/version/<_>", data = "<body>") |
|
|
|
|
)] |
|
|
|
|
pub fn get_backup_route( |
|
|
|
|
pub async fn get_backup_route( |
|
|
|
|
db: State<'_, Database>, |
|
|
|
|
body: Ruma<get_backup::Request<'_>>, |
|
|
|
|
) -> ConduitResult<get_backup::Response> { |
|
|
|
|
@ -101,7 +105,7 @@ pub fn get_backup_route(
@@ -101,7 +105,7 @@ pub fn get_backup_route(
|
|
|
|
|
feature = "conduit_bin", |
|
|
|
|
delete("/_matrix/client/unstable/room_keys/version/<_>", data = "<body>") |
|
|
|
|
)] |
|
|
|
|
pub fn delete_backup_route( |
|
|
|
|
pub async fn delete_backup_route( |
|
|
|
|
db: State<'_, Database>, |
|
|
|
|
body: Ruma<delete_backup::Request>, |
|
|
|
|
) -> ConduitResult<delete_backup::Response> { |
|
|
|
|
@ -109,6 +113,8 @@ pub fn delete_backup_route(
@@ -109,6 +113,8 @@ pub fn delete_backup_route(
|
|
|
|
|
|
|
|
|
|
db.key_backups.delete_backup(&sender_user, &body.version)?; |
|
|
|
|
|
|
|
|
|
db.flush().await?; |
|
|
|
|
|
|
|
|
|
Ok(delete_backup::Response.into()) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -117,7 +123,7 @@ pub fn delete_backup_route(
@@ -117,7 +123,7 @@ pub fn delete_backup_route(
|
|
|
|
|
feature = "conduit_bin", |
|
|
|
|
put("/_matrix/client/unstable/room_keys/keys", data = "<body>") |
|
|
|
|
)] |
|
|
|
|
pub fn add_backup_keys_route( |
|
|
|
|
pub async fn add_backup_keys_route( |
|
|
|
|
db: State<'_, Database>, |
|
|
|
|
body: Ruma<add_backup_keys::Request<'_>>, |
|
|
|
|
) -> ConduitResult<add_backup_keys::Response> { |
|
|
|
|
@ -136,6 +142,8 @@ pub fn add_backup_keys_route(
@@ -136,6 +142,8 @@ pub fn add_backup_keys_route(
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
db.flush().await?; |
|
|
|
|
|
|
|
|
|
Ok(add_backup_keys::Response { |
|
|
|
|
count: (db.key_backups.count_keys(sender_user, &body.version)? as u32).into(), |
|
|
|
|
etag: db.key_backups.get_etag(sender_user, &body.version)?, |
|
|
|
|
@ -148,7 +156,7 @@ pub fn add_backup_keys_route(
@@ -148,7 +156,7 @@ pub fn add_backup_keys_route(
|
|
|
|
|
feature = "conduit_bin", |
|
|
|
|
put("/_matrix/client/unstable/room_keys/keys/<_>", data = "<body>") |
|
|
|
|
)] |
|
|
|
|
pub fn add_backup_key_sessions_route( |
|
|
|
|
pub async fn add_backup_key_sessions_route( |
|
|
|
|
db: State<'_, Database>, |
|
|
|
|
body: Ruma<add_backup_key_sessions::Request>, |
|
|
|
|
) -> ConduitResult<add_backup_key_sessions::Response> { |
|
|
|
|
@ -165,6 +173,8 @@ pub fn add_backup_key_sessions_route(
@@ -165,6 +173,8 @@ pub fn add_backup_key_sessions_route(
|
|
|
|
|
)? |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
db.flush().await?; |
|
|
|
|
|
|
|
|
|
Ok(add_backup_key_sessions::Response { |
|
|
|
|
count: (db.key_backups.count_keys(sender_user, &body.version)? as u32).into(), |
|
|
|
|
etag: db.key_backups.get_etag(sender_user, &body.version)?, |
|
|
|
|
@ -177,7 +187,7 @@ pub fn add_backup_key_sessions_route(
@@ -177,7 +187,7 @@ pub fn add_backup_key_sessions_route(
|
|
|
|
|
feature = "conduit_bin", |
|
|
|
|
put("/_matrix/client/unstable/room_keys/keys/<_>/<_>", data = "<body>") |
|
|
|
|
)] |
|
|
|
|
pub fn add_backup_key_session_route( |
|
|
|
|
pub async fn add_backup_key_session_route( |
|
|
|
|
db: State<'_, Database>, |
|
|
|
|
body: Ruma<add_backup_key_session::Request>, |
|
|
|
|
) -> ConduitResult<add_backup_key_session::Response> { |
|
|
|
|
@ -192,6 +202,8 @@ pub fn add_backup_key_session_route(
@@ -192,6 +202,8 @@ pub fn add_backup_key_session_route(
|
|
|
|
|
&db.globals, |
|
|
|
|
)?; |
|
|
|
|
|
|
|
|
|
db.flush().await?; |
|
|
|
|
|
|
|
|
|
Ok(add_backup_key_session::Response { |
|
|
|
|
count: (db.key_backups.count_keys(sender_user, &body.version)? as u32).into(), |
|
|
|
|
etag: db.key_backups.get_etag(sender_user, &body.version)?, |
|
|
|
|
@ -203,7 +215,7 @@ pub fn add_backup_key_session_route(
@@ -203,7 +215,7 @@ pub fn add_backup_key_session_route(
|
|
|
|
|
feature = "conduit_bin", |
|
|
|
|
get("/_matrix/client/unstable/room_keys/keys", data = "<body>") |
|
|
|
|
)] |
|
|
|
|
pub fn get_backup_keys_route( |
|
|
|
|
pub async fn get_backup_keys_route( |
|
|
|
|
db: State<'_, Database>, |
|
|
|
|
body: Ruma<get_backup_keys::Request<'_>>, |
|
|
|
|
) -> ConduitResult<get_backup_keys::Response> { |
|
|
|
|
@ -218,7 +230,7 @@ pub fn get_backup_keys_route(
@@ -218,7 +230,7 @@ pub fn get_backup_keys_route(
|
|
|
|
|
feature = "conduit_bin", |
|
|
|
|
get("/_matrix/client/unstable/room_keys/keys/<_>", data = "<body>") |
|
|
|
|
)] |
|
|
|
|
pub fn get_backup_key_sessions_route( |
|
|
|
|
pub async fn get_backup_key_sessions_route( |
|
|
|
|
db: State<'_, Database>, |
|
|
|
|
body: Ruma<get_backup_key_sessions::Request>, |
|
|
|
|
) -> ConduitResult<get_backup_key_sessions::Response> { |
|
|
|
|
@ -235,7 +247,7 @@ pub fn get_backup_key_sessions_route(
@@ -235,7 +247,7 @@ pub fn get_backup_key_sessions_route(
|
|
|
|
|
feature = "conduit_bin", |
|
|
|
|
get("/_matrix/client/unstable/room_keys/keys/<_>/<_>", data = "<body>") |
|
|
|
|
)] |
|
|
|
|
pub fn get_backup_key_session_route( |
|
|
|
|
pub async fn get_backup_key_session_route( |
|
|
|
|
db: State<'_, Database>, |
|
|
|
|
body: Ruma<get_backup_key_session::Request>, |
|
|
|
|
) -> ConduitResult<get_backup_key_session::Response> { |
|
|
|
|
@ -252,7 +264,7 @@ pub fn get_backup_key_session_route(
@@ -252,7 +264,7 @@ pub fn get_backup_key_session_route(
|
|
|
|
|
feature = "conduit_bin", |
|
|
|
|
delete("/_matrix/client/unstable/room_keys/keys", data = "<body>") |
|
|
|
|
)] |
|
|
|
|
pub fn delete_backup_keys_route( |
|
|
|
|
pub async fn delete_backup_keys_route( |
|
|
|
|
db: State<'_, Database>, |
|
|
|
|
body: Ruma<delete_backup_keys::Request>, |
|
|
|
|
) -> ConduitResult<delete_backup_keys::Response> { |
|
|
|
|
@ -261,6 +273,8 @@ pub fn delete_backup_keys_route(
@@ -261,6 +273,8 @@ pub fn delete_backup_keys_route(
|
|
|
|
|
db.key_backups |
|
|
|
|
.delete_all_keys(&sender_user, &body.version)?; |
|
|
|
|
|
|
|
|
|
db.flush().await?; |
|
|
|
|
|
|
|
|
|
Ok(delete_backup_keys::Response { |
|
|
|
|
count: (db.key_backups.count_keys(sender_user, &body.version)? as u32).into(), |
|
|
|
|
etag: db.key_backups.get_etag(sender_user, &body.version)?, |
|
|
|
|
@ -272,7 +286,7 @@ pub fn delete_backup_keys_route(
@@ -272,7 +286,7 @@ pub fn delete_backup_keys_route(
|
|
|
|
|
feature = "conduit_bin", |
|
|
|
|
delete("/_matrix/client/unstable/room_keys/keys/<_>", data = "<body>") |
|
|
|
|
)] |
|
|
|
|
pub fn delete_backup_key_sessions_route( |
|
|
|
|
pub async fn delete_backup_key_sessions_route( |
|
|
|
|
db: State<'_, Database>, |
|
|
|
|
body: Ruma<delete_backup_key_sessions::Request>, |
|
|
|
|
) -> ConduitResult<delete_backup_key_sessions::Response> { |
|
|
|
|
@ -281,6 +295,8 @@ pub fn delete_backup_key_sessions_route(
@@ -281,6 +295,8 @@ pub fn delete_backup_key_sessions_route(
|
|
|
|
|
db.key_backups |
|
|
|
|
.delete_room_keys(&sender_user, &body.version, &body.room_id)?; |
|
|
|
|
|
|
|
|
|
db.flush().await?; |
|
|
|
|
|
|
|
|
|
Ok(delete_backup_key_sessions::Response { |
|
|
|
|
count: (db.key_backups.count_keys(sender_user, &body.version)? as u32).into(), |
|
|
|
|
etag: db.key_backups.get_etag(sender_user, &body.version)?, |
|
|
|
|
@ -292,7 +308,7 @@ pub fn delete_backup_key_sessions_route(
@@ -292,7 +308,7 @@ pub fn delete_backup_key_sessions_route(
|
|
|
|
|
feature = "conduit_bin", |
|
|
|
|
delete("/_matrix/client/unstable/room_keys/keys/<_>/<_>", data = "<body>") |
|
|
|
|
)] |
|
|
|
|
pub fn delete_backup_key_session_route( |
|
|
|
|
pub async fn delete_backup_key_session_route( |
|
|
|
|
db: State<'_, Database>, |
|
|
|
|
body: Ruma<delete_backup_key_session::Request>, |
|
|
|
|
) -> ConduitResult<delete_backup_key_session::Response> { |
|
|
|
|
@ -301,6 +317,8 @@ pub fn delete_backup_key_session_route(
@@ -301,6 +317,8 @@ pub fn delete_backup_key_session_route(
|
|
|
|
|
db.key_backups |
|
|
|
|
.delete_room_key(&sender_user, &body.version, &body.room_id, &body.session_id)?; |
|
|
|
|
|
|
|
|
|
db.flush().await?; |
|
|
|
|
|
|
|
|
|
Ok(delete_backup_key_session::Response { |
|
|
|
|
count: (db.key_backups.count_keys(sender_user, &body.version)? as u32).into(), |
|
|
|
|
etag: db.key_backups.get_etag(sender_user, &body.version)?, |
|
|
|
|
|