Skip to content

Commit

Permalink
[#42] Implement the ProfileUseCase
Browse files Browse the repository at this point in the history
  • Loading branch information
nmint8m committed Feb 15, 2023
1 parent 56b2e18 commit 29477ea
Showing 1 changed file with 28 additions and 0 deletions.
28 changes: 28 additions & 0 deletions lib/usecases/user/get_profile_use_case.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import 'dart:async';
import 'package:injectable/injectable.dart';
import 'package:kayla_flutter_ic/api/repository/user_repository.dart';
import 'package:kayla_flutter_ic/model/profile.dart';
import 'package:kayla_flutter_ic/usecases/base/base_use_case.dart';

@Injectable()
class ProfileUseCase extends NoParamsUseCase<Profile> {
final UserRepository _repository;

const ProfileUseCase(
this._repository,
);

@override
Future<Result<Profile>> call() async {
try {
final result = await _repository.me();
return Success(Profile(
id: result.id,
email: result.email,
avatarUrl: result.avatarUrl,
));
} catch (exception) {
return Failed(UseCaseException(exception));
}
}
}

0 comments on commit 29477ea

Please sign in to comment.