From af124c9a77638fcd9a9fbff9c2628aed45521fa7 Mon Sep 17 00:00:00 2001 From: FrenchGithubUser Date: Tue, 14 Oct 2025 17:40:12 +0200 Subject: [PATCH] renamed `jwt_middleware` to `auth_middleware`, await shared `Tracker` struct creation, fix passkeys length --- .../affiliated_artists/create_affiliated_artists.rs | 2 +- .../affiliated_artists/remove_affiliated_artists.rs | 2 +- backend/api/src/handlers/artists/create_artists.rs | 2 +- backend/api/src/handlers/collages/create_collage.rs | 2 +- .../src/handlers/collages/create_collage_entries.rs | 2 +- .../handlers/conversations/create_conversation.rs | 2 +- .../conversations/create_conversation_message.rs | 2 +- .../src/handlers/conversations/get_conversation.rs | 2 +- .../handlers/edition_groups/create_edition_group.rs | 2 +- .../api/src/handlers/external_db/get_isbn_data.rs | 2 +- backend/api/src/handlers/forum/create_forum_post.rs | 2 +- .../api/src/handlers/forum/create_forum_thread.rs | 2 +- backend/api/src/handlers/gifts/create_gift.rs | 2 +- .../src/handlers/invitations/create_invitation.rs | 2 +- .../handlers/master_groups/create_master_group.rs | 2 +- backend/api/src/handlers/search/search_torrents.rs | 2 +- backend/api/src/handlers/series/create_series.rs | 2 +- .../api/src/handlers/staff_pms/create_staff_pm.rs | 2 +- .../handlers/staff_pms/create_staff_pm_message.rs | 2 +- backend/api/src/handlers/staff_pms/get_staff_pm.rs | 2 +- backend/api/src/handlers/staff_pms/list_staff_pms.rs | 2 +- .../api/src/handlers/staff_pms/resolve_staff_pm.rs | 2 +- .../handlers/subscriptions/create_subscription.rs | 2 +- .../handlers/subscriptions/remove_subscription.rs | 2 +- .../src/handlers/title_groups/create_title_group.rs | 2 +- .../title_groups/create_title_group_comment.rs | 2 +- .../src/handlers/title_groups/edit_title_group.rs | 2 +- .../api/src/handlers/title_groups/get_title_group.rs | 2 +- .../torrent_requests/create_torrent_request.rs | 2 +- .../torrent_requests/create_torrent_request_vote.rs | 2 +- .../torrent_requests/edit_torrent_request.rs | 2 +- .../torrent_requests/fill_torrent_request.rs | 2 +- backend/api/src/handlers/torrents/create_torrent.rs | 2 +- .../src/handlers/torrents/create_torrent_report.rs | 2 +- backend/api/src/handlers/torrents/delete_torrent.rs | 2 +- .../handlers/torrents/download_dottorrent_file.rs | 2 +- backend/api/src/handlers/torrents/edit_torrent.rs | 2 +- .../src/handlers/torrents/get_registered_torrents.rs | 2 +- .../src/handlers/torrents/get_upload_information.rs | 2 +- .../user_applications/get_user_applications.rs | 2 +- .../update_user_application_status.rs | 2 +- backend/api/src/handlers/users/create_api_key.rs | 2 +- backend/api/src/handlers/users/edit_user.rs | 2 +- backend/api/src/handlers/users/get_me.rs | 2 +- .../api/src/handlers/users/get_registered_users.rs | 2 +- backend/api/src/handlers/users/get_user.rs | 2 +- .../api/src/handlers/users/get_user_conversations.rs | 2 +- backend/api/src/handlers/users/warn_user.rs | 2 +- backend/api/src/handlers/wiki/create_wiki_article.rs | 2 +- .../{jwt_middleware.rs => auth_middleware.rs} | 1 + backend/api/src/middlewares/mod.rs | 2 +- backend/api/src/routes.rs | 2 +- backend/storage/migrations/20250312215600_initdb.sql | 2 +- backend/storage/migrations/fixtures/fixtures.sql | 11 +++++------ backend/storage/src/repositories/auth_repository.rs | 2 +- shared/src/tracker/models/user.rs | 2 +- tracker/arcadia_tracker/Cargo.toml | 2 +- tracker/arcadia_tracker/src/common/models/user.rs | 12 ++++++++++-- tracker/arcadia_tracker/src/main.rs | 2 +- 59 files changed, 72 insertions(+), 64 deletions(-) rename backend/api/src/middlewares/{jwt_middleware.rs => auth_middleware.rs} (99%) diff --git a/backend/api/src/handlers/affiliated_artists/create_affiliated_artists.rs b/backend/api/src/handlers/affiliated_artists/create_affiliated_artists.rs index cf8b6175..02b7bc66 100644 --- a/backend/api/src/handlers/affiliated_artists/create_affiliated_artists.rs +++ b/backend/api/src/handlers/affiliated_artists/create_affiliated_artists.rs @@ -1,4 +1,4 @@ -use crate::{middlewares::jwt_middleware::Authdata, Arcadia}; +use crate::{middlewares::auth_middleware::Authdata, Arcadia}; use actix_web::{ web::{Data, Json}, HttpResponse, diff --git a/backend/api/src/handlers/affiliated_artists/remove_affiliated_artists.rs b/backend/api/src/handlers/affiliated_artists/remove_affiliated_artists.rs index 42d93d78..6dc7a50d 100644 --- a/backend/api/src/handlers/affiliated_artists/remove_affiliated_artists.rs +++ b/backend/api/src/handlers/affiliated_artists/remove_affiliated_artists.rs @@ -1,4 +1,4 @@ -use crate::{middlewares::jwt_middleware::Authdata, Arcadia}; +use crate::{middlewares::auth_middleware::Authdata, Arcadia}; use actix_web::{web::Data, HttpResponse}; use actix_web_lab::extract::Query; use arcadia_common::error::Result; diff --git a/backend/api/src/handlers/artists/create_artists.rs b/backend/api/src/handlers/artists/create_artists.rs index 42dabc64..8c351f40 100644 --- a/backend/api/src/handlers/artists/create_artists.rs +++ b/backend/api/src/handlers/artists/create_artists.rs @@ -1,4 +1,4 @@ -use crate::{middlewares::jwt_middleware::Authdata, Arcadia}; +use crate::{middlewares::auth_middleware::Authdata, Arcadia}; use actix_web::{ web::{Data, Json}, HttpResponse, diff --git a/backend/api/src/handlers/collages/create_collage.rs b/backend/api/src/handlers/collages/create_collage.rs index c4e5d6e2..4e9b966a 100644 --- a/backend/api/src/handlers/collages/create_collage.rs +++ b/backend/api/src/handlers/collages/create_collage.rs @@ -1,4 +1,4 @@ -use crate::{middlewares::jwt_middleware::Authdata, Arcadia}; +use crate::{middlewares::auth_middleware::Authdata, Arcadia}; use actix_web::{ web::{Data, Json}, HttpResponse, diff --git a/backend/api/src/handlers/collages/create_collage_entries.rs b/backend/api/src/handlers/collages/create_collage_entries.rs index a6c4e80a..3bc9fb1b 100644 --- a/backend/api/src/handlers/collages/create_collage_entries.rs +++ b/backend/api/src/handlers/collages/create_collage_entries.rs @@ -1,4 +1,4 @@ -use crate::{middlewares::jwt_middleware::Authdata, Arcadia}; +use crate::{middlewares::auth_middleware::Authdata, Arcadia}; use actix_web::{ web::{Data, Json}, HttpResponse, diff --git a/backend/api/src/handlers/conversations/create_conversation.rs b/backend/api/src/handlers/conversations/create_conversation.rs index 4fc53f88..ddaf84d1 100644 --- a/backend/api/src/handlers/conversations/create_conversation.rs +++ b/backend/api/src/handlers/conversations/create_conversation.rs @@ -1,4 +1,4 @@ -use crate::{middlewares::jwt_middleware::Authdata, Arcadia}; +use crate::{middlewares::auth_middleware::Authdata, Arcadia}; use actix_web::{ web::{Data, Json}, HttpResponse, diff --git a/backend/api/src/handlers/conversations/create_conversation_message.rs b/backend/api/src/handlers/conversations/create_conversation_message.rs index 20c58b30..1f81b6b3 100644 --- a/backend/api/src/handlers/conversations/create_conversation_message.rs +++ b/backend/api/src/handlers/conversations/create_conversation_message.rs @@ -1,4 +1,4 @@ -use crate::{middlewares::jwt_middleware::Authdata, Arcadia}; +use crate::{middlewares::auth_middleware::Authdata, Arcadia}; use actix_web::{ web::{Data, Json}, HttpResponse, diff --git a/backend/api/src/handlers/conversations/get_conversation.rs b/backend/api/src/handlers/conversations/get_conversation.rs index ee227031..e42ec4d3 100644 --- a/backend/api/src/handlers/conversations/get_conversation.rs +++ b/backend/api/src/handlers/conversations/get_conversation.rs @@ -1,4 +1,4 @@ -use crate::{middlewares::jwt_middleware::Authdata, Arcadia}; +use crate::{middlewares::auth_middleware::Authdata, Arcadia}; use actix_web::{ web::{Data, Query}, HttpResponse, diff --git a/backend/api/src/handlers/edition_groups/create_edition_group.rs b/backend/api/src/handlers/edition_groups/create_edition_group.rs index 209dc83b..011569b8 100644 --- a/backend/api/src/handlers/edition_groups/create_edition_group.rs +++ b/backend/api/src/handlers/edition_groups/create_edition_group.rs @@ -1,4 +1,4 @@ -use crate::{middlewares::jwt_middleware::Authdata, Arcadia}; +use crate::{middlewares::auth_middleware::Authdata, Arcadia}; use actix_web::{ web::{Data, Json}, HttpResponse, diff --git a/backend/api/src/handlers/external_db/get_isbn_data.rs b/backend/api/src/handlers/external_db/get_isbn_data.rs index 4f74159b..5a210906 100644 --- a/backend/api/src/handlers/external_db/get_isbn_data.rs +++ b/backend/api/src/handlers/external_db/get_isbn_data.rs @@ -1,5 +1,5 @@ use crate::{ - handlers::scrapers::ExternalDBData, middlewares::jwt_middleware::Authdata, + handlers::scrapers::ExternalDBData, middlewares::auth_middleware::Authdata, services::external_db_service::check_if_existing_title_group_with_link_exists, Arcadia, }; use actix_web::{ diff --git a/backend/api/src/handlers/forum/create_forum_post.rs b/backend/api/src/handlers/forum/create_forum_post.rs index b6d3ce20..abbee612 100644 --- a/backend/api/src/handlers/forum/create_forum_post.rs +++ b/backend/api/src/handlers/forum/create_forum_post.rs @@ -1,4 +1,4 @@ -use crate::{middlewares::jwt_middleware::Authdata, Arcadia}; +use crate::{middlewares::auth_middleware::Authdata, Arcadia}; use actix_web::{ web::{Data, Json}, HttpResponse, diff --git a/backend/api/src/handlers/forum/create_forum_thread.rs b/backend/api/src/handlers/forum/create_forum_thread.rs index 3385782b..4980cb76 100644 --- a/backend/api/src/handlers/forum/create_forum_thread.rs +++ b/backend/api/src/handlers/forum/create_forum_thread.rs @@ -1,4 +1,4 @@ -use crate::{middlewares::jwt_middleware::Authdata, Arcadia}; +use crate::{middlewares::auth_middleware::Authdata, Arcadia}; use actix_web::{ web::{Data, Json}, HttpResponse, diff --git a/backend/api/src/handlers/gifts/create_gift.rs b/backend/api/src/handlers/gifts/create_gift.rs index a9002eec..94fe0bce 100644 --- a/backend/api/src/handlers/gifts/create_gift.rs +++ b/backend/api/src/handlers/gifts/create_gift.rs @@ -1,4 +1,4 @@ -use crate::{middlewares::jwt_middleware::Authdata, Arcadia}; +use crate::{middlewares::auth_middleware::Authdata, Arcadia}; use actix_web::{ web::{Data, Json}, HttpResponse, diff --git a/backend/api/src/handlers/invitations/create_invitation.rs b/backend/api/src/handlers/invitations/create_invitation.rs index de06083c..e7ac9909 100644 --- a/backend/api/src/handlers/invitations/create_invitation.rs +++ b/backend/api/src/handlers/invitations/create_invitation.rs @@ -1,5 +1,5 @@ use crate::{ - middlewares::jwt_middleware::Authdata, services::email_service::EmailService, Arcadia, + middlewares::auth_middleware::Authdata, services::email_service::EmailService, Arcadia, }; use actix_web::{ web::{Data, Json}, diff --git a/backend/api/src/handlers/master_groups/create_master_group.rs b/backend/api/src/handlers/master_groups/create_master_group.rs index ab59d5a9..e0af9a1d 100644 --- a/backend/api/src/handlers/master_groups/create_master_group.rs +++ b/backend/api/src/handlers/master_groups/create_master_group.rs @@ -1,4 +1,4 @@ -use crate::{middlewares::jwt_middleware::Authdata, Arcadia}; +use crate::{middlewares::auth_middleware::Authdata, Arcadia}; use actix_web::{ web::{Data, Json}, HttpResponse, diff --git a/backend/api/src/handlers/search/search_torrents.rs b/backend/api/src/handlers/search/search_torrents.rs index 27f94623..62997e47 100644 --- a/backend/api/src/handlers/search/search_torrents.rs +++ b/backend/api/src/handlers/search/search_torrents.rs @@ -3,7 +3,7 @@ use actix_web::{ HttpResponse, }; -use crate::{middlewares::jwt_middleware::Authdata, Arcadia}; +use crate::{middlewares::auth_middleware::Authdata, Arcadia}; use arcadia_common::error::Result; use arcadia_storage::{ models::torrent::{TorrentSearch, TorrentSearchResults}, diff --git a/backend/api/src/handlers/series/create_series.rs b/backend/api/src/handlers/series/create_series.rs index 5d828cd3..1f23d0f3 100644 --- a/backend/api/src/handlers/series/create_series.rs +++ b/backend/api/src/handlers/series/create_series.rs @@ -1,4 +1,4 @@ -use crate::{middlewares::jwt_middleware::Authdata, Arcadia}; +use crate::{middlewares::auth_middleware::Authdata, Arcadia}; use actix_web::{ web::{Data, Json}, HttpResponse, diff --git a/backend/api/src/handlers/staff_pms/create_staff_pm.rs b/backend/api/src/handlers/staff_pms/create_staff_pm.rs index 73c6a86c..36bcf8d6 100644 --- a/backend/api/src/handlers/staff_pms/create_staff_pm.rs +++ b/backend/api/src/handlers/staff_pms/create_staff_pm.rs @@ -1,4 +1,4 @@ -use crate::{middlewares::jwt_middleware::Authdata, Arcadia}; +use crate::{middlewares::auth_middleware::Authdata, Arcadia}; use actix_web::{ web::{Data, Json}, HttpResponse, diff --git a/backend/api/src/handlers/staff_pms/create_staff_pm_message.rs b/backend/api/src/handlers/staff_pms/create_staff_pm_message.rs index 30821dd3..457eac63 100644 --- a/backend/api/src/handlers/staff_pms/create_staff_pm_message.rs +++ b/backend/api/src/handlers/staff_pms/create_staff_pm_message.rs @@ -1,4 +1,4 @@ -use crate::{middlewares::jwt_middleware::Authdata, Arcadia}; +use crate::{middlewares::auth_middleware::Authdata, Arcadia}; use actix_web::{ web::{Data, Json}, HttpResponse, diff --git a/backend/api/src/handlers/staff_pms/get_staff_pm.rs b/backend/api/src/handlers/staff_pms/get_staff_pm.rs index 8ab13202..9200ff39 100644 --- a/backend/api/src/handlers/staff_pms/get_staff_pm.rs +++ b/backend/api/src/handlers/staff_pms/get_staff_pm.rs @@ -1,4 +1,4 @@ -use crate::{middlewares::jwt_middleware::Authdata, Arcadia}; +use crate::{middlewares::auth_middleware::Authdata, Arcadia}; use actix_web::{ web::{Data, Path}, HttpResponse, diff --git a/backend/api/src/handlers/staff_pms/list_staff_pms.rs b/backend/api/src/handlers/staff_pms/list_staff_pms.rs index 5de33dc4..347a716d 100644 --- a/backend/api/src/handlers/staff_pms/list_staff_pms.rs +++ b/backend/api/src/handlers/staff_pms/list_staff_pms.rs @@ -1,4 +1,4 @@ -use crate::{middlewares::jwt_middleware::Authdata, Arcadia}; +use crate::{middlewares::auth_middleware::Authdata, Arcadia}; use actix_web::{web::Data, HttpResponse}; use arcadia_common::error::Result; use arcadia_storage::models::staff_pm::StaffPmOverview; diff --git a/backend/api/src/handlers/staff_pms/resolve_staff_pm.rs b/backend/api/src/handlers/staff_pms/resolve_staff_pm.rs index ef4a526c..c0b3ab0e 100644 --- a/backend/api/src/handlers/staff_pms/resolve_staff_pm.rs +++ b/backend/api/src/handlers/staff_pms/resolve_staff_pm.rs @@ -1,4 +1,4 @@ -use crate::{middlewares::jwt_middleware::Authdata, Arcadia}; +use crate::{middlewares::auth_middleware::Authdata, Arcadia}; use actix_web::{ web::{Data, Path}, HttpResponse, diff --git a/backend/api/src/handlers/subscriptions/create_subscription.rs b/backend/api/src/handlers/subscriptions/create_subscription.rs index 3928fba7..4ae5b696 100644 --- a/backend/api/src/handlers/subscriptions/create_subscription.rs +++ b/backend/api/src/handlers/subscriptions/create_subscription.rs @@ -1,4 +1,4 @@ -use crate::{middlewares::jwt_middleware::Authdata, Arcadia}; +use crate::{middlewares::auth_middleware::Authdata, Arcadia}; use actix_web::{ web::{Data, Query}, HttpResponse, diff --git a/backend/api/src/handlers/subscriptions/remove_subscription.rs b/backend/api/src/handlers/subscriptions/remove_subscription.rs index bd38ec7b..896b0bd6 100644 --- a/backend/api/src/handlers/subscriptions/remove_subscription.rs +++ b/backend/api/src/handlers/subscriptions/remove_subscription.rs @@ -1,6 +1,6 @@ use crate::{ handlers::subscriptions::create_subscription::AddSubscriptionQuery, - middlewares::jwt_middleware::Authdata, Arcadia, + middlewares::auth_middleware::Authdata, Arcadia, }; use actix_web::{ web::{Data, Query}, diff --git a/backend/api/src/handlers/title_groups/create_title_group.rs b/backend/api/src/handlers/title_groups/create_title_group.rs index 86654c76..61e7e128 100644 --- a/backend/api/src/handlers/title_groups/create_title_group.rs +++ b/backend/api/src/handlers/title_groups/create_title_group.rs @@ -9,7 +9,7 @@ use arcadia_storage::{ use futures::future::join_all; use crate::{ - handlers::external_db::get_tmdb_data::get_tmdb_rating, middlewares::jwt_middleware::Authdata, + handlers::external_db::get_tmdb_data::get_tmdb_rating, middlewares::auth_middleware::Authdata, Arcadia, }; use arcadia_common::error::Result; diff --git a/backend/api/src/handlers/title_groups/create_title_group_comment.rs b/backend/api/src/handlers/title_groups/create_title_group_comment.rs index 4473ca79..58ef4779 100644 --- a/backend/api/src/handlers/title_groups/create_title_group_comment.rs +++ b/backend/api/src/handlers/title_groups/create_title_group_comment.rs @@ -1,4 +1,4 @@ -use crate::{middlewares::jwt_middleware::Authdata, Arcadia}; +use crate::{middlewares::auth_middleware::Authdata, Arcadia}; use actix_web::{ web::{Data, Json}, HttpResponse, diff --git a/backend/api/src/handlers/title_groups/edit_title_group.rs b/backend/api/src/handlers/title_groups/edit_title_group.rs index b02af2b4..3d823b28 100644 --- a/backend/api/src/handlers/title_groups/edit_title_group.rs +++ b/backend/api/src/handlers/title_groups/edit_title_group.rs @@ -10,7 +10,7 @@ use arcadia_storage::{ redis::RedisPoolInterface, }; -use crate::{middlewares::jwt_middleware::Authdata, Arcadia}; +use crate::{middlewares::auth_middleware::Authdata, Arcadia}; use arcadia_common::error::{Error, Result}; #[utoipa::path( diff --git a/backend/api/src/handlers/title_groups/get_title_group.rs b/backend/api/src/handlers/title_groups/get_title_group.rs index 5268d7c8..a559ac61 100644 --- a/backend/api/src/handlers/title_groups/get_title_group.rs +++ b/backend/api/src/handlers/title_groups/get_title_group.rs @@ -8,7 +8,7 @@ use arcadia_storage::{ use serde::Deserialize; use utoipa::IntoParams; -use crate::{middlewares::jwt_middleware::Authdata, Arcadia}; +use crate::{middlewares::auth_middleware::Authdata, Arcadia}; use arcadia_common::error::Result; #[derive(Debug, Deserialize, IntoParams)] diff --git a/backend/api/src/handlers/torrent_requests/create_torrent_request.rs b/backend/api/src/handlers/torrent_requests/create_torrent_request.rs index 49468cdc..ad415ba9 100644 --- a/backend/api/src/handlers/torrent_requests/create_torrent_request.rs +++ b/backend/api/src/handlers/torrent_requests/create_torrent_request.rs @@ -1,4 +1,4 @@ -use crate::{middlewares::jwt_middleware::Authdata, Arcadia}; +use crate::{middlewares::auth_middleware::Authdata, Arcadia}; use actix_web::{ web::{Data, Json}, HttpResponse, diff --git a/backend/api/src/handlers/torrent_requests/create_torrent_request_vote.rs b/backend/api/src/handlers/torrent_requests/create_torrent_request_vote.rs index 4ba0cfda..a03af4e1 100644 --- a/backend/api/src/handlers/torrent_requests/create_torrent_request_vote.rs +++ b/backend/api/src/handlers/torrent_requests/create_torrent_request_vote.rs @@ -1,4 +1,4 @@ -use crate::{middlewares::jwt_middleware::Authdata, Arcadia}; +use crate::{middlewares::auth_middleware::Authdata, Arcadia}; use actix_web::{ web::{Data, Json}, HttpResponse, diff --git a/backend/api/src/handlers/torrent_requests/edit_torrent_request.rs b/backend/api/src/handlers/torrent_requests/edit_torrent_request.rs index f65591e8..6a3d53af 100644 --- a/backend/api/src/handlers/torrent_requests/edit_torrent_request.rs +++ b/backend/api/src/handlers/torrent_requests/edit_torrent_request.rs @@ -10,7 +10,7 @@ use arcadia_storage::{ redis::RedisPoolInterface, }; -use crate::{middlewares::jwt_middleware::Authdata, Arcadia}; +use crate::{middlewares::auth_middleware::Authdata, Arcadia}; use arcadia_common::error::{Error, Result}; #[utoipa::path( diff --git a/backend/api/src/handlers/torrent_requests/fill_torrent_request.rs b/backend/api/src/handlers/torrent_requests/fill_torrent_request.rs index 6d1a7f2f..c8eb9a76 100644 --- a/backend/api/src/handlers/torrent_requests/fill_torrent_request.rs +++ b/backend/api/src/handlers/torrent_requests/fill_torrent_request.rs @@ -1,4 +1,4 @@ -use crate::{middlewares::jwt_middleware::Authdata, Arcadia}; +use crate::{middlewares::auth_middleware::Authdata, Arcadia}; use actix_web::{ web::{Data, Json}, HttpResponse, diff --git a/backend/api/src/handlers/torrents/create_torrent.rs b/backend/api/src/handlers/torrents/create_torrent.rs index 2f3ed7ed..e9b320ab 100644 --- a/backend/api/src/handlers/torrents/create_torrent.rs +++ b/backend/api/src/handlers/torrents/create_torrent.rs @@ -1,7 +1,7 @@ use actix_multipart::form::MultipartForm; use actix_web::{web::Data, HttpResponse}; -use crate::{middlewares::jwt_middleware::Authdata, Arcadia}; +use crate::{middlewares::auth_middleware::Authdata, Arcadia}; use arcadia_common::error::Result; use arcadia_storage::{ models::torrent::{Torrent, UploadedTorrent}, diff --git a/backend/api/src/handlers/torrents/create_torrent_report.rs b/backend/api/src/handlers/torrents/create_torrent_report.rs index 56b612c3..db69a100 100644 --- a/backend/api/src/handlers/torrents/create_torrent_report.rs +++ b/backend/api/src/handlers/torrents/create_torrent_report.rs @@ -1,4 +1,4 @@ -use crate::{middlewares::jwt_middleware::Authdata, Arcadia}; +use crate::{middlewares::auth_middleware::Authdata, Arcadia}; use actix_web::{ web::{Data, Json}, HttpResponse, diff --git a/backend/api/src/handlers/torrents/delete_torrent.rs b/backend/api/src/handlers/torrents/delete_torrent.rs index a58459ed..8b36175d 100644 --- a/backend/api/src/handlers/torrents/delete_torrent.rs +++ b/backend/api/src/handlers/torrents/delete_torrent.rs @@ -4,7 +4,7 @@ use actix_web::{ }; use serde_json::json; -use crate::{middlewares::jwt_middleware::Authdata, Arcadia}; +use crate::{middlewares::auth_middleware::Authdata, Arcadia}; use arcadia_common::error::{Error, Result}; use arcadia_storage::{ models::{torrent::TorrentToDelete, user::UserClass}, diff --git a/backend/api/src/handlers/torrents/download_dottorrent_file.rs b/backend/api/src/handlers/torrents/download_dottorrent_file.rs index 3402220f..1dece842 100644 --- a/backend/api/src/handlers/torrents/download_dottorrent_file.rs +++ b/backend/api/src/handlers/torrents/download_dottorrent_file.rs @@ -9,7 +9,7 @@ use arcadia_storage::redis::RedisPoolInterface; use serde::Deserialize; use utoipa::{IntoParams, ToSchema}; -use crate::{middlewares::jwt_middleware::Authdata, Arcadia}; +use crate::{middlewares::auth_middleware::Authdata, Arcadia}; use arcadia_common::error::Result; #[derive(Debug, Deserialize, IntoParams, ToSchema)] diff --git a/backend/api/src/handlers/torrents/edit_torrent.rs b/backend/api/src/handlers/torrents/edit_torrent.rs index 5f41ec2a..fbe01488 100644 --- a/backend/api/src/handlers/torrents/edit_torrent.rs +++ b/backend/api/src/handlers/torrents/edit_torrent.rs @@ -3,7 +3,7 @@ use actix_web::{ HttpResponse, }; -use crate::{middlewares::jwt_middleware::Authdata, Arcadia}; +use crate::{middlewares::auth_middleware::Authdata, Arcadia}; use arcadia_common::error::{Error, Result}; use arcadia_storage::{ models::{ diff --git a/backend/api/src/handlers/torrents/get_registered_torrents.rs b/backend/api/src/handlers/torrents/get_registered_torrents.rs index 51c5cb43..a3434b11 100644 --- a/backend/api/src/handlers/torrents/get_registered_torrents.rs +++ b/backend/api/src/handlers/torrents/get_registered_torrents.rs @@ -1,6 +1,6 @@ use actix_web::{web::Data, HttpResponse}; -use crate::{middlewares::jwt_middleware::Authdata, Arcadia}; +use crate::{middlewares::auth_middleware::Authdata, Arcadia}; use arcadia_common::error::{Error, Result}; use arcadia_storage::{ models::{torrent::TorrentMinimal, user::UserClass}, diff --git a/backend/api/src/handlers/torrents/get_upload_information.rs b/backend/api/src/handlers/torrents/get_upload_information.rs index 465fd047..1c070c23 100644 --- a/backend/api/src/handlers/torrents/get_upload_information.rs +++ b/backend/api/src/handlers/torrents/get_upload_information.rs @@ -3,7 +3,7 @@ use arcadia_storage::redis::RedisPoolInterface; use serde::{Deserialize, Serialize}; use utoipa::ToSchema; -use crate::{middlewares::jwt_middleware::Authdata, Arcadia}; +use crate::{middlewares::auth_middleware::Authdata, Arcadia}; use arcadia_common::{error::Result, services::torrent_service::get_announce_url}; #[derive(Debug, Serialize, Deserialize, ToSchema)] diff --git a/backend/api/src/handlers/user_applications/get_user_applications.rs b/backend/api/src/handlers/user_applications/get_user_applications.rs index 55cae3d7..e86bf8f7 100644 --- a/backend/api/src/handlers/user_applications/get_user_applications.rs +++ b/backend/api/src/handlers/user_applications/get_user_applications.rs @@ -1,4 +1,4 @@ -use crate::{middlewares::jwt_middleware::Authdata, Arcadia}; +use crate::{middlewares::auth_middleware::Authdata, Arcadia}; use actix_web::{ web::{Data, Query}, HttpResponse, diff --git a/backend/api/src/handlers/user_applications/update_user_application_status.rs b/backend/api/src/handlers/user_applications/update_user_application_status.rs index 2a428c05..9a20916f 100644 --- a/backend/api/src/handlers/user_applications/update_user_application_status.rs +++ b/backend/api/src/handlers/user_applications/update_user_application_status.rs @@ -1,4 +1,4 @@ -use crate::{middlewares::jwt_middleware::Authdata, Arcadia}; +use crate::{middlewares::auth_middleware::Authdata, Arcadia}; use actix_web::{ web::{Data, Json}, HttpResponse, diff --git a/backend/api/src/handlers/users/create_api_key.rs b/backend/api/src/handlers/users/create_api_key.rs index d5e02fc3..6843c681 100644 --- a/backend/api/src/handlers/users/create_api_key.rs +++ b/backend/api/src/handlers/users/create_api_key.rs @@ -1,4 +1,4 @@ -use crate::{middlewares::jwt_middleware::Authdata, Arcadia}; +use crate::{middlewares::auth_middleware::Authdata, Arcadia}; use actix_web::{ web::{Data, Json}, HttpResponse, diff --git a/backend/api/src/handlers/users/edit_user.rs b/backend/api/src/handlers/users/edit_user.rs index 753342b8..60fb8287 100644 --- a/backend/api/src/handlers/users/edit_user.rs +++ b/backend/api/src/handlers/users/edit_user.rs @@ -1,4 +1,4 @@ -use crate::{middlewares::jwt_middleware::Authdata, Arcadia}; +use crate::{middlewares::auth_middleware::Authdata, Arcadia}; use actix_web::{ web::{Data, Json}, HttpResponse, diff --git a/backend/api/src/handlers/users/get_me.rs b/backend/api/src/handlers/users/get_me.rs index 696a5010..7c69356f 100644 --- a/backend/api/src/handlers/users/get_me.rs +++ b/backend/api/src/handlers/users/get_me.rs @@ -1,4 +1,4 @@ -use crate::{middlewares::jwt_middleware::Authdata, Arcadia}; +use crate::{middlewares::auth_middleware::Authdata, Arcadia}; use actix_web::{web::Data, HttpResponse}; use arcadia_common::error::Result; use arcadia_storage::{ diff --git a/backend/api/src/handlers/users/get_registered_users.rs b/backend/api/src/handlers/users/get_registered_users.rs index 7f39f408..95384f72 100644 --- a/backend/api/src/handlers/users/get_registered_users.rs +++ b/backend/api/src/handlers/users/get_registered_users.rs @@ -1,4 +1,4 @@ -use crate::{middlewares::jwt_middleware::Authdata, Arcadia}; +use crate::{middlewares::auth_middleware::Authdata, Arcadia}; use actix_web::{web::Data, HttpResponse}; use arcadia_common::error::{Error, Result}; use arcadia_storage::{ diff --git a/backend/api/src/handlers/users/get_user.rs b/backend/api/src/handlers/users/get_user.rs index 1b4f645a..3618a5ee 100644 --- a/backend/api/src/handlers/users/get_user.rs +++ b/backend/api/src/handlers/users/get_user.rs @@ -1,4 +1,4 @@ -use crate::{middlewares::jwt_middleware::Authdata, Arcadia}; +use crate::{middlewares::auth_middleware::Authdata, Arcadia}; use actix_web::{ web::{Data, Query}, HttpResponse, diff --git a/backend/api/src/handlers/users/get_user_conversations.rs b/backend/api/src/handlers/users/get_user_conversations.rs index be33c0da..2abe8a88 100644 --- a/backend/api/src/handlers/users/get_user_conversations.rs +++ b/backend/api/src/handlers/users/get_user_conversations.rs @@ -1,4 +1,4 @@ -use crate::{middlewares::jwt_middleware::Authdata, Arcadia}; +use crate::{middlewares::auth_middleware::Authdata, Arcadia}; use actix_web::{web::Data, HttpResponse}; use arcadia_common::error::Result; use arcadia_storage::{models::conversation::ConversationsOverview, redis::RedisPoolInterface}; diff --git a/backend/api/src/handlers/users/warn_user.rs b/backend/api/src/handlers/users/warn_user.rs index 32d9e86c..05c7a875 100644 --- a/backend/api/src/handlers/users/warn_user.rs +++ b/backend/api/src/handlers/users/warn_user.rs @@ -1,4 +1,4 @@ -use crate::{middlewares::jwt_middleware::Authdata, Arcadia}; +use crate::{middlewares::auth_middleware::Authdata, Arcadia}; use actix_web::{ web::{Data, Json}, HttpResponse, diff --git a/backend/api/src/handlers/wiki/create_wiki_article.rs b/backend/api/src/handlers/wiki/create_wiki_article.rs index 26c2332e..9526802e 100644 --- a/backend/api/src/handlers/wiki/create_wiki_article.rs +++ b/backend/api/src/handlers/wiki/create_wiki_article.rs @@ -1,4 +1,4 @@ -use crate::{middlewares::jwt_middleware::Authdata, Arcadia}; +use crate::{middlewares::auth_middleware::Authdata, Arcadia}; use actix_web::{ web::{Data, Json}, HttpResponse, diff --git a/backend/api/src/middlewares/jwt_middleware.rs b/backend/api/src/middlewares/auth_middleware.rs similarity index 99% rename from backend/api/src/middlewares/jwt_middleware.rs rename to backend/api/src/middlewares/auth_middleware.rs index b678592a..c263e5ec 100644 --- a/backend/api/src/middlewares/jwt_middleware.rs +++ b/backend/api/src/middlewares/auth_middleware.rs @@ -130,6 +130,7 @@ fn validate_tracker_api_key( req: ServiceRequest, api_key: &str, ) -> std::result::Result { + println!("tracker req"); let arc = req.app_data::>>().expect("app data set"); if arc.env.tracker.api_key != api_key { diff --git a/backend/api/src/middlewares/mod.rs b/backend/api/src/middlewares/mod.rs index ca782f2d..2a709c0c 100644 --- a/backend/api/src/middlewares/mod.rs +++ b/backend/api/src/middlewares/mod.rs @@ -1 +1 @@ -pub mod jwt_middleware; +pub mod auth_middleware; diff --git a/backend/api/src/routes.rs b/backend/api/src/routes.rs index 993ba040..1692186b 100644 --- a/backend/api/src/routes.rs +++ b/backend/api/src/routes.rs @@ -26,7 +26,7 @@ use crate::handlers::tracker::config as TrackerConfig; use crate::handlers::user_applications::config as UserApplicationsConfig; use crate::handlers::users::config as UsersConfig; use crate::handlers::wiki::config as WikiConfig; -use crate::middlewares::jwt_middleware::authenticate_user; +use crate::middlewares::auth_middleware::authenticate_user; pub fn init(cfg: &mut web::ServiceConfig) { cfg.service(scope("/announce").configure(AnnouncesConfig::)); diff --git a/backend/storage/migrations/20250312215600_initdb.sql b/backend/storage/migrations/20250312215600_initdb.sql index 9239356a..4d8c4786 100644 --- a/backend/storage/migrations/20250312215600_initdb.sql +++ b/backend/storage/migrations/20250312215600_initdb.sql @@ -48,7 +48,7 @@ CREATE TABLE users ( UNIQUE(passkey) ); INSERT INTO users (username, email, password_hash, registered_from_ip, settings, passkey) -VALUES ('creator', 'none@domain.com', 'none', '127.0.0.1', '{}'::jsonb, 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'); +VALUES ('creator', 'none@domain.com', 'none', '127.0.0.1', '{}'::jsonb, 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'); CREATE TABLE api_keys ( id BIGSERIAL PRIMARY KEY, created_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT NOW(), diff --git a/backend/storage/migrations/fixtures/fixtures.sql b/backend/storage/migrations/fixtures/fixtures.sql index 407b4b2a..dc672b19 100644 --- a/backend/storage/migrations/fixtures/fixtures.sql +++ b/backend/storage/migrations/fixtures/fixtures.sql @@ -27,11 +27,11 @@ INSERT INTO public._sqlx_migrations VALUES (20250312215600, 'initdb', '2025-09-1 -- Data for Name: users; Type: TABLE DATA; Schema: public; Owner: arcadia -- -INSERT INTO public.users VALUES (1, 'creator', NULL, 'none@domain.com', 'none', '127.0.0.1', '2025-09-17 12:42:13.702455+00', '', 0, 0, 1, 1, 0, 0, '2025-09-17 12:42:13.702455+00', 'newbie', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '{}', 'aa', false, false, ''); -INSERT INTO public.users VALUES (5, 'waterbottle', 'https://i.pinimg.com/736x/a6/27/12/a6271204df8d387c3e614986c106f549.jpg', 'user2@example.com', 'hashedpassword2', '192.168.1.2', '2025-03-30 16:24:57.388152+00', '', 0, 0, 1, 1, 0, 0, '2025-03-30 16:24:57.388152+00', 'newbie', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '{"site_appearance": {"item_detail_layout": "sidebar_right"}}', 'fqmslfjqmlsfj', false, false, ''''''); -INSERT INTO public.users VALUES (3, 'coolguy', 'https://i.pinimg.com/474x/c1/5a/6c/c15a6c91515e22f6ea8b766f89c12f0c.jpg', 'user3@example.com', 'hashedpassword3', '192.168.1.3', '2025-03-30 16:24:57.388152+00', '', 0, 0, 1, 1, 0, 0, '2025-03-30 16:24:57.388152+00', 'newbie', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '{"site_appearance": {"item_detail_layout": "sidebar_right"}}', 'qnsvmqfmlqsdm', false, false, ''''''); -INSERT INTO public.users VALUES (2, 'picolo', 'https://img.freepik.com/premium-vector/random-people-line-art-vector_567805-63.jpg', 'user1@example.com', '$argon2id$v=19$m=19456,t=2,p=1$s4XJtCUk9IrGgNsTfP6Ofw$ktoGbBEoFaVgdiTn19Gh9h45LjFiv7AUEL5KHhzm4d0', '192.168.1.1', '2025-03-30 16:24:57.388152+00', '', 10000, 0, 1, 1, 0, 0, '2025-09-17 09:27:11.336576+00', 'staff', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, 999999410, 0, '{"site_appearance": {"item_detail_layout": "sidebar_right"}}', 'qmofqmlskdfnnns', false, false, ''''''); -INSERT INTO public.users VALUES (4, 'test', NULL, 'test@test.tsttt', '$argon2id$v=19$m=19456,t=2,p=1$yaA+WqA4OfSyAqR3iXhDng$/Ngv7VeJvVNHli9rBgQG0d/O2W+qoI2yHhQxZSxxW2M', '127.0.0.1', '2025-04-10 19:15:51.036818+00', '', 979900000000, 0, 1, 1, 0, 0, '2025-09-17 09:15:44.322914+00', 'newbie', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99999000, 0, '{"site_appearance": {"item_detail_layout": "sidebar_right"}}', 'mqnmnqmlngqsklf', false, false, ''''''); +INSERT INTO public.users VALUES (1, 'creator', NULL, 'none@domain.com', 'none', '127.0.0.1', '2025-09-17 12:42:13.702455+00', '', 0, 0, 1, 1, 0, 0, '2025-09-17 12:42:13.702455+00', 'newbie', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '{}', '111111111111111111111111111111111', false, false, ''); +INSERT INTO public.users VALUES (5, 'waterbottle', 'https://i.pinimg.com/736x/a6/27/12/a6271204df8d387c3e614986c106f549.jpg', 'user2@example.com', 'hashedpassword2', '192.168.1.2', '2025-03-30 16:24:57.388152+00', '', 0, 0, 1, 1, 0, 0, '2025-03-30 16:24:57.388152+00', 'newbie', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '{"site_appearance": {"item_detail_layout": "sidebar_right"}}', '22222222222222222222222222222222', false, false, ''''''); +INSERT INTO public.users VALUES (3, 'coolguy', 'https://i.pinimg.com/474x/c1/5a/6c/c15a6c91515e22f6ea8b766f89c12f0c.jpg', 'user3@example.com', 'hashedpassword3', '192.168.1.3', '2025-03-30 16:24:57.388152+00', '', 0, 0, 1, 1, 0, 0, '2025-03-30 16:24:57.388152+00', 'newbie', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '{"site_appearance": {"item_detail_layout": "sidebar_right"}}', '33333333333333333333333333333333', false, false, ''''''); +INSERT INTO public.users VALUES (2, 'picolo', 'https://img.freepik.com/premium-vector/random-people-line-art-vector_567805-63.jpg', 'user1@example.com', '$argon2id$v=19$m=19456,t=2,p=1$s4XJtCUk9IrGgNsTfP6Ofw$ktoGbBEoFaVgdiTn19Gh9h45LjFiv7AUEL5KHhzm4d0', '192.168.1.1', '2025-03-30 16:24:57.388152+00', '', 10000, 0, 1, 1, 0, 0, '2025-09-17 09:27:11.336576+00', 'staff', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, 999999410, 0, '{"site_appearance": {"item_detail_layout": "sidebar_right"}}', '44444444444444444444444444444444', false, false, ''''''); +INSERT INTO public.users VALUES (4, 'test', NULL, 'test@test.tsttt', '$argon2id$v=19$m=19456,t=2,p=1$yaA+WqA4OfSyAqR3iXhDng$/Ngv7VeJvVNHli9rBgQG0d/O2W+qoI2yHhQxZSxxW2M', '127.0.0.1', '2025-04-10 19:15:51.036818+00', '', 979900000000, 0, 1, 1, 0, 0, '2025-09-17 09:15:44.322914+00', 'newbie', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99999000, 0, '{"site_appearance": {"item_detail_layout": "sidebar_right"}}', '55555555555555555555555555555555', false, false, ''''''); -- @@ -1626,4 +1626,3 @@ SELECT pg_catalog.setval('public.wiki_articles_id_seq', 1, true); -- -- PostgreSQL database dump complete -- - diff --git a/backend/storage/src/repositories/auth_repository.rs b/backend/storage/src/repositories/auth_repository.rs index f8f13e65..e1374408 100644 --- a/backend/storage/src/repositories/auth_repository.rs +++ b/backend/storage/src/repositories/auth_repository.rs @@ -42,7 +42,7 @@ impl ConnectionPool { // TODO: check if the passkey already exists let passkey: String = rng .sample_iter(&Alphanumeric) - .take(33) + .take(32) .map(char::from) .collect(); diff --git a/shared/src/tracker/models/user.rs b/shared/src/tracker/models/user.rs index 1e44f066..28d8aa5b 100644 --- a/shared/src/tracker/models/user.rs +++ b/shared/src/tracker/models/user.rs @@ -6,7 +6,7 @@ use std::{fmt::Display, str::FromStr}; #[derive(Clone, Copy, Debug, Deserialize, Eq, Hash, PartialEq)] pub struct Passkey(pub [u8; 32]); -#[derive(Clone, Deserialize, Serialize)] +#[derive(Debug, Clone, Deserialize, Serialize)] pub struct User { pub id: u32, pub passkey: Passkey, diff --git a/tracker/arcadia_tracker/Cargo.toml b/tracker/arcadia_tracker/Cargo.toml index 4f2fe5b8..4fb28e3f 100644 --- a/tracker/arcadia_tracker/Cargo.toml +++ b/tracker/arcadia_tracker/Cargo.toml @@ -16,7 +16,7 @@ thiserror = "2.0.12" actix-web-httpauth = "0.8.2" futures = "0.3" serde = { version = "1.0", features = ["derive"] } -strum = "0.27" +strum = { version = "0.27", features = ["derive", "std"] } log = "0.4" serde_bencode = "0.2.4" indexmap = { version = "2.11.0", default-features = false, features = ["std", "serde"] } diff --git a/tracker/arcadia_tracker/src/common/models/user.rs b/tracker/arcadia_tracker/src/common/models/user.rs index e604e98e..9c3f9775 100644 --- a/tracker/arcadia_tracker/src/common/models/user.rs +++ b/tracker/arcadia_tracker/src/common/models/user.rs @@ -1,11 +1,12 @@ use std::ops::{Deref, DerefMut}; use indexmap::IndexMap; +use reqwest::Client; use serde::Serialize; pub use arcadia_shared::tracker::models::user::{Passkey, User}; -#[derive(Serialize)] +#[derive(Debug, Serialize)] pub struct Map(IndexMap); impl Map { @@ -14,7 +15,14 @@ impl Map { std::env::var("ARCADIA_API_BASE_URL").expect("env var ARCADIA_API_BASE_URL not set"); let url = format!("{}/api/tracker/users", base_url); - let resp = reqwest::get(url).await.expect("failed to fetch users"); + let client = Client::new(); + let api_key = std::env::var("API_KEY").expect("env var API_KEY not set"); + let resp = client + .get(url) + .header("api_key", api_key) + .send() + .await + .expect("failed to fetch users"); let bytes = resp .bytes() .await diff --git a/tracker/arcadia_tracker/src/main.rs b/tracker/arcadia_tracker/src/main.rs index 70163dab..2c58e8e4 100644 --- a/tracker/arcadia_tracker/src/main.rs +++ b/tracker/arcadia_tracker/src/main.rs @@ -19,7 +19,7 @@ async fn main() -> std::io::Result<()> { let server_url = format!("127.0.0.1:{web_server_port}").to_string(); println!("Server running at http://{server_url}"); - let arc = Data::new(Tracker::new(env)); + let arc = Data::new(Tracker::new(env).await); let server = HttpServer::new(move || { App::new() .wrap(middleware::Logger::default())