diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
index aed2f1e..fbb47e0 100644
--- a/android/app/src/main/AndroidManifest.xml
+++ b/android/app/src/main/AndroidManifest.xml
@@ -13,6 +13,7 @@
+
diff --git a/android/local.properties b/android/local.properties
index 8cd06f6..6325406 100644
--- a/android/local.properties
+++ b/android/local.properties
@@ -1,5 +1,5 @@
sdk.dir=C:\\Users\\Housh11\\AppData\\Local\\Android\\sdk
flutter.sdk=C:\\src\\flutter
flutter.buildMode=debug
-flutter.versionName=1.3.33
-flutter.versionCode=30
\ No newline at end of file
+flutter.versionName=1.3.39
+flutter.versionCode=35
\ No newline at end of file
diff --git a/devtools_options.yaml b/devtools_options.yaml
index ff5a421..a39b6d9 100644
--- a/devtools_options.yaml
+++ b/devtools_options.yaml
@@ -1,4 +1,6 @@
description: This file stores settings for Dart & Flutter DevTools.
documentation: https://docs.flutter.dev/tools/devtools/extensions#configure-extension-enablement-states
extensions:
- - hive_ce: true
\ No newline at end of file
+ - hive_ce: true
+ - provider: true
+ - shared_preferences: true
\ No newline at end of file
diff --git a/lib/data/model/app_info_model.dart b/lib/data/model/app_info_model.dart
index e6eb9f9..e7b6d15 100644
--- a/lib/data/model/app_info_model.dart
+++ b/lib/data/model/app_info_model.dart
@@ -5,14 +5,21 @@ part 'app_info_model.g.dart';
@freezed
abstract class AppInfoModel with _$AppInfoModel {
- const factory AppInfoModel({String? key, String? download_link, Info? info}) = _AppInfoModel;
+ const factory AppInfoModel({String? key, String? file, Info? info}) =
+ _AppInfoModel;
- factory AppInfoModel.fromJson(Map json) => _$AppInfoModelFromJson(json);
+ factory AppInfoModel.fromJson(Map json) =>
+ _$AppInfoModelFromJson(json);
}
@freezed
abstract class Info with _$Info {
- const factory Info({String? version, String? module, bool? required}) = _Info;
+ const factory Info({
+ String? version,
+ String? minVersion,
+ String? module,
+ bool? required,
+ }) = _Info;
factory Info.fromJson(Map json) => _$InfoFromJson(json);
}
diff --git a/lib/data/model/app_info_model.freezed.dart b/lib/data/model/app_info_model.freezed.dart
index dc05818..05bf09d 100644
--- a/lib/data/model/app_info_model.freezed.dart
+++ b/lib/data/model/app_info_model.freezed.dart
@@ -15,7 +15,7 @@ T _$identity(T value) => value;
/// @nodoc
mixin _$AppInfoModel {
- String? get key; String? get download_link; Info? get info;
+ String? get key; String? get file; Info? get info;
/// Create a copy of AppInfoModel
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@@ -28,16 +28,16 @@ $AppInfoModelCopyWith get copyWith => _$AppInfoModelCopyWithImpl Object.hash(runtimeType,key,download_link,info);
+int get hashCode => Object.hash(runtimeType,key,file,info);
@override
String toString() {
- return 'AppInfoModel(key: $key, download_link: $download_link, info: $info)';
+ return 'AppInfoModel(key: $key, file: $file, info: $info)';
}
@@ -48,7 +48,7 @@ abstract mixin class $AppInfoModelCopyWith<$Res> {
factory $AppInfoModelCopyWith(AppInfoModel value, $Res Function(AppInfoModel) _then) = _$AppInfoModelCopyWithImpl;
@useResult
$Res call({
- String? key, String? download_link, Info? info
+ String? key, String? file, Info? info
});
@@ -65,10 +65,10 @@ class _$AppInfoModelCopyWithImpl<$Res>
/// Create a copy of AppInfoModel
/// with the given fields replaced by the non-null parameter values.
-@pragma('vm:prefer-inline') @override $Res call({Object? key = freezed,Object? download_link = freezed,Object? info = freezed,}) {
+@pragma('vm:prefer-inline') @override $Res call({Object? key = freezed,Object? file = freezed,Object? info = freezed,}) {
return _then(_self.copyWith(
key: freezed == key ? _self.key : key // ignore: cast_nullable_to_non_nullable
-as String?,download_link: freezed == download_link ? _self.download_link : download_link // ignore: cast_nullable_to_non_nullable
+as String?,file: freezed == file ? _self.file : file // ignore: cast_nullable_to_non_nullable
as String?,info: freezed == info ? _self.info : info // ignore: cast_nullable_to_non_nullable
as Info?,
));
@@ -167,10 +167,10 @@ return $default(_that);case _:
/// }
/// ```
-@optionalTypeArgs TResult maybeWhen(TResult Function( String? key, String? download_link, Info? info)? $default,{required TResult orElse(),}) {final _that = this;
+@optionalTypeArgs TResult maybeWhen(TResult Function( String? key, String? file, Info? info)? $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _AppInfoModel() when $default != null:
-return $default(_that.key,_that.download_link,_that.info);case _:
+return $default(_that.key,_that.file,_that.info);case _:
return orElse();
}
@@ -188,10 +188,10 @@ return $default(_that.key,_that.download_link,_that.info);case _:
/// }
/// ```
-@optionalTypeArgs TResult when(TResult Function( String? key, String? download_link, Info? info) $default,) {final _that = this;
+@optionalTypeArgs TResult when(TResult Function( String? key, String? file, Info? info) $default,) {final _that = this;
switch (_that) {
case _AppInfoModel():
-return $default(_that.key,_that.download_link,_that.info);case _:
+return $default(_that.key,_that.file,_that.info);case _:
throw StateError('Unexpected subclass');
}
@@ -208,10 +208,10 @@ return $default(_that.key,_that.download_link,_that.info);case _:
/// }
/// ```
-@optionalTypeArgs TResult? whenOrNull(TResult? Function( String? key, String? download_link, Info? info)? $default,) {final _that = this;
+@optionalTypeArgs TResult? whenOrNull(TResult? Function( String? key, String? file, Info? info)? $default,) {final _that = this;
switch (_that) {
case _AppInfoModel() when $default != null:
-return $default(_that.key,_that.download_link,_that.info);case _:
+return $default(_that.key,_that.file,_that.info);case _:
return null;
}
@@ -223,11 +223,11 @@ return $default(_that.key,_that.download_link,_that.info);case _:
@JsonSerializable()
class _AppInfoModel implements AppInfoModel {
- const _AppInfoModel({this.key, this.download_link, this.info});
+ const _AppInfoModel({this.key, this.file, this.info});
factory _AppInfoModel.fromJson(Map json) => _$AppInfoModelFromJson(json);
@override final String? key;
-@override final String? download_link;
+@override final String? file;
@override final Info? info;
/// Create a copy of AppInfoModel
@@ -243,16 +243,16 @@ Map toJson() {
@override
bool operator ==(Object other) {
- return identical(this, other) || (other.runtimeType == runtimeType&&other is _AppInfoModel&&(identical(other.key, key) || other.key == key)&&(identical(other.download_link, download_link) || other.download_link == download_link)&&(identical(other.info, info) || other.info == info));
+ return identical(this, other) || (other.runtimeType == runtimeType&&other is _AppInfoModel&&(identical(other.key, key) || other.key == key)&&(identical(other.file, file) || other.file == file)&&(identical(other.info, info) || other.info == info));
}
@JsonKey(includeFromJson: false, includeToJson: false)
@override
-int get hashCode => Object.hash(runtimeType,key,download_link,info);
+int get hashCode => Object.hash(runtimeType,key,file,info);
@override
String toString() {
- return 'AppInfoModel(key: $key, download_link: $download_link, info: $info)';
+ return 'AppInfoModel(key: $key, file: $file, info: $info)';
}
@@ -263,7 +263,7 @@ abstract mixin class _$AppInfoModelCopyWith<$Res> implements $AppInfoModelCopyWi
factory _$AppInfoModelCopyWith(_AppInfoModel value, $Res Function(_AppInfoModel) _then) = __$AppInfoModelCopyWithImpl;
@override @useResult
$Res call({
- String? key, String? download_link, Info? info
+ String? key, String? file, Info? info
});
@@ -280,10 +280,10 @@ class __$AppInfoModelCopyWithImpl<$Res>
/// Create a copy of AppInfoModel
/// with the given fields replaced by the non-null parameter values.
-@override @pragma('vm:prefer-inline') $Res call({Object? key = freezed,Object? download_link = freezed,Object? info = freezed,}) {
+@override @pragma('vm:prefer-inline') $Res call({Object? key = freezed,Object? file = freezed,Object? info = freezed,}) {
return _then(_AppInfoModel(
key: freezed == key ? _self.key : key // ignore: cast_nullable_to_non_nullable
-as String?,download_link: freezed == download_link ? _self.download_link : download_link // ignore: cast_nullable_to_non_nullable
+as String?,file: freezed == file ? _self.file : file // ignore: cast_nullable_to_non_nullable
as String?,info: freezed == info ? _self.info : info // ignore: cast_nullable_to_non_nullable
as Info?,
));
@@ -308,7 +308,7 @@ $InfoCopyWith<$Res>? get info {
/// @nodoc
mixin _$Info {
- String? get version; String? get module; bool? get required;
+ String? get version; String? get minVersion; String? get module; bool? get required;
/// Create a copy of Info
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@@ -321,16 +321,16 @@ $InfoCopyWith get copyWith => _$InfoCopyWithImpl(this as Info, _$ide
@override
bool operator ==(Object other) {
- return identical(this, other) || (other.runtimeType == runtimeType&&other is Info&&(identical(other.version, version) || other.version == version)&&(identical(other.module, module) || other.module == module)&&(identical(other.required, required) || other.required == required));
+ return identical(this, other) || (other.runtimeType == runtimeType&&other is Info&&(identical(other.version, version) || other.version == version)&&(identical(other.minVersion, minVersion) || other.minVersion == minVersion)&&(identical(other.module, module) || other.module == module)&&(identical(other.required, required) || other.required == required));
}
@JsonKey(includeFromJson: false, includeToJson: false)
@override
-int get hashCode => Object.hash(runtimeType,version,module,required);
+int get hashCode => Object.hash(runtimeType,version,minVersion,module,required);
@override
String toString() {
- return 'Info(version: $version, module: $module, required: $required)';
+ return 'Info(version: $version, minVersion: $minVersion, module: $module, required: $required)';
}
@@ -341,7 +341,7 @@ abstract mixin class $InfoCopyWith<$Res> {
factory $InfoCopyWith(Info value, $Res Function(Info) _then) = _$InfoCopyWithImpl;
@useResult
$Res call({
- String? version, String? module, bool? required
+ String? version, String? minVersion, String? module, bool? required
});
@@ -358,9 +358,10 @@ class _$InfoCopyWithImpl<$Res>
/// Create a copy of Info
/// with the given fields replaced by the non-null parameter values.
-@pragma('vm:prefer-inline') @override $Res call({Object? version = freezed,Object? module = freezed,Object? required = freezed,}) {
+@pragma('vm:prefer-inline') @override $Res call({Object? version = freezed,Object? minVersion = freezed,Object? module = freezed,Object? required = freezed,}) {
return _then(_self.copyWith(
version: freezed == version ? _self.version : version // ignore: cast_nullable_to_non_nullable
+as String?,minVersion: freezed == minVersion ? _self.minVersion : minVersion // ignore: cast_nullable_to_non_nullable
as String?,module: freezed == module ? _self.module : module // ignore: cast_nullable_to_non_nullable
as String?,required: freezed == required ? _self.required : required // ignore: cast_nullable_to_non_nullable
as bool?,
@@ -448,10 +449,10 @@ return $default(_that);case _:
/// }
/// ```
-@optionalTypeArgs TResult maybeWhen(TResult Function( String? version, String? module, bool? required)? $default,{required TResult orElse(),}) {final _that = this;
+@optionalTypeArgs TResult maybeWhen(TResult Function( String? version, String? minVersion, String? module, bool? required)? $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _Info() when $default != null:
-return $default(_that.version,_that.module,_that.required);case _:
+return $default(_that.version,_that.minVersion,_that.module,_that.required);case _:
return orElse();
}
@@ -469,10 +470,10 @@ return $default(_that.version,_that.module,_that.required);case _:
/// }
/// ```
-@optionalTypeArgs TResult when(TResult Function( String? version, String? module, bool? required) $default,) {final _that = this;
+@optionalTypeArgs TResult when(TResult Function( String? version, String? minVersion, String? module, bool? required) $default,) {final _that = this;
switch (_that) {
case _Info():
-return $default(_that.version,_that.module,_that.required);case _:
+return $default(_that.version,_that.minVersion,_that.module,_that.required);case _:
throw StateError('Unexpected subclass');
}
@@ -489,10 +490,10 @@ return $default(_that.version,_that.module,_that.required);case _:
/// }
/// ```
-@optionalTypeArgs TResult? whenOrNull(TResult? Function( String? version, String? module, bool? required)? $default,) {final _that = this;
+@optionalTypeArgs TResult? whenOrNull(TResult? Function( String? version, String? minVersion, String? module, bool? required)? $default,) {final _that = this;
switch (_that) {
case _Info() when $default != null:
-return $default(_that.version,_that.module,_that.required);case _:
+return $default(_that.version,_that.minVersion,_that.module,_that.required);case _:
return null;
}
@@ -504,10 +505,11 @@ return $default(_that.version,_that.module,_that.required);case _:
@JsonSerializable()
class _Info implements Info {
- const _Info({this.version, this.module, this.required});
+ const _Info({this.version, this.minVersion, this.module, this.required});
factory _Info.fromJson(Map json) => _$InfoFromJson(json);
@override final String? version;
+@override final String? minVersion;
@override final String? module;
@override final bool? required;
@@ -524,16 +526,16 @@ Map toJson() {
@override
bool operator ==(Object other) {
- return identical(this, other) || (other.runtimeType == runtimeType&&other is _Info&&(identical(other.version, version) || other.version == version)&&(identical(other.module, module) || other.module == module)&&(identical(other.required, required) || other.required == required));
+ return identical(this, other) || (other.runtimeType == runtimeType&&other is _Info&&(identical(other.version, version) || other.version == version)&&(identical(other.minVersion, minVersion) || other.minVersion == minVersion)&&(identical(other.module, module) || other.module == module)&&(identical(other.required, required) || other.required == required));
}
@JsonKey(includeFromJson: false, includeToJson: false)
@override
-int get hashCode => Object.hash(runtimeType,version,module,required);
+int get hashCode => Object.hash(runtimeType,version,minVersion,module,required);
@override
String toString() {
- return 'Info(version: $version, module: $module, required: $required)';
+ return 'Info(version: $version, minVersion: $minVersion, module: $module, required: $required)';
}
@@ -544,7 +546,7 @@ abstract mixin class _$InfoCopyWith<$Res> implements $InfoCopyWith<$Res> {
factory _$InfoCopyWith(_Info value, $Res Function(_Info) _then) = __$InfoCopyWithImpl;
@override @useResult
$Res call({
- String? version, String? module, bool? required
+ String? version, String? minVersion, String? module, bool? required
});
@@ -561,9 +563,10 @@ class __$InfoCopyWithImpl<$Res>
/// Create a copy of Info
/// with the given fields replaced by the non-null parameter values.
-@override @pragma('vm:prefer-inline') $Res call({Object? version = freezed,Object? module = freezed,Object? required = freezed,}) {
+@override @pragma('vm:prefer-inline') $Res call({Object? version = freezed,Object? minVersion = freezed,Object? module = freezed,Object? required = freezed,}) {
return _then(_Info(
version: freezed == version ? _self.version : version // ignore: cast_nullable_to_non_nullable
+as String?,minVersion: freezed == minVersion ? _self.minVersion : minVersion // ignore: cast_nullable_to_non_nullable
as String?,module: freezed == module ? _self.module : module // ignore: cast_nullable_to_non_nullable
as String?,required: freezed == required ? _self.required : required // ignore: cast_nullable_to_non_nullable
as bool?,
diff --git a/lib/data/model/app_info_model.g.dart b/lib/data/model/app_info_model.g.dart
index 90cd6a5..3619ebe 100644
--- a/lib/data/model/app_info_model.g.dart
+++ b/lib/data/model/app_info_model.g.dart
@@ -9,7 +9,7 @@ part of 'app_info_model.dart';
_AppInfoModel _$AppInfoModelFromJson(Map json) =>
_AppInfoModel(
key: json['key'] as String?,
- download_link: json['download_link'] as String?,
+ file: json['file'] as String?,
info: json['info'] == null
? null
: Info.fromJson(json['info'] as Map),
@@ -18,18 +18,20 @@ _AppInfoModel _$AppInfoModelFromJson(Map json) =>
Map _$AppInfoModelToJson(_AppInfoModel instance) =>
{
'key': instance.key,
- 'download_link': instance.download_link,
+ 'file': instance.file,
'info': instance.info,
};
_Info _$InfoFromJson(Map json) => _Info(
version: json['version'] as String?,
+ minVersion: json['minVersion'] as String?,
module: json['module'] as String?,
required: json['required'] as bool?,
);
Map _$InfoToJson(_Info instance) => {
'version': instance.version,
+ 'minVersion': instance.minVersion,
'module': instance.module,
'required': instance.required,
};
diff --git a/lib/infrastructure/utils/local_storage_utils.dart b/lib/infrastructure/utils/local_storage_utils.dart
index 8df0853..ac7bbfe 100644
--- a/lib/infrastructure/utils/local_storage_utils.dart
+++ b/lib/infrastructure/utils/local_storage_utils.dart
@@ -1,6 +1,6 @@
import 'package:rasadyar_app/presentation/routes/app_pages.dart';
import 'package:rasadyar_chicken/data/di/chicken_di.dart';
-import 'package:rasadyar_chicken/presentation/routes/routes.dart';
+import 'package:rasadyar_chicken/features/steward/presentation/routes/routes.dart';
import 'package:rasadyar_core/core.dart';
import 'package:rasadyar_inspection/injection/inspection_di.dart';
import 'package:rasadyar_inspection/inspection.dart';
@@ -22,7 +22,7 @@ Future seedTargetPage() async {
functions: ["setupLiveStockDI"],
),
TargetPage(
- route: ChickenRoutes.initSteward,
+ route: StewardRoutes.initSteward,
module: Module.chicken,
functions: ["setupChickenDI"],
),
diff --git a/lib/presentation/pages/modules/logic.dart b/lib/presentation/pages/modules/logic.dart
index 2b65c7b..38c4c5b 100644
--- a/lib/presentation/pages/modules/logic.dart
+++ b/lib/presentation/pages/modules/logic.dart
@@ -102,7 +102,7 @@ class ModulesLogic extends GetxController {
Future navigateToModule(Module module) async {
var target = getAuthTargetPage(module).entries.first;
-
+
if (target.value?[0] != null) {
isLoading.value = !isLoading.value;
await target.value?[0]?.call();
diff --git a/lib/presentation/pages/splash/logic.dart b/lib/presentation/pages/splash/logic.dart
index d6fc2db..d088dfc 100644
--- a/lib/presentation/pages/splash/logic.dart
+++ b/lib/presentation/pages/splash/logic.dart
@@ -185,7 +185,7 @@ class SplashLogic extends GetxController with GetTickerProviderStateMixin {
try {
final info = await PackageInfo.fromPlatform();
int version = info.version.versionNumber;
- var res = await _dio.get("https://rsibackend.rasadyaar.ir/app/apk-info/");
+ var res = await _dio.get("https://rsibackend.rasadyar.com/app/rasadyar-app-info/");
appInfoModel = AppInfoModel.fromJson(res.data);
@@ -214,7 +214,7 @@ class SplashLogic extends GetxController with GetTickerProviderStateMixin {
while (attempts < retryCount && !success) {
try {
await _dio.download(
- appInfoModel?.download_link ?? '',
+ appInfoModel?.file ?? '',
filePath,
onReceiveProgress: (count, total) {
if (total != -1 && total > 0) {
diff --git a/output.json b/output.json
new file mode 100644
index 0000000..b058660
--- /dev/null
+++ b/output.json
@@ -0,0 +1,74 @@
+{
+ "lat": 35.8245784,
+ "log": 50.9479516,
+ "hatching_id": 4560,
+ "role": "SuperAdmin",
+ "report_information": {
+ "general_condition_hall": {
+ "images": [
+ "https://s3.rasadyar.com/rasadyar/202512141551550.jpg",
+ "https://s3.rasadyar.com/rasadyar/202512141551560.jpg"
+ ],
+ "health_status": "عالی",
+ "ventilation_status": "عالی",
+ "bed_condition": "خشک",
+ "temperature": 25,
+ "drinking_water_source": null,
+ "drinking_water_quality": null
+ },
+ "casualties": {
+ "normal_losses": null,
+ "abnormal_losses": null,
+ "source_of_hatching": null,
+ "cause_abnormal_losses": null,
+ "type_disease": null,
+ "sampling_done": null,
+ "type_sampling": null,
+ "images": null
+ },
+ "technical_officer": {
+ "technical_health_officer": "",
+ "technical_engineering_officer": ""
+ },
+ "input_status": {
+ "input_status": null,
+ "company_name": null,
+ "tracking_code": "",
+ "type_of_grain": null,
+ "inventory_in_warehouse": "",
+ "inventory_until_visit": "",
+ "grade_grain": null,
+ "images": null
+ },
+ "infrastructure_energy": {
+ "generator_type": "",
+ "generator_model": "",
+ "generator_count": "",
+ "generator_capacity": "",
+ "fuel_type": null,
+ "generator_performance": null,
+ "emergency_fuel_inventory": "",
+ "has_power_cut_history": null,
+ "power_cut_duration": "",
+ "power_cut_hour": "",
+ "additional_notes": ""
+ },
+ "hr": {
+ "number_employed": null,
+ "number_indigenous": null,
+ "number_non_indigenous": null,
+ "contract_status": null,
+ "trained": null
+ },
+ "facilities": {
+ "has_facilities": null,
+ "type_of_facility": null,
+ "amount": null,
+ "date": null,
+ "repayment_status": null,
+ "request_facilities": null
+ },
+ "inspection_status": "تایید شده",
+ "inspection_notes": "تست"
+ }
+}
\ No newline at end of file
diff --git a/packages/chicken/devtools_options.yaml b/packages/chicken/devtools_options.yaml
index ff5a421..a39b6d9 100644
--- a/packages/chicken/devtools_options.yaml
+++ b/packages/chicken/devtools_options.yaml
@@ -1,4 +1,6 @@
description: This file stores settings for Dart & Flutter DevTools.
documentation: https://docs.flutter.dev/tools/devtools/extensions#configure-extension-enablement-states
extensions:
- - hive_ce: true
\ No newline at end of file
+ - hive_ce: true
+ - provider: true
+ - shared_preferences: true
\ No newline at end of file
diff --git a/packages/chicken/lib/data/common/fa_user_role.dart b/packages/chicken/lib/data/common/fa_user_role.dart
index fa616dd..52e19c2 100644
--- a/packages/chicken/lib/data/common/fa_user_role.dart
+++ b/packages/chicken/lib/data/common/fa_user_role.dart
@@ -1,3 +1,12 @@
+import 'package:rasadyar_chicken/features/city_jahad/presentation/routes/routes.dart';
+import 'package:rasadyar_chicken/features/poultry_science/presentation/routes/routes.dart';
+import 'package:rasadyar_chicken/features/province_inspector/presentation/routes/routes.dart';
+import 'package:rasadyar_chicken/features/province_operator/presentation/routes/routes.dart';
+import 'package:rasadyar_chicken/features/province_supervisor/presentation/routes/routes.dart';
+import 'package:rasadyar_chicken/features/steward/presentation/routes/routes.dart';
+import 'package:rasadyar_chicken/features/super_admin/presentation/routes/routes.dart';
+import 'package:rasadyar_chicken/features/jahad/presentation/routes/routes.dart';
+import 'package:rasadyar_chicken/features/vet_farm/presentation/routes/routes.dart';
import 'package:rasadyar_chicken/presentation/routes/routes.dart';
String getFaUserRole(String? role) {
@@ -88,7 +97,7 @@ Map getFaUserRoleWithOnTap(String? role) {
case "Poultry":
return {"مرغدار": null};
case "ProvinceOperator":
- return {"مدیر اجرایی": null};
+ return {"مدیر اجرایی": ProvinceOperatorRoutes.initProvinceOperator};
case "ProvinceFinancial":
return {"مالی اتحادیه": null};
case "KillHouse":
@@ -96,17 +105,17 @@ Map getFaUserRoleWithOnTap(String? role) {
case "KillHouseVet":
return {"دامپزشک کشتارگاه": null};
case "VetFarm":
- return {"دامپزشک فارم": null};
+ return {"دامپزشک فارم": VetFarmRoutes.initVetFarm};
case "Driver":
return {"راننده": null};
case "ProvinceInspector":
- return {"بازرس اتحادیه": null};
+ return {"بازرس اتحادیه": ProvinceInspectorRoutes.initProvinceInspector};
case "VetSupervisor":
return {"دامپزشک کل": null};
case "Jahad":
- return {"جهاد کشاورزی استان": null};
+ return {"جهاد کشاورزی استان": JahadRoutes.initJahad};
case "CityJahad":
- return {"جهاد کشاورزی شهرستان": null};
+ return {"جهاد کشاورزی شهرستان": CityJahadRoutes.initCityJahad};
case "ProvincialGovernment":
return {"استانداری": null};
case "Guilds":
@@ -122,7 +131,7 @@ Map getFaUserRoleWithOnTap(String? role) {
case "Observatory":
return {"رصدخانه": null};
case "ProvinceSupervisor":
- return {"ناظر استان": null};
+ return {"ناظر استان": ProvinceSupervisorRoutes.initProvinceSupervisor};
case "GuildRoom":
return {"اتاق اصناف": null};
case "PosCompany":
@@ -130,7 +139,7 @@ Map getFaUserRoleWithOnTap(String? role) {
case "LiveStockSupport":
return {"پشتیبانی امور دام": null};
case "SuperAdmin":
- return {"ادمین کل": null};
+ return {"ادمین کل": SuperAdminRoutes.initSuperAdmin};
case "ChainCompany":
return {"شرکت زنجیره": null};
case "AdminX":
@@ -150,9 +159,9 @@ Map getFaUserRoleWithOnTap(String? role) {
case "LiveStockProvinceJahad":
return {"جهاد استان": null};
case "Steward":
- return {"مباشر": ChickenRoutes.initSteward};
+ return {"مباشر": StewardRoutes.initSteward};
case "PoultryScience":
- return {"کارشناس طیور": ChickenRoutes.initPoultryScience};
+ return {"کارشناس طیور": PoultryScienceRoutes.initPoultryScience};
default:
return {"نامشخص": null};
}
diff --git a/packages/chicken/lib/data/data_source/remote/chicken/chicken_remote.dart b/packages/chicken/lib/data/data_source/remote/chicken/chicken_remote.dart
deleted file mode 100644
index 41492d8..0000000
--- a/packages/chicken/lib/data/data_source/remote/chicken/chicken_remote.dart
+++ /dev/null
@@ -1,208 +0,0 @@
-import 'package:rasadyar_chicken/data/models/request/change_password/change_password_request_model.dart';
-import 'package:rasadyar_chicken/data/models/request/conform_allocation/conform_allocation.dart';
-import 'package:rasadyar_chicken/data/models/request/create_steward_free_bar/create_steward_free_bar.dart';
-import 'package:rasadyar_chicken/data/models/request/steward_free_sale_bar/steward_free_sale_bar_request.dart';
-import 'package:rasadyar_chicken/data/models/request/submit_steward_allocation/submit_steward_allocation.dart';
-import 'package:rasadyar_chicken/data/models/response/allocated_made/allocated_made.dart';
-import 'package:rasadyar_chicken/data/models/response/bar_information/bar_information.dart';
-import 'package:rasadyar_chicken/data/models/response/broadcast_price/broadcast_price.dart';
-import 'package:rasadyar_chicken/data/models/response/dashboard_kill_house_free_bar/dashboard_kill_house_free_bar.dart';
-import 'package:rasadyar_chicken/data/models/response/guild/guild_model.dart';
-import 'package:rasadyar_chicken/data/models/response/guild_profile/guild_profile.dart';
-import 'package:rasadyar_chicken/data/models/response/imported_loads_model/imported_loads_model.dart';
-import 'package:rasadyar_chicken/data/models/response/iran_province_city/iran_province_city_model.dart';
-import 'package:rasadyar_chicken/data/models/response/kill_house_distribution_info/kill_house_distribution_info.dart';
-import 'package:rasadyar_chicken/data/models/response/out_province_carcasses_buyer/out_province_carcasses_buyer.dart';
-import 'package:rasadyar_chicken/data/models/response/roles_products/roles_products.dart';
-import 'package:rasadyar_chicken/data/models/response/segmentation_model/segmentation_model.dart';
-import 'package:rasadyar_chicken/data/models/response/steward_free_bar/steward_free_bar.dart';
-import 'package:rasadyar_chicken/data/models/response/steward_free_bar_dashboard/steward_free_bar_dashboard.dart';
-import 'package:rasadyar_chicken/data/models/response/steward_free_sale_bar/steward_free_sale_bar.dart';
-import 'package:rasadyar_chicken/data/models/response/steward_remain_weight/steward_remain_weight.dart';
-import 'package:rasadyar_chicken/data/models/response/steward_sales_info_dashboard/steward_sales_info_dashboard.dart';
-import 'package:rasadyar_chicken/data/models/response/user_profile/user_profile.dart';
-import 'package:rasadyar_chicken/data/models/response/waiting_arrival/waiting_arrival.dart'
- hide ProductModel;
-import 'package:rasadyar_core/core.dart';
-
-abstract class ChickenRemoteDatasource {
- Future?> getRolesProducts({
- required String token,
- CancelToken? cancelToken,
- Map? queryParameters,
- });
- Future getKillHouseDistributionInfo({
- required String token,
- });
-
- Future getGeneralBarInformation({
- required String token,
- Map? queryParameters,
- });
-
- Future?> getWaitingArrivals({
- required String token,
- Map? queryParameters,
- });
-
- Future setSateForArrivals({
- required String token,
- required Map request,
- });
-
- Future?> getImportedLoadsModel({
- required String token,
- Map? queryParameters,
- });
-
- Future?> getAllocatedMade({
- required String token,
- Map? queryParameters,
- });
-
- Future confirmAllocation({
- required String token,
- required Map allocation,
- });
-
- Future denyAllocation({
- required String token,
- required String allocationToken,
- });
-
- Future confirmAllAllocation({
- required String token,
- required List allocationTokens,
- });
-
- Future?> getGuilds({
- required String token,
- Map? queryParameters,
- });
-
- Future getProfile({required String token});
-
- Future postSubmitStewardAllocation({
- required String token,
- required SubmitStewardAllocation request,
- });
-
- Future deleteStewardAllocation({
- required String token,
- Map? queryParameters,
- });
-
- Future updateStewardAllocation({
- required String token,
- required ConformAllocation request,
- });
-
- Future getStewardDashboard({
- required String token,
- required String stratDate,
- required String endDate,
- });
-
- Future getDashboardKillHouseFreeBar({
- required String token,
- required String stratDate,
- required String endDate,
- });
-
- Future?>
- getStewardPurchasesOutSideOfTheProvince({
- required String token,
- Map? queryParameters,
- });
-
- Future createStewardPurchasesOutSideOfTheProvince({
- required String token,
- required CreateStewardFreeBar body,
- });
-
- Future deleteStewardPurchasesOutSideOfTheProvince({
- required String token,
- Map? queryParameters,
- });
-
- Future editStewardPurchasesOutSideOfTheProvince({
- required String token,
- Map? queryParameters,
- });
-
- Future?>
- getOutProvinceCarcassesBuyer({
- required String token,
- Map? queryParameters,
- });
-
- Future createOutProvinceCarcassesBuyer({
- required String token,
- required OutProvinceCarcassesBuyer body,
- });
-
- Future?> getProvince({CancelToken? cancelToken});
-
- Future?> getCity({required String provinceName});
-
- Future?> getStewardFreeSaleBar({
- required String token,
- Map? queryParameters,
- });
-
- Future createOutProvinceStewardFreeBar({
- required String token,
- required StewardFreeSaleBarRequest body,
- });
-
- Future updateOutProvinceStewardFreeBar({
- required String token,
- required StewardFreeSaleBarRequest body,
- });
-
- Future deleteOutProvinceStewardFreeBar({
- required String token,
- required String key,
- });
-
- Future getUserProfile({required String token});
-
- Future updateUserProfile({
- required String token,
- required UserProfile userProfile,
- });
-
- Future updatePassword({
- required String token,
- required ChangePasswordRequestModel model,
- });
-
- Future?> getSegmentation({
- required String token,
- Map? queryParameters,
- });
-
- Future createSegmentation({
- required String token,
- required SegmentationModel model,
- });
-
- Future editSegmentation({
- required String token,
- required SegmentationModel model,
- });
-
- Future deleteSegmentation({
- required String token,
- required String key,
- });
-
- Future getBroadcastPrice({required String token});
-
- Future getStewardSalesInfoDashboard({
- required String token,
- Map? queryParameters,
- });
-
- Future getStewardRemainWeight({required String token});
-}
diff --git a/packages/chicken/lib/data/data_source/remote/poultry_science/poultry_science_remote.dart b/packages/chicken/lib/data/data_source/remote/poultry_science/poultry_science_remote.dart
deleted file mode 100644
index 3a892c4..0000000
--- a/packages/chicken/lib/data/data_source/remote/poultry_science/poultry_science_remote.dart
+++ /dev/null
@@ -1,94 +0,0 @@
-import 'package:rasadyar_chicken/data/models/poultry_export/poultry_export.dart';
-import 'package:rasadyar_chicken/data/models/request/kill_registration/kill_registration.dart';
-import 'package:rasadyar_chicken/data/models/response/all_poultry/all_poultry.dart';
-import 'package:rasadyar_chicken/data/models/response/approved_price/approved_price.dart';
-import 'package:rasadyar_chicken/data/models/response/hatching/hatching_models.dart';
-import 'package:rasadyar_chicken/data/models/response/hatching_report/hatching_report.dart';
-import 'package:rasadyar_chicken/data/models/response/kill_house_poultry/kill_house_poultry.dart';
-import 'package:rasadyar_chicken/data/models/response/kill_request_poultry/kill_request_poultry.dart';
-import 'package:rasadyar_chicken/data/models/response/poultry_farm/poultry_farm.dart';
-import 'package:rasadyar_chicken/data/models/response/poultry_hatching/poultry_hatching.dart';
-import 'package:rasadyar_chicken/data/models/response/poultry_order/poultry_order.dart';
-import 'package:rasadyar_chicken/data/models/response/poultry_science/home_poultry_science/home_poultry_science_model.dart';
-import 'package:rasadyar_chicken/data/models/response/sell_for_freezing/sell_for_freezing.dart';
-import 'package:rasadyar_core/core.dart';
-
-abstract class PoultryScienceRemoteDatasource {
- Future getHomePoultryScience({
- required String token,
- required String type,
- });
-
- Future?> getHatchingPoultry({
- required String token,
- Map? queryParameters,
- });
-
- Future submitPoultryScienceReport({
- required String token,
- required FormData data,
- ProgressCallback? onSendProgress,
- });
-
- Future?> getPoultryScienceReport({
- required String token,
- Map? queryParameters,
- });
-
- Future?> getPoultryScienceFarmList({
- required String token,
- Map? queryParameters,
- });
-
- Future getApprovedPrice({ required String token,
- Map? queryParameters,});
-
- Future?> getAllPoultry({
- required String token,
- Map? queryParameters,
- });
-
-
- Future getSellForFreezing({
- required String token,
- Map? queryParameters,
- });
-
-
- Future getPoultryExport({
- required String token,
- Map? queryParameters,
- });
-
-
- Future?> getUserPoultry({
- required String token,
- Map? queryParameters,
- });
-
- Future?> getPoultryHatching({
- required String token,
- Map? queryParameters,
- });
-
- Future?> getKillHouseList({
- required String token,
- Map? queryParameters,
- });
-
- Future submitKillRegistration({
- required String token,
- required KillRegistrationRequest request,
- });
-
-
- Future?> getPoultryOderList({
- required String token,
- Map? queryParameters,
- });
-
- Future deletePoultryOder({
- required String token,
- required String orderId,
- });
-}
diff --git a/packages/chicken/lib/data/di/chicken_di.dart b/packages/chicken/lib/data/di/chicken_di.dart
index 9c1f84c..483852e 100644
--- a/packages/chicken/lib/data/di/chicken_di.dart
+++ b/packages/chicken/lib/data/di/chicken_di.dart
@@ -1,23 +1,19 @@
-import 'package:rasadyar_chicken/chicken.dart';
import 'package:rasadyar_chicken/data/common/dio_error_handler.dart';
-import 'package:rasadyar_chicken/data/data_source/local/chicken_local.dart';
-import 'package:rasadyar_chicken/data/data_source/local/chicken_local_imp.dart';
-import 'package:rasadyar_chicken/data/data_source/remote/auth/auth_remote.dart';
-import 'package:rasadyar_chicken/data/data_source/remote/auth/auth_remote_imp.dart';
-import 'package:rasadyar_chicken/data/data_source/remote/chicken/chicken_remote.dart';
-import 'package:rasadyar_chicken/data/data_source/remote/chicken/chicken_remote_imp.dart';
+import 'package:rasadyar_chicken/features/common/presentation/routes/routes.dart';
+import 'package:rasadyar_chicken/features/common/data/di/common_di.dart';
import 'package:rasadyar_chicken/data/data_source/remote/kill_house/kill_house_remote.dart';
import 'package:rasadyar_chicken/data/data_source/remote/kill_house/kill_house_remote_impl.dart';
-import 'package:rasadyar_chicken/data/data_source/remote/poultry_science/poultry_science_remote.dart';
-import 'package:rasadyar_chicken/data/data_source/remote/poultry_science/poultry_science_remote_imp.dart';
-import 'package:rasadyar_chicken/data/repositories/auth/auth_repository.dart';
-import 'package:rasadyar_chicken/data/repositories/auth/auth_repository_imp.dart';
-import 'package:rasadyar_chicken/data/repositories/chicken/chicken_repository.dart';
-import 'package:rasadyar_chicken/data/repositories/chicken/chicken_repository_imp.dart';
import 'package:rasadyar_chicken/data/repositories/kill_house/kill_house_repository.dart';
import 'package:rasadyar_chicken/data/repositories/kill_house/kill_house_repository_impl.dart';
-import 'package:rasadyar_chicken/data/repositories/poultry_science/poultry_science_repository.dart';
-import 'package:rasadyar_chicken/data/repositories/poultry_science/poultry_science_repository_imp.dart';
+import 'package:rasadyar_chicken/features/poultry_science/data/di/poultry_science_di.dart';
+import 'package:rasadyar_chicken/features/steward/data/di/steward_di.dart';
+import 'package:rasadyar_chicken/features/province_operator/data/di/province_operator_di.dart';
+import 'package:rasadyar_chicken/features/province_inspector/data/di/province_inspector_di.dart';
+import 'package:rasadyar_chicken/features/city_jahad/data/di/city_jahad_di.dart';
+import 'package:rasadyar_chicken/features/vet_farm/data/di/vet_farm_di.dart';
+import 'package:rasadyar_chicken/features/super_admin/data/di/super_admin_di.dart';
+import 'package:rasadyar_chicken/features/province_supervisor/data/di/province_supervisor_di.dart';
+import 'package:rasadyar_chicken/features/jahad/data/di/jahad_di.dart';
import 'package:rasadyar_core/core.dart';
GetIt diChicken = GetIt.asNewInstance();
@@ -40,7 +36,7 @@ Future setupChickenDI() async {
},
clearTokenCallback: () async {
await tokenService.deleteModuleTokens(Module.chicken);
- Get.offAllNamed(ChickenRoutes.auth, arguments: Module.chicken);
+ Get.offAllNamed(CommonRoutes.auth, arguments: Module.chicken);
},
),
instanceName: 'chickenInterceptor',
@@ -60,47 +56,42 @@ Future setupChickenDI() async {
final dioRemote = diChicken.get();
await dioRemote.init();
- diChicken.registerLazySingleton(
- () => AuthRemoteDataSourceImp(dioRemote),
- );
+ // Setup common feature DI
+ await setupCommonDI(diChicken, dioRemote);
- diChicken.registerLazySingleton(
- () => AuthRepositoryImpl(diChicken.get()),
- );
+ // Setup poultry_science feature DI
+ await setupPoultryScienceDI(diChicken, dioRemote);
- diChicken.registerLazySingleton(
- () => ChickenRemoteDatasourceImp(diChicken.get()),
- );
+ // Setup steward feature DI
+ await setupStewardDI(diChicken, dioRemote);
- diChicken.registerLazySingleton(
- () => ChickenLocalDataSourceImp(),
- );
+ // Setup province_operator feature DI
+ await setupProvinceOperatorDI(diChicken, dioRemote);
- diChicken.registerLazySingleton(
- () => ChickenRepositoryImp(
- remote: diChicken.get(),
- local: diChicken.get(),
- ),
- );
+ // Setup province_inspector feature DI
+ await setupProvinceInspectorDI(diChicken, dioRemote);
- diChicken.registerLazySingleton(
- () => PoultryScienceRemoteDatasourceImp(diChicken.get()),
- );
+ // Setup city_jahad feature DI
+ await setupCityJahadDI(diChicken, dioRemote);
- diChicken.registerLazySingleton(
- () => PoultryScienceRepositoryImp(
- diChicken.get(),
- ),
- );
+ // Setup vet_farm feature DI
+ await setupVetFarmDI(diChicken, dioRemote);
+
+ // Setup super_admin feature DI
+ await setupSuperAdminDI(diChicken, dioRemote);
+
+ // Setup province_supervisor feature DI
+ await setupProvinceSupervisorDI(diChicken, dioRemote);
+
+ // Setup jahad feature DI
+ await setupJahadDI(diChicken, dioRemote);
//region kill house module DI
diChicken.registerLazySingleton(
() => KillHouseRemoteDataSourceImpl(diChicken.get()),
);
diChicken.registerLazySingleton(
- () => KillHouseRepositoryImpl(
- diChicken.get(),
- ),
+ () => KillHouseRepositoryImpl(diChicken.get()),
);
//endregion
}
@@ -108,35 +99,26 @@ Future setupChickenDI() async {
Future newSetupAuthDI(String newUrl) async {
var tokenService = Get.find();
- // همیشه baseUrl جدید رو ذخیره کن
await tokenService.saveBaseUrl(Module.chicken, newUrl);
- // Re-register AppInterceptor
- if (diChicken.isRegistered(
- instanceName: 'chickenInterceptor',
- )) {
- await diChicken.unregister(
- instanceName: 'chickenInterceptor',
- );
- }
+ // پاکسازی DI مخصوص ماژول مرغ
+ await diChicken.resetScope();
+ diChicken.pushNewScope();
+
+ // --- Re-register AppInterceptor
diChicken.registerLazySingleton(
() => AppInterceptor(
refreshTokenCallback: () async => null,
- saveTokenCallback: (String newToken) async {
- // await tokenService.saveAccessToken(newToken);
- },
+ saveTokenCallback: (newToken) async {},
clearTokenCallback: () async {
await tokenService.deleteModuleTokens(Module.chicken);
- Get.offAllNamed(ChickenRoutes.auth, arguments: Module.chicken);
+ Get.offAllNamed(CommonRoutes.auth, arguments: Module.chicken);
},
),
instanceName: 'chickenInterceptor',
);
- // Re-register DioRemote
- if (diChicken.isRegistered()) {
- await diChicken.unregister();
- }
+ // --- Re-register DioRemote
diChicken.registerLazySingleton(
() => DioRemote(
baseUrl: newUrl,
@@ -145,35 +127,21 @@ Future newSetupAuthDI(String newUrl) async {
),
),
);
+
final dioRemote = diChicken.get();
await dioRemote.init();
- // Re-register dependent layers
- await reRegister(
- () => AuthRemoteDataSourceImp(dioRemote),
- );
- await reRegister(
- () => AuthRepositoryImpl(diChicken.get()),
- );
- await reRegister(
- () => ChickenRemoteDatasourceImp(dioRemote),
- );
- await reRegister(() => ChickenLocalDataSourceImp());
- await reRegister(
- () => ChickenRepositoryImp(
- remote: diChicken.get(),
- local: diChicken.get(),
- ),
- );
-
- await reRegister(
- () => PoultryScienceRemoteDatasourceImp(dioRemote),
- );
- await reRegister(
- () => PoultryScienceRepositoryImp(
- diChicken.get(),
- ),
- );
+ // --- common, poultry_science, steward, and other features
+ await setupCommonDI(diChicken, dioRemote);
+ await setupPoultryScienceDI(diChicken, dioRemote);
+ await setupStewardDI(diChicken, dioRemote);
+ await setupProvinceOperatorDI(diChicken, dioRemote);
+ await setupProvinceInspectorDI(diChicken, dioRemote);
+ await setupCityJahadDI(diChicken, dioRemote);
+ await setupVetFarmDI(diChicken, dioRemote);
+ await setupSuperAdminDI(diChicken, dioRemote);
+ await setupProvinceSupervisorDI(diChicken, dioRemote);
+ await setupJahadDI(diChicken, dioRemote);
}
Future reRegister(T Function() factory) async {
diff --git a/packages/chicken/lib/data/repositories/chicken/chicken_repository.dart b/packages/chicken/lib/data/repositories/chicken/chicken_repository.dart
deleted file mode 100644
index 0f35283..0000000
--- a/packages/chicken/lib/data/repositories/chicken/chicken_repository.dart
+++ /dev/null
@@ -1,224 +0,0 @@
-import 'package:rasadyar_chicken/data/models/local/widely_used_local_model.dart';
-import 'package:rasadyar_chicken/data/models/request/change_password/change_password_request_model.dart';
-import 'package:rasadyar_chicken/data/models/request/conform_allocation/conform_allocation.dart';
-import 'package:rasadyar_chicken/data/models/request/steward_free_sale_bar/steward_free_sale_bar_request.dart';
-import 'package:rasadyar_chicken/data/models/request/submit_steward_allocation/submit_steward_allocation.dart';
-import 'package:rasadyar_chicken/data/models/response/allocated_made/allocated_made.dart';
-import 'package:rasadyar_chicken/data/models/response/bar_information/bar_information.dart';
-import 'package:rasadyar_chicken/data/models/response/broadcast_price/broadcast_price.dart';
-import 'package:rasadyar_chicken/data/models/response/dashboard_kill_house_free_bar/dashboard_kill_house_free_bar.dart';
-import 'package:rasadyar_chicken/data/models/response/guild/guild_model.dart';
-import 'package:rasadyar_chicken/data/models/response/guild_profile/guild_profile.dart';
-import 'package:rasadyar_chicken/data/models/response/imported_loads_model/imported_loads_model.dart';
-import 'package:rasadyar_chicken/data/models/response/iran_province_city/iran_province_city_model.dart';
-import 'package:rasadyar_chicken/data/models/response/kill_house_distribution_info/kill_house_distribution_info.dart';
-import 'package:rasadyar_chicken/data/models/response/out_province_carcasses_buyer/out_province_carcasses_buyer.dart';
-import 'package:rasadyar_chicken/data/models/response/roles_products/roles_products.dart';
-import 'package:rasadyar_chicken/data/models/response/segmentation_model/segmentation_model.dart';
-import 'package:rasadyar_chicken/data/models/response/steward_free_bar/steward_free_bar.dart';
-import 'package:rasadyar_chicken/data/models/response/steward_free_bar_dashboard/steward_free_bar_dashboard.dart';
-import 'package:rasadyar_chicken/data/models/response/steward_free_sale_bar/steward_free_sale_bar.dart';
-import 'package:rasadyar_chicken/data/models/response/steward_remain_weight/steward_remain_weight.dart';
-import 'package:rasadyar_chicken/data/models/response/steward_sales_info_dashboard/steward_sales_info_dashboard.dart';
-import 'package:rasadyar_chicken/data/models/response/user_profile/user_profile.dart';
-import 'package:rasadyar_chicken/data/models/response/waiting_arrival/waiting_arrival.dart'
- hide ProductModel;
-import 'package:rasadyar_core/core.dart';
-
-import '../../models/request/create_steward_free_bar/create_steward_free_bar.dart';
-
-abstract class ChickenRepository {
- //region Remote
- Future?> getRolesProducts({
- required String token,
- CancelToken? cancelToken,
- Map? queryParameters,
- });
-
- //region Steward
-
- Future getKillHouseDistributionInfo({
- required String token,
- });
-
- Future getGeneralBarInformation({
- required String token,
- Map? queryParameters,
- });
-
- Future?> getWaitingArrivals({
- required String token,
- Map? queryParameters,
- });
-
- Future setSateForArrivals({
- required String token,
- required Map request,
- });
-
- Future?> getImportedLoadsModel({
- required String token,
- Map? queryParameters,
- });
-
- Future?> getAllocatedMade({
- required String token,
- Map? queryParameters,
- });
-
- Future confirmAllocation({
- required String token,
- required Map allocation,
- });
-
- Future denyAllocation({
- required String token,
- required String allocationToken,
- });
-
- Future confirmAllAllocation({
- required String token,
- required List allocationTokens,
- });
-
- Future?> getGuilds({
- required String token,
- Map? queryParameters,
- });
-
- Future getProfile({required String token});
-
- Future postSubmitStewardAllocation({
- required String token,
- required SubmitStewardAllocation request,
- });
-
- Future deleteStewardAllocation({
- required String token,
- Map? queryParameters,
- });
-
- Future updateStewardAllocation({
- required String token,
- required ConformAllocation request,
- });
-
- Future getStewardDashboard({
- required String token,
- required String stratDate,
- required String endDate,
- });
-
- Future getDashboardKillHouseFreeBar({
- required String token,
- required String stratDate,
- required String endDate,
- });
-
- Future?>
- getStewardPurchasesOutSideOfTheProvince({
- required String token,
- Map? queryParameters,
- });
-
- Future createStewardPurchasesOutSideOfTheProvince({
- required String token,
- required CreateStewardFreeBar body,
- });
-
- Future editStewardPurchasesOutSideOfTheProvince({
- required String token,
- required CreateStewardFreeBar body,
- });
-
- Future deleteStewardPurchasesOutSideOfTheProvince({
- required String token,
- Map? queryParameters,
- });
-
- Future?>
- getOutProvinceCarcassesBuyer({
- required String token,
- Map? queryParameters,
- });
-
- Future createOutProvinceCarcassesBuyer({
- required String token,
- required OutProvinceCarcassesBuyer body,
- });
-
- Future?> getProvince({CancelToken? cancelToken});
-
- Future?> getCity({required String provinceName});
-
- Future?> getStewardFreeSaleBar({
- required String token,
- Map? queryParameters,
- });
-
- Future createOutProvinceStewardFreeBar({
- required String token,
- required StewardFreeSaleBarRequest body,
- });
-
- Future updateOutProvinceStewardFreeBar({
- required String token,
- required StewardFreeSaleBarRequest body,
- });
-
- Future deleteOutProvinceStewardFreeBar({
- required String token,
- required String key,
- });
-
- Future getUserProfile({required String token});
-
- Future updateUserProfile({
- required String token,
- required UserProfile userProfile,
- });
-
- Future updatePassword({
- required String token,
- required ChangePasswordRequestModel model,
- });
-
- Future?> getSegmentation({
- required String token,
- Map? queryParameters,
- });
-
- Future createSegmentation({
- required String token,
- required SegmentationModel model,
- });
-
- Future editSegmentation({
- required String token,
- required SegmentationModel model,
- });
-
- Future deleteSegmentation({
- required String token,
- required String key,
- });
-
- Future getBroadcastPrice({required String token});
-
- Future getStewardSalesInfoDashboard({
- required String token,
- Map? queryParameters,
- });
-
- Future getStewardRemainWeight({required String token});
-
- //endregion
-
- //endregion
-
- //region local
- Future initWidleyUsed();
-
- WidelyUsedLocalModel? getAllWidely();
- //endregion
-}
diff --git a/packages/chicken/lib/data/repositories/chicken/chicken_repository_imp.dart b/packages/chicken/lib/data/repositories/chicken/chicken_repository_imp.dart
deleted file mode 100644
index d9f280a..0000000
--- a/packages/chicken/lib/data/repositories/chicken/chicken_repository_imp.dart
+++ /dev/null
@@ -1,434 +0,0 @@
-import 'package:rasadyar_chicken/data/data_source/local/chicken_local.dart';
-import 'package:rasadyar_chicken/data/data_source/remote/chicken/chicken_remote.dart';
-import 'package:rasadyar_chicken/data/models/local/widely_used_local_model.dart';
-import 'package:rasadyar_chicken/data/models/request/change_password/change_password_request_model.dart';
-import 'package:rasadyar_chicken/data/models/request/conform_allocation/conform_allocation.dart';
-import 'package:rasadyar_chicken/data/models/request/create_steward_free_bar/create_steward_free_bar.dart';
-import 'package:rasadyar_chicken/data/models/request/steward_free_sale_bar/steward_free_sale_bar_request.dart';
-import 'package:rasadyar_chicken/data/models/request/submit_steward_allocation/submit_steward_allocation.dart';
-import 'package:rasadyar_chicken/data/models/response/allocated_made/allocated_made.dart';
-import 'package:rasadyar_chicken/data/models/response/bar_information/bar_information.dart';
-import 'package:rasadyar_chicken/data/models/response/broadcast_price/broadcast_price.dart';
-import 'package:rasadyar_chicken/data/models/response/dashboard_kill_house_free_bar/dashboard_kill_house_free_bar.dart';
-import 'package:rasadyar_chicken/data/models/response/guild/guild_model.dart';
-import 'package:rasadyar_chicken/data/models/response/guild_profile/guild_profile.dart';
-import 'package:rasadyar_chicken/data/models/response/imported_loads_model/imported_loads_model.dart';
-import 'package:rasadyar_chicken/data/models/response/iran_province_city/iran_province_city_model.dart';
-import 'package:rasadyar_chicken/data/models/response/kill_house_distribution_info/kill_house_distribution_info.dart';
-import 'package:rasadyar_chicken/data/models/response/out_province_carcasses_buyer/out_province_carcasses_buyer.dart';
-import 'package:rasadyar_chicken/data/models/response/roles_products/roles_products.dart';
-import 'package:rasadyar_chicken/data/models/response/segmentation_model/segmentation_model.dart';
-import 'package:rasadyar_chicken/data/models/response/steward_free_bar/steward_free_bar.dart';
-import 'package:rasadyar_chicken/data/models/response/steward_free_bar_dashboard/steward_free_bar_dashboard.dart';
-import 'package:rasadyar_chicken/data/models/response/steward_free_sale_bar/steward_free_sale_bar.dart';
-import 'package:rasadyar_chicken/data/models/response/steward_remain_weight/steward_remain_weight.dart';
-import 'package:rasadyar_chicken/data/models/response/steward_sales_info_dashboard/steward_sales_info_dashboard.dart';
-import 'package:rasadyar_chicken/data/models/response/user_profile/user_profile.dart';
-import 'package:rasadyar_chicken/data/models/response/waiting_arrival/waiting_arrival.dart'
- hide ProductModel;
-import 'package:rasadyar_core/core.dart';
-
-import 'chicken_repository.dart';
-
-class ChickenRepositoryImp implements ChickenRepository {
- final ChickenRemoteDatasource remote;
- final ChickenLocalDataSource local;
-
- ChickenRepositoryImp({required this.remote, required this.local});
-
- //region Remote
-
- @override
- Future getKillHouseDistributionInfo({
- required String token,
- }) async {
- var res = await remote.getKillHouseDistributionInfo(token: token);
- return res;
- }
-
- @override
- Future getGeneralBarInformation({
- required String token,
- Map? queryParameters,
- }) async {
- var res = await remote.getGeneralBarInformation(
- token: token,
- queryParameters: queryParameters,
- );
- return res;
- }
-
- @override
- Future?> getWaitingArrivals({
- required String token,
- Map? queryParameters,
- }) async {
- var res = await remote.getWaitingArrivals(
- token: token,
- queryParameters: queryParameters,
- );
- return res;
- }
-
- @override
- Future setSateForArrivals({
- required String token,
- required Map request,
- }) async {
- await remote.setSateForArrivals(token: token, request: request);
- }
-
- @override
- Future?> getImportedLoadsModel({
- required String token,
- Map? queryParameters,
- }) async {
- var res = await remote.getImportedLoadsModel(
- token: token,
- queryParameters: queryParameters,
- );
- return res;
- }
-
- @override
- Future?> getAllocatedMade({
- required String token,
- Map? queryParameters,
- }) async {
- var res = await remote.getAllocatedMade(
- token: token,
- queryParameters: queryParameters,
- );
- return res;
- }
-
- @override
- Future confirmAllocation({
- required String token,
- required Map allocation,
- }) async {
- await remote.confirmAllocation(token: token, allocation: allocation);
- }
-
- @override
- Future denyAllocation({
- required String token,
- required String allocationToken,
- }) async {
- await remote.denyAllocation(token: token, allocationToken: allocationToken);
- }
-
- @override
- Future confirmAllAllocation({
- required String token,
- required List allocationTokens,
- }) async {
- await remote.confirmAllAllocation(
- token: token,
- allocationTokens: allocationTokens,
- );
- }
-
- @override
- Future?> getRolesProducts({
- required String token,
- CancelToken? cancelToken,
- Map? queryParameters,
- }) async {
- var res = await remote.getRolesProducts(
- token: token,
- cancelToken: cancelToken,
- queryParameters: queryParameters,
- );
- return res;
- }
-
- @override
- Future?> getGuilds({
- required String token,
- Map? queryParameters,
- }) async {
- var res = await remote.getGuilds(
- token: token,
- queryParameters: queryParameters,
- );
- return res;
- }
-
- @override
- Future getProfile({required String token}) async {
- var res = await remote.getProfile(token: token);
- return res;
- }
-
- @override
- Future postSubmitStewardAllocation({
- required String token,
- required SubmitStewardAllocation request,
- }) async {
- await remote.postSubmitStewardAllocation(token: token, request: request);
- }
-
- @override
- Future deleteStewardAllocation({
- required String token,
- Map? queryParameters,
- }) async {
- await remote.deleteStewardAllocation(
- token: token,
- queryParameters: queryParameters,
- );
- }
-
- @override
- Future updateStewardAllocation({
- required String token,
- required ConformAllocation request,
- }) async {
- await remote.updateStewardAllocation(token: token, request: request);
- }
-
- @override
- Future getStewardDashboard({
- required String token,
- required String stratDate,
- required String endDate,
- }) async {
- var res = await remote.getStewardDashboard(
- token: token,
- stratDate: stratDate,
- endDate: endDate,
- );
- return res;
- }
-
- @override
- Future getDashboardKillHouseFreeBar({
- required String token,
- required String stratDate,
- required String endDate,
- }) async {
- var res = await remote.getDashboardKillHouseFreeBar(
- token: token,
- stratDate: stratDate,
- endDate: endDate,
- );
- return res;
- }
-
- @override
- Future?>
- getStewardPurchasesOutSideOfTheProvince({
- required String token,
- Map? queryParameters,
- }) async {
- var res = await remote.getStewardPurchasesOutSideOfTheProvince(
- token: token,
- queryParameters: queryParameters,
- );
- return res;
- }
-
- @override
- Future?> getCity({
- required String provinceName,
- }) async {
- var res = await remote.getCity(provinceName: provinceName);
- return res;
- }
-
- @override
- Future?> getProvince({
- CancelToken? cancelToken,
- }) async {
- var res = await remote.getProvince(cancelToken: cancelToken);
- return res;
- }
-
- @override
- Future createStewardPurchasesOutSideOfTheProvince({
- required String token,
- required CreateStewardFreeBar body,
- }) async {
- await remote.createStewardPurchasesOutSideOfTheProvince(
- token: token,
- body: body,
- );
- }
-
- @override
- Future