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/dispatch/dispatch.dart';
import 'package:flowy_sdk/flowy_sdk.dart'; import 'package:flowy_sdk/flowy_sdk.dart';
import 'package:flowy_sdk/protobuf/flowy-error/errors.pb.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'; import 'package:flowy_sdk/protobuf/flowy-user/user_setting.pb.dart';
class SettingsFFIService { class SettingsFFIService {
@ -18,6 +19,10 @@ class SettingsFFIService {
); );
} }
Future<Either<UserSettingPB, FlowyError>> getUserSetting() {
return UserEventGetUserSetting().send();
}
Future<Either<Unit, FlowyError>> setAppearanceSetting( Future<Either<Unit, FlowyError>> setAppearanceSetting(
AppearanceSettingsPB setting) { AppearanceSettingsPB setting) {
return UserEventSetAppearanceSetting(setting).send(); return UserEventSetAppearanceSetting(setting).send();

View File

@ -12,6 +12,12 @@ pub struct UserTokenPB {
pub token: String, 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)] #[derive(ProtoBuf, Default, Debug, PartialEq, Eq, Clone)]
pub struct UserProfilePB { pub struct UserProfilePB {
#[pb(index = 1)] #[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::CheckUser, check_user_handler)
.event(UserEvent::SetAppearanceSetting, set_appearance_setting) .event(UserEvent::SetAppearanceSetting, set_appearance_setting)
.event(UserEvent::GetAppearanceSetting, get_appearance_setting) .event(UserEvent::GetAppearanceSetting, get_appearance_setting)
.event(UserEvent::GetUserSetting, get_user_setting)
} }
pub trait UserCloudService: Send + Sync { pub trait UserCloudService: Send + Sync {
@ -62,4 +63,7 @@ pub enum UserEvent {
#[event(output = "AppearanceSettingsPB")] #[event(output = "AppearanceSettingsPB")]
GetAppearanceSetting = 8, GetAppearanceSetting = 8,
#[event(output = "UserSettingPB")]
GetUserSetting = 9,
} }

View File

@ -1,5 +1,6 @@
use crate::entities::{ 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 crate::{errors::FlowyError, services::UserSession};
use flowy_database::kv::KV; 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::{ use crate::entities::{
SignInParams, SignInResponse, SignUpParams, SignUpResponse, UpdateUserProfileParams, UserProfilePB, SignInParams, SignInResponse, SignUpParams, SignUpResponse, UpdateUserProfileParams, UserProfilePB, UserSettingPB,
}; };
use crate::{ use crate::{
dart_notification::*, dart_notification::*,
@ -169,6 +169,13 @@ impl UserSession {
Ok(format!("{}/{}", self.config.root_dir, session.user_id)) 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> { pub fn user_id(&self) -> Result<String, FlowyError> {
Ok(self.get_session()?.user_id) Ok(self.get_session()?.user_id)
} }