user_settings_service.dart 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import 'package:dartz/dartz.dart';
  2. import 'package:appflowy_backend/dispatch/dispatch.dart';
  3. import 'package:appflowy_backend/appflowy_backend.dart';
  4. import 'package:appflowy_backend/protobuf/flowy-error/errors.pb.dart';
  5. import 'package:appflowy_backend/protobuf/flowy-user/user_profile.pb.dart';
  6. import 'package:appflowy_backend/protobuf/flowy-user/user_setting.pb.dart';
  7. class UserSettingsBackendService {
  8. Future<AppearanceSettingsPB> getAppearanceSetting() async {
  9. final result = await UserEventGetAppearanceSetting().send();
  10. return result.fold(
  11. (AppearanceSettingsPB setting) => setting,
  12. (error) =>
  13. throw FlowySDKException(ExceptionType.AppearanceSettingsIsEmpty),
  14. );
  15. }
  16. Future<Either<UserSettingPB, FlowyError>> getUserSetting() {
  17. return UserEventGetUserSetting().send();
  18. }
  19. Future<Either<Unit, FlowyError>> setAppearanceSetting(
  20. AppearanceSettingsPB setting,
  21. ) {
  22. return UserEventSetAppearanceSetting(setting).send();
  23. }
  24. Future<DateTimeSettingsPB> getDateTimeSettings() async {
  25. final result = await UserEventGetDateTimeSettings().send();
  26. return result.fold(
  27. (DateTimeSettingsPB setting) => setting,
  28. (error) =>
  29. throw FlowySDKException(ExceptionType.AppearanceSettingsIsEmpty),
  30. );
  31. }
  32. Future<Either<FlowyError, Unit>> setDateTimeSettings(
  33. DateTimeSettingsPB settings,
  34. ) async {
  35. return (await UserEventSetDateTimeSettings(settings).send()).swap();
  36. }
  37. }