feat: enhance kill house - submit request module with submit request functionality, including new models, repository updates, and UI integration

This commit is contained in:
2025-12-01 09:42:26 +03:30
parent b5904d753c
commit 6861e873ba
99 changed files with 5764 additions and 606 deletions

View File

@@ -0,0 +1,25 @@
import 'package:rasadyar_chicken/data/models/kill_house_module/register_request/response/chicken_commission_prices/chicken_commission_prices.dart';
import 'package:rasadyar_chicken/data/models/kill_house_module/register_request/response/kill_house/kill_house_response.dart';
import 'package:rasadyar_chicken/data/models/kill_house_module/register_request/response/kill_request_list/kill_request_list.dart'
as listModel;
abstract class KillHouseRemoteDataSource {
Future<List<KillHouseResponse>?> getKillHouseList({
required String token,
Map<String, dynamic>? queryParameters,
});
Future<ChickenCommissionPrices?> getCommissionPrice({
required String token,
Map<String, dynamic>? queryParameters,
});
Future<void> submitKillHouseRequest({required String token, required Map<String, dynamic> data});
Future<List<listModel.KillRequestList>?> getListKillRequest({
required String token,
Map<String, dynamic>? queryParameters,
});
Future<void> deleteKillRequest({required String token, required int requestId});
}

View File

@@ -1,20 +1,80 @@
import 'package:rasadyar_chicken/data/data_source/remote/kill_house/kill_house_remote.dart';
import 'package:rasadyar_chicken/data/models/kill_house_module/register_request/response/chicken_commission_prices/chicken_commission_prices.dart';
import 'package:rasadyar_chicken/data/models/kill_house_module/register_request/response/kill_house/kill_house_response.dart';
import 'package:rasadyar_chicken/data/models/kill_house_module/register_request/response/kill_request_list/kill_request_list.dart'
as listModel;
import 'package:rasadyar_core/core.dart';
abstract class KillHouseRemoteDataSource {
Future<List<KillHouseResponse>> getKillHouseList({
class KillHouseRemoteDataSourceImpl extends KillHouseRemoteDataSource {
final DioRemote _httpClient;
KillHouseRemoteDataSourceImpl(this._httpClient);
@override
Future<ChickenCommissionPrices?> getCommissionPrice({
required String token,
Map<String, dynamic>? queryParameters,
});
}) async {
var res = await _httpClient.get(
'/chicken-commission-prices/',
headers: {'Authorization': 'Bearer $token'},
fromJson: (json) {
var data = json['results'] as List<dynamic>;
return ChickenCommissionPrices.fromJson(data.first as Map<String, dynamic>);
},
);
Future<List<KillHouseResponse>> getCommissionPrice({
return res.data;
}
@override
Future<List<KillHouseResponse>?> getKillHouseList({
required String token,
Map<String, dynamic>? queryParameters,
});
}) async {
var res = await _httpClient.get(
'/kill_house/?kill_house',
headers: {'Authorization': 'Bearer $token'},
fromJsonList: (json) =>
json.map((e) => KillHouseResponse.fromJson(e as Map<String, dynamic>)).toList(),
);
return res.data;
}
Future<void> submitKillHouseReport({
@override
Future<void> submitKillHouseRequest({
required String token,
required Map<String, dynamic> data,
});
}) async {
await _httpClient.post(
'/kill_request/',
headers: {'Authorization': 'Bearer $token'},
data: data,
);
}
@override
Future<List<listModel.KillRequestList>?> getListKillRequest({
required String token,
Map<String, dynamic>? queryParameters,
}) async {
var res = await _httpClient.get(
'/kill_request/',
headers: {'Authorization': 'Bearer $token'},
queryParameters: queryParameters,
fromJsonList: (json) =>
json.map((e) => listModel.KillRequestList.fromJson(e as Map<String, dynamic>)).toList(),
);
return res.data;
}
@override
Future<void> deleteKillRequest({required String token, required int requestId}) async {
await _httpClient.delete(
'/kill_request/$requestId/',
headers: {'Authorization': 'Bearer $token'},
);
}
}