diff --git a/scripts/claims_exp.json b/scripts/claims_exp.json new file mode 100644 index 0000000000..dcc90fe4b8 --- /dev/null +++ b/scripts/claims_exp.json @@ -0,0 +1,8 @@ +{ + "extra": { + "service": "account" + }, + "account": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", + "workspace": "00000000-0000-0000-0000-000000000001", + "exp": 1924236800 +} diff --git a/src/config.rs b/src/config.rs index a7a950d9ac..dfe5037cba 100644 --- a/src/config.rs +++ b/src/config.rs @@ -24,8 +24,6 @@ use std::{path::Path, sync::LazyLock}; use config::FileFormat; -use uuid::Uuid; - #[derive(Deserialize, Debug, PartialEq)] #[serde(rename_all = "lowercase")] pub enum RedisMode { @@ -38,7 +36,6 @@ pub enum RedisMode { pub struct Config { pub bind_port: u16, pub bind_host: String, - pub payload_size_limit: size::Size, pub token_secret: SecretString, diff --git a/src/config/default.toml b/src/config/default.toml index 00eb9c805b..a570fff0c7 100644 --- a/src/config/default.toml +++ b/src/config/default.toml @@ -1,6 +1,5 @@ bind_port = 8095 bind_host = "0.0.0.0" -payload_size_limit = "2mb" token_secret = "secret" diff --git a/src/handlers_http.rs b/src/handlers_http.rs index 709cd4787a..55c1f04338 100644 --- a/src/handlers_http.rs +++ b/src/handlers_http.rs @@ -15,14 +15,13 @@ use anyhow::anyhow; use redis::aio::MultiplexedConnection; -use serde::{Deserialize, de}; +use serde::{Deserialize}; use tracing::*; use actix_web::{ Error, HttpRequest, HttpResponse, web::{self}, }; -use uuid::Uuid; use crate::redis::{SaveMode, Ttl, redis_delete, redis_list, redis_read, redis_save}; use crate::workspace_owner::workspace_check; @@ -96,11 +95,13 @@ pub async fn get( .map_err(map_handler_error) } +/* #[derive(serde::Deserialize)] struct MyHeaders { #[serde(rename = "HULY-TTL")] ttl: Option, } +*/ /// put pub async fn put( diff --git a/src/main.rs b/src/main.rs index 88d1455a62..5807a3169a 100644 --- a/src/main.rs +++ b/src/main.rs @@ -104,7 +104,7 @@ async fn main() -> anyhow::Result<()> { let hub = WsHub::new(redis_connection.clone()).start(); // starting Logger - tokio::spawn(redis::receiver(redis_client)); + tokio::spawn(redis::receiver(redis_client, hub.clone())); let socket = std::net::SocketAddr::new(CONFIG.bind_host.as_str().parse()?, CONFIG.bind_port); diff --git a/src/redis.rs b/src/redis.rs index 1c076783e2..4bd6ca252b 100644 --- a/src/redis.rs +++ b/src/redis.rs @@ -15,12 +15,13 @@ use std::time::{SystemTime, UNIX_EPOCH}; +use actix::Addr; use ::redis::Msg; use tokio_stream::StreamExt; use tracing::*; use crate::config::{CONFIG, RedisMode}; -use crate::ws_hub::{RedisEvent, RedisEventAction}; +use crate::ws_hub::{RedisEvent, RedisEventAction, WsHub}; #[derive(serde::Serialize)] pub enum Ttl { @@ -135,7 +136,6 @@ pub async fn redis_list( } /// redis_read(&connection,key) -#[allow(dead_code)] pub async fn redis_read( conn: &mut MultiplexedConnection, key: &str, @@ -181,7 +181,6 @@ pub async fn redis_read( /// w/o TTL (CONFIG.max_ttl) /// redis_save(&mut conn, "key", "val", None, None).await?; -#[allow(dead_code)] pub async fn redis_save( conn: &mut MultiplexedConnection, key: &str, @@ -359,7 +358,7 @@ impl TryFrom for RedisEvent { } } -pub async fn receiver(redis_client: Client) -> anyhow::Result<()> { +pub async fn receiver(redis_client: Client, hub: Addr) -> anyhow::Result<()> { let mut redis = redis_client.get_multiplexed_async_connection().await?; let mut pubsub = redis_client.get_async_pubsub().await?; @@ -384,7 +383,11 @@ pub async fn receiver(redis_client: Client) -> anyhow::Result<()> { while let Some(message) = messages.next().await { match RedisEvent::try_from(message) { Ok(ev) => { + debug!("redis event: {ev:#?}"); + + hub.do_send(ev); + } Err(e) => { warn!("invalid redis message: {e}"); diff --git a/src/workspace_owner.rs b/src/workspace_owner.rs index 3f369c9cdc..2f36abbe17 100644 --- a/src/workspace_owner.rs +++ b/src/workspace_owner.rs @@ -13,7 +13,7 @@ // limitations under the License. // -use actix_web::{Error, HttpMessage, HttpRequest}; +use actix_web::{HttpMessage, HttpRequest}; use hulyrs::services::jwt::Claims; use uuid::Uuid;