INFRA: Set Up Project.
This commit is contained in:
243
lib/models/product_model.dart
Normal file
243
lib/models/product_model.dart
Normal file
@@ -0,0 +1,243 @@
|
||||
import 'package:cloud_firestore/cloud_firestore.dart';
|
||||
|
||||
class ProductModel {
|
||||
int? fats;
|
||||
String? vendorID;
|
||||
bool? veg;
|
||||
bool? publish;
|
||||
List<dynamic>? addOnsTitle;
|
||||
int? calories;
|
||||
int? proteins;
|
||||
List<dynamic>? addOnsPrice;
|
||||
num? reviewsSum;
|
||||
bool? takeawayOption;
|
||||
String? name;
|
||||
Map<String, dynamic>? reviewAttributes;
|
||||
Map<String, dynamic>? productSpecification;
|
||||
ItemAttribute? itemAttribute;
|
||||
String? id;
|
||||
int? quantity;
|
||||
int? grams;
|
||||
num? reviewsCount;
|
||||
String? disPrice;
|
||||
List<dynamic>? photos;
|
||||
bool? nonveg;
|
||||
String? photo;
|
||||
String? price;
|
||||
String? categoryID;
|
||||
String? description;
|
||||
Timestamp? createdAt;
|
||||
String? sectionId;
|
||||
String? brandId;
|
||||
bool? isDigitalProduct;
|
||||
String? digitalProduct;
|
||||
|
||||
ProductModel({
|
||||
this.fats,
|
||||
this.vendorID,
|
||||
this.veg,
|
||||
this.publish,
|
||||
this.addOnsTitle,
|
||||
this.calories,
|
||||
this.proteins,
|
||||
this.addOnsPrice,
|
||||
this.reviewsSum,
|
||||
this.takeawayOption,
|
||||
this.name,
|
||||
this.reviewAttributes,
|
||||
this.productSpecification,
|
||||
this.itemAttribute,
|
||||
this.id,
|
||||
this.quantity,
|
||||
this.grams,
|
||||
this.reviewsCount,
|
||||
this.disPrice,
|
||||
this.photos,
|
||||
this.nonveg,
|
||||
this.photo,
|
||||
this.price,
|
||||
this.categoryID,
|
||||
this.description,
|
||||
this.createdAt,
|
||||
this.sectionId,
|
||||
this.brandId,
|
||||
this.isDigitalProduct,
|
||||
this.digitalProduct,
|
||||
|
||||
});
|
||||
|
||||
ProductModel.fromJson(Map<String, dynamic> json) {
|
||||
fats = json['fats'];
|
||||
vendorID = json['vendorID'];
|
||||
veg = json['veg'];
|
||||
publish = json['publish'];
|
||||
addOnsTitle = json['addOnsTitle'];
|
||||
calories = json['calories'];
|
||||
proteins = json['proteins'];
|
||||
addOnsPrice = json['addOnsPrice'];
|
||||
reviewsSum = json['reviewsSum'] ?? 0.0;
|
||||
takeawayOption = json['takeawayOption'];
|
||||
name = json['name'];
|
||||
reviewAttributes = json['reviewAttributes'];
|
||||
productSpecification = json['product_specification'];
|
||||
itemAttribute = json['item_attribute'] != null ? ItemAttribute.fromJson(json['item_attribute']) : null;
|
||||
id = json['id'];
|
||||
quantity = json['quantity'];
|
||||
grams = json['grams'];
|
||||
reviewsCount = json['reviewsCount'] ?? 0.0;
|
||||
disPrice = json['disPrice'] ?? "0";
|
||||
photos = json['photos'] ?? [];
|
||||
nonveg = json['nonveg'];
|
||||
photo = json['photo'];
|
||||
price = json['price'];
|
||||
categoryID = json['categoryID'];
|
||||
description = json['description'];
|
||||
createdAt = json['createdAt'];
|
||||
sectionId = json['section_id'];
|
||||
brandId = json['brandID'];
|
||||
isDigitalProduct = json['isDigitalProduct'];
|
||||
digitalProduct = json['digitalProduct'];
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final Map<String, dynamic> data = <String, dynamic>{};
|
||||
data['fats'] = fats;
|
||||
data['vendorID'] = vendorID;
|
||||
data['veg'] = veg;
|
||||
data['publish'] = publish;
|
||||
data['addOnsTitle'] = addOnsTitle;
|
||||
data['addOnsPrice'] = addOnsPrice;
|
||||
data['calories'] = calories;
|
||||
data['proteins'] = proteins;
|
||||
data['reviewsSum'] = reviewsSum;
|
||||
data['takeawayOption'] = takeawayOption;
|
||||
data['name'] = name;
|
||||
data['reviewAttributes'] = reviewAttributes;
|
||||
data['product_specification'] = productSpecification;
|
||||
if (itemAttribute != null) {
|
||||
data['item_attribute'] = itemAttribute!.toJson();
|
||||
}
|
||||
data['id'] = id;
|
||||
data['quantity'] = quantity;
|
||||
data['grams'] = grams;
|
||||
data['reviewsCount'] = reviewsCount;
|
||||
data['disPrice'] = disPrice;
|
||||
data['photos'] = photos;
|
||||
data['nonveg'] = nonveg;
|
||||
data['photo'] = photo;
|
||||
data['price'] = price;
|
||||
data['categoryID'] = categoryID;
|
||||
data['description'] = description;
|
||||
data['createdAt'] = createdAt;
|
||||
data['section_id'] = sectionId;
|
||||
data['brandID'] = brandId;
|
||||
data['isDigitalProduct'] = isDigitalProduct;
|
||||
data['digitalProduct'] = digitalProduct;
|
||||
return data;
|
||||
}
|
||||
}
|
||||
|
||||
class ItemAttribute {
|
||||
List<Attributes>? attributes;
|
||||
List<Variants>? variants;
|
||||
|
||||
ItemAttribute({this.attributes, this.variants});
|
||||
|
||||
ItemAttribute.fromJson(Map<String, dynamic> json) {
|
||||
if (json['attributes'] != null) {
|
||||
attributes = <Attributes>[];
|
||||
json['attributes'].forEach((v) {
|
||||
attributes!.add(Attributes.fromJson(v));
|
||||
});
|
||||
}
|
||||
if (json['variants'] != null) {
|
||||
variants = <Variants>[];
|
||||
json['variants'].forEach((v) {
|
||||
variants!.add(Variants.fromJson(v));
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final Map<String, dynamic> data = <String, dynamic>{};
|
||||
if (attributes != null) {
|
||||
data['attributes'] = attributes!.map((v) => v.toJson()).toList();
|
||||
}
|
||||
if (variants != null) {
|
||||
data['variants'] = variants!.map((v) => v.toJson()).toList();
|
||||
}
|
||||
return data;
|
||||
}
|
||||
}
|
||||
|
||||
class Attributes {
|
||||
String? attributeId;
|
||||
List<String>? attributeOptions;
|
||||
|
||||
Attributes({this.attributeId, this.attributeOptions});
|
||||
|
||||
Attributes.fromJson(Map<String, dynamic> json) {
|
||||
attributeId = json['attribute_id'];
|
||||
attributeOptions = json['attribute_options'].cast<String>();
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final Map<String, dynamic> data = <String, dynamic>{};
|
||||
data['attribute_id'] = attributeId;
|
||||
data['attribute_options'] = attributeOptions;
|
||||
return data;
|
||||
}
|
||||
}
|
||||
|
||||
class Variants {
|
||||
String? variantId;
|
||||
String? variantImage;
|
||||
String? variantPrice;
|
||||
String? variantQuantity;
|
||||
String? variantSku;
|
||||
|
||||
Variants({
|
||||
this.variantId,
|
||||
this.variantImage,
|
||||
this.variantPrice,
|
||||
this.variantQuantity,
|
||||
this.variantSku,
|
||||
});
|
||||
|
||||
Variants.fromJson(Map<String, dynamic> json) {
|
||||
variantId = json['variant_id'];
|
||||
variantImage = json['variant_image'];
|
||||
variantPrice = json['variant_price'] ?? '0';
|
||||
variantQuantity = json['variant_quantity'] ?? '0';
|
||||
variantSku = json['variant_sku'];
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final Map<String, dynamic> data = <String, dynamic>{};
|
||||
data['variant_id'] = variantId;
|
||||
data['variant_image'] = variantImage;
|
||||
data['variant_price'] = variantPrice;
|
||||
data['variant_quantity'] = variantQuantity;
|
||||
data['variant_sku'] = variantSku;
|
||||
return data;
|
||||
}
|
||||
}
|
||||
|
||||
class ReviewsAttribute {
|
||||
num? reviewsCount;
|
||||
num? reviewsSum;
|
||||
|
||||
ReviewsAttribute({this.reviewsCount, this.reviewsSum});
|
||||
|
||||
ReviewsAttribute.fromJson(Map<String, dynamic> json) {
|
||||
reviewsCount = json['reviewsCount'] ?? 0;
|
||||
reviewsSum = json['reviewsSum'] ?? 0;
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final Map<String, dynamic> data = <String, dynamic>{};
|
||||
data['reviewsCount'] = reviewsCount;
|
||||
data['reviewsSum'] = reviewsSum;
|
||||
return data;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user