refactor: remove unused local and remote data sources, models, and tests for chicken and poultry features to streamline codebase

This commit is contained in:
2025-12-08 16:10:34 +03:30
parent 890be0ded6
commit 455a5a5571
230 changed files with 2812 additions and 3471 deletions

View File

@@ -0,0 +1,15 @@
import 'package:rasadyar_chicken/features/common/data/model/response/user_info/user_info_model.dart';
import 'package:rasadyar_chicken/features/common/data/model/response/user_profile_model/user_profile_model.dart';
abstract class AuthRepository {
Future<UserProfileModel?> login({required Map<String, dynamic> authRequest});
Future<void> logout();
Future<bool> hasAuthenticated();
Future<UserInfoModel?> getUserInfo(String phoneNumber);
/// Calls `/steward-app-login/` with Bearer token and required `server` query param.
Future<void> stewardAppLogin({required String token, Map<String, dynamic>? queryParameters});
}

View File

@@ -0,0 +1,33 @@
import 'package:rasadyar_chicken/features/common/data/datasources/remote/auth/auth_remote.dart';
import 'package:rasadyar_chicken/features/common/data/model/response/user_info/user_info_model.dart';
import 'package:rasadyar_chicken/features/common/data/model/response/user_profile_model/user_profile_model.dart';
import 'auth_repository.dart';
class AuthRepositoryImpl implements AuthRepository {
final AuthRemoteDataSource authRemote;
AuthRepositoryImpl(this.authRemote);
@override
Future<UserProfileModel?> login({required Map<String, dynamic> authRequest}) async =>
await authRemote.login(authRequest: authRequest);
@override
Future<void> logout() async => await authRemote.logout();
@override
Future<bool> hasAuthenticated() async => await authRemote.hasAuthenticated();
@override
Future<UserInfoModel?> getUserInfo(String phoneNumber) async =>
await authRemote.getUserInfo(phoneNumber);
@override
Future<void> stewardAppLogin({
required String token,
Map<String, dynamic>? queryParameters,
}) async {
await authRemote.stewardAppLogin(token: token, queryParameters: queryParameters);
}
}

View File

@@ -0,0 +1,85 @@
import 'package:rasadyar_chicken/features/common/data/model/local/widely_used_local_model.dart';
import 'package:rasadyar_chicken/features/common/data/model/request/change_password/change_password_request_model.dart';
import 'package:rasadyar_chicken/features/common/data/model/response/bar_information/bar_information.dart';
import 'package:rasadyar_chicken/features/common/data/model/response/broadcast_price/broadcast_price.dart';
import 'package:rasadyar_chicken/features/common/data/model/response/guild/guild_model.dart';
import 'package:rasadyar_chicken/features/common/data/model/response/guild_profile/guild_profile.dart';
import 'package:rasadyar_chicken/features/common/data/model/response/inventory/inventory_model.dart';
import 'package:rasadyar_chicken/features/common/data/model/response/iran_province_city/iran_province_city_model.dart';
import 'package:rasadyar_chicken/features/common/data/model/response/kill_house_distribution_info/kill_house_distribution_info.dart';
import 'package:rasadyar_chicken/features/common/data/model/response/roles_products/roles_products.dart';
import 'package:rasadyar_chicken/features/steward/data/model/response/segmentation_model/segmentation_model.dart';
import 'package:rasadyar_chicken/features/common/data/model/response/user_profile/user_profile.dart';
import 'package:rasadyar_core/core.dart';
abstract class CommonRepository {
//region Remote
Future<List<InventoryModel>?> getInventory({
required String token,
CancelToken? cancelToken,
});
Future<KillHouseDistributionInfo?> getKillHouseDistributionInfo({
required String token,
});
Future<BarInformation?> getGeneralBarInformation({
required String token,
Map<String, dynamic>? queryParameters,
});
Future<List<ProductModel>?> getRolesProducts({required String token});
Future<List<GuildModel>?> getGuilds({
required String token,
Map<String, dynamic>? queryParameters,
});
Future<GuildProfile?> getProfile({required String token});
Future<List<IranProvinceCityModel>?> getProvince({CancelToken? cancelToken});
Future<List<IranProvinceCityModel>?> getCity({required String provinceName});
Future<UserProfile?> getUserProfile({required String token});
Future<void> updateUserProfile({
required String token,
required UserProfile userProfile,
});
Future<void> updatePassword({
required String token,
required ChangePasswordRequestModel model,
});
Future<PaginationModel<SegmentationModel>?> getSegmentation({
required String token,
Map<String, dynamic>? queryParameters,
});
Future<void> createSegmentation({
required String token,
required SegmentationModel model,
});
Future<void> editSegmentation({
required String token,
required SegmentationModel model,
});
Future<SegmentationModel?> deleteSegmentation({
required String token,
required String key,
});
Future<BroadcastPrice?> getBroadcastPrice({required String token});
//endregion
//region local
Future<void> initWidleyUsed();
WidelyUsedLocalModel? getAllWidely();
//endregion
}

