From 02dbe2559f2831c434336d6875dc18e4922fdb1c Mon Sep 17 00:00:00 2001 From: AmirrezaChegini Date: Sat, 18 Oct 2025 11:30:28 +0330 Subject: [PATCH] add: feature usecases --- .../domain/usecases/get_awards_usecase.dart | 19 +++++++++++++++++++ .../domain/usecases/get_master_usecase.dart | 19 +++++++++++++++++++ .../domain/usecases/get_profile_usecase.dart | 19 +++++++++++++++++++ .../domain/usecases/get_shop_usecase.dart | 19 +++++++++++++++++++ 4 files changed, 76 insertions(+) create mode 100644 lib/features/awards/domain/usecases/get_awards_usecase.dart create mode 100644 lib/features/master/domain/usecases/get_master_usecase.dart create mode 100644 lib/features/profile/domain/usecases/get_profile_usecase.dart create mode 100644 lib/features/shop/domain/usecases/get_shop_usecase.dart diff --git a/lib/features/awards/domain/usecases/get_awards_usecase.dart b/lib/features/awards/domain/usecases/get_awards_usecase.dart new file mode 100644 index 0000000..16fdae5 --- /dev/null +++ b/lib/features/awards/domain/usecases/get_awards_usecase.dart @@ -0,0 +1,19 @@ +import 'package:shia_game_flutter/core/error_handler/my_exception.dart'; +import 'package:shia_game_flutter/core/params/awards_params.dart'; +import 'package:shia_game_flutter/core/usecase/usecase.dart'; +import 'package:shia_game_flutter/core/utils/data_state.dart'; +import 'package:shia_game_flutter/features/awards/domain/entity/awards_entity.dart'; +import 'package:shia_game_flutter/features/awards/domain/repository/awards_repository.dart'; + +class GetAwardsUseCase implements UseCase { + final IAwardsRepository repository; + + const GetAwardsUseCase(this.repository); + + @override + Future> call(AwardsParams params) { + return repository.getData(params: params); + } +} + + diff --git a/lib/features/master/domain/usecases/get_master_usecase.dart b/lib/features/master/domain/usecases/get_master_usecase.dart new file mode 100644 index 0000000..601780d --- /dev/null +++ b/lib/features/master/domain/usecases/get_master_usecase.dart @@ -0,0 +1,19 @@ +import 'package:shia_game_flutter/core/error_handler/my_exception.dart'; +import 'package:shia_game_flutter/core/params/master_params.dart'; +import 'package:shia_game_flutter/core/usecase/usecase.dart'; +import 'package:shia_game_flutter/core/utils/data_state.dart'; +import 'package:shia_game_flutter/features/master/domain/entity/master_entity.dart'; +import 'package:shia_game_flutter/features/master/domain/repository/master_repository.dart'; + +class GetMasterUseCase implements UseCase { + final IMasterRepository repository; + + const GetMasterUseCase(this.repository); + + @override + Future> call(MasterParams params) { + return repository.getData(params: params); + } +} + + diff --git a/lib/features/profile/domain/usecases/get_profile_usecase.dart b/lib/features/profile/domain/usecases/get_profile_usecase.dart new file mode 100644 index 0000000..cb7422a --- /dev/null +++ b/lib/features/profile/domain/usecases/get_profile_usecase.dart @@ -0,0 +1,19 @@ +import 'package:shia_game_flutter/core/error_handler/my_exception.dart'; +import 'package:shia_game_flutter/core/params/profile_params.dart'; +import 'package:shia_game_flutter/core/usecase/usecase.dart'; +import 'package:shia_game_flutter/core/utils/data_state.dart'; +import 'package:shia_game_flutter/features/profile/domain/entity/profile_entity.dart'; +import 'package:shia_game_flutter/features/profile/domain/repository/profile_repository.dart'; + +class GetProfileUseCase implements UseCase { + final IProfileRepository repository; + + const GetProfileUseCase(this.repository); + + @override + Future> call(ProfileParams params) { + return repository.getData(params: params); + } +} + + diff --git a/lib/features/shop/domain/usecases/get_shop_usecase.dart b/lib/features/shop/domain/usecases/get_shop_usecase.dart new file mode 100644 index 0000000..7fb6399 --- /dev/null +++ b/lib/features/shop/domain/usecases/get_shop_usecase.dart @@ -0,0 +1,19 @@ +import 'package:shia_game_flutter/core/error_handler/my_exception.dart'; +import 'package:shia_game_flutter/core/params/shop_params.dart'; +import 'package:shia_game_flutter/core/usecase/usecase.dart'; +import 'package:shia_game_flutter/core/utils/data_state.dart'; +import 'package:shia_game_flutter/features/shop/domain/entity/shop_entity.dart'; +import 'package:shia_game_flutter/features/shop/domain/repository/shop_repository.dart'; + +class GetShopUseCase implements UseCase { + final IShopRepository repository; + + const GetShopUseCase(this.repository); + + @override + Future> call(ShopParams params) { + return repository.getData(params: params); + } +} + +