Skip to content

Commit dd1dcba

Browse files
authored
chore: return user setting (#1438)
1 parent 5b4a93e commit dd1dcba

File tree

5 files changed

+31
-2
lines changed

5 files changed

+31
-2
lines changed

frontend/app_flowy/lib/user/application/user_settings_service.dart

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import 'package:dartz/dartz.dart';
22
import 'package:flowy_sdk/dispatch/dispatch.dart';
33
import 'package:flowy_sdk/flowy_sdk.dart';
44
import 'package:flowy_sdk/protobuf/flowy-error/errors.pb.dart';
5+
import 'package:flowy_sdk/protobuf/flowy-user/user_profile.pb.dart';
56
import 'package:flowy_sdk/protobuf/flowy-user/user_setting.pb.dart';
67

78
class SettingsFFIService {
@@ -18,6 +19,10 @@ class SettingsFFIService {
1819
);
1920
}
2021

22+
Future<Either<UserSettingPB, FlowyError>> getUserSetting() {
23+
return UserEventGetUserSetting().send();
24+
}
25+
2126
Future<Either<Unit, FlowyError>> setAppearanceSetting(
2227
AppearanceSettingsPB setting) {
2328
return UserEventSetAppearanceSetting(setting).send();

frontend/rust-lib/flowy-user/src/entities/user_profile.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,12 @@ pub struct UserTokenPB {
1212
pub token: String,
1313
}
1414

15+
#[derive(ProtoBuf, Default, Clone)]
16+
pub struct UserSettingPB {
17+
#[pb(index = 1)]
18+
pub(crate) user_folder: String,
19+
}
20+
1521
#[derive(ProtoBuf, Default, Debug, PartialEq, Eq, Clone)]
1622
pub struct UserProfilePB {
1723
#[pb(index = 1)]

frontend/rust-lib/flowy-user/src/event_map.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ pub fn create(user_session: Arc<UserSession>) -> Module {
1919
.event(UserEvent::CheckUser, check_user_handler)
2020
.event(UserEvent::SetAppearanceSetting, set_appearance_setting)
2121
.event(UserEvent::GetAppearanceSetting, get_appearance_setting)
22+
.event(UserEvent::GetUserSetting, get_user_setting)
2223
}
2324

2425
pub trait UserCloudService: Send + Sync {
@@ -62,4 +63,7 @@ pub enum UserEvent {
6263

6364
#[event(output = "AppearanceSettingsPB")]
6465
GetAppearanceSetting = 8,
66+
67+
#[event(output = "UserSettingPB")]
68+
GetUserSetting = 9,
6569
}

frontend/rust-lib/flowy-user/src/handlers/user_handler.rs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
use crate::entities::{
2-
AppearanceSettingsPB, UpdateUserProfileParams, UpdateUserProfilePayloadPB, UserProfilePB, APPEARANCE_DEFAULT_THEME,
2+
AppearanceSettingsPB, UpdateUserProfileParams, UpdateUserProfilePayloadPB, UserProfilePB, UserSettingPB,
3+
APPEARANCE_DEFAULT_THEME,
34
};
45
use crate::{errors::FlowyError, services::UserSession};
56
use flowy_database::kv::KV;
@@ -70,3 +71,9 @@ pub async fn get_appearance_setting() -> DataResult<AppearanceSettingsPB, FlowyE
7071
}
7172
}
7273
}
74+
75+
#[tracing::instrument(level = "debug", skip_all, err)]
76+
pub async fn get_user_setting(session: AppData<Arc<UserSession>>) -> DataResult<UserSettingPB, FlowyError> {
77+
let user_setting = session.user_setting()?;
78+
data_result(user_setting)
79+
}

frontend/rust-lib/flowy-user/src/services/user_session.rs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use crate::entities::{
2-
SignInParams, SignInResponse, SignUpParams, SignUpResponse, UpdateUserProfileParams, UserProfilePB,
2+
SignInParams, SignInResponse, SignUpParams, SignUpResponse, UpdateUserProfileParams, UserProfilePB, UserSettingPB,
33
};
44
use crate::{
55
dart_notification::*,
@@ -169,6 +169,13 @@ impl UserSession {
169169
Ok(format!("{}/{}", self.config.root_dir, session.user_id))
170170
}
171171

172+
pub fn user_setting(&self) -> Result<UserSettingPB, FlowyError> {
173+
let user_setting = UserSettingPB {
174+
user_folder: self.user_dir()?,
175+
};
176+
Ok(user_setting)
177+
}
178+
172179
pub fn user_id(&self) -> Result<String, FlowyError> {
173180
Ok(self.get_session()?.user_id)
174181
}

0 commit comments

Comments
 (0)