add: mark all notifications as read/unread
fix: anonymous avatar/username
This commit is contained in:
parent
37e68079d8
commit
3f6f1eda9f
7 changed files with 118 additions and 10 deletions
|
@ -237,6 +237,10 @@ pub fn routes() -> Router {
|
|||
"/notifications/{id}/read_status",
|
||||
post(notifications::update_read_status_request),
|
||||
)
|
||||
.route(
|
||||
"/notifications/all/read_status",
|
||||
post(notifications::update_all_read_status_request),
|
||||
)
|
||||
// community memberships
|
||||
.route(
|
||||
"/communities/{id}/join",
|
||||
|
|
|
@ -87,3 +87,24 @@ pub async fn update_read_status_request(
|
|||
Err(e) => Json(e.into()),
|
||||
}
|
||||
}
|
||||
|
||||
pub async fn update_all_read_status_request(
|
||||
jar: CookieJar,
|
||||
Extension(data): Extension<State>,
|
||||
Json(req): Json<UpdateNotificationRead>,
|
||||
) -> impl IntoResponse {
|
||||
let data = &(data.read().await).0;
|
||||
let user = match get_user_from_token!(jar, data) {
|
||||
Some(ua) => ua,
|
||||
None => return Json(Error::NotAllowed.into()),
|
||||
};
|
||||
|
||||
match data.update_all_notifications_read(&user, req.read).await {
|
||||
Ok(_) => Json(ApiReturn {
|
||||
ok: true,
|
||||
message: "Notifications updated".to_string(),
|
||||
payload: (),
|
||||
}),
|
||||
Err(e) => Json(e.into()),
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue