mirror of
https://github.com/hcengineering/platform.git
synced 2026-09-28 20:45:00 +02:00
Make Hulypulse Great Again
This commit is contained in:
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"extra": {
|
||||
"service": "account"
|
||||
},
|
||||
"account": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
|
||||
"workspace": "00000000-0000-0000-0000-000000000001",
|
||||
"exp": 1924236800
|
||||
}
|
||||
@@ -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,
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
bind_port = 8095
|
||||
bind_host = "0.0.0.0"
|
||||
payload_size_limit = "2mb"
|
||||
|
||||
token_secret = "secret"
|
||||
|
||||
|
||||
@@ -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<u64>,
|
||||
}
|
||||
*/
|
||||
|
||||
/// put
|
||||
pub async fn put(
|
||||
|
||||
+1
-1
@@ -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);
|
||||
|
||||
|
||||
+7
-4
@@ -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<T: ToRedisArgs>(
|
||||
conn: &mut MultiplexedConnection,
|
||||
key: &str,
|
||||
@@ -359,7 +358,7 @@ impl TryFrom<Msg> for RedisEvent {
|
||||
}
|
||||
}
|
||||
|
||||
pub async fn receiver(redis_client: Client) -> anyhow::Result<()> {
|
||||
pub async fn receiver(redis_client: Client, hub: Addr<WsHub>) -> 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}");
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user