✨ Add new messaging WorkerTask
This commit is contained in:
@@ -37,6 +37,7 @@ tracing-web = "0.1.3"
|
|||||||
tracing-subscriber = "0.3.18"
|
tracing-subscriber = "0.3.18"
|
||||||
git-version = "0.3.9"
|
git-version = "0.3.9"
|
||||||
async-trait = "0.1.80"
|
async-trait = "0.1.80"
|
||||||
|
tokio-stream = "0.1.15"
|
||||||
image = "0.25.1"
|
image = "0.25.1"
|
||||||
|
|
||||||
[target.'cfg(target_family = "wasm")'.dependencies]
|
[target.'cfg(target_family = "wasm")'.dependencies]
|
||||||
|
@@ -3,14 +3,13 @@ use std::rc::Rc;
|
|||||||
use async_trait::async_trait;
|
use async_trait::async_trait;
|
||||||
use tokio::sync::broadcast::Receiver;
|
use tokio::sync::broadcast::Receiver;
|
||||||
|
|
||||||
use crate::infrastructure::messaging::matrix::worker_tasks::AccountEvent;
|
|
||||||
|
|
||||||
use super::{
|
use super::{
|
||||||
common::{Avatar, UserId},
|
common::{Avatar, UserId},
|
||||||
room::{Room, RoomId},
|
room::{Room, RoomId},
|
||||||
room_member::RoomMember,
|
room_member::RoomMember,
|
||||||
space::Space,
|
space::Space,
|
||||||
};
|
};
|
||||||
|
use crate::infrastructure::messaging::matrix::account_event::AccountEvent;
|
||||||
|
|
||||||
#[async_trait(?Send)]
|
#[async_trait(?Send)]
|
||||||
pub trait AccountMessagingConsumerInterface {
|
pub trait AccountMessagingConsumerInterface {
|
||||||
|
@@ -1,19 +1,32 @@
|
|||||||
use std::fmt::{Debug, Formatter};
|
use std::fmt::{Debug, Formatter};
|
||||||
|
|
||||||
|
use matrix_sdk::{
|
||||||
|
room::RoomMember,
|
||||||
|
ruma::{OwnedRoomId, OwnedUserId},
|
||||||
|
};
|
||||||
|
|
||||||
use crate::utils::Sender;
|
use crate::utils::Sender;
|
||||||
|
|
||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
pub enum LoginStyle {
|
pub enum LoginStyle {
|
||||||
// SessionRestore(Session),
|
|
||||||
Password(String, String),
|
Password(String, String),
|
||||||
}
|
}
|
||||||
|
|
||||||
pub enum WorkerTask {
|
pub enum WorkerTask {
|
||||||
// Init(AsyncProgramStore, ClientReply<()>),
|
Init(Sender<anyhow::Result<()>>),
|
||||||
// Init(ClientReply<()>),
|
|
||||||
Init(Sender<()>),
|
|
||||||
//Login(LoginStyle, ClientReply<EditInfo>),
|
|
||||||
Login(LoginStyle, Sender<anyhow::Result<()>>),
|
Login(LoginStyle, Sender<anyhow::Result<()>>),
|
||||||
|
RunForever(Sender<()>),
|
||||||
|
GetDisplayName(Sender<anyhow::Result<Option<String>>>),
|
||||||
|
GetAvatar(Sender<anyhow::Result<Option<Vec<u8>>>>),
|
||||||
|
|
||||||
|
GetRoomAvatar(OwnedRoomId, Sender<anyhow::Result<Option<Vec<u8>>>>),
|
||||||
|
GetRoomMembers(OwnedRoomId, Sender<anyhow::Result<Vec<RoomMember>>>),
|
||||||
|
|
||||||
|
GetRoomMemberAvatar(
|
||||||
|
OwnedRoomId,
|
||||||
|
OwnedUserId,
|
||||||
|
Sender<anyhow::Result<Option<Vec<u8>>>>,
|
||||||
|
),
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Debug for WorkerTask {
|
impl Debug for WorkerTask {
|
||||||
@@ -24,11 +37,38 @@ impl Debug for WorkerTask {
|
|||||||
.field(&format_args!("_"))
|
.field(&format_args!("_"))
|
||||||
// .field(&format_args!("_"))
|
// .field(&format_args!("_"))
|
||||||
.finish(),
|
.finish(),
|
||||||
|
WorkerTask::RunForever(_) => f
|
||||||
|
.debug_tuple("WorkerTask::RunForever")
|
||||||
|
.field(&format_args!("_"))
|
||||||
|
.finish(),
|
||||||
WorkerTask::Login(style, _) => f
|
WorkerTask::Login(style, _) => f
|
||||||
.debug_tuple("WorkerTask::Login")
|
.debug_tuple("WorkerTask::Login")
|
||||||
.field(style)
|
.field(style)
|
||||||
// .field(&format_args!("_"))
|
// .field(&format_args!("_"))
|
||||||
.finish(),
|
.finish(),
|
||||||
|
WorkerTask::GetDisplayName(_) => f
|
||||||
|
.debug_tuple("WorkerTask::GetDisplayName")
|
||||||
|
.field(&format_args!("_"))
|
||||||
|
.finish(),
|
||||||
|
WorkerTask::GetAvatar(_) => f
|
||||||
|
.debug_tuple("WorkerTask::GetAvatar")
|
||||||
|
.field(&format_args!("_"))
|
||||||
|
.finish(),
|
||||||
|
|
||||||
|
WorkerTask::GetRoomAvatar(id, _) => f
|
||||||
|
.debug_tuple("WorkerTask::GetRoomAvatar")
|
||||||
|
.field(id)
|
||||||
|
.finish(),
|
||||||
|
WorkerTask::GetRoomMembers(id, _) => f
|
||||||
|
.debug_tuple("WorkerTask::GetRoomMembers")
|
||||||
|
.field(id)
|
||||||
|
.finish(),
|
||||||
|
|
||||||
|
WorkerTask::GetRoomMemberAvatar(room_id, user_id, _) => f
|
||||||
|
.debug_tuple("WorkerTask::GetRoomMemberAvatar")
|
||||||
|
.field(room_id)
|
||||||
|
.field(user_id)
|
||||||
|
.finish(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user