Files
ReelShort/lib/pages/account/account_bindings.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);
}