41 lines
1.2 KiB
Dart
41 lines
1.2 KiB
Dart
// Author: fruit.com.cn
|
|
|
|
import '../../core/data/models/account_profile.dart';
|
|
import '../../core/data/repositories/account_repository.dart';
|
|
import '../../core/data/services/auth_controller.dart';
|
|
import 'account_deactivate_logic.dart';
|
|
import 'account_devices_logic.dart';
|
|
import 'account_export_logic.dart';
|
|
import 'account_profile_logic.dart';
|
|
|
|
/// 账号中心页面依赖装配。
|
|
class AccountProfileBinding {
|
|
AccountProfileLogic create(
|
|
AccountRepository repository,
|
|
AuthController auth,
|
|
) => AccountProfileLogic(
|
|
repository,
|
|
onProfileUpdated: (AccountProfile profile) =>
|
|
auth.applyProfile(profile.toAuthUser()),
|
|
);
|
|
}
|
|
|
|
class AccountDevicesBinding {
|
|
AccountDevicesLogic create(AccountRepository repository) =>
|
|
AccountDevicesLogic(repository);
|
|
}
|
|
|
|
class AccountExportBinding {
|
|
AccountExportLogic create(
|
|
AccountRepository repository,
|
|
Future<void> Function(String text) copyText,
|
|
) => AccountExportLogic(repository, copyText: copyText);
|
|
}
|
|
|
|
class AccountDeactivateBinding {
|
|
AccountDeactivateLogic create(
|
|
AccountRepository repository,
|
|
AuthController auth,
|
|
) => AccountDeactivateLogic(repository, clearSession: auth.clear);
|
|
}
|