mirror of
https://github.com/Arcadia-Solutions/arcadia.git
synced 2026-01-06 09:39:38 -06:00
renamed jwt_middleware to auth_middleware, await shared Tracker
struct creation, fix passkeys length
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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::{
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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},
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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},
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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},
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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)]
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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},
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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},
|
||||
|
||||
@@ -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)]
|
||||
|
||||
@@ -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::{
|
||||
|
||||
@@ -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},
|
||||
|
||||
@@ -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)]
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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::{
|
||||
|
||||
@@ -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::{
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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};
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -130,6 +130,7 @@ fn validate_tracker_api_key<R: RedisPoolInterface + 'static>(
|
||||
req: ServiceRequest,
|
||||
api_key: &str,
|
||||
) -> std::result::Result<ServiceRequest, (actix_web::Error, ServiceRequest)> {
|
||||
println!("tracker req");
|
||||
let arc = req.app_data::<Data<Arcadia<R>>>().expect("app data set");
|
||||
|
||||
if arc.env.tracker.api_key != api_key {
|
||||
@@ -1 +1 @@
|
||||
pub mod jwt_middleware;
|
||||
pub mod auth_middleware;
|
||||
|
||||
@@ -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<R: RedisPoolInterface + 'static>(cfg: &mut web::ServiceConfig) {
|
||||
cfg.service(scope("/announce").configure(AnnouncesConfig::<R>));
|
||||
|
||||
@@ -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(),
|
||||
|
||||
@@ -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
|
||||
--
|
||||
|
||||
|
||||
@@ -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();
|
||||
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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"] }
|
||||
|
||||
@@ -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<u32, User>);
|
||||
|
||||
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
|
||||
|
||||
@@ -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())
|
||||
|
||||
Reference in New Issue
Block a user