mirror of
https://github.com/AppFlowy-IO/AppFlowy.git
synced 2024-08-30 18:12:39 +00:00
chore: return user setting (#1438)
This commit is contained in:
parent
5b4a93ee34
commit
dd1dcba599
@ -2,6 +2,7 @@ import 'package:dartz/dartz.dart';
|
||||
import 'package:flowy_sdk/dispatch/dispatch.dart';
|
||||
import 'package:flowy_sdk/flowy_sdk.dart';
|
||||
import 'package:flowy_sdk/protobuf/flowy-error/errors.pb.dart';
|
||||
import 'package:flowy_sdk/protobuf/flowy-user/user_profile.pb.dart';
|
||||
import 'package:flowy_sdk/protobuf/flowy-user/user_setting.pb.dart';
|
||||
|
||||
class SettingsFFIService {
|
||||
@ -18,6 +19,10 @@ class SettingsFFIService {
|
||||
);
|
||||
}
|
||||
|
||||
Future<Either<UserSettingPB, FlowyError>> getUserSetting() {
|
||||
return UserEventGetUserSetting().send();
|
||||
}
|
||||
|
||||
Future<Either<Unit, FlowyError>> setAppearanceSetting(
|
||||
AppearanceSettingsPB setting) {
|
||||
return UserEventSetAppearanceSetting(setting).send();
|
||||
|
@ -12,6 +12,12 @@ pub struct UserTokenPB {
|
||||
pub token: String,
|
||||
}
|
||||
|
||||
#[derive(ProtoBuf, Default, Clone)]
|
||||
pub struct UserSettingPB {
|
||||
#[pb(index = 1)]
|
||||
pub(crate) user_folder: String,
|
||||
}
|
||||
|
||||
#[derive(ProtoBuf, Default, Debug, PartialEq, Eq, Clone)]
|
||||
pub struct UserProfilePB {
|
||||
#[pb(index = 1)]
|
||||
|
@ -19,6 +19,7 @@ pub fn create(user_session: Arc<UserSession>) -> Module {
|
||||
.event(UserEvent::CheckUser, check_user_handler)
|
||||
.event(UserEvent::SetAppearanceSetting, set_appearance_setting)
|
||||
.event(UserEvent::GetAppearanceSetting, get_appearance_setting)
|
||||
.event(UserEvent::GetUserSetting, get_user_setting)
|
||||
}
|
||||
|
||||
pub trait UserCloudService: Send + Sync {
|
||||
@ -62,4 +63,7 @@ pub enum UserEvent {
|
||||
|
||||
#[event(output = "AppearanceSettingsPB")]
|
||||
GetAppearanceSetting = 8,
|
||||
|
||||
#[event(output = "UserSettingPB")]
|
||||
GetUserSetting = 9,
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
use crate::entities::{
|
||||
AppearanceSettingsPB, UpdateUserProfileParams, UpdateUserProfilePayloadPB, UserProfilePB, APPEARANCE_DEFAULT_THEME,
|
||||
AppearanceSettingsPB, UpdateUserProfileParams, UpdateUserProfilePayloadPB, UserProfilePB, UserSettingPB,
|
||||
APPEARANCE_DEFAULT_THEME,
|
||||
};
|
||||
use crate::{errors::FlowyError, services::UserSession};
|
||||
use flowy_database::kv::KV;
|
||||
@ -70,3 +71,9 @@ pub async fn get_appearance_setting() -> DataResult<AppearanceSettingsPB, FlowyE
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[tracing::instrument(level = "debug", skip_all, err)]
|
||||
pub async fn get_user_setting(session: AppData<Arc<UserSession>>) -> DataResult<UserSettingPB, FlowyError> {
|
||||
let user_setting = session.user_setting()?;
|
||||
data_result(user_setting)
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
use crate::entities::{
|
||||
SignInParams, SignInResponse, SignUpParams, SignUpResponse, UpdateUserProfileParams, UserProfilePB,
|
||||
SignInParams, SignInResponse, SignUpParams, SignUpResponse, UpdateUserProfileParams, UserProfilePB, UserSettingPB,
|
||||
};
|
||||
use crate::{
|
||||
dart_notification::*,
|
||||
@ -169,6 +169,13 @@ impl UserSession {
|
||||
Ok(format!("{}/{}", self.config.root_dir, session.user_id))
|
||||
}
|
||||
|
||||
pub fn user_setting(&self) -> Result<UserSettingPB, FlowyError> {
|
||||
let user_setting = UserSettingPB {
|
||||
user_folder: self.user_dir()?,
|
||||
};
|
||||
Ok(user_setting)
|
||||
}
|
||||
|
||||
pub fn user_id(&self) -> Result<String, FlowyError> {
|
||||
Ok(self.get_session()?.user_id)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user