chore: return user setting (#1438)

This commit is contained in:
Nathan.fooo 2022-11-11 17:24:10 +08:00 committed by GitHub
parent 5b4a93ee34
commit dd1dcba599
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 31 additions and 2 deletions

View File

@ -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();

View File

@ -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)]

View File

@ -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,
}

View File

@ -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)
}

View File

@ -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)
}