httpd: Add notification inbox to `/node/inbox` route
Adds all notifications, sorted by timestamp. Provides endpoint to clear the entire inbox, or change the read status on a single notification.
9 files changed
+349
-7
9767b485
→
0fd3ecb8
modified Cargo.lock
@@ -2477,6 +2477,7 @@ dependencies = [
|
|
|
|
|
|
| + | |
|
|
|
|
|
modified radicle-httpd/Cargo.toml
@@ -25,6 +25,7 @@ fastrand = { version = "2.0.0" }
|
|
|
|
|
|
| + | |
|
|
|
|
|
modified radicle-httpd/src/api/error.rs
@@ -46,6 +46,10 @@ pub enum Error {
|
|
|
|
|
|
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
modified radicle-httpd/src/api/json.rs
@@ -5,16 +5,17 @@ use std::path::Path;
|
|
|
|
|
|
| - | |
| - | |
|
|
|
|
|
|
|
|
|
|
|
|
| + | |
|
|
| + | |
|
|
| + | |
|
|
|
|
|
@@ -167,6 +168,64 @@ fn author(author: &Author, alias: Option<Alias>) -> Value {
|
|
|
|
|
|
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
modified radicle-httpd/src/api/v1/node.rs
@@ -1,12 +1,16 @@
| - | |
| + | |
| + | |
| + | |
|
|
| - | |
| + | |
|
|
|
|
|
|
| + | |
|
|
|
|
|
|
| + | |
|
|
|
|
|
@@ -18,6 +22,11 @@ use crate::axum_extra::{Path, Query};
|
|
|
|
|
|
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -55,6 +64,77 @@ async fn node_handler(State(ctx): State<Context>) -> impl IntoResponse {
|
|
|
|
|
|
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
modified radicle-httpd/src/api/v1/projects.rs
@@ -9,17 +9,21 @@ use axum::routing::{get, patch, post};
|
|
|
|
|
|
| + | |
|
|
|
|
|
|
|
|
|
|
| - | |
| + | |
|
|
| + | |
| + | |
|
|
|
|
| + | |
|
|
| - | |
| + | |
|
|
|
|
|
@@ -33,11 +37,18 @@ const MAX_BODY_LIMIT: usize = 4_194_304;
|
|
|
|
|
|
| + | |
|
|
|
|
|
|
|
|
|
|
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -152,6 +163,25 @@ async fn project_root_handler(
|
|
|
|
|
|
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -411,6 +441,151 @@ async fn activity_handler(
|
|
|
|
|
|
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
modified radicle/src/node/notifications.rs
@@ -13,7 +13,7 @@ use crate::storage::{RefUpdate, RemoteId};
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
modified radicle/src/node/notifications/store.rs
@@ -303,6 +303,20 @@ impl<T> Store<T> {
|
|
|
|
|
|
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
modified radicle/src/profile.rs
@@ -453,6 +453,14 @@ impl Home {
|
|
|
|
|
|
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|