2026-01-18 20:21:14 +08:00
|
|
|
import 'package:fpdart/fpdart.dart';
|
|
|
|
|
|
2026-01-11 19:42:22 +08:00
|
|
|
import '../../../../core/domain/entities/user_entity.dart';
|
|
|
|
|
import '../../../../core/domain/usecases/base_usecase.dart';
|
2026-01-18 20:21:14 +08:00
|
|
|
import '../errors/auth_failure.dart';
|
2026-01-11 19:42:22 +08:00
|
|
|
import '../repositories/auth_repository.dart';
|
|
|
|
|
|
|
|
|
|
class LoginUseCase implements BaseUseCase<UserEntity, LoginParams> {
|
|
|
|
|
final AuthRepository repository;
|
|
|
|
|
|
|
|
|
|
LoginUseCase(this.repository);
|
|
|
|
|
|
|
|
|
|
@override
|
2026-01-18 20:21:14 +08:00
|
|
|
Future<Either<AuthFailure, UserEntity>> call(LoginParams params) async {
|
|
|
|
|
return await repository.login(
|
2026-01-11 19:42:22 +08:00
|
|
|
params.username,
|
|
|
|
|
params.password,
|
|
|
|
|
params.sourceType,
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
class LoginParams {
|
|
|
|
|
final String username;
|
|
|
|
|
final String password;
|
|
|
|
|
final int sourceType; //1:web; 2:mobile; 3:mini_programs; 4:pc
|
|
|
|
|
|
|
|
|
|
LoginParams(this.username, this.password, this.sourceType);
|
|
|
|
|
}
|