feat : sale out of Province

This commit is contained in:
2025-06-21 17:01:37 +03:30
parent fc4295e532
commit 656b5f0d87
28 changed files with 1270 additions and 489 deletions

View File

@@ -6,79 +6,67 @@ 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/inventory/inventory_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/pagination_model/pagination_model.dart';
import 'package:rasadyar_chicken/data/models/response/roles_products/roles_products.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/waiting_arrival/waiting_arrival.dart'
hide ProductModel;
import 'package:rasadyar_chicken/data/models/response/waiting_arrival/waiting_arrival.dart' hide ProductModel;
import '../models/request/create_steward_free_bar/create_steward_free_bar.dart';
abstract class ChickenRepository {
Future<List<InventoryModel>?> getInventory({required String token});
Future<KillHouseDistributionInfo?> getIKillHouseDistributionInfo({
required String token,
});
Future<KillHouseDistributionInfo?> getIKillHouseDistributionInfo({required String token});
Future<BarInformation?> getGeneralBarInformation({required String token,Map<String, dynamic>? queryParameters});
Future<BarInformation?> getGeneralBarInformation({required String token, Map<String, dynamic>? queryParameters});
Future<WaitingArrivalModel?> getWaitingArrivals({
required String token,
int? page,
});
Future<WaitingArrivalModel?> getWaitingArrivals({required String token, int? page});
Future<void> setSateForArrivals({
required String token,
required Map<String, dynamic> request,
});
Future<void> setSateForArrivals({required String token, required Map<String, dynamic> request});
Future<ImportedLoadsModel?> getImportedLoadsModel({
required String token,
required int page,
});
Future<ImportedLoadsModel?> getImportedLoadsModel({required String token, required int page});
Future<AllocatedMadeModel?> getAllocatedMade({
required String token,
required int page,
});
Future<AllocatedMadeModel?> getAllocatedMade({required String token, required int page});
Future<void> confirmAllocation({
required String token,
required Map<String, dynamic> allocation,
});
Future<void> confirmAllocation({required String token, required Map<String, dynamic> allocation});
Future<void> denyAllocation({
required String token,
required String allocationToken,
});
Future<void> denyAllocation({required String token, required String allocationToken});
Future<void> confirmAllAllocation({
required String token,
required List<String> allocationTokens,
});
Future<void> confirmAllAllocation({required String token, required List<String> allocationTokens});
Future<List<ProductModel>?> getRolesProducts({required String token});
Future<List<GuildModel>?> getGuilds({
required String token,
required bool isFree,
});
Future<List<GuildModel>?> getGuilds({required String token, required bool isFree});
Future<GuildProfile?> getProfile({required String token});
Future<void> postSubmitStewardAllocation({
required String token,
required SubmitStewardAllocation request,
});
Future<void> postSubmitStewardAllocation({required String token, required SubmitStewardAllocation request});
Future<StewardFreeBarDashboard?> getStewardDashboard({
Future<StewardFreeBarDashboard?> getStewardDashboard({
required String token,
required String stratDate,
required String endDate,
});
Future<DashboardKillHouseFreeBar?> getDashboardKillHouseFreeBar({
Future<DashboardKillHouseFreeBar?> getDashboardKillHouseFreeBar({
required String token,
required String stratDate,
required String endDate,
});
Future<PaginationModel<StewardFreeBar>?> getStewardPurchasesOutSideOfTheProvince({
required String token,
Map<String, dynamic>? queryParameters,
});
Future<void> createStewardPurchasesOutSideOfTheProvince({required String token, required CreateStewardFreeBar body});
Future<void> deleteStewardPurchasesOutSideOfTheProvince({required String token, required String stewardFreeBarKey});
Future<List<IranProvinceCityModel>?> getProvince();
Future<List<IranProvinceCityModel>?> getCity({required String provinceName});
}

View File

@@ -1,3 +1,4 @@
import 'package:rasadyar_chicken/data/models/request/create_steward_free_bar/create_steward_free_bar.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';
@@ -6,11 +7,13 @@ 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/inventory/inventory_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/pagination_model/pagination_model.dart';
import 'package:rasadyar_chicken/data/models/response/roles_products/roles_products.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/waiting_arrival/waiting_arrival.dart'
hide ProductModel;
import 'package:rasadyar_chicken/data/models/response/waiting_arrival/waiting_arrival.dart' hide ProductModel;
import 'package:rasadyar_core/core.dart';
import 'chicken_repository.dart';
@@ -25,18 +28,14 @@ class ChickenRepositoryImpl implements ChickenRepository {
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(),
fromJsonList: (json) => (json).map((item) => InventoryModel.fromJson(item as Map<String, dynamic>)).toList(),
);
return res.data;
}
@override
Future<KillHouseDistributionInfo?> getIKillHouseDistributionInfo({
required String token,
}) async {
Future<KillHouseDistributionInfo?> getIKillHouseDistributionInfo({required String token}) async {
var res = await _httpClient.get(
'/kill-house-distribution-info/?role=Steward',
headers: {'Authorization': 'Bearer $token'},
@@ -49,7 +48,7 @@ class ChickenRepositoryImpl implements ChickenRepository {
@override
Future<BarInformation?> getGeneralBarInformation({
required String token,
Map<String, dynamic>? queryParameters
Map<String, dynamic>? queryParameters,
}) async {
var res = await _httpClient.get(
'/bars_for_kill_house_dashboard/?role=Steward',
@@ -61,10 +60,7 @@ class ChickenRepositoryImpl implements ChickenRepository {
}
@override
Future<WaitingArrivalModel?> getWaitingArrivals({
required String token,
int? page,
}) async {
Future<WaitingArrivalModel?> getWaitingArrivals({required String token, int? page}) async {
var res = await _httpClient.get(
'/steward-allocation/?search=filter&value=&role=Steward&page=${page ?? 1}&page_size=10&type=not_entered',
headers: {'Authorization': 'Bearer $token'},
@@ -74,22 +70,12 @@ class ChickenRepositoryImpl implements ChickenRepository {
}
@override
Future<void> setSateForArrivals({
required String token,
required Map<String, dynamic> request,
}) async {
await _httpClient.put(
'/steward-allocation/0/',
headers: {'Authorization': 'Bearer $token'},
data: request,
);
Future<void> setSateForArrivals({required String token, required Map<String, dynamic> request}) async {
await _httpClient.put('/steward-allocation/0/', headers: {'Authorization': 'Bearer $token'}, data: request);
}
@override
Future<ImportedLoadsModel?> getImportedLoadsModel({
required String token,
required int page,
}) async {
Future<ImportedLoadsModel?> getImportedLoadsModel({required String token, required int page}) async {
var res = await _httpClient.get(
'/steward-allocation/?role=Steward&search=filter&page=$page&page_size=10&value=&type=entered',
headers: {'Authorization': 'Bearer $token'},
@@ -99,10 +85,7 @@ class ChickenRepositoryImpl implements ChickenRepository {
}
@override
Future<AllocatedMadeModel?> getAllocatedMade({
required String token,
required int page,
}) async {
Future<AllocatedMadeModel?> getAllocatedMade({required String token, required int page}) async {
var res = await _httpClient.get(
'/steward-allocation/?search=filter&value=&role=Steward&page=$page&page_size=100',
headers: {'Authorization': 'Bearer $token'},
@@ -112,10 +95,7 @@ class ChickenRepositoryImpl implements ChickenRepository {
}
@override
Future<void> confirmAllocation({
required String token,
required Map<String, dynamic> allocation,
}) async {
Future<void> confirmAllocation({required String token, required Map<String, dynamic> allocation}) async {
var res = await _httpClient.put(
'/steward-allocation/0/',
headers: {'Authorization': 'Bearer $token'},
@@ -124,10 +104,7 @@ class ChickenRepositoryImpl implements ChickenRepository {
}
@override
Future<void> denyAllocation({
required String token,
required String allocationToken,
}) async {
Future<void> denyAllocation({required String token, required String allocationToken}) async {
await _httpClient.delete(
'/steward-allocation/0/?steward_allocation_key=$allocationToken',
headers: {'Authorization': 'Bearer $token'},
@@ -135,10 +112,7 @@ class ChickenRepositoryImpl implements ChickenRepository {
}
@override
Future<void> confirmAllAllocation({
required String token,
required List<String> allocationTokens,
}) async {
Future<void> confirmAllAllocation({required String token, required List<String> allocationTokens}) async {
await _httpClient.put(
'/steward-allocation/0/',
headers: {'Authorization': 'Bearer $token'},
@@ -151,25 +125,18 @@ class ChickenRepositoryImpl implements ChickenRepository {
var res = await _httpClient.get(
'/roles-products/?role=Steward',
headers: {'Authorization': 'Bearer $token'},
fromJsonList: (json) => json
.map((item) => ProductModel.fromJson(item as Map<String, dynamic>))
.toList(),
fromJsonList: (json) => json.map((item) => ProductModel.fromJson(item as Map<String, dynamic>)).toList(),
);
return res.data;
}
@override
Future<List<GuildModel>?> getGuilds({
required String token,
required bool isFree,
}) async {
Future<List<GuildModel>?> getGuilds({required String token, required bool isFree}) async {
var res = await _httpClient.get(
'/guilds/?role=Steward&free=$isFree',
headers: {'Authorization': 'Bearer $token'},
fromJsonList: (json) => json
.map((item) => GuildModel.fromJson(item as Map<String, dynamic>))
.toList(),
fromJsonList: (json) => json.map((item) => GuildModel.fromJson(item as Map<String, dynamic>)).toList(),
);
return res.data;
}
@@ -185,15 +152,8 @@ class ChickenRepositoryImpl implements ChickenRepository {
}
@override
Future<void> postSubmitStewardAllocation({
required String token,
required SubmitStewardAllocation request,
}) async {
await _httpClient.post(
'/steward-allocation/',
headers: {'Authorization': 'Bearer $token'},
data: request.toJson(),
);
Future<void> postSubmitStewardAllocation({required String token, required SubmitStewardAllocation request}) async {
await _httpClient.post('/steward-allocation/', headers: {'Authorization': 'Bearer $token'}, data: request.toJson());
}
@override
@@ -223,4 +183,64 @@ class ChickenRepositoryImpl implements ChickenRepository {
);
return res.data;
}
@override
Future<PaginationModel<StewardFreeBar>?> getStewardPurchasesOutSideOfTheProvince({
required String token,
Map<String, dynamic>? queryParameters,
}) async {
var res = await _httpClient.get(
'/steward_free_bar/?',
queryParameters: queryParameters,
headers: {'Authorization': 'Bearer $token'},
fromJson: (json) => PaginationModel<StewardFreeBar>.fromJson(
json,
(json) => StewardFreeBar.fromJson(json as Map<String, dynamic>),
),
);
return res.data;
}
@override
Future<List<IranProvinceCityModel>?> getCity({required String provinceName}) async {
var res = await _httpClient.get(
'/iran_city/?',
queryParameters: {'name': provinceName},
fromJsonList: (json) => json.map((item) => IranProvinceCityModel.fromJson(item as Map<String, dynamic>)).toList(),
);
return res.data;
}
@override
Future<List<IranProvinceCityModel>?> getProvince() async {
var res = await _httpClient.get(
'/iran_province/',
fromJsonList: (json) => json.map((item) => IranProvinceCityModel.fromJson(item as Map<String, dynamic>)).toList(),
);
return res.data;
}
@override
Future<void> createStewardPurchasesOutSideOfTheProvince({
required String token,
required CreateStewardFreeBar body,
}) async {
var res = await _httpClient.post(
'/steward_free_bar/',
headers: {'Authorization': 'Bearer $token'},
data: body.toJson(),
);
}
@override
Future<void> deleteStewardPurchasesOutSideOfTheProvince({
required String token,
required String stewardFreeBarKey,
}) async {
await _httpClient.delete(
'/steward_free_bar/0/?',
headers: {'Authorization': 'Bearer $token'},
queryParameters: {'key': stewardFreeBarKey},
);
}
}