feat: enhance kill house - submit request module with submit request functionality, including new models, repository updates, and UI integration
This commit is contained in:
@@ -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});
|
||||
}
|
||||
|
||||
@@ -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'},
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user