View File

@@ -0,0 +1,172 @@
import 'package:rasadyar_chicken/features/common/data/datasources/local/chicken_local.dart';
import 'package:rasadyar_chicken/features/common/data/datasources/remote/common/common_remote.dart';
import 'package:rasadyar_chicken/features/common/data/model/local/widely_used_local_model.dart';
import 'package:rasadyar_chicken/features/common/data/model/request/change_password/change_password_request_model.dart';
import 'package:rasadyar_chicken/features/common/data/model/response/bar_information/bar_information.dart';
import 'package:rasadyar_chicken/features/common/data/model/response/broadcast_price/broadcast_price.dart';
import 'package:rasadyar_chicken/features/common/data/model/response/guild/guild_model.dart';
import 'package:rasadyar_chicken/features/common/data/model/response/guild_profile/guild_profile.dart';
import 'package:rasadyar_chicken/features/common/data/model/response/inventory/inventory_model.dart';
import 'package:rasadyar_chicken/features/common/data/model/response/iran_province_city/iran_province_city_model.dart';
import 'package:rasadyar_chicken/features/common/data/model/response/kill_house_distribution_info/kill_house_distribution_info.dart';
import 'package:rasadyar_chicken/features/common/data/model/response/roles_products/roles_products.dart';
import 'package:rasadyar_chicken/features/steward/data/model/response/segmentation_model/segmentation_model.dart';
import 'package:rasadyar_chicken/features/common/data/model/response/user_profile/user_profile.dart';
import 'package:rasadyar_core/core.dart';
import 'common_repository.dart';
class CommonRepositoryImp implements CommonRepository {
final CommonRemoteDatasource remote;
final ChickenLocalDataSource local;
CommonRepositoryImp({required this.remote, required this.local});
//region Remote
@override
Future<List<InventoryModel>?> getInventory({
required String token,
CancelToken? cancelToken,
}) async {
var res = await remote.getInventory(token: token, cancelToken: cancelToken);
return res;
}
@override
Future<KillHouseDistributionInfo?> getKillHouseDistributionInfo({
required String token,
}) async {
var res = await remote.getKillHouseDistributionInfo(token: token);
return res;
}
@override
Future<BarInformation?> getGeneralBarInformation({
required String token,
Map<String, dynamic>? queryParameters,
}) async {
var res = await remote.getGeneralBarInformation(
token: token,
queryParameters: queryParameters,
);
return res;
}
@override
Future<List<ProductModel>?> getRolesProducts({required String token}) async {
var res = await remote.getRolesProducts(token: token);
return res;
}
@override
Future<List<GuildModel>?> getGuilds({
required String token,
Map<String, dynamic>? queryParameters,
}) async {
var res = await remote.getGuilds(
token: token,
queryParameters: queryParameters,
);
return res;
}
@override
Future<GuildProfile?> getProfile({required String token}) async {
var res = await remote.getProfile(token: token);
return res;
}
@override
Future<List<IranProvinceCityModel>?> getCity({
required String provinceName,
}) async {
var res = await remote.getCity(provinceName: provinceName);
return res;
}
@override
Future<List<IranProvinceCityModel>?> getProvince({
CancelToken? cancelToken,
}) async {
var res = await remote.getProvince(cancelToken: cancelToken);
return res;
}
@override
Future<UserProfile?> getUserProfile({required String token}) async {
var res = await remote.getUserProfile(token: token);
return res;
}
@override
Future<void> updateUserProfile({
required String token,
required UserProfile userProfile,
}) async {
await remote.updateUserProfile(token: token, userProfile: userProfile);
}
@override
Future<void> updatePassword({
required String token,
required ChangePasswordRequestModel model,
}) async {
await remote.updatePassword(token: token, model: model);
}
@override
Future<PaginationModel<SegmentationModel>?> getSegmentation({
required String token,
Map<String, dynamic>? queryParameters,
}) async {
var res = await remote.getSegmentation(
token: token,
queryParameters: queryParameters,
);
return res;
}
@override
Future<void> createSegmentation({
required String token,
required SegmentationModel model,
}) async {
await remote.createSegmentation(token: token, model: model);
}
@override
Future<void> editSegmentation({
required String token,
required SegmentationModel model,
}) async {
await remote.editSegmentation(token: token, model: model);
}
@override
Future<SegmentationModel?> deleteSegmentation({
required String token,
required String key,
}) async {
var res = await remote.deleteSegmentation(token: token, key: key);
return res;
}
@override
Future<BroadcastPrice?> getBroadcastPrice({required String token}) async {
var res = await remote.getBroadcastPrice(token: token);
return res;
}
//endregion
//region local
@override
WidelyUsedLocalModel? getAllWidely() => local.getAllWidely();
@override
Future<void> initWidleyUsed() async {
await local.initWidleyUsed();
}
//endregion
}