feat : change app inspector and exception handling

This commit is contained in:
2025-07-12 17:06:29 +03:30
parent e52674de37
commit 0fc16569a6
24 changed files with 472 additions and 322 deletions

View File

@@ -4,7 +4,7 @@ import 'package:rasadyar_core/core.dart';
import '../di/chicken_di.dart';
import 'constant.dart';
class DioRemoteManager {
/*class DioRemoteManager {
DioRemote? _currentClient;
ApiEnvironment? _currentEnv;
@@ -28,6 +28,6 @@ class DioRemoteManager {
}
ApiEnvironment? get currentEnv => _currentEnv;
}
}*/

View File

@@ -1,4 +1,3 @@
import 'package:rasadyar_auth/data/di/auth_di.dart';
import 'package:rasadyar_auth/data/services/token_storage_service.dart';
import 'package:rasadyar_chicken/data/repositories/chicken_repository_imp.dart';
import 'package:rasadyar_core/core.dart';
@@ -8,10 +7,30 @@ GetIt diChicken = GetIt.instance;
Future<void> setupChickenDI() async {
var tokenService = Get.find<TokenStorageService>();
diAuth.registerLazySingleton<DioRemote>(() => DioRemote(baseUrl: tokenService.baseurl.value));
final dioRemote = diAuth.get<DioRemote>();
diChicken.registerLazySingleton<AppInterceptor>(
() => AppInterceptor(
refreshTokenCallback: () async {},
saveTokenCallback: (String newToken) async {
await tokenService.saveAccessToken(newToken); // ذخیره توکن جدید
},
clearTokenCallback: () async {
await tokenService.deleteTokens();
},
),
instanceName: 'chickenInterceptor',
);
tokenService.getBaseUrl();
diChicken.registerLazySingleton<DioRemote>(() {
return DioRemote(
baseUrl: tokenService.baseurl.value,
interceptors: diChicken.get<AppInterceptor>(instanceName: 'chickenInterceptor'),
);
}, instanceName: 'chickenDioRemote');
final dioRemote = diChicken.get<DioRemote>(instanceName: 'chickenDioRemote');
await dioRemote.init();
diAuth.registerLazySingleton<ChickenRepositoryImpl>(() => ChickenRepositoryImpl(dioRemote));
diChicken.registerLazySingleton<ChickenRepositoryImpl>(() => ChickenRepositoryImpl(dioRemote));
diChicken.registerSingleton(ImagePicker());
}

View File

@@ -24,7 +24,7 @@ import 'package:rasadyar_core/core.dart';
import '../models/request/create_steward_free_bar/create_steward_free_bar.dart';
abstract class ChickenRepository {
Future<List<InventoryModel>?> getInventory({required String token});
Future<List<InventoryModel>?> getInventory({required String token, CancelToken? cancelToken});
Future<KillHouseDistributionInfo?> getKillHouseDistributionInfo({required String token});
@@ -117,7 +117,7 @@ abstract class ChickenRepository {
required OutProvinceCarcassesBuyer body,
});
Future<List<IranProvinceCityModel>?> getProvince();
Future<List<IranProvinceCityModel>?> getProvince({CancelToken? cancelToken});
Future<List<IranProvinceCityModel>?> getCity({required String provinceName});

View File

@@ -30,10 +30,13 @@ class ChickenRepositoryImpl implements ChickenRepository {
ChickenRepositoryImpl(this._httpClient);
@override
Future<List<InventoryModel>?> getInventory({required String token}) async {
Future<List<InventoryModel>?> getInventory({required String token, CancelToken? cancelToken}) async {
eLog(_httpClient.baseUrl);
var res = await _httpClient.get(
'/roles-products/?role=Steward',
headers: {'Authorization': 'Bearer $token'},
fromJsonList: (json) =>
(json).map((item) => InventoryModel.fromJson(item as Map<String, dynamic>)).toList(),
);
@@ -290,7 +293,7 @@ class ChickenRepositoryImpl implements ChickenRepository {
}
@override
Future<List<IranProvinceCityModel>?> getProvince() async {
Future<List<IranProvinceCityModel>?> getProvince({CancelToken? cancelToken}) async {
var res = await _httpClient.get(
'/iran_province/',
fromJsonList: (json) =>