fix
Some checks failed
Build and Publish Images / build-and-push (push) Has been cancelled

This commit is contained in:
arrelin
2026-01-17 13:10:03 +03:00
parent 35e79de378
commit 514ced6e19
4 changed files with 224 additions and 3 deletions

View File

@@ -6,6 +6,7 @@ use axum::{
use axum_login::AuthSession;
use sea_orm::DatabaseConnection;
use serde::{Deserialize, Serialize};
use tower_sessions::Session;
use utoipa::ToSchema;
use crate::auth::AuthBackend;
@@ -243,6 +244,7 @@ pub async fn validate_invite_link(
)]
pub async fn join_family_via_invite(
auth_session: AuthSession<AuthBackend>,
session: Session,
State(db): State<DatabaseConnection>,
Path(token): Path<String>,
) -> Result<Json<JoinFamilyResponse>, StatusCode> {
@@ -266,6 +268,19 @@ pub async fn join_family_via_invite(
_ => StatusCode::INTERNAL_SERVER_ERROR,
})?;
let mut authorized_families: Vec<i32> = session
.get("authorized_families")
.await
.unwrap_or(None)
.unwrap_or_default();
if !authorized_families.contains(&invite.family_id) {
authorized_families.push(invite.family_id);
session
.insert("authorized_families", authorized_families)
.await
.ok();
}
Ok(Json(JoinFamilyResponse {
success: true,
family_id: invite.family_id,