Refactor SpaceDetailsModel and ProductAllocation: Update JSON parsing for clarity and remove unused location field. Change subspace name mapping for consistency with API response.

This commit is contained in:
Faris Armoush
2025-07-03 13:19:34 +03:00
parent 318e1d9af7
commit fc797c2646

View File

@ -31,8 +31,8 @@ class SpaceDetailsModel extends Equatable {
spaceName: json['spaceName'] as String, spaceName: json['spaceName'] as String,
icon: json['icon'] as String, icon: json['icon'] as String,
productAllocations: (json['productAllocations'] as List) productAllocations: (json['productAllocations'] as List)
.map((e) => ProductAllocation.fromJson(e as Map<String, dynamic>)) .map((e) => ProductAllocation.fromJson(e as Map<String, dynamic>))
.toList(), .toList(),
subspaces: (json['subspaces'] as List) subspaces: (json['subspaces'] as List)
.map((e) => Subspace.fromJson(e as Map<String, dynamic>)) .map((e) => Subspace.fromJson(e as Map<String, dynamic>))
.toList(), .toList(),
@ -72,12 +72,10 @@ class SpaceDetailsModel extends Equatable {
class ProductAllocation extends Equatable { class ProductAllocation extends Equatable {
final Product product; final Product product;
final Tag tag; final Tag tag;
final String? location;
const ProductAllocation({ const ProductAllocation({
required this.product, required this.product,
required this.tag, required this.tag,
this.location,
}); });
factory ProductAllocation.fromJson(Map<String, dynamic> json) { factory ProductAllocation.fromJson(Map<String, dynamic> json) {
@ -97,12 +95,10 @@ class ProductAllocation extends Equatable {
ProductAllocation copyWith({ ProductAllocation copyWith({
Product? product, Product? product,
Tag? tag, Tag? tag,
String? location,
}) { }) {
return ProductAllocation( return ProductAllocation(
product: product ?? this.product, product: product ?? this.product,
tag: tag ?? this.tag, tag: tag ?? this.tag,
location: location ?? this.location,
); );
} }
@ -124,7 +120,7 @@ class Subspace extends Equatable {
factory Subspace.fromJson(Map<String, dynamic> json) { factory Subspace.fromJson(Map<String, dynamic> json) {
return Subspace( return Subspace(
uuid: json['uuid'] as String, uuid: json['uuid'] as String,
name: json['name'] as String, name: json['subspaceName'] as String,
productAllocations: (json['productAllocations'] as List) productAllocations: (json['productAllocations'] as List)
.map((e) => ProductAllocation.fromJson(e as Map<String, dynamic>)) .map((e) => ProductAllocation.fromJson(e as Map<String, dynamic>))
.toList(), .toList(),