Skip to content

Commit

Permalink
feat: useCase
Browse files Browse the repository at this point in the history
  • Loading branch information
brownglasses committed Apr 4, 2024
1 parent f7143ae commit 1c68c92
Show file tree
Hide file tree
Showing 10 changed files with 89 additions and 0 deletions.
3 changes: 3 additions & 0 deletions front/lib/features/user/repositories/user_repositories.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import 'package:front/core/utils/result.dart';
import 'package:front/features/user/data/models/change_password.dart';
import 'package:front/features/user/data/models/sign_in_request.dart';
import 'package:front/features/user/data/models/sign_up_request.dart';
import 'package:front/features/user/data/models/token.dart';
import 'package:front/features/user/data/models/user.dart';

abstract class UserRepository {
Expand All @@ -18,4 +19,6 @@ abstract class UserRepository {

Future<Result> setAutoSignInTrue();
Future<Result> setAutoSignInFalse();

Future<Result<TokenModel>> getToken();
}
Empty file.
13 changes: 13 additions & 0 deletions front/lib/features/user/usecase/change_password_usecase.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import 'package:front/core/utils/api_response.dart';
import 'package:front/core/utils/result.dart';
import 'package:front/features/user/data/models/change_password.dart';
import 'package:front/features/user/repositories/user_repositories.dart';

final class ChangePasswordUseCase {
const ChangePasswordUseCase(this._userRepository);
final UserRepository _userRepository;

Future<Result<ApiResponse>> call(ChangePassword changePassword) async {
return _userRepository.changePassword(changePassword);
}
}
12 changes: 12 additions & 0 deletions front/lib/features/user/usecase/get_token.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import 'package:front/core/utils/result.dart';
import 'package:front/features/user/data/models/token.dart';
import 'package:front/features/user/repositories/user_repositories.dart';

final class GetTokenUseCase {
const GetTokenUseCase(this._userRepository);
final UserRepository _userRepository;

Future<Result<TokenModel>> call() async {
return _userRepository.getToken();
}
}
13 changes: 13 additions & 0 deletions front/lib/features/user/usecase/get_user_info_usecase.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import 'package:front/core/utils/api_response.dart';
import 'package:front/core/utils/result.dart';
import 'package:front/features/user/data/models/user.dart';
import 'package:front/features/user/repositories/user_repositories.dart';

final class GetUserInfoUseCase {
const GetUserInfoUseCase(this._userRepository);
final UserRepository _userRepository;

Future<Result<ApiResponse<UserModel>>> call() async {
return _userRepository.getUserInfo();
}
}
11 changes: 11 additions & 0 deletions front/lib/features/user/usecase/set_auto_sign_in_false.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
import 'package:front/core/utils/result.dart';
import 'package:front/features/user/repositories/user_repositories.dart';

final class SetAutoSignInFalse {
const SetAutoSignInFalse(this._userRepository);
final UserRepository _userRepository;

Future<Result> call() async {
return _userRepository.setAutoSignInFalse();
}
}
11 changes: 11 additions & 0 deletions front/lib/features/user/usecase/set_auto_sign_in_true.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
import 'package:front/core/utils/result.dart';
import 'package:front/features/user/repositories/user_repositories.dart';

final class SetAutoSignInFalse {
const SetAutoSignInFalse(this._userRepository);
final UserRepository _userRepository;

Future<Result> call() async {
return _userRepository.setAutoSignInFalse();
}
}
13 changes: 13 additions & 0 deletions front/lib/features/user/usecase/sign_in_usecase.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import 'package:front/core/utils/api_response.dart';
import 'package:front/core/utils/result.dart';
import 'package:front/features/user/data/models/sign_in_request.dart';
import 'package:front/features/user/repositories/user_repositories.dart';

final class SignIn {
const SignIn(this._userRepository);
final UserRepository _userRepository;

Future<Result<ApiResponse>> call(SignInRequest signInRequest) async {
return _userRepository.signIn(signInRequest);
}
}
Empty file.
13 changes: 13 additions & 0 deletions front/lib/features/user/usecase/sign_up_usecase.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import 'package:front/core/utils/api_response.dart';
import 'package:front/core/utils/result.dart';
import 'package:front/features/user/data/models/sign_up_request.dart';
import 'package:front/features/user/repositories/user_repositories.dart';

final class SignUpUseCase {
const SignUpUseCase(this._userRepository);
final UserRepository _userRepository;

Future<Result<ApiResponse>> call(SignUpRequest signUpRequest) async {
return _userRepository.signUp(signUpRequest);
}
}

0 comments on commit 1c68c92

Please sign in to comment.