mirror of
https://github.com/AppFlowy-IO/AppFlowy.git
synced 2025-08-28 02:37:32 +00:00
33 lines
1.0 KiB
Rust
33 lines
1.0 KiB
Rust
use lazy_static::lazy_static;
|
|
use std::sync::Arc;
|
|
lazy_static! {
|
|
pub(crate) static ref MIDDLEWARE: Arc<WorkspaceMiddleware> = Arc::new(WorkspaceMiddleware {});
|
|
}
|
|
|
|
use crate::{
|
|
errors::{ErrorCode, WorkspaceError},
|
|
notify::*,
|
|
};
|
|
use flowy_net::{request::ResponseMiddleware, response::FlowyResponse};
|
|
|
|
pub(crate) struct WorkspaceMiddleware {}
|
|
impl ResponseMiddleware for WorkspaceMiddleware {
|
|
fn receive_response(&self, token: &Option<String>, response: &FlowyResponse) {
|
|
if let Some(error) = &response.error {
|
|
if error.is_unauthorized() {
|
|
log::error!("workspace user is unauthorized");
|
|
|
|
match token {
|
|
None => {},
|
|
Some(token) => {
|
|
let error = WorkspaceError::new(ErrorCode::UserUnauthorized, "");
|
|
dart_notify(token, WorkspaceObservable::UserUnauthorized)
|
|
.error(error)
|
|
.send()
|
|
},
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|